CMS 3D CMS Logo

CurvilinearTrajectoryError Class Reference

Parametrization of the error matrix in the curvilinear frame. More...

#include <TrackingTools/TrajectoryParametrization/interface/CurvilinearTrajectoryError.h>

List of all members.

Public Types

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

Public Member Functions

 CurvilinearTrajectoryError (const AlgebraicSymMatrix55 &aCovarianceMatrix)
 Constructing class from a full covariance matrix.
 CurvilinearTrajectoryError (const AlgebraicSymMatrix &aCovarianceMatrix)
 Constructing class from a full covariance matrix.
 CurvilinearTrajectoryError ()
const AlgebraicSymMatrix55matrix () const
 Returning the covariance matrix.
const AlgebraicSymMatrix matrix_old () const
 Implicit conversion.
void operator *= (double factor)
 Enables the multiplication of the covariance matrix with the scalar "factor".
 operator const MathCovarianceMatrix & () const
 operator MathCovarianceMatrix ()
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 26 of file CurvilinearTrajectoryError.h.


Member Typedef Documentation

typedef math::Error<dimension>::type CurvilinearTrajectoryError::MathCovarianceMatrix

5 parameter covariance matrix

Definition at line 32 of file CurvilinearTrajectoryError.h.


Member Enumeration Documentation

anonymous enum

parameter dimension

Enumerator:
dimension 

Definition at line 30 of file CurvilinearTrajectoryError.h.

00030 { dimension = 5 };


Constructor & Destructor Documentation

CurvilinearTrajectoryError::CurvilinearTrajectoryError (  )  [inline]

Definition at line 35 of file CurvilinearTrajectoryError.h.

00035 {}

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.

00041                                                                           :
00042     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.

00048                                                                             :
00049     theCovarianceMatrix(aCovarianceMatrix) { }


Member Function Documentation

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

Returning the covariance matrix.

Definition at line 69 of file CurvilinearTrajectoryError.h.

References theCovarianceMatrix.

Referenced by GroupedCkfTrajectoryBuilder::advanceOneLayer(), MuonSeedsAnalyzer::analyze(), TrackerSeedValidator::analyze(), cms::DiMuonSeedGeneratorHIC::barrelUpdateSeed(), MuonTrackLoader::buildTrackAtPCA(), HICTrajectoryCorrector::correct(), FreeTrajectoryState::createCartesianError(), TSCPBuilderNoMaterial::createFTSatTransverseImpactPointCharged(), TSCPBuilderNoMaterial::createFTSatTransverseImpactPointNeutral(), MuonErrorMatrix::divide(), AnalyticalTrajectoryExtrapolatorToLine::extrapolateSingleState(), AnalyticalImpactPointExtrapolator::extrapolateSingleState(), TrackAnalyzer::fillHistosForState(), GsfTrackProducerBase::fillMode(), cms::HICTkOuterStartingLayerFinder::findBarrelLayers(), cms::HICTkOuterStartingLayerFinder::findForwardLayers(), cms::DiMuonSeedGeneratorHIC::forwardUpdateSeed(), PerigeeConversions::ftsToPerigeeError(), TrajectoryStateAccessor::inversePtError(), MuonErrorMatrix::multiply(), TrajectoryStateClosestToBeamLineBuilder::operator()(), AnalyticalErrorPropagation::operator()(), operator<<(), PixelTrackBuilder::print(), MuonHIPAlignmentRefitter::produce(), cms::HICMuonPropagator::propagate(), cms::FastMuPropagator::propagate(), AnalyticalPropagator::propagatedStateWithPath(), cms::HICTkOuterStartingLayerFinder::startingLayers(), and MuonNavigableLayer::trackingRange().

00069                                              {
00070     return theCovarianceMatrix;
00071   }

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().

00061                                               {
00062     return asHepMatrix(theCovarianceMatrix);
00063   }

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.

00076                                    {
00077     theCovarianceMatrix *= factor;
00078   }

CurvilinearTrajectoryError::operator const MathCovarianceMatrix & (  )  const [inline]

Definition at line 91 of file CurvilinearTrajectoryError.h.

References theCovarianceMatrix.

00091 { return theCovarianceMatrix; }

CurvilinearTrajectoryError::operator MathCovarianceMatrix (  )  [inline]

Definition at line 90 of file CurvilinearTrajectoryError.h.

References theCovarianceMatrix.

00090 { return theCovarianceMatrix; }

void CurvilinearTrajectoryError::zeroFieldScaling ( double  factor  )  [inline]

Definition at line 80 of file CurvilinearTrajectoryError.h.

References i, j, funct::sqrt(), and theCovarianceMatrix.

Referenced by FreeTrajectoryState::rescaleError().

00080                                       {
00081     double root_of_factor = sqrt(factor);
00082     //scale the 0 indexed covariance by the factor
00083     for (uint i=1;i!=5;++i)      theCovarianceMatrix(i,0)*=root_of_factor;
00084 
00085     //scale all others by the scared factor
00086     for (uint i=1;i!=5;++i)  for (uint j=i;j!=5;++j) theCovarianceMatrix(i,j)*=factor;
00087     //term 0,0 is not scaled at all
00088   }


Member Data Documentation

AlgebraicSymMatrix55 CurvilinearTrajectoryError::theCovarianceMatrix [private]

Definition at line 94 of file CurvilinearTrajectoryError.h.

Referenced by matrix(), matrix_old(), operator *=(), operator const MathCovarianceMatrix &(), operator MathCovarianceMatrix(), and zeroFieldScaling().


The documentation for this class was generated from the following file:
Generated on Tue Jun 9 18:17:35 2009 for CMSSW by  doxygen 1.5.4