CMS 3D CMS Logo

KFParamsComb.h
Go to the documentation of this file.
1 #ifndef L1Trigger_TrackFindingTMTT_KFParamsComb_h
2 #define L1Trigger_TrackFindingTMTT_KFParamsComb_h
3 
6 
10 
11 namespace tmtt {
12 
13  class KFParamsComb : public KFbase {
14  public:
15  KFParamsComb(const Settings* settings, const uint nHelixPar, const std::string& fitterName);
16 
17  ~KFParamsComb() override = default;
18 
19  protected:
20  //--- Input data
21 
22  // Seed track helix params & covariance matrix
23  TVectorD seedX(const L1track3D& l1track3D) const override;
24  TMatrixD seedC(const L1track3D& l1track3D) const override;
25 
26  // Stub coordinate measurements & resolution
27  TVectorD vectorM(const Stub* stub) const override;
28  TMatrixD matrixV(const Stub* stub, const KalmanState* state) const override;
29 
30  //--- KF maths matrix multiplications
31 
32  // Derivate of helix intercept point w.r.t. helix params.
33  TMatrixD matrixH(const Stub* stub) const override;
34  // Kalman helix ref point extrapolation matrix
35  TMatrixD matrixF(const Stub* stub, const KalmanState* state) const override;
36 
37  // Convert to physical helix params instead of local ones used by KF
38  TVectorD trackParams(const KalmanState* state) const override;
39  TVectorD trackParams_BeamConstr(const KalmanState* state, double& chi2rphi) const override;
40 
41  // Does helix state pass cuts?
42  bool isGoodState(const KalmanState& state) const override;
43 
44  protected:
45  std::vector<double> kfLayerVsPtToler_;
46  std::vector<double> kfLayerVsD0Cut5_;
47  std::vector<double> kfLayerVsZ0Cut5_;
48  std::vector<double> kfLayerVsZ0Cut4_;
49  std::vector<double> kfLayerVsChiSq5_;
50  std::vector<double> kfLayerVsChiSq4_;
51  };
52 
53 } // namespace tmtt
54 
55 #endif
TVectorD trackParams(const KalmanState *state) const override
TMatrixD matrixF(const Stub *stub, const KalmanState *state) const override
KFParamsComb(const Settings *settings, const uint nHelixPar, const std::string &fitterName)
Definition: KFParamsComb.cc:17
~KFParamsComb() override=default
std::vector< double > kfLayerVsZ0Cut5_
Definition: KFParamsComb.h:47
TMatrixD matrixH(const Stub *stub) const override
std::vector< double > kfLayerVsChiSq4_
Definition: KFParamsComb.h:50
TVectorD trackParams_BeamConstr(const KalmanState *state, double &chi2rphi) const override
TVectorD vectorM(const Stub *stub) const override
Definition: KFParamsComb.cc:71
std::vector< double > kfLayerVsPtToler_
Definition: KFParamsComb.h:45
bool isGoodState(const KalmanState &state) const override
std::vector< double > kfLayerVsChiSq5_
Definition: KFParamsComb.h:49
std::vector< double > kfLayerVsZ0Cut4_
Definition: KFParamsComb.h:48
TMatrixD seedC(const L1track3D &l1track3D) const override
Definition: KFParamsComb.cc:44
=== This is the base class for the linearised chi-squared track fit algorithms.
Definition: Array2D.h:16
TVectorD seedX(const L1track3D &l1track3D) const override
Definition: KFParamsComb.cc:29
TMatrixD matrixV(const Stub *stub, const KalmanState *state) const override
Definition: KFParamsComb.cc:80
std::vector< double > kfLayerVsD0Cut5_
Definition: KFParamsComb.h:46