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!>cd

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.>make

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 (int the topology directory.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. Wiki MarkupThere is an example in the {{topologies/example/}} directory to start from: {{\[\]}}{{ 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:

Wiki Markup{{\[\]}}{{/u1/phansson/jetmetbtag/flatana/trunk/topologies/example% cp FileEvent_template.h FileEvent_trg.h}} {{\[\]}}{{
[]/u1/phansson/jetmetbtag/flatana/trunk/topologies/example% cp FileEvent_template.cxx FileEvent_trg.cxx}}unmigrated-wiki-markup

Then open your root file (e.g. ntuple.root) and do a makeclass: {{\
[\]}}{{/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]}} {{
root 1 CollectionTree->MakeClass("slimclass")}}

Open slimclass.h and

  1. Copy the declarations of variables and branches to FileEvent_trg.h (as private members).
  2. Copy only the initialization of the variables and SetBranchAddress from the Init(TTree *tree) function to the function SetBranches() in FileEvent_trg.cxx (Note again that only the initialization of variables and SetBranchAddress() should be copied)
  3. Open FileEvent_trg.cxx and FileEvent_trg.h and search and replace template with trg

...

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:

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

This should produce some histograms and log files.

...