HighLAND
ChargeIDEffSystematics.hxx
1 #ifndef ChargeIDEffSystematics_h
2 #define ChargeIDEffSystematics_h
3 
4 #include "EventWeightBase.hxx"
5 #include "BinnedParams.hxx"
6 
7 /// Charge confusion systematic. This is treated as an efficiency systematic, applying a weight to the event
8 
10 public:
11 
12  ChargeIDEffSystematics(bool computecount=false);
13  virtual ~ChargeIDEffSystematics() {
14  if (_globalCharge) delete _globalCharge; _globalCharge = NULL;
15  if (_localCharge) delete _localCharge; _localCharge = NULL;
16  }
17 
18  /// Apply the systematic
20  return 1.;
21  }
22 
23  /// Apply the systematic
24  Weight_h ComputeWeight(const ToyExperiment& toy, const AnaEventC& event, const ToyBoxB& box, const SelectionBase& sel);
25 
26 protected:
27 
28  /// Fill the SystBox for this event, selection and branch
29  void FillSystBox(const AnaEventC& event, const SelectionBase& sel, Int_t ibranch);
30 
31  void ComputeEffFromGlobalParametrization(BinnedParamsParams *par,Float_t mom, Float_t momerr, BinnedParamsParams &params );
32  void ComputeEffFromGlobalLocalParametrization(BinnedParamsParams *par,Float_t mom, Float_t momerr, BinnedParamsParams &params );
33  void ComputeEffFromLocalParametrization(BinnedParamsParams *par,Float_t mom, Float_t momerr, BinnedParamsParams &params );
34  Float_t ComputeEffFromGlobalLocalParametrization(BinnedParamsParams *par,Float_t mom, Float_t momerr );
35  Float_t ComputeEffFromLocalParametrization(BinnedParamsParams *par,Float_t mom, Float_t momerr);
36 
37  /// Is this track relevant for this systematic ?
38  // bool IsRelevantRecObject(const AnaEventC& event, const AnaRecObjectC& track) const;
39 
40  /// Get the TrackGroup IDs array for this systematic
41  Int_t GetRelevantRecObjectGroups(const SelectionBase& sel, Int_t ibranch, Int_t* IDs) const;
42 
43 protected:
44 
45  bool _computecounters;
46 
47  /// value of psycheSystematics.Tracker.FullCorrelations parameter
49 
50 public:
51  //TODO
52 
53  BinnedParams* _globalCharge;
54  BinnedParams* _localCharge;
55 };
56 
57 #endif
Int_t GetRelevantRecObjectGroups(const SelectionBase &sel, Int_t ibranch, Int_t *IDs) const
Is this track relevant for this systematic ?
bool _full_correlations
value of psycheSystematics.Tracker.FullCorrelations parameter
void FillSystBox(const AnaEventC &event, const SelectionBase &sel, Int_t ibranch)
Fill the SystBox for this event, selection and branch.
Weight_h ComputeWeight(const ToyExperiment &, const AnaEventC &, const ToyBoxB &)
Apply the systematic.
Charge confusion systematic. This is treated as an efficiency systematic, applying a weight to the ev...