#include <PerigeeTrajectoryError.h>
Public Member Functions | |
void | calculateWeightMatrix () const |
const AlgebraicSymMatrix55 & | covarianceMatrix () const |
double | longitudinalImpactParameterError () const |
PerigeeTrajectoryError (const AlgebraicSymMatrix55 &aPerigeeError) | |
PerigeeTrajectoryError () | |
double | phiError () const |
double | thetaError () const |
double | transverseCurvatureError () const |
double | transverseImpactParameterError () const |
const AlgebraicSymMatrix55 & | weightMatrix (int &error) const |
Private Attributes | |
int | inverseError |
AlgebraicSymMatrix55 | thePerigeeError |
AlgebraicSymMatrix55 | thePerigeeWeight |
bool | weightIsAvailable |
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.
PerigeeTrajectoryError::PerigeeTrajectoryError | ( | ) | [inline] |
Definition at line 19 of file PerigeeTrajectoryError.h.
{}
PerigeeTrajectoryError::PerigeeTrajectoryError | ( | const AlgebraicSymMatrix55 & | aPerigeeError | ) | [inline] |
Definition at line 26 of file PerigeeTrajectoryError.h.
: thePerigeeError(aPerigeeError), weightIsAvailable(false) { }
void PerigeeTrajectoryError::calculateWeightMatrix | ( | ) | const |
Definition at line 5 of file PerigeeTrajectoryError.cc.
References inverseError, invertPosDefMatrix(), thePerigeeError, thePerigeeWeight, and weightIsAvailable.
Referenced by weightMatrix().
{ inverseError = invertPosDefMatrix(thePerigeeError, thePerigeeWeight) ? 0 : 1; weightIsAvailable = true; }
const AlgebraicSymMatrix55& PerigeeTrajectoryError::covarianceMatrix | ( | ) | const [inline] |
The covariance matrix
Definition at line 35 of file PerigeeTrajectoryError.h.
References thePerigeeError.
Referenced by PerigeeRefittedTrackState::covariance(), PerigeeConversions::curvilinearError(), MatcherUsingTracksAlgorithm::getChi2(), PerigeeLinearizedTrackState::predictedStateError(), and PerigeeLinearizedTrackState::predictedStateMomentumError().
{return thePerigeeError;}
double PerigeeTrajectoryError::longitudinalImpactParameterError | ( | ) | const [inline] |
The longitudinal impact parameter
Definition at line 75 of file PerigeeTrajectoryError.h.
References mathSSE::sqrt(), and thePerigeeError.
Referenced by VertexFitterResult::fillErrors().
{return sqrt(thePerigeeError(4,4));}
double PerigeeTrajectoryError::phiError | ( | ) | const [inline] |
The phi angle
Definition at line 63 of file PerigeeTrajectoryError.h.
References mathSSE::sqrt(), and thePerigeeError.
Referenced by VertexFitterResult::fillErrors(), and MuonTrackingRegionBuilder::region().
{return sqrt(thePerigeeError(2,2));}
double PerigeeTrajectoryError::thetaError | ( | ) | const [inline] |
The theta angle
Definition at line 57 of file PerigeeTrajectoryError.h.
References mathSSE::sqrt(), and thePerigeeError.
Referenced by VertexFitterResult::fillErrors(), and MuonTrackingRegionBuilder::region().
{return sqrt(thePerigeeError(1,1));}
double PerigeeTrajectoryError::transverseCurvatureError | ( | ) | const [inline] |
Definition at line 51 of file PerigeeTrajectoryError.h.
References mathSSE::sqrt(), and thePerigeeError.
Referenced by VertexFitterResult::fillErrors().
{return sqrt(thePerigeeError(0,0));}
double PerigeeTrajectoryError::transverseImpactParameterError | ( | ) | const [inline] |
The (signed) transverse impact parameter
Definition at line 69 of file PerigeeTrajectoryError.h.
References mathSSE::sqrt(), and thePerigeeError.
Referenced by HLTMuon::analyze(), and VertexFitterResult::fillErrors().
{return sqrt(thePerigeeError(3,3));}
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 42 of file PerigeeTrajectoryError.h.
References calculateWeightMatrix(), inverseError, thePerigeeWeight, unlikely, and weightIsAvailable.
Referenced by PerigeeLinearizedTrackState::predictedStateWeight().
{ if unlikely(!weightIsAvailable) calculateWeightMatrix(); error = inverseError; return thePerigeeWeight; }
int PerigeeTrajectoryError::inverseError [mutable, private] |
Definition at line 81 of file PerigeeTrajectoryError.h.
Referenced by calculateWeightMatrix(), and weightMatrix().
Definition at line 79 of file PerigeeTrajectoryError.h.
Referenced by calculateWeightMatrix(), covarianceMatrix(), longitudinalImpactParameterError(), phiError(), thetaError(), transverseCurvatureError(), and transverseImpactParameterError().
AlgebraicSymMatrix55 PerigeeTrajectoryError::thePerigeeWeight [mutable, private] |
Definition at line 80 of file PerigeeTrajectoryError.h.
Referenced by calculateWeightMatrix(), and weightMatrix().
bool PerigeeTrajectoryError::weightIsAvailable [mutable, private] |
Definition at line 82 of file PerigeeTrajectoryError.h.
Referenced by calculateWeightMatrix(), and weightMatrix().