Program description.
The program is located at BARS/macros/utils
There are 3 C++ classes to provide useful and convenient control-interface.
Firstly, we must explain, why calculations before and after reconstruction are needed to be implemented separately. The processing of .wout
Monte-Carlo data relies on BARS/macros/rec/stage1_mc_NEW.C
script. There is the feature, which removes all events, which haven't passed 6/3 trigger after noise suppression. It's needed for reconstruction. However, for effective area calculations, <6/<3 trigger events are also interesting. So, we have decided to process post- and prereconstruction files separately. This causes us to create such program with 3 classes.
Structure of program:
1. BEffAreaBuilderInterface
provides user-friendly interface.
2. BEffAreaBuilderNorec
implements calculations of trigger-level and filter-level eff. areas.
3. BEffAreaBuilderClassif
implements calculation of eff. area after classification.
For user, only first class is interesting.
User has 2 options: 1. Use program to compute all eff. areas 2. Use program to compute only areas before reconstruction or only after.
For these options 2 different constructors are provided. First accept two TTree* pointers for your data and sets technical parameter type_of_processing
to one. First pointer must point to TTree(or TChain as TTree inheritor) with pre-reconstruction data and second one to post-reconstruction data.
Second constructor accepts one TTree pointer and bool value, which specifies, which data your TTree contains. (0 for pre-reconstruction, 1 for post-reconstruction). It also sets type_of_processing
to 2 or 3 respectively.
You need to create an BEffAreaBuilderInterface
object with proper constructor, then call method proceed
with two floats, which selects energy interval for calculation.
Then you can use on of self-explaining methods, which returns all graphs separately, or multi-graph.
You can use the same object again to calculate another energy interval.