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  virtual RefCountedLinearizedTrackState stateWithNewLinearizationPoint
32  (const GlobalPoint & newLP) const;
33 
34 
38  const GlobalPoint & linearizationPoint() const { return theLinPoint; }
39 
40  virtual reco::TransientTrack track() const { return theTrack; }
41 
46  const TrajectoryStateOnSurface state() const { return theTSOS; }
47 
51  virtual const AlgebraicVectorN & constantTerm() const;
52 
56  virtual const AlgebraicMatrixN3 & positionJacobian() const;
57 
61  virtual const AlgebraicMatrixNM & momentumJacobian() const;
62 
66  virtual const AlgebraicVectorN & parametersFromExpansion() const;
67 
73 
78 
83 
89 
94 
99 
100  TrackCharge charge() const {return theCharge;}
101 
102  bool hasError() const;
103 
105 
110  const GlobalPoint & vertexPosition,
111  const AlgebraicVectorM & vectorParameters,
112  const AlgebraicSymMatrixOO & covarianceMatrix) const;
113 
115  const RefCountedRefittedTrackState & theRefittedState) const;
116 
117  virtual void inline checkParameters(AlgebraicVector5 & parameters) const;
123  virtual double weightInMixture() const {return theTSOS.weight();}
124 
129  virtual std::vector<ReferenceCountingPointer<LinearizedTrackState<5> > > components()
130  const {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
virtual const AlgebraicVectorN & constantTerm() const
reco::TransientTrack theTrack
virtual double weightInMixture() const
ROOT::Math::SVector< double, N > AlgebraicVectorN
ROOT::Math::SMatrix< double, N, N, ROOT::Math::MatRepSym< double, N > > AlgebraicSymMatrixNN
virtual void checkParameters(AlgebraicVector5 &parameters) const
const TrajectoryStateClosestToPoint & predictedState() const
virtual const AlgebraicMatrixNM & momentumJacobian() const
virtual AlgebraicVector5 refittedParamFromEquation(const RefCountedRefittedTrackState &theRefittedState) const
const TrajectoryStateOnSurface theTSOS
virtual const AlgebraicVectorN & parametersFromExpansion() const
TrackCharge theCharge
int TrackCharge
Definition: TrackCharge.h:4
ROOT::Math::SMatrix< double, N-2, N-2, ROOT::Math::MatRepSym< double, N-2 > > AlgebraicSymMatrixMM
virtual const AlgebraicMatrixN3 & positionJacobian() const
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
AlgebraicVectorN predictedStateParameters() const
AlgebraicSymMatrixMM predictedStateMomentumError() const
virtual AlgebraicVectorM predictedStateMomentumParameters() const
virtual std::vector< ReferenceCountingPointer< LinearizedTrackState< 5 > > > components() const
virtual RefCountedLinearizedTrackState stateWithNewLinearizationPoint(const GlobalPoint &newLP) const
ROOT::Math::SVector< double, 5 > AlgebraicVector5
bool operator==(LinearizedTrackState< 5 > &other) const
virtual reco::TransientTrack track() const
ROOT::Math::SMatrix< double, N+1, N+1, ROOT::Math::MatRepSym< double, N+1 > > AlgebraicSymMatrixOO
bool hasError() const
TrackCharge charge() const
virtual RefCountedRefittedTrackState createRefittedTrackState(const GlobalPoint &vertexPosition, const AlgebraicVectorM &vectorParameters, const AlgebraicSymMatrixOO &covarianceMatrix) const
PerigeeMultiLTS(const GlobalPoint &linP, const reco::TransientTrack &track, const TrajectoryStateOnSurface &tsos)
ROOT::Math::SMatrix< double, N, 3, ROOT::Math::MatRepStd< double, N, 3 > > AlgebraicMatrixN3
const GlobalPoint & linearizationPoint() const
RefCountedLinearizedTrackState collapsedStateLT
ReferenceCountingPointer< LinearizedTrackState< 5 > > RefCountedLinearizedTrackState
std::vector< RefCountedLinearizedTrackState > ltComp
AlgebraicSymMatrixNN predictedStateWeight(int &error) const
AlgebraicSymMatrixNN predictedStateError() const