#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 (InvalidError) | |
CurvilinearTrajectoryError (const AlgebraicSymMatrix55 &aCovarianceMatrix) | |
bool | invalid () const |
const AlgebraicSymMatrix55 & | matrix () 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 |
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.
typedef math::Error<dimension>::type CurvilinearTrajectoryError::MathCovarianceMatrix |
5 parameter covariance matrix
Definition at line 33 of file CurvilinearTrajectoryError.h.
anonymous enum |
CurvilinearTrajectoryError::CurvilinearTrajectoryError | ( | ) | [inline] |
Definition at line 36 of file CurvilinearTrajectoryError.h.
{}
CurvilinearTrajectoryError::CurvilinearTrajectoryError | ( | InvalidError | ) | [inline] |
Definition at line 38 of file CurvilinearTrajectoryError.h.
References theCovarianceMatrix.
{theCovarianceMatrix(0,0)=-99999.e10;}
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 43 of file CurvilinearTrajectoryError.h.
: theCovarianceMatrix(aCovarianceMatrix) { }
bool CurvilinearTrajectoryError::invalid | ( | ) | const [inline] |
Definition at line 46 of file CurvilinearTrajectoryError.h.
References theCovarianceMatrix.
Referenced by valid().
{ return theCovarianceMatrix(0,0)<-1.e10;}
const AlgebraicSymMatrix55& CurvilinearTrajectoryError::matrix | ( | void | ) | const [inline] |
Returning the covariance matrix.
Definition at line 60 of file CurvilinearTrajectoryError.h.
References theCovarianceMatrix.
Referenced by MuonSeedsAnalyzer::analyze(), HTrack::computePull(), HICTrajectoryCorrector::correct(), FreeTrajectoryState::createCartesianError(), TSCPBuilderNoMaterial::createFTSatTransverseImpactPointCharged(), TSCPBuilderNoMaterial::createFTSatTransverseImpactPointNeutral(), MuonErrorMatrix::divide(), AnalyticalTrajectoryExtrapolatorToLine::extrapolateSingleState(), AnalyticalImpactPointExtrapolator::extrapolateSingleState(), TrackAnalyzer::fillHistosForState(), GsfTrackProducerBase::fillMode(), cms::HICTkOuterStartingLayerFinder::findForwardLayers(), PerigeeConversions::ftsToPerigeeError(), MatcherUsingTracksAlgorithm::getChi2(), TrajectoryStateAccessor::inversePtError(), FreeTrajectoryState::missingError(), MuonErrorMatrix::multiply(), TSCBLBuilderNoMaterial::operator()(), AnalyticalErrorPropagation::operator()(), operator<<(), TrackCandidateProducer::produce(), cms::HICMuonPropagator::propagate(), cms::FastMuPropagator::propagate(), AnalyticalPropagator::propagatedStateWithPath(), cms::HICTkOuterStartingLayerFinder::startingLayers(), SteppingHelixStateInfo::SteppingHelixStateInfo(), MuonNavigableLayer::trackingRange(), and whatIsTheStateToUse().
{ return theCovarianceMatrix; }
CurvilinearTrajectoryError::operator const MathCovarianceMatrix & | ( | ) | const [inline] |
Definition at line 82 of file CurvilinearTrajectoryError.h.
References theCovarianceMatrix.
{ return theCovarianceMatrix; }
CurvilinearTrajectoryError::operator MathCovarianceMatrix | ( | ) | [inline] |
Definition at line 81 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 67 of file CurvilinearTrajectoryError.h.
References theCovarianceMatrix.
{ theCovarianceMatrix *= factor; }
bool CurvilinearTrajectoryError::posDef | ( | ) | const [inline] |
Definition at line 50 of file CurvilinearTrajectoryError.h.
References theCovarianceMatrix.
{ return (theCovarianceMatrix(0,0)>=0) && (theCovarianceMatrix(1,1)>=0) && (theCovarianceMatrix(2,2)>=0) && (theCovarianceMatrix(3,3)>=0) && (theCovarianceMatrix(4,4)>=0); }
bool CurvilinearTrajectoryError::valid | ( | ) | const [inline] |
Definition at line 47 of file CurvilinearTrajectoryError.h.
References invalid().
Referenced by FreeTrajectoryState::hasCurvilinearError(), and FreeTrajectoryState::missingError().
{ return !invalid();}
void CurvilinearTrajectoryError::zeroFieldScaling | ( | double | factor | ) | [inline] |
Definition at line 71 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 85 of file CurvilinearTrajectoryError.h.
Referenced by CurvilinearTrajectoryError(), invalid(), matrix(), operator const MathCovarianceMatrix &(), operator MathCovarianceMatrix(), operator*=(), posDef(), and zeroFieldScaling().