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 
16 
17 public:
18 
20 
24  friend class MultiPerigeeLTSFactory;
25 
31  RefCountedLinearizedTrackState stateWithNewLinearizationPoint
32  (const GlobalPoint & newLP) const override;
33 
34 
38  const GlobalPoint & linearizationPoint() const override { return theLinPoint; }
39 
40  reco::TransientTrack track() const override { return theTrack; }
41 
46  const TrajectoryStateOnSurface state() const { return theTSOS; }
47 
51  const AlgebraicVectorN & constantTerm() const override;
52 
56  const AlgebraicMatrixN3 & positionJacobian() const override;
57 
61  const AlgebraicMatrixNM & momentumJacobian() const override;
62 
66  const AlgebraicVectorN & parametersFromExpansion() const override;
67 
73 
78 
83 
88  AlgebraicSymMatrixNN predictedStateWeight(int & error) const override;
89 
94 
99 
100  TrackCharge charge() const override {return theCharge;}
101 
102  bool hasError() const override;
103 
104  bool operator ==(LinearizedTrackState<5>& other)const override;
105 
110  const GlobalPoint & vertexPosition,
111  const AlgebraicVectorM & vectorParameters,
112  const AlgebraicSymMatrixOO & covarianceMatrix) const override;
113 
115  const RefCountedRefittedTrackState & theRefittedState) const override;
116 
117  void inline checkParameters(AlgebraicVector5 & parameters) const override;
123  double weightInMixture() const override {return theTSOS.weight();}
124 
129  std::vector<ReferenceCountingPointer<LinearizedTrackState<5> > > components()
130  const override {return ltComp;}
131 
132 private:
133 
141  const TrajectoryStateOnSurface& tsos);
142 
145  void prepareCollapsedState() const;
146 
149 
150 
152  std::vector<RefCountedLinearizedTrackState> ltComp;
153  mutable RefCountedLinearizedTrackState collapsedStateLT;
157 };
158 
159 #endif
std::vector< ReferenceCountingPointer< LinearizedTrackState< 5 > > > components() const override
AlgebraicVectorN predictedStateParameters() const override
reco::TransientTrack theTrack
AlgebraicVectorM predictedStateMomentumParameters() const override
ROOT::Math::SVector< double, N > AlgebraicVectorN
ROOT::Math::SMatrix< double, N, N, ROOT::Math::MatRepSym< double, N > > AlgebraicSymMatrixNN
const AlgebraicVectorN & parametersFromExpansion() const override
const TrajectoryStateClosestToPoint & predictedState() const
AlgebraicSymMatrixNN predictedStateWeight(int &error) const override
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
ROOT::Math::SMatrix< double, N-2, N-2, ROOT::Math::MatRepSym< double, N-2 > > AlgebraicSymMatrixMM
void checkParameters(AlgebraicVector5 &parameters) const override
ROOT::Math::SMatrix< double, N, N-2, ROOT::Math::MatRepStd< double, N, N-2 > > AlgebraicMatrixNM
GlobalPoint theLinPoint
ROOT::Math::SVector< double, N-2 > AlgebraicVectorM
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::SVector< double, 5 > AlgebraicVector5
ROOT::Math::SMatrix< double, N+1, N+1, ROOT::Math::MatRepSym< double, N+1 > > AlgebraicSymMatrixOO
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)
ROOT::Math::SMatrix< double, N, 3, ROOT::Math::MatRepStd< double, N, 3 > > AlgebraicMatrixN3
RefCountedLinearizedTrackState collapsedStateLT
reco::TransientTrack track() const override
ReferenceCountingPointer< LinearizedTrackState< 5 > > RefCountedLinearizedTrackState
const AlgebraicVectorN & constantTerm() const override
std::vector< RefCountedLinearizedTrackState > ltComp
bool operator==(LinearizedTrackState< 5 > &other) const override