Working with the L1ExtraUpgradeNtuples
Documentation
TWikis:
Plotters - L1extra
Basically the analisis depends on the following class
L1UpgradeNtuple which is part of the
L1UpgradeNtuple package. This class has pointers to the objects stored in the ntuple:
// L1 Extra Trees (Standard and ReEmulated)
L1Analysis::L1AnalysisL1ExtraDataFormat *l1extra_;
L1Analysis::L1AnalysisL1ExtraDataFormat *l1emuextra_;
// L1ExtraUpgrade Tree
L1Analysis::L1AnalysisL1ExtraUpgradeDataFormat *l1upgrade_;
Then the easiest way to get access to those, is to derive a new class --your analisis class-- to access those objects per event. Here is the documentation for each data format:
In principle is very easy to gain access to the quantities you need. For example:
double isoEgEt = l1upgrade_->isoEGEt[k];
this gives you the energy of the isolated EG k object. Having said that you can have a look to my code to do a analysis over the current and upgrade ntuples. First get the code:
# first authenticate with CERN
kserver_init
cvs co -d l1extraC UserCode/aosorio/UCT2015/l1extraC
Class
L12015Analysis derives from
L1UpgradeNtuple and implements a Loop over the events in the ntuple.
- Note 1: This is an example and the naming may not be very good since it refers to 2015 (as is UCT2015). However, there are no diferences.
- Note 2: Unfortunately, due to timing issues I reused some existing code for plotting (look at the UCT2015 section). This meant that I had to read the upgrade ntuple and generate a plain ROOT Tree to make my plots. This of course is far from ideal and slows downs things. Maybe with some time I can change this.
- Note 3: That is the reason there is a dependency on L1RateTree and UCTRateTree classes.
Have a look to
rootlogon.C. It shows the procedures to load the necessary dataformats and the FWLite framework.