|
| BzeroReferenceTrajectory (const TrajectoryStateOnSurface &referenceTsos, const TransientTrackingRecHit::ConstRecHitContainer &recHits, bool hitsAreReverse, const MagneticField *magField, MaterialEffects materialEffects, PropagationDirection propDir, double mass, double momentumEstimate, bool useBeamSpot, const reco::BeamSpot &beamSpot) |
|
virtual BzeroReferenceTrajectory * | clone () const |
|
virtual | ~BzeroReferenceTrajectory () |
|
| ReferenceTrajectory (const TrajectoryStateOnSurface &referenceTsos, const TransientTrackingRecHit::ConstRecHitContainer &recHits, bool hitsAreReverse, const MagneticField *magField, MaterialEffects materialEffects, PropagationDirection propDir, double mass, bool useBeamSpot, const reco::BeamSpot &beamSpot) |
|
virtual | ~ReferenceTrajectory () |
|
const AlgebraicMatrix & | derivatives () const |
|
bool | isValid () |
|
const AlgebraicMatrix & | localToTrajectory () const |
|
const AlgebraicSymMatrix & | measurementErrors () const |
|
const AlgebraicVector & | measurements () const |
|
unsigned int | numberOfHitMeas () const |
|
unsigned int | numberOfHits () const |
|
unsigned int | numberOfPar () const |
|
unsigned int | numberOfVirtualMeas () const |
|
unsigned int | numberOfVirtualPar () const |
|
const AlgebraicSymMatrix & | parameterErrors () const |
|
bool | parameterErrorsAvailable () const |
|
const AlgebraicVector & | parameters () const |
|
const
TransientTrackingRecHit::ConstRecHitContainer & | recHits () const |
|
void | setParameterErrors (const AlgebraicSymMatrix &error) |
|
const AlgebraicSymMatrix & | trajectoryPositionErrors () const |
|
const AlgebraicVector & | trajectoryPositions () const |
|
const std::vector
< TrajectoryStateOnSurface > & | trajectoryStates () const |
|
const AlgebraicMatrix & | trajectoryToCurv () const |
|
virtual | ~ReferenceTrajectoryBase () |
|
|
typedef
SurfaceSideDefinition::SurfaceSide | SurfaceSide |
|
enum | MaterialEffects {
none,
multipleScattering,
energyLoss,
combined,
breakPoints,
brokenLinesCoarse,
brokenLinesFine
} |
|
typedef
ReferenceCountingPointer
< ReferenceTrajectoryBase > | ReferenceTrajectoryPtr |
|
virtual bool | addMaterialEffectsBp (const std::vector< AlgebraicMatrix > &allJacobians, const std::vector< AlgebraicMatrix > &allProjections, const std::vector< AlgebraicSymMatrix > &allCurvChanges, const std::vector< AlgebraicSymMatrix > &allDeltaParaCovs, const std::vector< AlgebraicMatrix > &allLocalToCurv) |
|
virtual bool | addMaterialEffectsBrl (const std::vector< AlgebraicMatrix > &allJacobians, const std::vector< AlgebraicMatrix > &allProjections, const std::vector< AlgebraicSymMatrix > &allCurvChanges, const std::vector< AlgebraicSymMatrix > &allDeltaParaCovs, const std::vector< AlgebraicMatrix > &allLocalToCurv, const GlobalTrajectoryParameters >p) |
|
virtual bool | addMaterialEffectsBrl (const std::vector< AlgebraicMatrix > &allProjections, const std::vector< AlgebraicSymMatrix > &allDeltaParaCovs, const std::vector< AlgebraicMatrix > &allLocalToCurv, const std::vector< double > &allSteps, const GlobalTrajectoryParameters >p, const double minStep=1.0) |
|
virtual bool | addMaterialEffectsCov (const std::vector< AlgebraicMatrix > &allJacobians, const std::vector< AlgebraicMatrix > &allProjections, const std::vector< AlgebraicSymMatrix > &allCurvChanges, const std::vector< AlgebraicSymMatrix > &allDeltaParaCovs) |
|
virtual bool | construct (const TrajectoryStateOnSurface &referenceTsos, const TransientTrackingRecHit::ConstRecHitContainer &recHits, double mass, MaterialEffects materialEffects, const PropagationDirection propDir, const MagneticField *magField, bool useBeamSpot, const reco::BeamSpot &beamSpot) |
|
MaterialEffectsUpdator * | createUpdator (MaterialEffects materialEffects, double mass) const |
|
virtual void | fillDerivatives (const AlgebraicMatrix &projection, const AlgebraicMatrix &fullJacobian, unsigned int iRow) |
|
virtual void | fillMeasurementAndError (const TransientTrackingRecHit::ConstRecHitPointer &hitPtr, unsigned int iRow, const TrajectoryStateOnSurface &updatedTsos) |
|
virtual void | fillTrajectoryPositions (const AlgebraicMatrix &projection, const AlgebraicVector &mixedLocalParams, unsigned int iRow) |
|
AlgebraicMatrix | getHitProjectionMatrix (const TransientTrackingRecHit::ConstRecHitPointer &recHit) const |
|
template<unsigned int N> |
AlgebraicMatrix | getHitProjectionMatrixT (const TransientTrackingRecHit::ConstRecHitPointer &recHit) const |
|
virtual bool | propagate (const BoundPlane &previousSurface, const TrajectoryStateOnSurface &previousTsos, const BoundPlane &newSurface, TrajectoryStateOnSurface &newTsos, AlgebraicMatrix &newJacobian, AlgebraicMatrix &newCurvlinJacobian, double &nextStep, const PropagationDirection propDir, const MagneticField *magField) const |
|
| ReferenceTrajectory (unsigned int nPar, unsigned int nHits, MaterialEffects materialEffects) |
|
SurfaceSide | surfaceSide (const PropagationDirection dir) const |
|
unsigned int | numberOfUsedRecHits (const TransientTrackingRecHit::ConstRecHitContainer &recHits) const |
|
| ReferenceTrajectoryBase (unsigned int nPar, unsigned int nHits, unsigned int nVirtualPar, unsigned int nVirtualMeas) |
|
bool | useRecHit (const TransientTrackingRecHit::ConstRecHitPointer &hitPtr) const |
|
AlgebraicMatrix | theDerivatives |
|
AlgebraicMatrix | theInnerLocalToTrajectory |
|
AlgebraicMatrix | theInnerTrajectoryToCurvilinear |
|
AlgebraicVector | theMeasurements |
|
AlgebraicSymMatrix | theMeasurementsCov |
|
unsigned int | theNumberOfHits |
|
unsigned int | theNumberOfPars |
|
unsigned int | theNumberOfVirtualMeas |
|
unsigned int | theNumberOfVirtualPars |
|
bool | theParamCovFlag |
|
AlgebraicSymMatrix | theParameterCov |
|
AlgebraicVector | theParameters |
|
TransientTrackingRecHit::ConstRecHitContainer | theRecHits |
|
AlgebraicSymMatrix | theTrajectoryPositionCov |
|
AlgebraicVector | theTrajectoryPositions |
|
std::vector
< TrajectoryStateOnSurface > | theTsosVec |
|
bool | theValidityFlag |
|
static const unsigned int | nMeasPerHit = 2 |
|
Class implementing the reference trajectory of a single particle in the absence of a magnetic field (B=0, hence the name), i.e. a straight track with only 4 parameters (no curvature parameter).
Given the TrajectoryStateOnSurface at the first hit and the list of all hits the local measurements, derivatives etc. as described in (and accessed via) ReferenceTrajectoryBase are calculated.
The covariance-matrix of the measurements may include effects of multiple-scattering or energy-loss effects or both. This can be defined in the constructor via the variable 'materialEffects (cf. ReferenceTrajectoryBase):
materialEffects = none/multipleScattering/energyLoss/combined
Since no a-priori momentum estimate exists, but is needed for the calculation of material effects, a fixed value is used (e.g. representing the average momentum of the cosmics spectrum).
By default, the mass is assumed to be the muon-mass, but can be changed via a constructor argument.
LIMITATIONS: So far all input hits have to be valid, but invalid hits would be needed to take into account the material effects in them...
Definition at line 35 of file BzeroReferenceTrajectory.h.