CMS 3D CMS Logo

PerigeeLinearizedTrackState.h
Go to the documentation of this file.
1 #ifndef PerigeeLinearizedTrackState_H
2 #define PerigeeLinearizedTrackState_H
3 
8 #include "Math/SMatrix.h"
11 
34 public:
40 
46 
50  const GlobalPoint& linearizationPoint() const override { return theLinPoint; }
51 
52  reco::TransientTrack track() const override { return theTrack; }
53 
54  const TrajectoryStateOnSurface state() const { return theTSOS; }
55 
59  const AlgebraicVector5& constantTerm() const override;
60 
64  const AlgebraicMatrix53& positionJacobian() const override;
65 
69  const AlgebraicMatrix53& momentumJacobian() const override;
70 
73  const AlgebraicVector5& parametersFromExpansion() const override;
74 
80 
85 
90 
95  AlgebraicSymMatrix55 predictedStateWeight(int& error) const override;
96 
100  AlgebraicSymMatrix55 predictedStateError() const override;
101 
106 
107  // /** Method returning the impact point measurement
108  // */
109  // ImpactPointMeasurement impactPointMeasurement() const;
110 
111  TrackCharge charge() const override { return theCharge; }
112 
113  bool hasError() const override;
114 
115  bool operator==(LinearizedTrackState<5>& other) const override;
116 
118 
123  const AlgebraicVector3& vectorParameters,
124  const AlgebraicSymMatrix66& covarianceMatrix) const override;
125 
126  AlgebraicVector5 refittedParamFromEquation(const RefCountedRefittedTrackState& theRefittedState) const override;
127 
128  double weightInMixture() const override { return theTSOS.weight(); }
129 
130  void inline checkParameters(AlgebraicVector5& parameters) const override;
131 
132  std::vector<ReferenceCountingPointer<LinearizedTrackState<5> > > components() const override;
133 
134  bool isValid() const override;
135 
136 private:
142  const TrajectoryStateOnSurface& tsos)
144 
147  void computeJacobians() const;
150  void computeChargedJacobians() const;
153  void computeNeutralJacobians() const;
156  void compute3DImpactPoint() const;
157 
161 
166 
168 
170  mutable bool jacobiansAvailable;
171 };
172 
177  if
179  return theConstantTerm;
180 }
181 
186  if
188  return thePositionJacobian;
189 }
190 
195  if
197  return theMomentumJacobian;
198 }
199 
203  if
205  return theExpandedParams;
206 }
207 
213  if
215  return thePredState;
216 }
217 
218 inline bool PerigeeLinearizedTrackState::hasError() const {
219  if
221  return thePredState.hasError();
222 }
223 
225  if (!jacobiansAvailable)
228 }
229 
231  if
234  return AlgebraicVector3(v[0], v[1], v[2]);
235 }
236 
238  if
240  if (!thePredState.isValid()) {
241  error = 1;
242  return AlgebraicSymMatrix55();
243  }
245 }
246 
248  if
251 }
252 
254  if
257 }
258 
260  if
261  UNLIKELY(!theTSOS.isValid()) return false;
262  if
264  return jacobiansAvailable;
265 }
266 
267 #endif
Likely.h
PerigeeLinearizedTrackState::checkParameters
void checkParameters(AlgebraicVector5 &parameters) const override
Definition: PerigeeLinearizedTrackState.cc:87
PerigeeLinearizedTrackState::linearizationPoint
const GlobalPoint & linearizationPoint() const override
Definition: PerigeeLinearizedTrackState.h:50
PerigeeLinearizedTrackState::jacobiansAvailable
bool jacobiansAvailable
Definition: PerigeeLinearizedTrackState.h:170
AlgebraicVector3
ROOT::Math::SVector< double, 3 > AlgebraicVector3
Definition: AlgebraicROOTObjects.h:12
AlgebraicSymMatrix33
ROOT::Math::SMatrix< double, 3, 3, ROOT::Math::MatRepSym< double, 3 > > AlgebraicSymMatrix33
Definition: AlgebraicROOTObjects.h:21
PerigeeLinearizedTrackState::createRefittedTrackState
RefCountedRefittedTrackState createRefittedTrackState(const GlobalPoint &vertexPosition, const AlgebraicVector3 &vectorParameters, const AlgebraicSymMatrix66 &covarianceMatrix) const override
Definition: PerigeeLinearizedTrackState.cc:50
PerigeeLinearizedTrackState::track
reco::TransientTrack track() const override
Definition: PerigeeLinearizedTrackState.h:52
PerigeeTrajectoryError::weightMatrix
const AlgebraicSymMatrix55 & weightMatrix(int &error) const
Definition: PerigeeTrajectoryError.h:35
PerigeeLinearizedTrackState::computeJacobians
void computeJacobians() const
Definition: PerigeeLinearizedTrackState.cc:9
funct::false
false
Definition: Factorize.h:34
TrackCharge
int TrackCharge
Definition: TrackCharge.h:4
PerigeeLinearizedTrackState::predictedState
const TrajectoryStateClosestToPoint & predictedState() const
Definition: PerigeeLinearizedTrackState.h:212
PerigeeLinearizedTrackState::theMomentumJacobian
AlgebraicMatrix53 theMomentumJacobian
Definition: PerigeeLinearizedTrackState.h:162
LinearizedTrackState< 5 >::charge
virtual TrackCharge charge() const=0
PerigeeLinearizedTrackState::theTSOS
const TrajectoryStateOnSurface theTSOS
Definition: PerigeeLinearizedTrackState.h:160
PerigeeLinearizedTrackState::constantTerm
const AlgebraicVector5 & constantTerm() const override
Definition: PerigeeLinearizedTrackState.h:176
PerigeeLinearizedTrackState::thePositionJacobian
AlgebraicMatrix53 thePositionJacobian
Definition: PerigeeLinearizedTrackState.h:162
ReferenceCountingPointer
Definition: ReferenceCounted.h:60
findQualityFiles.v
v
Definition: findQualityFiles.py:179
PerigeeLinearizedTrackState::theConstantTerm
AlgebraicVector5 theConstantTerm
Definition: PerigeeLinearizedTrackState.h:164
PerigeeLinearizedTrackState::momentumJacobian
const AlgebraicMatrix53 & momentumJacobian() const override
Definition: PerigeeLinearizedTrackState.h:194
relativeConstraints.error
error
Definition: relativeConstraints.py:53
AlgebraicMatrix53
ROOT::Math::SMatrix< double, 5, 3, ROOT::Math::MatRepStd< double, 5, 3 > > AlgebraicMatrix53
Definition: AlgebraicROOTObjects.h:53
PerigeeLinearizedTrackState::theTrack
reco::TransientTrack theTrack
Definition: PerigeeLinearizedTrackState.h:159
parameters
parameters
Definition: BeamSpot_PayloadInspector.cc:14
PerigeeLinearizedTrackState::positionJacobian
const AlgebraicMatrix53 & positionJacobian() const override
Definition: PerigeeLinearizedTrackState.h:185
PerigeeLinearizedTrackState::state
const TrajectoryStateOnSurface state() const
Definition: PerigeeLinearizedTrackState.h:54
UNLIKELY
#define UNLIKELY(x)
Definition: Likely.h:21
TrajectoryStateOnSurface
Definition: TrajectoryStateOnSurface.h:16
LinearizedTrackStateFactory
Definition: LinearizedTrackStateFactory.h:14
TrajectoryStateClosestToPoint::hasError
bool hasError() const
Definition: TrajectoryStateClosestToPoint.h:106
PerigeeLinearizedTrackState::isValid
bool isValid() const override
Definition: PerigeeLinearizedTrackState.h:259
AlgebraicSymMatrix66
ROOT::Math::SMatrix< double, 6, 6, ROOT::Math::MatRepSym< double, 6 > > AlgebraicSymMatrix66
Definition: AlgebraicROOTObjects.h:24
TrajectoryStateOnSurface::weight
double weight() const
Definition: TrajectoryStateOnSurface.h:80
PerigeeLinearizedTrackState::components
std::vector< ReferenceCountingPointer< LinearizedTrackState< 5 > > > components() const override
Definition: PerigeeLinearizedTrackState.cc:59
trackingPlots.other
other
Definition: trackingPlots.py:1465
TrajectoryStateClosestToPoint::perigeeError
const PerigeeTrajectoryError & perigeeError() const
Definition: TrajectoryStateClosestToPoint.h:84
Point3DBase< float, GlobalTag >
TrajectoryStateClosestToPoint::perigeeParameters
const PerigeeTrajectoryParameters & perigeeParameters() const
Definition: TrajectoryStateClosestToPoint.h:73
PerigeeLinearizedTrackState::thePredState
TrajectoryStateClosestToPoint thePredState
Definition: PerigeeLinearizedTrackState.h:163
PerigeeLinearizedTrackState::PerigeeLinearizedTrackState
PerigeeLinearizedTrackState(const GlobalPoint &linP, const reco::TransientTrack &track, const TrajectoryStateOnSurface &tsos)
Definition: PerigeeLinearizedTrackState.h:140
PerigeeLinearizedTrackState::computeNeutralJacobians
void computeNeutralJacobians() const
Definition: PerigeeLinearizedTrackState.cc:181
LinearizedTrackState< 5 >::operator==
virtual bool operator==(LinearizedTrackState< N > &other) const=0
PerigeeLinearizedTrackState::computeChargedJacobians
void computeChargedJacobians() const
Definition: PerigeeLinearizedTrackState.cc:94
PerigeeLinearizedTrackState::weightInMixture
double weightInMixture() const override
Definition: PerigeeLinearizedTrackState.h:128
PerigeeLinearizedTrackState::theExpandedParams
AlgebraicVector5 theExpandedParams
Definition: PerigeeLinearizedTrackState.h:165
PerigeeLinearizedTrackState::predictedStateMomentumParameters
AlgebraicVector3 predictedStateMomentumParameters() const override
Definition: PerigeeLinearizedTrackState.h:230
PerigeeLinearizedTrackState::predictedStateWeight
AlgebraicSymMatrix55 predictedStateWeight(int &error) const override
Definition: PerigeeLinearizedTrackState.h:237
PerigeeLinearizedTrackState::theCharge
TrackCharge theCharge
Definition: PerigeeLinearizedTrackState.h:169
PerigeeTrajectoryParameters::vector
const AlgebraicVector5 & vector() const
Definition: PerigeeTrajectoryParameters.h:82
LinearizedTrackState< 5 >::RefCountedRefittedTrackState
ReferenceCountingPointer< RefittedTrackState< N > > RefCountedRefittedTrackState
Definition: LinearizedTrackState.h:47
PerigeeLinearizedTrackState::compute3DImpactPoint
void compute3DImpactPoint() const
TrajectoryStateClosestToPoint
Definition: TrajectoryStateClosestToPoint.h:18
TSCPBuilderNoMaterial.h
AlgebraicVector5
ROOT::Math::SVector< double, 5 > AlgebraicVector5
Definition: AlgebraicROOTObjects.h:14
PerigeeTrajectoryError::covarianceMatrix
const AlgebraicSymMatrix55 & covarianceMatrix() const
Definition: PerigeeTrajectoryError.h:29
PerigeeLinearizedTrackState::parametersFromExpansion
const AlgebraicVector5 & parametersFromExpansion() const override
Definition: PerigeeLinearizedTrackState.h:202
ReferenceCounted.h
Migration.h
TSCPBuilderNoMaterial
Definition: TSCPBuilderNoMaterial.h:17
PerigeeLinearizedTrackState::refittedParamFromEquation
AlgebraicVector5 refittedParamFromEquation(const RefCountedRefittedTrackState &theRefittedState) const override
Definition: PerigeeLinearizedTrackState.cc:67
reco::TransientTrack
Definition: TransientTrack.h:19
PerigeeLinearizedTrackState::stateWithNewLinearizationPoint
RefCountedLinearizedTrackState stateWithNewLinearizationPoint(const GlobalPoint &newLP) const override
Definition: PerigeeLinearizedTrackState.cc:45
LinearizedTrackState
Definition: LinearizedTrackState.h:36
PerigeeLinearizedTrackState::builder
TSCPBuilderNoMaterial builder
Definition: PerigeeLinearizedTrackState.h:167
TrajectoryStateClosestToPoint::isValid
bool isValid() const
Definition: TrajectoryStateClosestToPoint.h:111
PerigeeLinearizedTrackState
Definition: PerigeeLinearizedTrackState.h:33
PerigeeLinearizedTrackState::predictedStateError
AlgebraicSymMatrix55 predictedStateError() const override
Definition: PerigeeLinearizedTrackState.h:247
PerigeeLinearizedTrackState::theLinPoint
GlobalPoint theLinPoint
Definition: PerigeeLinearizedTrackState.h:158
LinearizedTrackState.h
AlgebraicSymMatrix55
ROOT::Math::SMatrix< double, 5, 5, ROOT::Math::MatRepSym< double, 5 > > AlgebraicSymMatrix55
Definition: AlgebraicROOTObjects.h:23
LinearizedTrackState< 5 >::hasError
virtual bool hasError() const=0
PerigeeLinearizedTrackState::predictedStateParameters
AlgebraicVector5 predictedStateParameters() const override
Definition: PerigeeLinearizedTrackState.h:224
TrajectoryStateOnSurface::isValid
bool isValid() const
Definition: TrajectoryStateOnSurface.h:54
PerigeeLinearizedTrackState::RefCountedLinearizedTrackState
ReferenceCountingPointer< LinearizedTrackState< 5 > > RefCountedLinearizedTrackState
Definition: PerigeeLinearizedTrackState.h:39
PerigeeLinearizedTrackState::predictedStateMomentumError
AlgebraicSymMatrix33 predictedStateMomentumError() const override
Definition: PerigeeLinearizedTrackState.h:253