CMS 3D CMS Logo

ParticleKinematicLinearizedTrackState.h
Go to the documentation of this file.
1 #ifndef ParticleKinematicLinearizedTrackState_H
2 #define ParticleKinematicLinearizedTrackState_H
3 
12 
14 public:
17 
19 
25  const GlobalPoint& newLP) const override;
26 
30  const GlobalPoint& linearizationPoint() const override { return theLinPoint; }
31 
35  const AlgebraicVector6& constantTerm() const override;
36 
40  const AlgebraicMatrix63& positionJacobian() const override;
41 
45  const AlgebraicMatrix64& momentumJacobian() const override;
46 
49  const AlgebraicVector6& parametersFromExpansion() const override;
50 
60 
65 
70 
74  AlgebraicSymMatrix66 predictedStateWeight(int& error) const override;
75 
80 
81  // /**
82  // * Method returning the impact point measurement
83  // */
84  // ImpactPointMeasurement impactPointMeasurement() const;
85 
86  TrackCharge charge() const override;
87 
89 
90  bool operator==(LinearizedTrackState<6>& other) const override;
91 
92  bool hasError() const override;
93 
95  const AlgebraicVectorM& vectorParameters,
96  const AlgebraicSymMatrix77& covarianceMatrix) const override;
97 
101  AlgebraicVectorN refittedParamFromEquation(const RefCountedRefittedTrackState& theRefittedState) const override;
102 
103  inline void checkParameters(AlgebraicVectorN& parameters) const override;
104 
105  double weightInMixture() const override;
106 
107  std::vector<ReferenceCountingPointer<LinearizedTrackState<6> > > components() const override;
108 
109  reco::TransientTrack track() const override;
110 
111 private:
116  : theLinPoint(linP),
117  part(prt),
119  theCharge(prt->currentState().particleCharge()),
121 
122  {}
123 
127  void computeJacobians() const;
131  void computeChargedJacobians() const;
132 
136  void computeNeutralJacobians() const;
137 
141 
142  mutable bool errorAvailable;
143  mutable bool jacobiansAvailable;
149 
151  // ImpactPointMeasurementExtractor theIPMExtractor;
152  mutable bool impactPointAvailable;
153 };
154 #endif
AlgebraicSymMatrix66 predictedStateWeight(int &error) const override
AlgebraicVectorN refittedParamFromEquation(const RefCountedRefittedTrackState &theRefittedState) const override
RefCountedRefittedTrackState createRefittedTrackState(const GlobalPoint &vertexPosition, const AlgebraicVectorM &vectorParameters, const AlgebraicSymMatrix77 &covarianceMatrix) const override
ROOT::Math::SVector< double, N > AlgebraicVectorN
AlgebraicSymMatrix44 predictedStateMomentumError() const override
bool operator==(LinearizedTrackState< 6 > &other) const override
ROOT::Math::SVector< double, N-2 > AlgebraicVectorM
ROOT::Math::SMatrix< double, 6, 4, ROOT::Math::MatRepStd< double, 6, 4 > > AlgebraicMatrix64
ROOT::Math::SMatrix< double, 6, 3, ROOT::Math::MatRepStd< double, 6, 3 > > AlgebraicMatrix63
int TrackCharge
Definition: TrackCharge.h:4
AlgebraicSymMatrix66 predictedStateError() const override
ParticleKinematicLinearizedTrackState(const GlobalPoint &linP, RefCountedKinematicParticle &prt)
const AlgebraicVector6 & constantTerm() const override
ROOT::Math::SMatrix< double, 4, 4, ROOT::Math::MatRepSym< double, 4 > > AlgebraicSymMatrix44
ReferenceCountingPointer< LinearizedTrackState< 6 > > RefCountedLinearizedTrackState
ROOT::Math::SMatrix< double, 6, 6, ROOT::Math::MatRepSym< double, 6 > > AlgebraicSymMatrix66
const AlgebraicVector6 & parametersFromExpansion() const override
const AlgebraicMatrix63 & positionJacobian() const override
part
Definition: HCALResponse.h:20
ROOT::Math::SMatrix< double, 7, 7, ROOT::Math::MatRepSym< double, 7 > > AlgebraicSymMatrix77
Definition: Matrices.h:9
AlgebraicVectorM predictedStateMomentumParameters() const override
ROOT::Math::SVector< double, 6 > AlgebraicVector6
const AlgebraicMatrix64 & momentumJacobian() const override
void checkParameters(AlgebraicVectorN &parameters) const override
ReferenceCountingPointer< LinearizedTrackState< 6 > > stateWithNewLinearizationPoint(const GlobalPoint &newLP) const override
std::vector< ReferenceCountingPointer< LinearizedTrackState< 6 > > > components() const override
const GlobalPoint & linearizationPoint() const override