CMS 3D CMS Logo

PerigeeMultiLTS.h
Go to the documentation of this file.
1 #ifndef PerigeeMultiLTS_H
2 #define PerigeeMultiLTS_H
3 
8 #include <vector>
9 
15 public:
17 
21  friend class MultiPerigeeLTSFactory;
22 
28  RefCountedLinearizedTrackState stateWithNewLinearizationPoint(const GlobalPoint& newLP) const override;
29 
33  const GlobalPoint& linearizationPoint() const override { return theLinPoint; }
34 
35  reco::TransientTrack track() const override { return theTrack; }
36 
41  const TrajectoryStateOnSurface state() const { return theTSOS; }
42 
46  const AlgebraicVectorN& constantTerm() const override;
47 
51  const AlgebraicMatrixN3& positionJacobian() const override;
52 
56  const AlgebraicMatrixNM& momentumJacobian() const override;
57 
61  const AlgebraicVectorN& parametersFromExpansion() const override;
62 
68 
73 
78 
83  AlgebraicSymMatrixNN predictedStateWeight(int& error) const override;
84 
89 
94 
95  TrackCharge charge() const override { return theCharge; }
96 
97  bool hasError() const override;
98 
99  bool operator==(LinearizedTrackState<5>& other) const override;
100 
105  const AlgebraicVectorM& vectorParameters,
106  const AlgebraicSymMatrixOO& covarianceMatrix) const override;
107 
108  AlgebraicVector5 refittedParamFromEquation(const RefCountedRefittedTrackState& theRefittedState) const override;
109 
110  void inline checkParameters(AlgebraicVector5& parameters) const override;
116  double weightInMixture() const override { return theTSOS.weight(); }
117 
122  std::vector<ReferenceCountingPointer<LinearizedTrackState<5> > > components() const override { return ltComp; }
123 
124 private:
132 
135  void prepareCollapsedState() const;
136 
139 
141  std::vector<RefCountedLinearizedTrackState> ltComp;
142  mutable RefCountedLinearizedTrackState collapsedStateLT;
146 };
147 
148 #endif
std::vector< ReferenceCountingPointer< LinearizedTrackState< 5 > > > components() const override
AlgebraicVectorN predictedStateParameters() const override
ROOT::Math::SMatrix< double, N+1, N+1, ROOT::Math::MatRepSym< double, N+1 > > AlgebraicSymMatrixOO
reco::TransientTrack theTrack
AlgebraicVectorM predictedStateMomentumParameters() const override
ROOT::Math::SVector< double, N > AlgebraicVectorN
const AlgebraicVectorN & parametersFromExpansion() const override
const TrajectoryStateClosestToPoint & predictedState() const
ROOT::Math::SMatrix< double, N, 3, ROOT::Math::MatRepStd< double, N, 3 > > AlgebraicMatrixN3
AlgebraicSymMatrixNN predictedStateWeight(int &error) const override
ROOT::Math::SVector< double, N-2 > AlgebraicVectorM
const GlobalPoint & linearizationPoint() const override
const TrajectoryStateOnSurface theTSOS
TrackCharge theCharge
const AlgebraicMatrixN3 & positionJacobian() const override
AlgebraicSymMatrixNN predictedStateError() const override
TrackCharge charge() const override
int TrackCharge
Definition: TrackCharge.h:4
void checkParameters(AlgebraicVector5 &parameters) const override
ROOT::Math::SMatrix< double, N-2, N-2, ROOT::Math::MatRepSym< double, N-2 > > AlgebraicSymMatrixMM
GlobalPoint theLinPoint
ROOT::Math::SVector< double, 5 > AlgebraicVector5
LinearizedTrackStateFactory theLTSfactory
const TrajectoryStateOnSurface state() const
void prepareCollapsedState() const
const AlgebraicMatrixNM & momentumJacobian() const override
AlgebraicVector5 refittedParamFromEquation(const RefCountedRefittedTrackState &theRefittedState) const override
AlgebraicSymMatrixMM predictedStateMomentumError() const override
ROOT::Math::SMatrix< double, N, N, ROOT::Math::MatRepSym< double, N > > AlgebraicSymMatrixNN
bool hasError() const override
RefCountedRefittedTrackState createRefittedTrackState(const GlobalPoint &vertexPosition, const AlgebraicVectorM &vectorParameters, const AlgebraicSymMatrixOO &covarianceMatrix) const override
RefCountedLinearizedTrackState stateWithNewLinearizationPoint(const GlobalPoint &newLP) const override
double weightInMixture() const override
PerigeeMultiLTS(const GlobalPoint &linP, const reco::TransientTrack &track, const TrajectoryStateOnSurface &tsos)
RefCountedLinearizedTrackState collapsedStateLT
reco::TransientTrack track() const override
ReferenceCountingPointer< LinearizedTrackState< 5 > > RefCountedLinearizedTrackState
ROOT::Math::SMatrix< double, N, N-2, ROOT::Math::MatRepStd< double, N, N-2 > > AlgebraicMatrixNM
const AlgebraicVectorN & constantTerm() const override
std::vector< RefCountedLinearizedTrackState > ltComp
bool operator==(LinearizedTrackState< 5 > &other) const override