CMS 3D CMS Logo

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

#include <CurvilinearTrajectoryError.h>

Public Types

enum  { dimension = 5 }
 parameter dimension More...
 
typedef math::Error< dimension >::type MathCovarianceMatrix
 5 parameter covariance matrix More...
 

Public Member Functions

 CurvilinearTrajectoryError ()
 
 CurvilinearTrajectoryError (const AlgebraicSymMatrix55 &aCovarianceMatrix)
 
template<typename M55 >
 CurvilinearTrajectoryError (const M55 &aCovarianceMatrix)
 
 CurvilinearTrajectoryError (InvalidError)
 
bool invalid () const
 
AlgebraicSymMatrix55matrix ()
 
const AlgebraicSymMatrix55matrix () const
 
 operator const MathCovarianceMatrix & () const
 
 operator MathCovarianceMatrix & ()
 
void operator*= (double factor)
 
bool posDef () const
 
bool valid () const
 
void zeroFieldScaling (double factor)
 

Private Attributes

AlgebraicSymMatrix55 theCovarianceMatrix
 

Detailed Description

Parametrization of the error matrix in the curvilinear frame. This frame is tangent to the track at the point of definition, with Z_T parallel to the track. X_T is in the global xy plane and points to the left when looking into the direction of the track, and Y_T forms a right-handed frame with X_T and Z_T.

The error along Z_T is therefore zero. The parameters are
sigma^2( charge / abs_momentum)
sigma^2( lambda)
sigma^2( phi)
sigma^2( x_transverse))
sigma^2( y_transverse))

Please note that lambda and phi are defined in the global frame. Lambda is the helix dip angle (pi/2 minus theta (polar angle)), while phi is the angle of inclination with the global x-axis in the transverse (global xy) plane.

Definition at line 27 of file CurvilinearTrajectoryError.h.

Member Typedef Documentation

◆ MathCovarianceMatrix

5 parameter covariance matrix

Definition at line 32 of file CurvilinearTrajectoryError.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

parameter dimension

Enumerator
dimension 

Definition at line 30 of file CurvilinearTrajectoryError.h.

30 { dimension = 5 };

Constructor & Destructor Documentation

◆ CurvilinearTrajectoryError() [1/4]

CurvilinearTrajectoryError::CurvilinearTrajectoryError ( )
inline

Definition at line 35 of file CurvilinearTrajectoryError.h.

35 {}

◆ CurvilinearTrajectoryError() [2/4]

CurvilinearTrajectoryError::CurvilinearTrajectoryError ( InvalidError  )
inline

Definition at line 37 of file CurvilinearTrajectoryError.h.

37  : theCovarianceMatrix(ROOT::Math::SMatrixNoInit()) {
38  theCovarianceMatrix(0, 0) = -99999.e10;
39  }

References theCovarianceMatrix.

◆ CurvilinearTrajectoryError() [3/4]

CurvilinearTrajectoryError::CurvilinearTrajectoryError ( const AlgebraicSymMatrix55 aCovarianceMatrix)
inline

Constructing class from a full covariance matrix. The sequence of the parameters is the same as the one described above.

Definition at line 44 of file CurvilinearTrajectoryError.h.

44 : theCovarianceMatrix(aCovarianceMatrix) {}

◆ CurvilinearTrajectoryError() [4/4]

template<typename M55 >
CurvilinearTrajectoryError::CurvilinearTrajectoryError ( const M55 &  aCovarianceMatrix)
inline

Definition at line 46 of file CurvilinearTrajectoryError.h.

46 : theCovarianceMatrix(aCovarianceMatrix) {}

Member Function Documentation

◆ invalid()

bool CurvilinearTrajectoryError::invalid ( ) const
inline

Definition at line 48 of file CurvilinearTrajectoryError.h.

48 { return theCovarianceMatrix(0, 0) < -1.e10; }

References theCovarianceMatrix.

Referenced by valid().

◆ matrix() [1/2]

AlgebraicSymMatrix55& CurvilinearTrajectoryError::matrix ( void  )
inline

Definition at line 63 of file CurvilinearTrajectoryError.h.

63 { return theCovarianceMatrix; }

References theCovarianceMatrix.

◆ matrix() [2/2]

const AlgebraicSymMatrix55& CurvilinearTrajectoryError::matrix ( void  ) const
inline

◆ operator const MathCovarianceMatrix &()

CurvilinearTrajectoryError::operator const MathCovarianceMatrix & ( ) const
inline

Definition at line 84 of file CurvilinearTrajectoryError.h.

84 { return theCovarianceMatrix; }

References theCovarianceMatrix.

◆ operator MathCovarianceMatrix &()

CurvilinearTrajectoryError::operator MathCovarianceMatrix & ( )
inline

Definition at line 83 of file CurvilinearTrajectoryError.h.

83 { return theCovarianceMatrix; }

References theCovarianceMatrix.

◆ operator*=()

void CurvilinearTrajectoryError::operator*= ( double  factor)
inline

Enables the multiplication of the covariance matrix with the scalar "factor".

Definition at line 68 of file CurvilinearTrajectoryError.h.

References DQMScaleToClient_cfi::factor, and theCovarianceMatrix.

◆ posDef()

bool CurvilinearTrajectoryError::posDef ( ) const
inline

Definition at line 52 of file CurvilinearTrajectoryError.h.

52  {
53  return (theCovarianceMatrix(0, 0) >= 0) && (theCovarianceMatrix(1, 1) >= 0) && (theCovarianceMatrix(2, 2) >= 0) &&
54  (theCovarianceMatrix(3, 3) >= 0) && (theCovarianceMatrix(4, 4) >= 0);
55  }

References theCovarianceMatrix.

◆ valid()

bool CurvilinearTrajectoryError::valid ( ) const
inline

Definition at line 49 of file CurvilinearTrajectoryError.h.

49 { return !invalid(); }

References invalid().

Referenced by FreeTrajectoryState::hasCurvilinearError(), and FreeTrajectoryState::missingError().

◆ zeroFieldScaling()

void CurvilinearTrajectoryError::zeroFieldScaling ( double  factor)
inline

Definition at line 70 of file CurvilinearTrajectoryError.h.

70  {
71  double root_of_factor = sqrt(factor);
72  //scale the 0 indexed covariance by the factor
73  for (unsigned int i = 1; i != 5; ++i)
74  theCovarianceMatrix(i, 0) *= root_of_factor;
75 
76  //scale all others by the scared factor
77  for (unsigned int i = 1; i != 5; ++i)
78  for (unsigned int j = i; j != 5; ++j)
80  //term 0,0 is not scaled at all
81  }

References DQMScaleToClient_cfi::factor, mps_fire::i, dqmiolumiharvest::j, mathSSE::sqrt(), and theCovarianceMatrix.

Referenced by FreeTrajectoryState::rescaleError().

Member Data Documentation

◆ theCovarianceMatrix

AlgebraicSymMatrix55 CurvilinearTrajectoryError::theCovarianceMatrix
private
mps_fire.i
i
Definition: mps_fire.py:428
CurvilinearTrajectoryError::invalid
bool invalid() const
Definition: CurvilinearTrajectoryError.h:48
CurvilinearTrajectoryError::theCovarianceMatrix
AlgebraicSymMatrix55 theCovarianceMatrix
Definition: CurvilinearTrajectoryError.h:87
mathSSE::sqrt
T sqrt(T t)
Definition: SSEVec.h:19
DQMScaleToClient_cfi.factor
factor
Definition: DQMScaleToClient_cfi.py:8
CurvilinearTrajectoryError::dimension
Definition: CurvilinearTrajectoryError.h:30
dqmiolumiharvest.j
j
Definition: dqmiolumiharvest.py:66