CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
PerigeeTrajectoryError Class Reference

#include <PerigeeTrajectoryError.h>

Public Member Functions

void calculateWeightMatrix () const
 
const AlgebraicSymMatrix55covarianceMatrix () const
 
double longitudinalImpactParameterError () const
 
 PerigeeTrajectoryError ()
 
 PerigeeTrajectoryError (const AlgebraicSymMatrix55 &aPerigeeError)
 
double phiError () const
 
double thetaError () const
 
double transverseCurvatureError () const
 
double transverseImpactParameterError () const
 
const AlgebraicSymMatrix55weightMatrix (int &error) const
 

Private Attributes

int inverseError
 
AlgebraicSymMatrix55 thePerigeeError
 
AlgebraicSymMatrix55 thePerigeeWeight
 
bool weightIsAvailable
 

Detailed Description

Class providing access to the Perigee parameters of a trajectory. These parameters consist of
transverse curvature (signed), theta, phi, transverse impact parameter (signed), longitudinal i.p.

Definition at line 14 of file PerigeeTrajectoryError.h.

Constructor & Destructor Documentation

◆ PerigeeTrajectoryError() [1/2]

PerigeeTrajectoryError::PerigeeTrajectoryError ( )
inline

Definition at line 16 of file PerigeeTrajectoryError.h.

16 {}

◆ PerigeeTrajectoryError() [2/2]

PerigeeTrajectoryError::PerigeeTrajectoryError ( const AlgebraicSymMatrix55 aPerigeeError)
inline

Definition at line 23 of file PerigeeTrajectoryError.h.

24  : thePerigeeError(aPerigeeError), weightIsAvailable(false) {}

Member Function Documentation

◆ calculateWeightMatrix()

void PerigeeTrajectoryError::calculateWeightMatrix ( ) const

◆ covarianceMatrix()

const AlgebraicSymMatrix55& PerigeeTrajectoryError::covarianceMatrix ( void  ) const
inline

◆ longitudinalImpactParameterError()

double PerigeeTrajectoryError::longitudinalImpactParameterError ( ) const
inline

The longitudinal impact parameter

Definition at line 68 of file PerigeeTrajectoryError.h.

68 { return sqrt(thePerigeeError(4, 4)); }

References mathSSE::sqrt(), and thePerigeeError.

Referenced by PrimaryVertexValidation::analyze(), and VertexFitterResult::fillErrors().

◆ phiError()

double PerigeeTrajectoryError::phiError ( ) const
inline

The phi angle

Definition at line 56 of file PerigeeTrajectoryError.h.

56 { return sqrt(thePerigeeError(2, 2)); }

References mathSSE::sqrt(), and thePerigeeError.

Referenced by VertexFitterResult::fillErrors().

◆ thetaError()

double PerigeeTrajectoryError::thetaError ( ) const
inline

The theta angle

Definition at line 50 of file PerigeeTrajectoryError.h.

50 { return sqrt(thePerigeeError(1, 1)); }

References mathSSE::sqrt(), and thePerigeeError.

Referenced by VertexFitterResult::fillErrors().

◆ transverseCurvatureError()

double PerigeeTrajectoryError::transverseCurvatureError ( ) const
inline

Definition at line 44 of file PerigeeTrajectoryError.h.

44 { return sqrt(thePerigeeError(0, 0)); }

References mathSSE::sqrt(), and thePerigeeError.

Referenced by VertexFitterResult::fillErrors().

◆ transverseImpactParameterError()

double PerigeeTrajectoryError::transverseImpactParameterError ( ) const
inline

The (signed) transverse impact parameter

Definition at line 62 of file PerigeeTrajectoryError.h.

62 { return sqrt(thePerigeeError(3, 3)); }

References mathSSE::sqrt(), and thePerigeeError.

Referenced by VertexFitterResult::fillErrors().

◆ weightMatrix()

const AlgebraicSymMatrix55& PerigeeTrajectoryError::weightMatrix ( int &  error) const
inline

The weight matrix (inverse of the covariance matrix) The error variable is 0 in case of success.

Definition at line 35 of file PerigeeTrajectoryError.h.

35  {
36  if
39  return thePerigeeWeight;
40  }

References calculateWeightMatrix(), relativeConstraints::error, inverseError, thePerigeeWeight, UNLIKELY, and weightIsAvailable.

Referenced by PerigeeLinearizedTrackState::predictedStateWeight().

Member Data Documentation

◆ inverseError

int PerigeeTrajectoryError::inverseError
mutableprivate

Definition at line 73 of file PerigeeTrajectoryError.h.

Referenced by calculateWeightMatrix(), and weightMatrix().

◆ thePerigeeError

AlgebraicSymMatrix55 PerigeeTrajectoryError::thePerigeeError
private

◆ thePerigeeWeight

AlgebraicSymMatrix55 PerigeeTrajectoryError::thePerigeeWeight
mutableprivate

Definition at line 72 of file PerigeeTrajectoryError.h.

Referenced by calculateWeightMatrix(), and weightMatrix().

◆ weightIsAvailable

bool PerigeeTrajectoryError::weightIsAvailable
mutableprivate

Definition at line 74 of file PerigeeTrajectoryError.h.

Referenced by calculateWeightMatrix(), and weightMatrix().

PerigeeTrajectoryError::thePerigeeWeight
AlgebraicSymMatrix55 thePerigeeWeight
Definition: PerigeeTrajectoryError.h:72
relativeConstraints.error
error
Definition: relativeConstraints.py:53
UNLIKELY
#define UNLIKELY(x)
Definition: Likely.h:21
PerigeeTrajectoryError::thePerigeeError
AlgebraicSymMatrix55 thePerigeeError
Definition: PerigeeTrajectoryError.h:71
mathSSE::sqrt
T sqrt(T t)
Definition: SSEVec.h:19
PerigeeTrajectoryError::weightIsAvailable
bool weightIsAvailable
Definition: PerigeeTrajectoryError.h:74
PerigeeTrajectoryError::calculateWeightMatrix
void calculateWeightMatrix() const
Definition: PerigeeTrajectoryError.cc:4
invertPosDefMatrix
bool invertPosDefMatrix(ROOT::Math::SMatrix< T, N, N, ROOT::Math::MatRepSym< T, N > > &m)
Definition: invertPosDefMatrix.h:10
PerigeeTrajectoryError::inverseError
int inverseError
Definition: PerigeeTrajectoryError.h:73