#include <CurvilinearTrajectoryError.h>
Public Types | |
enum | { dimension = 5 } |
parameter dimension More... | |
typedef math::Error< dimension > ::type | MathCovarianceMatrix |
5 parameter covariance matrix | |
Public Member Functions | |
CurvilinearTrajectoryError () | |
CurvilinearTrajectoryError (const AlgebraicSymMatrix &aCovarianceMatrix) | |
CurvilinearTrajectoryError (const AlgebraicSymMatrix55 &aCovarianceMatrix) | |
const AlgebraicSymMatrix55 & | matrix () const |
const AlgebraicSymMatrix | matrix_old () const |
Implicit conversion. | |
operator const MathCovarianceMatrix & () const | |
operator MathCovarianceMatrix () | |
void | operator*= (double factor) |
void | zeroFieldScaling (double factor) |
Private Attributes | |
AlgebraicSymMatrix55 | theCovarianceMatrix |
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 26 of file CurvilinearTrajectoryError.h.
typedef math::Error<dimension>::type CurvilinearTrajectoryError::MathCovarianceMatrix |
5 parameter covariance matrix
Definition at line 32 of file CurvilinearTrajectoryError.h.
anonymous enum |
CurvilinearTrajectoryError::CurvilinearTrajectoryError | ( | ) | [inline] |
Definition at line 35 of file CurvilinearTrajectoryError.h.
{}
CurvilinearTrajectoryError::CurvilinearTrajectoryError | ( | const AlgebraicSymMatrix & | 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 41 of file CurvilinearTrajectoryError.h.
: theCovarianceMatrix(asSMatrix<5>(aCovarianceMatrix)) {}
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 48 of file CurvilinearTrajectoryError.h.
: theCovarianceMatrix(aCovarianceMatrix) { }
const AlgebraicSymMatrix55& CurvilinearTrajectoryError::matrix | ( | void | ) | const [inline] |
Returning the covariance matrix.
Definition at line 69 of file CurvilinearTrajectoryError.h.
References theCovarianceMatrix.
Referenced by MuonSeedsAnalyzer::analyze(), cms::DiMuonSeedGeneratorHIC::barrelUpdateSeed(), convert(), HICTrajectoryCorrector::correct(), FreeTrajectoryState::createCartesianError(), TSCPBuilderNoMaterial::createFTSatTransverseImpactPointCharged(), TSCPBuilderNoMaterial::createFTSatTransverseImpactPointNeutral(), MuonErrorMatrix::divide(), AnalyticalTrajectoryExtrapolatorToLine::extrapolateSingleState(), AnalyticalImpactPointExtrapolator::extrapolateSingleState(), TrackAnalyzer::fillHistosForState(), GsfTrackProducerBase::fillMode(), cms::HICTkOuterStartingLayerFinder::findForwardLayers(), cms::DiMuonSeedGeneratorHIC::forwardUpdateSeed(), PerigeeConversions::ftsToPerigeeError(), TrajectoryStateAccessor::inversePtError(), MuonErrorMatrix::multiply(), TSCBLBuilderNoMaterial::operator()(), AnalyticalErrorPropagation::operator()(), operator<<(), cms::HICMuonPropagator::propagate(), cms::FastMuPropagator::propagate(), AnalyticalPropagator::propagatedStateWithPath(), cms::HICTkOuterStartingLayerFinder::startingLayers(), SteppingHelixStateInfo::SteppingHelixStateInfo(), MuonNavigableLayer::trackingRange(), and whatIsTheStateToUse().
{ return theCovarianceMatrix; }
const AlgebraicSymMatrix CurvilinearTrajectoryError::matrix_old | ( | ) | const [inline] |
Implicit conversion.
Returning the covariance matrix.
Definition at line 61 of file CurvilinearTrajectoryError.h.
References asHepMatrix(), and theCovarianceMatrix.
Referenced by HTrack::computePull().
{ return asHepMatrix(theCovarianceMatrix); }
CurvilinearTrajectoryError::operator const MathCovarianceMatrix & | ( | ) | const [inline] |
Definition at line 91 of file CurvilinearTrajectoryError.h.
References theCovarianceMatrix.
{ return theCovarianceMatrix; }
CurvilinearTrajectoryError::operator MathCovarianceMatrix | ( | ) | [inline] |
Definition at line 90 of file CurvilinearTrajectoryError.h.
References theCovarianceMatrix.
{ return theCovarianceMatrix; }
void CurvilinearTrajectoryError::operator*= | ( | double | factor | ) | [inline] |
Enables the multiplication of the covariance matrix with the scalar "factor".
Definition at line 76 of file CurvilinearTrajectoryError.h.
References theCovarianceMatrix.
{ theCovarianceMatrix *= factor; }
void CurvilinearTrajectoryError::zeroFieldScaling | ( | double | factor | ) | [inline] |
Definition at line 80 of file CurvilinearTrajectoryError.h.
References i, j, mathSSE::sqrt(), and theCovarianceMatrix.
Referenced by FreeTrajectoryState::rescaleError().
{ double root_of_factor = sqrt(factor); //scale the 0 indexed covariance by the factor for (unsigned int i=1;i!=5;++i) theCovarianceMatrix(i,0)*=root_of_factor; //scale all others by the scared factor for (unsigned int i=1;i!=5;++i) for (unsigned int j=i;j!=5;++j) theCovarianceMatrix(i,j)*=factor; //term 0,0 is not scaled at all }
Definition at line 94 of file CurvilinearTrajectoryError.h.
Referenced by matrix(), matrix_old(), operator const MathCovarianceMatrix &(), operator MathCovarianceMatrix(), operator*=(), and zeroFieldScaling().