HighLAND
FlipKinematicsCorrection.hxx
1 #ifndef FlipKinematicsCorrection_h
2 #define FlipKinematicsCorrection_h
3 
4 #include "CorrectionBase.hxx"
5 #include "DataClasses.hxx"
6 #include "SubDetId.hxx"
7 
8 /*!
9  * Each track that has a TPC component present together with a segment in other
10  * detector should have an "alternate" re-fit with a reversed charge and direction
11  * Sometimes it happens that this reverse fit fails on oaRecon level, hence the info
12  * is not available, this correction "fixes" the problem by taking the closest
13  * (to the end point) TPC momentum and applying a "reversed" dEdX correction up to the
14  * end point
15  */
16 
18 public:
19 
20  FlipKinematicsCorrection(SubDetId::SubDetEnum det = SubDetId::kFGD);
21  virtual ~FlipKinematicsCorrection(){}
22 
23  void Apply(AnaSpillC& spill);
24 
25 protected:
26 
27  /// A correction is supposed to be relevant for the tracks that
28  /// have a potential to be reversed (should have a TOF) and
29  /// for which B field + eloss momentum estimation is crucial: TPC should be present
30  bool IsRelevantTrack(const AnaTrackB& track) const;
31 
32 
33  /// A detector bit that defines which ToFs should be present to consider
34  /// the object for correction
36 
37 };
38 
39 #endif
All corrections should be registered with the CorrectionManager.
SubDetEnum
Enumeration of all detector systems and subdetectors.
Definition: SubDetId.hxx:25
Representation of a global track.
bool IsRelevantTrack(const AnaTrackB &track) const