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 
32 
33 namespace tmtt {
34 
35  class KFParamsComb : public KFbase {
36  public:
37  KFParamsComb(const Settings* settings, const uint nHelixPar, const std::string& fitterName);
38 
39  ~KFParamsComb() override = default;
40 
41  protected:
42  //--- Input data
43 
44  // Seed track helix params & covariance matrix
45  TVectorD seedX(const L1track3D& l1track3D) const override;
46  TMatrixD seedC(const L1track3D& l1track3D) const override;
47 
48  // Stub coordinate measurements & resolution
49  TVectorD vectorM(const Stub* stub) const override;
50  TMatrixD matrixV(const Stub* stub, const KalmanState* state) const override;
51 
52  //--- KF maths matrix multiplications
53 
54  // Derivate of helix intercept point w.r.t. helix params.
55  TMatrixD matrixH(const Stub* stub) const override;
56  // Kalman helix ref point extrapolation matrix
57  TMatrixD matrixF(const Stub* stub, const KalmanState* state) const override;
58 
59  // Convert to physical helix params instead of local ones used by KF
60  TVectorD trackParams(const KalmanState* state) const override;
61  TVectorD trackParams_BeamConstr(const KalmanState* state, double& chi2rphi) const override;
62 
63  // Does helix state pass cuts?
64  bool isGoodState(const KalmanState& state) const override;
65 
66  protected:
67  std::vector<double> kfLayerVsPtToler_;
68  std::vector<double> kfLayerVsD0Cut5_;
69  std::vector<double> kfLayerVsZ0Cut5_;
70  std::vector<double> kfLayerVsZ0Cut4_;
71  std::vector<double> kfLayerVsChiSq5_;
72  std::vector<double> kfLayerVsChiSq4_;
73  };
74 
75 } // namespace tmtt
76 
77 #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:69
TMatrixD matrixH(const Stub *stub) const override
std::vector< double > kfLayerVsChiSq4_
Definition: KFParamsComb.h:72
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:67
bool isGoodState(const KalmanState &state) const override
std::vector< double > kfLayerVsChiSq5_
Definition: KFParamsComb.h:71
std::vector< double > kfLayerVsZ0Cut4_
Definition: KFParamsComb.h:70
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:68