Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin

...

The code is in SVN and can be found by doing:

Code Block

phansson@pcphuat27]/u1/phansson/jetmetbtag% svn co svn+ssh://phansson@svn.cern.ch/reps/atlasgrp/Institutes/SLAC/FlatAna

In order to run it you need a few packages that is used:

ROOT

Root is needed.

GRL

Code Block

phansson@pcphuat27]/u1/phansson/jetmetbtag% svn co svn+ssh://phansson@svn.cern.ch/reps/atlasoff/DataQuality/GoodRunsLists/tags/GoodRunsLists-00-00-84 GoodRunsLists

Compile this package:

Code Block

phansson@pcphuat27]/u1/phansson/jetmetbtag% cd DataQuality/GoodRunList/cmt
phansson@pcphuat27]/u1/phansson/jetmetbtag/DataQuality/GoodRunList/cmt% gmake -f Makefile.Standalone

Copy the shared library to the topology directory where you will run your jobs (thi can be improve at some point):

Code Block

phansson@pcphuat27]/u1/phansson/jetmetbtag/DataQuality/GoodRunList% cp ../Standalone/libGoodRunsList.so ../../FlatAna/trunk/topologies/jetmetbtag/

JES uncertainty provider package:

Code Block

phansson@pcphuat27]/u1/phansson/jetmetbtag% svn co svn+ssh://phansson@svn.cern.ch/reps/atlasoff/Reconstruction/Jet/JetUncertainties/tags/JetUncertainties-00-01-02 JetUncertainties

This package will be compiled on the fly by FlatAna but you need to copy the root file to the topology directory:

Code Block

phansson@pcphuat27]/u1/phansson/jetmetbtag% cp JetUncertainty/JESUncertaintyProvider/share/JESUncertainty.root FlatAna/trunk/topologies/jetmetbtag/

Trigger Navigation Tools:

Code Block

phansson@pcphuat27]/u1/phansson/jetmetbtag% svn co svn+ssh://phansson@svn.cern.ch/reps

...

/atlasoff/Trigger/TrigAnalysis/TriggerMenuNtuple/tags/TriggerMenuNtuple-00-01-32 TriggerMenuNtuple

This package MUST be compiled first!

Code Block

phansson@pcphuat27]/u1/phansson/jetmetbtag% cd TriggerMenuNtuple/cmd

Edit the Makefile in this directory.  You must remove the two instances of "-m32" lines 15,20.

Code Block

phansson@pcphuat27]/u1/phansson/jetmetbtag/TriggerMenuNtuple/cmd% make

you might need to check that the path to this package are correct in ana.C (your run directory e.g. topology/jetmetbtag/), in particular check a few hard-coded paths (not very nice):

Code Block

gSystem->AddIncludePath(" -I../../../../DataQuality/GoodRunsLists/");

gSystem->AddIncludePath(" -I../../../../JetUncertainties/");

gSystem->CompileMacro("../../../../JetUncertainties/src/JESUncertaintyProvider.cxx","k");

gSystem->AddIncludePath(" -I../../../../TriggerMenuNtuple");

gSystem->Load("../../../../TriggerMenuNtuple/lib/libTriggerMenuNtuple.so","k");

Run an example

In order to run on the example you need a ntuple. This example runs on ntuples in e.g.an ntuple:
/u1/data/user09.DavidWilkinsMiller.trigger.v02.SethCaughron.misal1_mc12.EnhancedBias_1031.digit.RDO.v13004004_AANT_PHCOPY_SLIM/
If you run on pcphuat27 then you don't need to manipulate the filelists as described below: user.bcbutler.susySlim11.v1.simple_Bb_B200_L100_herwigpp_susy.merge.NTUP_SUSY.e636_s933_s946_r1831_r1700_p364/

Make sure you manipulate the filelist: 

  1. Open flatana/filelist/filelist.txt and change the path (top line) and directory/path name to match your own paths.
  2. e.g.: change top line-> "/u1/data/"
  3. find the line: "BbB200L100.susy011      1.0             13.0                            usr/p/phansson/data/user.bcbutler.susySlim11.v1.simple_Bb_B200_L100_herwigpp_susy.merge.NTUP_SUSY.e636_s933_s946_r1831_r1700_p364/" 
  4. And change it to: "BbB200L100.susy011      1.0             13.0                            user.bcbutler.susySlim11.v1.simple_Bb_B200_L100_herwigpp_susy.merge.NTUP_SUSY.e636_s933_s946_r1831_r17\
    BbB200L100.susy011      1.0             13.0                            user.bcbutler.susySlim11.v1.simple_Bb_B200_L100_herwigpp_susy.merge.NTUP_SUSY.e636_s933_s946_r1831_r1700_p364/"

All the needed compilations are done automatically in the main root macro ana.C.There is an example in the topologies/example/ directory to start from:
phansson@pcphuat27 The analysis class Topology_cutflow can be run with:

Code Block

[phansson@pcphuat27]/u1/phansson/jetmetbtag% cd

...

 FlatAna/trunk/topologies/

...

jetmetbtag        

[phansson@pcphuat27]/u1/phansson/

...

temp/flatana_test/FlatAna/trunk/topologies/

...

jetmetbtag% root -l        

root [0] .L ana.C

root [1] ana("cutflow","BbB200L100.susy011",100)

This should produce root files containing some basic histograms and a log file with event statistics. Have a look at the next section to get more info on what was going on and how to use a generic ntuple.

...

In order to run over your own ntuple you need only to create a new FileEvent:

phansson@pcphuat27[]/u1/phansson/jetmetbtag/flatana/trunk/topologies/example% cp FileEvent_template.h FileEvent_trg.h
phansson@pcphuat27[]/u1/phansson/jetmetbtag/flatana/trunk/topologies/example% cp FileEvent_template.cxx FileEvent_trg.cxx

Then open your root file (e.g. ntuple.root) and do a makeclass:
phansson@pcphuat27[]/u1/phansson/jetmetbtag/flatana/trunk/topologies/example% root -l /u1/data/user09.DavidWilkinsMiller.trigger.v02.SethCaughron.misal1_mc12.EnhancedBias_1031.digit.RDO.v13004004_AANT_PHCOPY_SLIM/user09.DavidWilkinsMiller.trigger.v02.SethCaughron.misal1_mc12.EnhancedBias_1031.digit.RDO.v13004004.AANT._00001_slim.root
root 1 CollectionTree->MakeClass("slimclass")

...

  1. Find the line /***** ADD YOUR OWN NTUPLE TYPE BELOW and make sure that your new FileEvent class is compiled.
  2. Find the line /*** *** ADD YOUR OWN FILEEVENT NTUPLE FORMAT BELOW ******/ and make sure that your FileEvent class is loaded (the string in the file list name given as argument is used to determine what file type should be used)

Now you are ready to run. Use the simple helper script ana.sh which is good to schedule several jobs at the same time as in the example above or run directly in ROOT:

phansson@pcphuat27[]/u1/phansson/jetmetbtag/flatana/trunk/topologies/example% root -l
root 0 .L ana.C
root 1 ana(14,"tt.trg",10)

...

The file list is where the samples you are using are defined. An example file list is in flatana/filelists/filelist.txt.. The nice thing is that scale factors and cross-sections is directly given in a straightforward way. The first line contains the base path to your data directory. The follow lines then defines a set of sub-directories for each sample:

name, K-factor, cross-sectionin pb, subpath/to/filedirectory

Note that all root files in that directory will be assumed to contain the TTree and will be used.