CMS 3D CMS Logo

LinearizedTrackState.h
Go to the documentation of this file.
1 #ifndef LinearizedTrackState_H
2 #define LinearizedTrackState_H
3 
4 //#include "CommonReco/CommonVertex/interface/ImpactPointMeasurement.h"
5 
10 
11 #define SMATRIX_USE_CONSTEXPR
12 #include "Math/SMatrix.h"
13 
15 #include <vector>
16 
35 template <unsigned int N>
37 public:
38  typedef ROOT::Math::SVector<double, N> AlgebraicVectorN;
39  typedef ROOT::Math::SVector<double, N - 2> AlgebraicVectorM;
40  typedef ROOT::Math::SMatrix<double, N, 3, ROOT::Math::MatRepStd<double, N, 3> > AlgebraicMatrixN3;
41  typedef ROOT::Math::SMatrix<double, N, N - 2, ROOT::Math::MatRepStd<double, N, N - 2> > AlgebraicMatrixNM;
42  typedef ROOT::Math::SMatrix<double, N - 2, 3, ROOT::Math::MatRepStd<double, N - 2, 3> > AlgebraicMatrixM3;
43  typedef ROOT::Math::SMatrix<double, N, N, ROOT::Math::MatRepSym<double, N> > AlgebraicSymMatrixNN;
44  typedef ROOT::Math::SMatrix<double, N - 2, N - 2, ROOT::Math::MatRepSym<double, N - 2> > AlgebraicSymMatrixMM;
45  typedef ROOT::Math::SMatrix<double, N + 1, N + 1, ROOT::Math::MatRepSym<double, N + 1> > AlgebraicSymMatrixOO;
46 
48 
49  ~LinearizedTrackState() override {}
50 
56  const GlobalPoint& newLP) const = 0;
57 
60  virtual const GlobalPoint& linearizationPoint() const = 0;
61 
65  virtual const AlgebraicVectorN& constantTerm() const = 0;
66 
70  virtual const AlgebraicMatrixN3& positionJacobian() const = 0;
71 
75  virtual const AlgebraicMatrixNM& momentumJacobian() const = 0;
76 
79  virtual const AlgebraicVectorN& parametersFromExpansion() const = 0;
80 
84  virtual AlgebraicVectorN predictedStateParameters() const = 0;
85 
90 
95  virtual AlgebraicSymMatrixNN predictedStateWeight(int& error) const = 0;
96 
101 
105  virtual AlgebraicSymMatrixNN predictedStateError() const = 0;
106 
107  virtual bool hasError() const = 0;
108 
109  virtual TrackCharge charge() const = 0;
110 
113  // virtual ImpactPointMeasurement impactPointMeasurement() const = 0;
114 
115  virtual bool operator==(LinearizedTrackState<N>& other) const = 0;
116 
121  const AlgebraicVectorM& vectorParameters,
122  const AlgebraicSymMatrixOO& covarianceMatrix) const = 0;
123 
127  virtual AlgebraicVectorN refittedParamFromEquation(const RefCountedRefittedTrackState& theRefittedState) const = 0;
128 
129  virtual inline void checkParameters(AlgebraicVectorN& parameters) const {}
130 
131  virtual double weightInMixture() const = 0;
132 
133  virtual std::vector<ReferenceCountingPointer<LinearizedTrackState<N> > > components() const = 0;
134 
135  virtual reco::TransientTrack track() const = 0;
136 
137  virtual bool isValid() const { return true; }
138 };
139 
140 #endif
LinearizedTrackState::~LinearizedTrackState
~LinearizedTrackState() override
Definition: LinearizedTrackState.h:49
BeamSpotPI::parameters
parameters
Definition: BeamSpotPayloadInspectorHelper.h:30
LinearizedTrackState::components
virtual std::vector< ReferenceCountingPointer< LinearizedTrackState< N > > > components() const =0
TrackCharge
int TrackCharge
Definition: TrackCharge.h:4
LinearizedTrackState::predictedStateParameters
virtual AlgebraicVectorN predictedStateParameters() const =0
LinearizedTrackState::AlgebraicMatrixNM
ROOT::Math::SMatrix< double, N, N - 2, ROOT::Math::MatRepStd< double, N, N - 2 > > AlgebraicMatrixNM
Definition: LinearizedTrackState.h:41
LinearizedTrackState::charge
virtual TrackCharge charge() const =0
LinearizedTrackState::parametersFromExpansion
virtual const AlgebraicVectorN & parametersFromExpansion() const =0
LinearizedTrackState::AlgebraicSymMatrixNN
ROOT::Math::SMatrix< double, N, N, ROOT::Math::MatRepSym< double, N > > AlgebraicSymMatrixNN
Definition: LinearizedTrackState.h:43
LinearizedTrackState::constantTerm
virtual const AlgebraicVectorN & constantTerm() const =0
LinearizedTrackState::isValid
virtual bool isValid() const
Definition: LinearizedTrackState.h:137
LinearizedTrackState::linearizationPoint
virtual const GlobalPoint & linearizationPoint() const =0
ReferenceCountingPointer
Definition: ReferenceCounted.h:60
TransientTrack.h
relativeConstraints.error
error
Definition: relativeConstraints.py:53
LinearizedTrackState::stateWithNewLinearizationPoint
virtual ReferenceCountingPointer< LinearizedTrackState< N > > stateWithNewLinearizationPoint(const GlobalPoint &newLP) const =0
LinearizedTrackState::positionJacobian
virtual const AlgebraicMatrixN3 & positionJacobian() const =0
LinearizedTrackState::predictedStateMomentumParameters
virtual AlgebraicVectorM predictedStateMomentumParameters() const =0
TrackCharge.h
N
#define N
Definition: blowfish.cc:9
trackingPlots.other
other
Definition: trackingPlots.py:1460
Point3DBase< float, GlobalTag >
LinearizedTrackState::operator==
virtual bool operator==(LinearizedTrackState< N > &other) const =0
LinearizedTrackState::AlgebraicMatrixN3
ROOT::Math::SMatrix< double, N, 3, ROOT::Math::MatRepStd< double, N, 3 > > AlgebraicMatrixN3
Definition: LinearizedTrackState.h:40
LinearizedTrackState::track
virtual reco::TransientTrack track() const =0
LinearizedTrackState::momentumJacobian
virtual const AlgebraicMatrixNM & momentumJacobian() const =0
LinearizedTrackState::RefCountedRefittedTrackState
ReferenceCountingPointer< RefittedTrackState< N > > RefCountedRefittedTrackState
Definition: LinearizedTrackState.h:47
LinearizedTrackState::weightInMixture
virtual double weightInMixture() const =0
LinearizedTrackState::refittedParamFromEquation
virtual AlgebraicVectorN refittedParamFromEquation(const RefCountedRefittedTrackState &theRefittedState) const =0
LinearizedTrackState::AlgebraicMatrixM3
ROOT::Math::SMatrix< double, N - 2, 3, ROOT::Math::MatRepStd< double, N - 2, 3 > > AlgebraicMatrixM3
Definition: LinearizedTrackState.h:42
LinearizedTrackState::AlgebraicVectorN
ROOT::Math::SVector< double, N > AlgebraicVectorN
Definition: LinearizedTrackState.h:38
ReferenceCounted.h
reco::TransientTrack
Definition: TransientTrack.h:19
LinearizedTrackState::AlgebraicSymMatrixOO
ROOT::Math::SMatrix< double, N+1, N+1, ROOT::Math::MatRepSym< double, N+1 > > AlgebraicSymMatrixOO
Definition: LinearizedTrackState.h:45
LinearizedTrackState::checkParameters
virtual void checkParameters(AlgebraicVectorN &parameters) const
Definition: LinearizedTrackState.h:129
LinearizedTrackState
Definition: LinearizedTrackState.h:36
LinearizedTrackState::predictedStateError
virtual AlgebraicSymMatrixNN predictedStateError() const =0
LinearizedTrackState::createRefittedTrackState
virtual RefCountedRefittedTrackState createRefittedTrackState(const GlobalPoint &vertexPosition, const AlgebraicVectorM &vectorParameters, const AlgebraicSymMatrixOO &covarianceMatrix) const =0
LinearizedTrackState::predictedStateMomentumError
virtual AlgebraicSymMatrixMM predictedStateMomentumError() const =0
ReferenceCounted
GlobalPoint.h
LinearizedTrackState::hasError
virtual bool hasError() const =0
LinearizedTrackState::AlgebraicVectorM
ROOT::Math::SVector< double, N - 2 > AlgebraicVectorM
Definition: LinearizedTrackState.h:39
RefittedTrackState.h
LinearizedTrackState::predictedStateWeight
virtual AlgebraicSymMatrixNN predictedStateWeight(int &error) const =0
LinearizedTrackState::AlgebraicSymMatrixMM
ROOT::Math::SMatrix< double, N - 2, N - 2, ROOT::Math::MatRepSym< double, N - 2 > > AlgebraicSymMatrixMM
Definition: LinearizedTrackState.h:44