HighLAND
FGDHybridTrackEffSystematics.hxx
1 #ifndef FGDHybridTrackEffSystematics_h
2 #define FGDHybridTrackEffSystematics_h
3 
4 #include "EventWeightBase.hxx"
5 #include "BinnedParams.hxx"
6 
7 
9  public:
10 
11  FGDHybridTrackEffSystematics(bool computecounters=false);
12  virtual ~FGDHybridTrackEffSystematics() {
13  if (_fgd1) delete _fgd1; _fgd1 = NULL;
14  if (_fgd2) delete _fgd2; _fgd2 = NULL;
15  }
16 
18  Weight_h ComputeWeight(const ToyExperiment& toy, const AnaEventC& event, const ToyBoxB& box);
19 
20 protected:
21 
22  /// Is this true track relevant for this systematic ?
23  bool IsRelevantTrueObject(const AnaEventC& event, const AnaTrueObjectC& trueTrack) 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 protected:
32  bool _computecounters;
33 
34 public:
35  //TODO
36 
37  BinnedParams* _fgd1;
38  BinnedParams* _fgd2;
39 
40 
41 };
42 
43 #endif
Weight_h ComputeWeight(const ToyExperiment &toy, const AnaEventC &event, const ToyBoxB &box)
Int_t GetRelevantTrueObjectGroups(const SelectionBase &sel, Int_t ibranch, Int_t *IDs) const
Get the TrueTrackGroup IDs array for this systematic.
bool IsRelevantTrueObject(const AnaEventC &event, const AnaTrueObjectC &trueTrack) const
Is this true track relevant for this systematic ?
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 ...
Int_t GetRelevantRecObjectGroups(const SelectionBase &sel, Int_t ibranch, Int_t *IDs) const
Get the TrackGroup IDs array for this systematic.