HighLAND
MichelElectronEffSystematics.hxx
1 #ifndef MichelElectronEffSystematics_h
2 #define MichelElectronEffSystematics_h
3 
4 #include "EventWeightBase.hxx"
5 #include "BinnedParams.hxx"
6 
7 /// Michel electron effciency systematic
8 
10 public:
11 
12  /// Instantiate the michel electron efficiency systematic. nana is the number of
13  /// virtual analyses that will be run.
14  /// There is only 1 analysis (+ the unchanged) for this systematic, as we only store the weight for a change of one sigma.
15  /// The mean and sigma are defined in a data file.
16  MichelElectronEffSystematics(bool computecounters=false);
17 
18  virtual ~MichelElectronEffSystematics() {
19  if (_fgd1eff) delete _fgd1eff; _fgd1eff = NULL;
20  if (_fgd1pur) delete _fgd1pur; _fgd1pur = NULL;
21  if (_fgd2eff) delete _fgd2eff; _fgd2eff = NULL;
22  if (_fgd2pur) delete _fgd2pur; _fgd2pur = NULL;
23  }
24 
25  /// Apply the weight
27  Weight_h ComputeWeight(const ToyExperiment& toy, const AnaEventC& event, const ToyBoxB& box);
28 
29  BinnedParams* _fgd1eff;
30  BinnedParams* _fgd1pur;
31  BinnedParams* _fgd2eff;
32  BinnedParams* _fgd2pur;
33 
34 protected:
35  bool _computecounters;
36  bool _prod5Cut;
37 
38 };
39 
40 #endif
virtual Weight_h ComputeWeight(const ToyExperiment &toy, const AnaEventC &event, const ToyBoxB &box, const SelectionBase &sel)
This is now the actual method called by SystematicManager, which allows further selection tunning of ...
MichelElectronEffSystematics(bool computecounters=false)
Weight_h ComputeWeight(const ToyExperiment &toy, const AnaEventC &event, const ToyBoxB &box)
Michel electron effciency systematic.