#include <BzeroReferenceTrajectory.h>
Private Attributes | |
double | theMomentumEstimate |
Additional Inherited Members | |
Public Types inherited from ReferenceTrajectory | |
typedef SurfaceSideDefinition::SurfaceSide | SurfaceSide |
Public Types inherited from ReferenceTrajectoryBase | |
enum | MaterialEffects { none, multipleScattering, energyLoss, combined, breakPoints, brokenLinesCoarse, brokenLinesFine, localGBL, curvlinGBL } |
typedef ReferenceCountingPointer < ReferenceTrajectoryBase > | ReferenceTrajectoryPtr |
Protected Member Functions inherited from ReferenceTrajectory | |
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 | addMaterialEffectsCurvlinGbl (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 | addMaterialEffectsLocalGbl (const std::vector< AlgebraicMatrix > &allJacobians, const std::vector< AlgebraicMatrix > &allProjections, const std::vector< AlgebraicSymMatrix > &allCurvatureChanges, const std::vector< AlgebraicSymMatrix > &allDeltaParameterCovs) |
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 Plane &previousSurface, const TrajectoryStateOnSurface &previousTsos, const Plane &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 |
Protected Member Functions inherited from ReferenceTrajectoryBase | |
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 |
Protected Attributes inherited from ReferenceTrajectoryBase | |
AlgebraicMatrix | theDerivatives |
TMatrixD | theGblExtDerivatives |
TVectorD | theGblExtMeasurements |
TVectorD | theGblExtPrecisions |
std::vector< std::pair < std::vector< GblPoint > , TMatrixD > > | theGblInput |
AlgebraicMatrix | theInnerLocalToTrajectory |
AlgebraicMatrix | theInnerTrajectoryToCurvilinear |
AlgebraicVector | theMeasurements |
AlgebraicSymMatrix | theMeasurementsCov |
int | theNomField |
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 Protected Attributes inherited from ReferenceTrajectoryBase | |
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.
BzeroReferenceTrajectory::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 | ||
) |
Constructor with Tsos at first hit (in physical order) and list of hits [if (hitsAreReverse) ==> order of hits is in opposite direction compared to the flight of particle, but note that BzeroReferenceTrajectory::recHits() returns the hits always in order of flight], the material effects to be considered and a particle mass and a momentum extimate, the magnetic field of the event is needed for propagations etc.
Definition at line 11 of file BzeroReferenceTrajectory.cc.
References asHepVector(), LocalTrajectoryParameters::charge(), ReferenceTrajectory::construct(), TrajectoryStateOnSurface::localError(), TrajectoryStateOnSurface::localParameters(), LocalTrajectoryParameters::mixedFormatVector(), LocalTrajectoryParameters::pzSign(), TrajectoryStateOnSurface::surface(), ReferenceTrajectory::surfaceSide(), ReferenceTrajectoryBase::theDerivatives, theMomentumEstimate, ReferenceTrajectoryBase::theParameters, and ReferenceTrajectoryBase::theValidityFlag.
Referenced by clone().
|
inlinevirtual |
Definition at line 57 of file BzeroReferenceTrajectory.h.
|
inlinevirtual |
Reimplemented from ReferenceTrajectory.
Definition at line 59 of file BzeroReferenceTrajectory.h.
References BzeroReferenceTrajectory().
|
private |
Definition at line 64 of file BzeroReferenceTrajectory.h.
Referenced by BzeroReferenceTrajectory().