#PBS -j oe -m e -M a.gemmell@physics.gla.ac.ukwith your e-mail address – this enables the batch system to send you an e-mail informing you of the completion (successful or otherwise) of your job.
check out the latest version from subversion (check what this is on trac) using the command
svn co https://ppesvn.physics.gla.ac.uk/svn/atlas/NNFitter/tags/NNFitter-00-00-0X %BR%
ensure you know the ntuple_area variable to be passed in at run-time to genemflat_batch_Complete2_SL5.sh. This will be the directory where the input ntuples are stored (currently /data/atlas07/ahgemmell/NTuple-v15-30Aug for ntuples which have sensible states, events passing preselection and events failing preselection having my_failEvent == 3, 1 and 0 respectively – note that by their very nature, sensible states have also passed preselection).
The BASEBATCHDIR is now set automatically to the working directory when the script is executed.
ListParameter <tag> <onoff> <colon-separated-parameter-list><onoff> - specifies whether this parameter will be taken into consideration (1) or ignored (0) - generally this should be set to 1.
ColumnParameter <tag> <sequence> <keyword=doubleValue:keyword=doubleValue...>The expression <tag>:<sequence> must be unique, e.g.
ColumnParameter File 0 OnOff=0:SorB=0:Process=Data ColumnParameter File 1 OnOff=1:SorB=0:Process=Fakewhere <tag> is the same, but <sequence> is different. The fact that the <sequence> carries meaning is specific to the implementation. Note that all of the values passed from ColumnParameter will eventually be evaluated as Doubles - any variables where you pass a string (as for 'Process' above), this is not actually passed to the code - these code snippets are to make the code more easily readable by puny humans, who comprehend the meaning of strings more readily than Doubles.
0 116102-filter.root FlatPlotter/NNScoreAny_0_0_0 0
Process_0_0 TTjj:Semileptonic Process_1_0 ttH:Semileptonic Process_2_0 EWK:Semileptonic Process_3_0 QCD:Semileptonic
GeneralParameter string 1 FileString=my_EventtypeIndicates the leaf in the input file which shows which process the event belongs to - this is the same number as we've specified as in atlastth_hislist_flat-v15.txt and AtlasttHRealTitles.txt.
ColumnParameter File 1 OnOff=1:SorB=1:Process=tthThe number before the switches (OnOff, SorB, etc - in this case it is 1) corresponds to the number given in AtlasttHRealTitles.txt. The other numbers are self-explanatory - they establish if that file is to be used, if it is signal or background (1=signal. 0=background) and the name of the process. In this instance, the Process name is just a comment for your own elucidation - it is not used itself in the code, so does not necessarily have to correspond to the process names as provided in AtlasttHRealTitles.txt (though of course it is useful for them to be similar). The other file that is produced by genemflat that specifies the input files for Computentp is steerComputentp.txt
# Specify the known metadata ListParameter SignalProcessList 1 Alistair_tth ListParameter Process:Alistair_tth 1 Filename:${ntuple_area}/ttH-v15.root:File:${mh}:IntLumi:1.0This is just a list of the various input files, and we specify the integrated luminosity. The 'File' parameter is only used for book-keeping by Computentp, and does not have to correspond to the file numbers used in the ANN steering files (or to my_Eventtype), but for sanity's sake it is probably best to keep things consistent. We make an exception for the signal - we assign it the number ${mh} - so that we can keep track of things if we have different mass Higgs in our signals.
# Map of input file name to output file name: The ComputentpOutput will have a sed used to get the right mapping. ListParameter InputOutputMapName:1 1 ${ntuple_area}/ttH-v15.root:${Computentpoutput}/tth_NNinput.rootThe InputOutputMapName is a list of integers - this doesn't have to bear any relevance to any numbers that have gone before - just give each output a unique number. This is followed by the mapping of input file names provided, to the output names that Computentp will produce.
ColumnParameter BackgroundList 0 tt0j=0Here you specify once again the numbers assigned to the processes by my_Eventtype (for tt0j it equals zero), and list things as BackgroundList or SignalList. The number after 'BackgroundList' or 'SignalList' is unique for each process (to preserve the uniqueness of <tag>:<sequence>), but does not need to correspond to my_Eventtype. However, for completeness' sake within this file I have set it as such.
ColumnParameter PseudoDataList 0 tt0j=0This is simply a restatement of the BackgroundList - the same numbers in the same place. This list specifies the processes included in the pseudoexperiments, and therefore the signal process is not included in this list.
ListParameter ProcessLabels:1 1 tt0j:t#bar{t}0jThe number after ProcessLabels again doesn't correspond to my_Eventtype - I have made it the same as the number after BackgroundList/SignalList and PseudoDataList. The important feature from this is that it tells the ANN what to label each of the various processes as in the results plots.
ColumnParameter UCSDPalette 0 tt0j=19 ColumnParameter PrimaryColorPalette 0 tt0j=0These two parameters specify the colours used in the plotting for each of the processes (the numbers correspond to those in the Color Wheel of TColor). The numbers after the UCSDPalette and PrimaryColorPalette are the same ones as have been used previously in this file. Whether the plotting uses the colours stated in UCSDPalette or PrimaryColourPalette is determined in the file flatsteerStackNNAtlas.txt by setting the parameter:
GeneralParameter string 1 Palette=UCSDPaletteThe final parameter to be set in FlatAtlastthPhysicsProc1.txt is:
ColumnParameter ProcessOrder 0 tt0j=0Once again, the number on its own (in this case 0) is the same as the other such instances in this file. The final number (zero in this case) is the order in which this process should be plotted - i.e. in this case, the tt0j sample will be plotted first in the output, with the other samples piled on top of it.
ColumnParameter Combine:Lumi 0 OnOff=1:Low=-0.11:High=0.11:Channel=1:Process=TTjjThe <sequence> parameter (in this case '0') is there so that you can specify the parameters for a given error for multiple channels, without falling foul of the uniqueness requirement for <tag>:<sequence>. We have chosen it so that it equals my_Eventtype for that process. 'Channel' is present just in case you're considering multiple channels. We're only considering the one channel in this case (SemiLeptonic). The final parameter (Process) is not actually used - the second parameter tells the ANN which errors are which, but this isn't very easily read by you, so feel free to add it in to help you keep track of the various errors! These final few parameters can be placed in any order, so long as they are separated by semicolons.
Sample | Dataset numbers | Cross-section (pb) | Branching Ratios | Filter Efficiency | What the multiplicative factors are | Effective cross-section (pb) | Sources |
ttH | 109840, 109841 | 0.09756 | 0.676*0.216*2*0.675 | 0.8355 | Overall | 0.01607 | Initial cross-section: https://twiki.cern.ch/twiki/bin/view/LHCPhysics/CERNYellowReportPageAt7TeV![]() |
0.676 | W → hadrons | Branching ratios: 2008 PDG Booklet | |||||
0.216 | W → leptons (electron/muon) | ||||||
2 | Account for the 2 W decay routes | ||||||
0.675 | H → bb | ||||||
0.8355 | Lepton filter efficiency | Filter eff: https://twiki.cern.ch/twiki/bin/view/AtlasProtected/HiggsWGHSG5Dataset7TeV![]() |
|||||
tt + 0j | 105894, 116102 | 13.18 | 1.84 | For sample 105894 | 24.25120 | Initial cross-section and filter efficiency: https://twiki.cern.ch/twiki/bin/view/AtlasProtected/HiggsWGBGDataset7TeV#ttbar![]() |
|
1.84 | 0.06774 | For sample 116102 | k-factor: https://twiki.cern.ch/twiki/bin/view/AtlasProtected/TopMC2009#ttbar_7_TeV![]() |
||||
1.84 | k-factor | ||||||
0.06744 | Generator-level filter efficiency | ||||||
tt + 1j | 105895, 116103 | 13.17 | 1.84 | For sample 105895 | 24.23280 | Initial cross-section and filter efficiency: https://twiki.cern.ch/twiki/bin/view/AtlasProtected/HiggsWGBGDataset7TeV#ttbar![]() |
|
1.84 | 0.2142 | For sample 116103 | k-factor: https://twiki.cern.ch/twiki/bin/view/AtlasProtected/TopMC2009#ttbar_7_TeV![]() |
||||
1.84 | k-factor | ||||||
0.2142 | Generator-level filter efficiency | ||||||
tt + 2j | 105896, 116104 | 7.87 | 1.84 | For sample 105896 | 14.48080 | Initial cross-section and filter efficiency: https://twiki.cern.ch/twiki/bin/view/AtlasProtected/HiggsWGBGDataset7TeV#ttbar![]() |
|
1.84 | 0.4502 | For sample 116104 | k-factor: https://twiki.cern.ch/twiki/bin/view/AtlasProtected/TopMC2009#ttbar_7_TeV![]() |
||||
1.84 | k-factor | ||||||
0.4502 | Generator-level filter efficiency | ||||||
tt + 3j | 105897, 116105 | 5.49 | 1.84 | For sample 105897 | 10.10160 | Initial cross-section and filter efficiency: https://twiki.cern.ch/twiki/bin/view/AtlasProtected/HiggsWGBGDataset7TeV#ttbar![]() |
|
1.84 | 0.5860 | For sample 116105 | k-factor: https://twiki.cern.ch/twiki/bin/view/AtlasProtected/TopMC2009#ttbar_7_TeV![]() |
||||
1.84 | k-factor | ||||||
0.5860 | Generator-level filter efficiency | ||||||
gg → ttbb (QCD) | 116101 | 0.8986 | 0.676*0.216*2*1.84 | Overall | 0.48285 | Initial cross-section: https://twiki.cern.ch/twiki/bin/view/AtlasProtected/HiggsWGBGDataset7TeV#ttbarbbbar![]() |
|
0.676 | W → hadrons (electron/muon) | Branching ratios: 2008 PDG Booklet | |||||
0.216 | W → leptons (electron/muon) | k-factor: https://twiki.cern.ch/twiki/bin/view/AtlasProtected/TopMC2009#ttbar_7_TeV![]() |
|||||
2 | Account for the 2 W decay routes | ||||||
1.84 | k-factor | ||||||
qq → ttbb (QCD) | 116106 | 0.1416 | 0.676*0.216*2*1.84 | Overall | 0.07609 | Initial cross-section: https://twiki.cern.ch/twiki/bin/view/AtlasProtected/HiggsWGBGDataset7TeV#ttbarbbbar![]() |
|
0.676 | W → hadrons (electron/muon) | Branching ratios: 2008 PDG Booklet | |||||
0.216 | W → leptons (electron/muon) | k-factor: https://twiki.cern.ch/twiki/bin/view/AtlasProtected/TopMC2009#ttbar_7_TeV![]() |
|||||
2 | Account for the 2 W decay routes | ||||||
1.84 | k-factor | ||||||
gg → ttbb (EWK) | 116100 | 0.0875 | 0.676*0.216*2*1.84 | Overall | 0.04702 | Initial cross-section: https://twiki.cern.ch/twiki/bin/view/AtlasProtected/HiggsWGBGDataset7TeV#ttbarbbbar![]() |
|
0.676 | W → hadrons (electron/muon) | Branching ratios: 2008 PDG Booklet | |||||
0.216 | W → leptons (electron/muon) | k-factor: https://twiki.cern.ch/twiki/bin/view/AtlasProtected/TopMC2009#ttbar_7_TeV![]() |
|||||
2 | Account for the 2 W decay routes | ||||||
1.84 | k-factor | ||||||
qq → ttbb (EWK) | 116107 | 0.0101 | 0.676*0.216*2*1.84 | Overall | 0.00543 | Initial cross-section: https://twiki.cern.ch/twiki/bin/view/AtlasProtected/HiggsWGBGDataset7TeV#ttbarbbbar![]() |
|
0.676 | W → hadrons (electron/muon) | Branching ratios: 2008 PDG Booklet | |||||
0.216 | W → leptons (electron/muon) | k-factor: https://twiki.cern.ch/twiki/bin/view/AtlasProtected/TopMC2009#ttbar_7_TeV![]() |
|||||
2 | Account for the 2 W decay routes | ||||||
1.84 | k-factor |
Sample | Dataset Number | Pileup? | Number of events | Cross-section (fb) | ||||
Total | Passing Preselection | Sensible States | Total | Passing Preselection | Sensible States | |||
ttH (W+ sample) | 109840 | Yes | 29968 | 2685 | 1936 | |||
No | 2497 | 1761 | ||||||
ttH (W- sample) | 109841 | Yes | 29980 | 2764 | 2020 | |||
No | 2600 | 1879 | ||||||
ttH (total) | Yes | 59948 | 5449 | 3956 | 16.07 | 1.460 | 1.060 | |
No | 5097 | 3640 | 1.366 | 0.976 | ||||
tt + 0j | 105894 | No | 25487 | 6 | 5 | 24251 | 5.709 | 4.758 |
116102 | Yes | 66911 | 149 | 123 | ||||
No | 78 | 66 | ||||||
tt + 1j | 105895 | No | 26980 | 21 | 18 | 24233 | 18.862 | 16.167 |
116103 | Yes | 211254 | 960 | 787 | ||||
No | 638 | 517 | ||||||
tt + 2j | 105896 | No | 17487 | 69 | 53 | 14481 | 57.138 | 43.889 |
116104 | Yes | 265166 | 2478 | 1957 | ||||
No | 2026 | 1548 | ||||||
tt + 3j | 105896 | No | 10990 | 96 | 77 | 10102 | 88.240 | 70.776 |
116105 | Yes | 241235 | 3946 | 3022 | ||||
No | 3469 | 2619 | ||||||
gg → ttbb (QCD) | 116101 | Yes | 89887 | 3550 | 2560 | 483 | 19.070 | 13.752 |
qq → ttbb (QCD) | 116106 | Yes | 19985 | 496 | 366 | 76.09 | 1.888 | 1.393 |
gg → ttbb (EWK) | 116100 | Yes | 19987 | 981 | 706 | 47.02 | 2.308 | 1.661 |
sysfile=FlatSysSetAtlastth.txt steerfile=FlatFitSteer.txt mkdir -p templates/fit rm -f templates/fit/out_${mh}.log Fit ${basehistlistname} ${template_area}/ \$sysfile \$steerfile $mh > templates/fit/out_${mh}.logThe final call is rendered in the actual job file (e.g. run114) as
Fit /home/ahgemmell/NNFitter-00-00-09-Edited/NNTraining/atlastth_histlist_flat-v15.txt templates/tth120/ $sysfile $steerfile 120 > templates/fit/out_120.logIf you want to save time, (by not having to run templating for every error you wish to consider), you can instead only consider the rate uncertainties, and provide these as fractional changes to the rate, specified in FlatSysSetAtlastth1.txt. Whether or not you consider shape uncertainties is controlled by a couple of parameters in the steering file FlatFitSteer,txt, (which is created by the action of genemflat_batch_Complete2_SL5.sh)
GeneralParameter bool 1 UseShape=0 GeneralParameter bool 1 UseShapeMean=0Setting UseShape=1 means shape uncertainties will be taken into account for all the uncertainties that you provide the extra steering files and ANN scores for, UseShapeMean=1 means that the ANN results for your various uncertainties will be used to produce the rate uncertainties based on their integrals, rather than on the numbers provided in FlatSysSetAtlastth1.txt - using the relative sizes of the integrals of the AAN output as an estimator of the rate uncertainty can be useful if you don't want to be subject to statistical variations in the computation of your systematic uncertainties (if UseShapeMean=0, the systematic rate uncertainty is calculated as a fractional change on the nominal rate). Considering shape uncertainties requires more steering files, and this will be detailed in later.
ColumnParameter Combine:Lumi 0 OnOff=1:Low=-0.11:High=0.11:Channel=1:Process=TTjjThe first parameter consists of two parts in this example: 'Combine' and 'Lumi'. The second part is the name of the uncertainty being considered. The first part 'Combine' (and the associated semicolon between them) is optional. It tells the ANN that the uncertainty thus labelled are independent of each other, and can be added in quadrature. 'OnOff' obviously tells the ANN to consider those uncertainty (1) or not (0). 'Low' and 'High' establish the relevant bounds of the uncertainty as fractions of the total (however, for the ANN these uncertainties are symmetrised, so to save time they are here assumed to be symmetric unless elsewhere stated) - note that these are not the uncertainties on the quantity, but rather the effect of that uncertainty on the rate of your process. Process is not actually read by the ANN, but is there to make the whole thing more human-friendly to read. The current errors, and their bounds are below. If no source for these error bounds is given, then they were the defaults found in the files from time immemorial (where as necessary I assumed that all tt + X errors were the same, as were all ttbb (QCD) errors, as in the original files the only samples considered were ttjj, ttbb(EWK), ttbb(QCD) and ttH - these errors probably originate from the CSC note). If you are only considering rate uncertainties, this is where the fitting code will find the relevant numbers.
Error | Combined? | Process | Upper/Lower Bound | Source |
Luminosity | Yes | All | 11% | https://twiki.cern.ch/twiki/bin/view/AtlasProtected/TopSystematicUncertainties15![]() |
Trigger | Yes | tt + X | 1.5% | |
ttbb (EWK) | 1.4% | |||
ttbb (QCD) | 1.3% | |||
ttH | 1.5% | |||
Lepton ID | Yes | Backgrounds | 0.3% | |
Signal | 0.6% | |||
MET | No | All | 1.0% | |
NLO Acceptance | No | tt + X | 5.5% | |
Others | 10% | |||
X-Section | No | All | 10% | |
No | tt + X | 1.9% | ||
ttbb | 2.7% | |||
ttH | 2.2% | |||
b-tagging | No | Backgrounds | 20% | |
Signal | 16% | |||
JES | No | Backgrounds | 5.0% | |
Signal | 9.0% |
ListParameter SysInfoToSysMap:1 1 Combine:LumiTrigLepIDThe number in the <tag> after SysInfoToSysMap is unique for each error (in this case it goes from one to eight). There is one entry per error considered, apart from the cases where the errors are combined in quadrature (as specified in FlatSysSetAtlastth1.txt), where they are given one entry to share between them. The <colon-separated-parameter-list> provides a map between the name of the errors as considered by FlatSysSetAtlastth1.txt (the errors combined in quadrature are lumped together under the name 'Combine'), and something more human-readable. The human-readable names are what will be written out by the fitting code (which identifies each error based on numbers, rather than the names in FlatSysSetAtlastth1.txt) when it is producing its logfile. Obviously there is often not much change between the two names, apart form in the case of Combined errors.
template_area=templates/${process}${mh} 0 116102-filter.root FlatPlotter/NNScoreAny_0_0_0 0could become:
template_area=${MAINDIR} 0 run1/templates/tth120/116102-filter.root FlatPlotter/NNScoreAny_0_0_0 0This ensures that atlastth_histlist_flat-v15.txt will still point toward the ANN templates from the nominal run. You must now create additional steering files to point toward the high and low error ANN templates - their names are of the format:
"ShapePos_"+errorname+"_"+HistOutput "ShapeNeg_"+errorname+"_"+HistOutputwhere HistOutput is atlastth_histlist_flat-v15.txt and errorname is the human-readable error name, as defined in SysNamesAtlastth1.txt. You also need to change the ${basehistlistname} in the call to the fitting code so that it points directly at atlastth_histlist_flat-v15.txt, with no preceding directory structure - the code bases the names of the two extra shape steering files on this argument, and will not take into account any directories in the argument. (So that if ${basehistlistname} was directory/file.txt, the fitting code would look for the extra steering files with the name ShapePos _ISR_directory/file.txt in the case of ISR being our error).
GeneralParameter string 1 Constraint=(my_failEvent&3)==0in genemflat_batch_Complete2.sh will exclude from training those events where the above constraint is false. So in the above example, only events with the first two bits equal to one will pass the filter. In TreeSpecATLAStth.txt the filters are set with:
ListParameter SpecifyVariable:Higgs:cutMask 1 Type:int:Default:1 ListParameter SpecifyVariable:Higgs:invertWord 1 Type:int:Default:0The constraint is hardwired to be off the form where my_failEvent&cutMask==0 would fail the event, exaclty like the constraint. However, it is not beyond the realms of possibility where you want events with bits of my_failEvent set to zero to pass, not fail. In genemflat this is easily done by changing ==0 into ==1 - however, we cannot directly do this in TreeSpec. To get around the problem we have invertWord - this simply flips the relevant bits in my_failEvent before passing them to the test.
./genemflat_batch_Complete2_SL5.sh 12 480 1.0 tth 120 120 1 1 /data/atlas07/ahgemmell/NTuple-v15-30AugThese options denote:
12 is the run number
480 is the jobstart - this is a potentially redundant parameter to do with the PBS queue.
1.0 is the luminosity will be normalised to (in fb^-1).
tth is the process type - aim to develop this to incorporate other processes, e.g. lbb
120 is the min. Higgs mass
120 is the max. Higgs mass
1 indicates that training is to take place
1 indicates that templating is to take place
/data/atlas07/ahgemmell/NTuple-v15-30Aug is the directory where the input ntuples are located (having my_failEvent bits set for ( 65536 for >0 sensible states) and ( 131072 for 4 tight b-tagged jets)
Creates a run12 subdirectory in working directory and makes it the working directory
Creates TMVAsteer.txt - writes fitting parameters to it
NN structure is set ( H6AONN5MEMLP MLP 1 H:!V:NCycles=1000:HiddenLayers=N+1,N:RandomSeed=9876543). This line sets up two hidden layers with N+1 and N neurons respectively (where N is the number of input variables).
Training cycles (1000) and hidden layers - N+1?
4 text steer files are copied into the run directory for templating
2 text steer files are copied into the run directory for stacking plots.
2 lines of text are appended to a temporary copy of flatsteerStackNNAtlas.txt: GeneralParameter string 1 HWW=tth-TMVA
GeneralParameter double 1 <nop>IntLumi=${lumi}
jetmin/jetmax - These seem to be redundant. Commented out, effective as of v.3
zmin/zmax (1/2) - what is their function?
weighting = <nop>TrainWeight - is this redundant?
TMVAvarset.txt - input variable set
GeneralParameter bool 1 PlotLikelihood =1in teststeerFlatReaderATLAStthSemileptonic.txt. The range and number of bins in this plot can be controlled by editing the following switches:
GeneralParameter int 1 LikeliPseudoExpNBin=400 GeneralParameter double 1 LikeliPseudoExpMin=0. GeneralParameter double 1 LikeliPseudoExpMax=10.
It must also be run on a PBS machine because of the structure of the genemflat_batch_Complete2_SL5.sh file (i.e. PBS commands).
The file <nop>teststeerFlatPlotterATLAStthSemileptonic.txt appears to contain an invalid range for the pseudorapidity (max. value = pi)
If USEHILOSB is set to 1 then && must be appended to cut criteria, e.g. GeneralParameter string 1 Constraint=(my_failEvent&65536)==0&&
It would be desirable to adapt the code to be able to process different signals, e.g. lbb.
Type source exportscript.sh to export the relevant parameters.
Enter ROOT and type .x runTrainTest.C
GeneralParameter bool 1 Debug=0 GeneralParameter bool 1 DebugGlobalInfo=0 GeneralParameter bool 1 DebugEvInfo=0 GeneralParameter int 1 ReportInterval=100All the debug switches can be set to one (I'm not sure of the exact effect of each individual switch) - the report interval is probably best left at 100. To restrict the events you use
# # Loop Control # GeneralParameter int 1 NEvent=999999 GeneralParameter int 0 FirstEvent=1 GeneralParameter int 0 LastEvent=10The easiest switch is to set NEvent=10 - however, if desired you can run over a specified range, by switching of the NEvent switch (changing it to int 0 NEvent) and switching on the other two switches, using them to specify the events you wish to run over.
To enable you to specify the range and number of bins in the histogram showing the distribution of the pseudoexperiment exclusions. (Found in drivetestFlatFitAtlastth.rootUnscaledTemplates.root) In both FlatReader and FlatPlotter: GeneralParameter bool 1 LoadGlobalOnEachEvent=1 This needs to be set to one if your input datasets have non-sensible states. Otherwise, global variables are loaded on one occasion from the first entry in the file, and kept. If this entry is not sensible, or for some other reason has an unreasonable answer for this global value, a problem will develop. With this switch on, the values will be loaded each and every time – obviously this slows the code down – if the global values are safely stored in every entry, it might be best to set this to false.GeneralParameter int 1 LikeliPseudoExpMin=0. GeneralParameter int 1 LikeliPseudoExpMax=10. GeneralParameter int 1 LikeliPseudoExpNBin=400
I | Attachment | History | Action | Size | Date | Who | Comment |
---|---|---|---|---|---|---|---|
![]() |
Est_12_120.eps | r1 | manage | 16.0 K | 2009-07-24 - 12:06 | GavinKirby | |
![]() |
FlatStack_1.eps | r1 | manage | 90.1 K | 2009-07-24 - 11:12 | GavinKirby | |
![]() |
FlatStack_2.eps | r1 | manage | 109.0 K | 2009-07-24 - 12:06 | GavinKirby | |
![]() |
Report-FINAL.pdf | r1 | manage | 202.3 K | 2009-09-29 - 10:47 | ChrisCollins | |
![]() |
drivetestFlatFitAtlastth.rootSemiLeptonic_lnsb1.eps | r1 | manage | 17.0 K | 2009-07-24 - 12:06 | GavinKirby | |
![]() |
drivetestFlatFitAtlastth.rootSemiLeptonic_lnsb2.eps | r1 | manage | 16.1 K | 2009-07-24 - 12:06 | GavinKirby | |
![]() |
score_12_120.eps | r1 | manage | 28.5 K | 2009-07-24 - 12:06 | GavinKirby |