FrameworkLimitedtoIfaePhysicsAnalysis
Introduction
FLIPA = Framework Limited to IFAE's Physics Analysis
The aim is to create a common framework flexible enough to accommodate all physics analysis at IFAE.
The idea is to have all tools available in a modular way so that all analyzers at IFAE can share their code!
What are the advantages of using such a modular framework at IFAE:
- no double coding (when happened your last copy-and-paste error?!)
- thus, more consistency of the code ("two different cross-section values?!")
- cross-checking between the different analyzers (at a certain point it's hard to debug your on code)
- for your background you can cash in on the others signal (see: no double coding)
- easy changing of your analysis strategy by switching on/off different modules in your jobOption file (without recompiling)
Overview
What FLIPA does...
- Input: by now we run on AOD
- Output: slim ntuple and DPD
- Steps: each step is written in a module. Each module retrieves input data from Store Gate (SG) and writes out output in SG as well. We have different kind of moldules:
- "Base" Particle Handler: such as electron, muon, jet, ... These modules perform the pre-selection of your objects:
- eta / pT cuts
- self-overlap removal
- overlap removal with other objects
- Composite Particle Builder: such as W, Z, top, ... These modules reconstruct a composite particle using the reconstruction method specified
- Global Event Info: Event Variables. other modules are:
- Trigger Handler: select events passing a given trigger/set of triggers.
- Truth Handler: get truth information
- Ntupleizer: dump interesting info in a flat ROOT ntuple for fast analysis. For each module that wants to dump something in the ntuple, there is a tool "XXXDumper" in this module.
- Common functions: all functions and constants used in more than one place are put in a common space so that all modules can share them. By now we have:
- PDG_Values: constants (masses, cross sections, colors(?))
- Colar: for overlap removal
- AnaCutCollection: eta/pT cuts
- ToolKit: delta R
- RecoMethods: reconstruction methods generalized
- ...
How to run
How to merge ntuples
- Use hadd command (you need to have ROOT set up):
hadd outputfile.root inputfile1.root inputfile2.root
- To merge many files, first get the list of input files: go to the directory where your files are located and do:
for a in *; do list="$a $list"; done
. Then use: hadd outputfile.root $list
Tags History
Full
ChangeLog
- FLIPA-01-00-03: preliminary implementation of reco to hlt matching
- FLIPA-01-00-02: first version of a HLT jet object dumper
- FLIPA-00-02-06: variable number of ntuple array entries
- FLIPA-00-02-00: First commit of Truth Dumper: not yet usable in Analysis
- FLIPA-00-01-00: Implementation of the leptonic top reconstruction
- FLIPA-00-00-27: Implementation of the hadronic top reconstruction
- FLIPA-00-00-24: Running on rel >14.2.10
- FLIPA-00-00-20: Reconstruction Methods made common
- FLIPA-00-00-14: add hadronic W builder
- FLIPA-00-00-02: migrated FLIPA to 14.1.0
Talks
Flowchart
Illustrative example of how FLIPA works :
Trigger
Illustrative example of how trigger information is dumped in FLIPA ntuples :
- trig_X_Y: has event fired level X trigger Y
- trig_X_Y_ps: has event fired level X trigger Y (prescaled)
- trig_X_Y_ps_pt: has event fired level X trigger Y (prescaled, pass-through)
- trig_PART_is_from_TRIGGER: trigger particle fired trigger TRIGGER
- trig_recoPART_matched_to_TRIGGER[i]: trigger particle number to which i-th reco particle PART was matched to
- e.g. : trig_recoEle_matched_to_EF_e15_medium[0] = 1 means that the first reco electron was matched to the second trigger electron (which fired the trigger e15_medium)
- trig_is_recoPART_matched_to_TRIGGER[i]: reco particle PART was matched to a trigger electron
- e.g. : trig_recoEle_matched_to_EF_e15_medium[2] = 1 means that the third reco electron was matched to a trigger electron (which fired the trigger e15_medium)
- e.g. : trig_recoEle_matched_to_EF_e15_medium[1] = 0 means that the second reco electron wasn't matched to any trigger electron (which fired...)
Code
FLIPA code is kept in
IFAE's CVS
There is the possibility to subscribe to notification on cvs commit. (ask Estel)
WARNING the amount of resulting emails is not negligible...
Present developers of FLIPA are:
- Volker Vorwerk
- Estel Perez
- Luca Fiorini
- Lluïsa Mir
- Jordi Nadal
Major updates:
--
EstelPerez - 21 Sep 2008