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.