HighLAND
TPCClusterEffSystematics.hxx
1 #ifndef TPCClusterEffSystematics_h
2 #define TPCClusterEffSystematics_h
3 
4 #include "EventWeightBase.hxx"
5 #include "BinnedParams.hxx"
6 
7 /// This systematic affects the number of reconstructed nodes in an
8 /// AnaTpcSegment. The extra inefficiency for each virtual analysis is chosen
9 /// from a Gaussian, with mean and sigma specified by the user.
10 ///
11 /// The correction for each AnaTpcSegment is then chosen from a uniform
12 /// distribution between 0 and the inefficiency for this virtual analysis.
14 public:
15 
16  /// Instantiate the TPC track quality systematic. nana is the number of
17  /// virtual analyses to run.
19 
20  virtual ~TPCClusterEffSystematics() {}
21 
22  /// Apply the systematic to each AnaTpcSegment, varying the number of
23  /// reconstructed nodes. See TPCClusterEffSystematics class
24  /// documentation for details.
25  Weight_h ComputeWeight(const ToyExperiment&, const AnaEventC&, const ToyBoxB&){return 1;}
26 
27  Weight_h ComputeWeight(const ToyExperiment& toy, const AnaEventC& event, const ToyBoxB& box, const SelectionBase& sel);
28 
29 protected:
30 
31  /// Get the TrackGroup IDs array for this systematic
32  Int_t GetRelevantRecObjectGroups(const SelectionBase& sel, Int_t ibranch, Int_t* IDs) const;
33 };
34 
35 #endif
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 &)