HighLAND
BFieldDistortionSystematics.hxx
1 #ifndef BFieldDistortionSystematics_h
2 #define BFieldDistortionSystematics_h
3 
4 #include "EventVariationBase.hxx"
5 #include "ToyExperiment.hxx"
6 #include "BinnedParams.hxx"
7 
8 /// This is the BField distortions systematic
9 ///
10 
12 public:
13 
14  /// Instantiate the momentum resolution systematic. nbins is the number of
15  /// bins in the PDF. addResol and addResolError describe
16  /// the Gaussian distribution from which the resolution of each virtual
17  /// analysis is selected from.
19 
20  virtual ~BFieldDistortionSystematics() {}
21 
22  /// Apply the systematic
23  virtual 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  virtual bool UndoSystematic(AnaEventC& event);
27 
28 protected:
29 
30  /// Get the TrackGroup IDs array for this systematic
31  Int_t GetRelevantRecObjectGroups(const SelectionBase& sel, Int_t* IDs) const;
32 
33 protected:
34 
35  /// the mean error of the systematic source
36  Float_t _mean_error;
37 };
38 
39 #endif
Int_t GetRelevantRecObjectGroups(const SelectionBase &sel, Int_t *IDs) const
Get the TrackGroup IDs array for this systematic.
Float_t _mean_error
the mean error of the systematic source
virtual void Apply(const ToyExperiment &toy, AnaEventC &event)
Apply the systematic.
virtual bool UndoSystematic(AnaEventC &event)
Undo the systematic variations done by ApplyVariation. This is faster tha reseting the full Spill...