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 
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==(const 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;
146 };
147 
148 #endif
bool hasError() const override
ROOT::Math::SMatrix< double, N+1, N+1, ROOT::Math::MatRepSym< double, N+1 > > AlgebraicSymMatrixOO
reco::TransientTrack theTrack
ROOT::Math::SVector< double, N > AlgebraicVectorN
const AlgebraicMatrixN3 & positionJacobian() const override
AlgebraicSymMatrixMM predictedStateMomentumError() const override
ROOT::Math::SMatrix< double, N, 3, ROOT::Math::MatRepStd< double, N, 3 > > AlgebraicMatrixN3
ROOT::Math::SVector< double, N - 2 > AlgebraicVectorM
AlgebraicVectorN predictedStateParameters() const override
const TrajectoryStateOnSurface theTSOS
void checkParameters(AlgebraicVector5 &parameters) const override
TrackCharge theCharge
RefCountedRefittedTrackState createRefittedTrackState(const GlobalPoint &vertexPosition, const AlgebraicVectorM &vectorParameters, const AlgebraicSymMatrixOO &covarianceMatrix) const override
int TrackCharge
Definition: TrackCharge.h:4
void prepareCollapsedState() const
AlgebraicVector5 refittedParamFromEquation(const RefCountedRefittedTrackState &theRefittedState) const override
AlgebraicSymMatrixNN predictedStateError() const override
bool operator==(const LinearizedTrackState< 5 > &other) const override
ROOT::Math::SMatrix< double, N - 2, N - 2, ROOT::Math::MatRepSym< double, N - 2 > > AlgebraicSymMatrixMM
const AlgebraicVectorN & parametersFromExpansion() const override
GlobalPoint theLinPoint
ROOT::Math::SVector< double, 5 > AlgebraicVector5
LinearizedTrackStateFactory theLTSfactory
const TrajectoryStateClosestToPoint & predictedState() const
std::vector< ReferenceCountingPointer< LinearizedTrackState< 5 > > > components() const override
ReferenceCountingPointer< RefittedTrackState< N > > RefCountedRefittedTrackState
AlgebraicSymMatrixNN predictedStateWeight(int &error) const override
ROOT::Math::SMatrix< double, N, N, ROOT::Math::MatRepSym< double, N > > AlgebraicSymMatrixNN
const AlgebraicVectorN & constantTerm() const override
double weightInMixture() const override
reco::TransientTrack track() const override
PerigeeMultiLTS(const GlobalPoint &linP, const reco::TransientTrack &track, const TrajectoryStateOnSurface &tsos)
RefCountedLinearizedTrackState stateWithNewLinearizationPoint(const GlobalPoint &newLP) const override
RefCountedLinearizedTrackState collapsedStateLT
const AlgebraicMatrixNM & momentumJacobian() const override
ReferenceCountingPointer< LinearizedTrackState< 5 > > RefCountedLinearizedTrackState
ROOT::Math::SMatrix< double, N, N - 2, ROOT::Math::MatRepStd< double, N, N - 2 > > AlgebraicMatrixNM
TrackCharge charge() const override
const GlobalPoint & linearizationPoint() const override
std::vector< RefCountedLinearizedTrackState > ltComp
AlgebraicVectorM predictedStateMomentumParameters() const override
const TrajectoryStateOnSurface state() const