HighLAND
FGDPIDSystematics.hxx
1 #ifndef FGDPIDSystematics_h
2 #define FGDPIDSystematics_h
3 
4 #include "EventVariationBase.hxx"
5 #include "BinnedParams.hxx"
6 
7 /// This systematic smears the pull of each FGD track segment
9 public:
10 
11  /// Instantiate the FGD PID systematic. nbins is the number of
12  /// bins in the PDF
14 
15  virtual ~FGDPIDSystematics() {
16  if (_fgd1mean) delete _fgd1mean; _fgd1mean = NULL;
17  if (_fgd1sigma) delete _fgd1sigma; _fgd1sigma = NULL;
18  if (_fgd2mean) delete _fgd2mean; _fgd2mean = NULL;
19  if (_fgd2sigma) delete _fgd2sigma; _fgd2sigma = NULL;
20  }
21 
22  /// Apply the systematic
23  void Apply(const ToyExperiment& toy, AnaEventC& event);
24 
25  /// Undo the systematic variations done by ApplyVariation. This is faster tha reseting the full Spill
26  bool UndoSystematic(AnaEventC& event);
27 
28 protected:
29 
30  /// Is this track relevant for this systematic ?
31  bool IsRelevantRecObject(const AnaEventC& event, const AnaRecObjectC& track) const;
32 
33  /// Get the TrackGroup IDs array for this systematic
34  Int_t GetRelevantRecObjectGroups(const SelectionBase& sel, Int_t* IDs) const;
35 
36 protected:
37  BinnedParams* _fgd1mean;
38  BinnedParams* _fgd1sigma;
39  BinnedParams* _fgd2mean;
40  BinnedParams* _fgd2sigma;
41 
42 };
43 
44 #endif
bool UndoSystematic(AnaEventC &event)
Undo the systematic variations done by ApplyVariation. This is faster tha reseting the full Spill...
Int_t GetRelevantRecObjectGroups(const SelectionBase &sel, Int_t *IDs) const
Get the TrackGroup IDs array for this systematic.
bool IsRelevantRecObject(const AnaEventC &event, const AnaRecObjectC &track) const
Is this track relevant for this systematic ?
This systematic smears the pull of each FGD track segment.
void Apply(const ToyExperiment &toy, AnaEventC &event)
Apply the systematic.