Title: Using the seed n-tuple utility to create standard trigger plots
1Using the seed n-tuple utility to create
standard trigger plots
- Freya Blekman
- NIKHEF / Universiteit van Amsterdam
- top physics trigger subgroup meeting
- January 24, 2002
2Trigsim ntuples
- Ntuples contain lots of information
- Some is not interesting at all for debugging or
certification purposes - Trigsim output root files are big
- ROOTs makeclass() is slow and debug and error
messages are pretty unclear in the CINT and ACLIC
compilers - Several solutions
- Make your trees smaller by running with your own
rcp files - Use some utility to withdraw only interesting
information from the ntuple - (Several options, I use seed)
3Why seed is coolWarning Blatant seed promotion
- seed maps the entries in any ntuple into physics
objects that you can pick from standard (ROOT or
seed) libraries, or can even define yourself. - You get access to all ROOTs physics
functionality. (like Lorentz transformations,
vector algebra, etc) - seed is significantly more fast than the
makeclass() method in ROOT. - You compile your seed classes yourself, with GNU
or g, which makes debugging a lot more
friendly. - Because you compile your code, it runs even
faster!
4The seed mechanism in pictures
analysis ntuple
d0trigsim output (names can
change)
trigsim leaf L2 Jet Eta
seed Jet Objects
Seed maps d0trigsim names to objects
trigsim leaf L2 Jet Phi
seed Trigger Objects
trigsim leaf L2 Jet E_trans
my analysis Jeti-gtGetEta() double recon_s_sqrd
Jet0Jet1.M() Triggerj-gtGetBit()
trigsim leaf L1 trigger bit
Trigger Object template
Jet Object template
PLOTS!
5trigger certification plots
- Ive made a start with providing the code for
standard trigger certification. (get standard
plots that tell you whether the code is working) - The framework is now there, it shouldnt be much
work to add more functionality. - Only provided the following objects
- L2 Jet
- Trigger bits for L1 and L2
- Its really easy to add extra objects like muons,
electrons, tracks, etc. Everything is there, you
just need to add the mapping to the seed
framework.
6What does it do now?
- Running a script sets up the whole seed structure
for you, and compiles for the first time so you
get executibles. - script available at top triggers webpage
- Three executibles
- Makes jet eta- and phi- distributions
- Plots L1/L2 trigger pass ratios vs jet E_t
- Plots L1/L2 trigger pass ratios vs event H_t
7What does it NOT do?
- If variable names change in the d0trigsim output,
you still have to make sure seed knows about it. - You only need to modify the leaf name ONCE
- (in the seed file that provides the map)
- Only L2 jets, L1 triggers and L2 triggers
defined.
8Results (1)
- Run on any trigsim ntuple as long as the names
dont change. - Recompile when there is a name change.
- All existing ntuples will not have to be
reprocessed. - No change in analysis code.
- Some plots apply specifically to b-jets
- (MC-based b-id)
9Results (2)
Straight out of the box, ran the setup script on
d0mino and then the eta_phi_dist executible!
P10.07 ntuple from trigger disk, 995 ttbar incl
sample
10Results (3)
Run on different intervals of E_t and H_t by
entering the histogram range interactively in the
program
11Results (4)
12Documentation
- There is documentation
- For ROOT the root webpage
- http//root.cern.ch
- You would need this when adding objects to seed
that havent been implemented yet. - For seed the seed webpage
- http//www-d0.fnal.gov/nikhef?seed
- Loads of physics objects have already been added
to the seed library. There is loads of
documentation on how the framework works and how
to add or expand objects for your specific use. - For what I did in the top trigger pages
- ../tools/freyas_standardchecks.html