HighLAND
TPCECalMatchEffSystematics.hxx
1 #ifndef TPCECalMatchEffSystematics_h
2 #define TPCECalMatchEffSystematics_h
3 
4 #include "EventWeightBase.hxx"
5 #include "BinnedParams.hxx"
6 
8 public:
10  virtual ~SystBoxTPCECalMatchEff();
11 
12  //an array of ecal sub-detector crossed for each revelant true track
13  SubDetId::SubDetEnum* RelevantTrueECalDetCrossed;
14 
15 };
16 
18 public:
19 
20  TPCECalMatchEffSystematics(bool computecounters=false);
21 
22  virtual ~TPCECalMatchEffSystematics() {}
23 
24  /// Apply the systematic
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  /// Initialize the SystBox for this event
30  virtual void InitializeEvent(const AnaEventC& event, const SelectionBase& sel, Int_t ibranch);
31 
32 protected:
33 
34  // Fills the SystBox
35  void FillSystBox(const AnaEventC& event, const SelectionBase& sel, Int_t ibranch);
36 
37  /// Is this track relevant for this systematic ?
38  bool IsRelevantRecObject(const AnaEventC& event, const AnaRecObjectC& track) const;
39 
40  /// Is this track relevant for this systematic ?
41  bool IsRelevantTrueObject(const AnaEventC& event, const AnaTrueObjectC& track) const;
42 
43  /// Get the TrackGroup IDs array for this systematic
44  Int_t GetRelevantRecObjectGroups(const SelectionBase& sel, Int_t ibranch, Int_t* IDs) const;
45 
46  /// Get the TrueTrackGroup IDs array for this systematic
47  Int_t GetRelevantTrueObjectGroups(const SelectionBase& sel, Int_t ibranch, Int_t* IDs) const;
48 
49  bool _computecounters;
50 };
51 
52 #endif
Weight_h ComputeWeight(const ToyExperiment &, const AnaEventC &, const ToyBoxB &)
Apply the systematic.
SubDetEnum
Enumeration of all detector systems and subdetectors.
Definition: SubDetId.hxx:25