HighLAND
ECalTrackEffSystematics.hxx
1 #ifndef ECalTrackEffSystematics_h
2 #define ECalTrackEffSystematics_h
3 
4 #include "EventWeightBase.hxx"
5 #include "BinnedParams.hxx"
6 
8 public:
9 
10  ECalTrackEffSystematics(bool computecounters=false);
11 
12 
13  virtual ~ECalTrackEffSystematics() {}
14 
15  /// Apply the systematic
16  Weight_h ComputeWeight(const ToyExperiment&, const AnaEventC&, const ToyBoxB&){return 1;}
17 
18  Weight_h ComputeWeight(const ToyExperiment& toy, const AnaEventC& event, const ToyBoxB& box, const SelectionBase& sel);
19 
20 protected:
21 
22  /// Is this track relevant for this systematic ?
23  bool IsRelevantTrueObject(const AnaEventC& event, const AnaTrueObjectC& track) const;
24 
25  /// Get the TrackGroup IDs array for this systematic
26  Int_t GetRelevantRecObjectGroups(const SelectionBase& sel, Int_t ibranch, Int_t* IDs) const;
27 
28  /// Get the TrueTrackGroup IDs array for this systematic
29  Int_t GetRelevantTrueObjectGroups(const SelectionBase& sel, Int_t ibranch, Int_t* IDs) const;
30 
31  bool _computecounters;
32 };
33 
34 #endif
bool IsRelevantTrueObject(const AnaEventC &event, const AnaTrueObjectC &track) const
Is this track relevant for this systematic ?
Int_t GetRelevantRecObjectGroups(const SelectionBase &sel, Int_t ibranch, Int_t *IDs) const
Get the TrackGroup IDs array for this systematic.
Weight_h ComputeWeight(const ToyExperiment &, const AnaEventC &, const ToyBoxB &)
Apply the systematic.
Int_t GetRelevantTrueObjectGroups(const SelectionBase &sel, Int_t ibranch, Int_t *IDs) const
Get the TrueTrackGroup IDs array for this systematic.