HighLAND
TPCFGDMatchEffSystematics.hxx
1 #ifndef TPCFGDMatchEffSystematics_h
2 #define TPCFGDMatchEffSystematics_h
3 
4 #include "EventWeightBase.hxx"
5 #include "BinnedParams.hxx"
6 
8 public:
9 
10  TPCFGDMatchEffSystematics(bool computecounters=false);
11  virtual ~TPCFGDMatchEffSystematics() {}
12 
13  /// Apply the systematic
14  Weight_h ComputeWeight(const ToyExperiment&, const AnaEventC&, const ToyBoxB&){return 1;}
15 
16  Weight_h ComputeWeight(const ToyExperiment& toy, const AnaEventC& event, const ToyBoxB& box, const SelectionBase& sel);
17 
18 
19 protected:
20 
21  /// Is this track relevant for this systematic ?
22  bool IsRelevantRecObject(const AnaEventC& event, const AnaRecObjectC& track) const;
23 
24  /// Get the TrackGroup IDs array for this systematic
25  Int_t GetRelevantRecObjectGroups(const SelectionBase& sel, Int_t ibranch, Int_t* IDs) const;
26 
27  /// Get the TrueTrackGroup IDs array for this systematic
28  Int_t GetRelevantTrueObjectGroups(const SelectionBase& sel, Int_t ibranch, Int_t* IDs) const;
29 
30  /// Check the true-reco association
31  bool CheckTrueRecoAssociation(const AnaTrueObjectC& trueTrack, const AnaRecObjectC& track) const;
32 
33  /// Utility to utilize for several FGD objects if needed
34  /// Get the weight given an FGD segment: prod-6
35  Weight_h GetWeight(const AnaFGDParticleB* FGDSegment, const ToyExperiment& toy);
36 
37 protected:
38 
39  bool _computecounters;
40  bool _apply_both_FGD1_FGD2;
41  Int_t _prod6_nnodes_cut;
42 };
43 
44 #endif
Weight_h ComputeWeight(const ToyExperiment &, const AnaEventC &, const ToyBoxB &)
Apply the systematic.
Weight_h GetWeight(const AnaFGDParticleB *FGDSegment, const ToyExperiment &toy)
bool CheckTrueRecoAssociation(const AnaTrueObjectC &trueTrack, const AnaRecObjectC &track) const
Check the true-reco association.
Int_t GetRelevantRecObjectGroups(const SelectionBase &sel, Int_t ibranch, Int_t *IDs) const
Get the TrackGroup IDs array for this systematic.
Representation of a FGD segment of a global track.
bool IsRelevantRecObject(const AnaEventC &event, const AnaRecObjectC &track) const
Is this track relevant for this systematic ?
Int_t GetRelevantTrueObjectGroups(const SelectionBase &sel, Int_t ibranch, Int_t *IDs) const
Get the TrueTrackGroup IDs array for this systematic.