#include <DualKalmanTrajectory.h>
Public Member Functions | |
virtual DualKalmanTrajectory * | clone () const |
DualKalmanTrajectory (const Trajectory::DataContainer &trajMeasurements, const TrajectoryStateOnSurface &referenceTsos, const std::vector< unsigned int > &forwardRecHitNums, const std::vector< unsigned int > &backwardRecHitNums, const MagneticField *magField, MaterialEffects materialEffects, PropagationDirection propDir, double mass, bool useBeamSpot, const reco::BeamSpot &beamSpot, int residualMethod) | |
virtual | ~DualKalmanTrajectory () |
Public Member Functions inherited from ReferenceTrajectoryBase | |
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 () |
Protected Member Functions | |
virtual bool | construct (const Trajectory::DataContainer &trajMeasurements, const TrajectoryStateOnSurface &referenceTsos, const std::vector< unsigned int > &forwardRecHitNums, const std::vector< unsigned int > &backwardRecHitNums, double mass, MaterialEffects materialEffects, const PropagationDirection propDir, const MagneticField *magField, bool useBeamSpot, const reco::BeamSpot &beamSpot, int residualMethod) |
calculate members More... | |
virtual ReferenceTrajectory * | construct (const Trajectory::DataContainer &trajMeasurements, const TrajectoryStateOnSurface &referenceTsos, const std::vector< unsigned int > &recHits, double mass, MaterialEffects materialEffects, const PropagationDirection propDir, const MagneticField *magField, bool useBeamSpot, const reco::BeamSpot &beamSpot) const |
Method to get a single ReferenceTrajectory for a half of the trajectory. More... | |
DualKalmanTrajectory (unsigned int nPar=0, unsigned int nHits=0) | |
virtual AlgebraicVector | extractParameters (const TrajectoryStateOnSurface &referenceTsos) const |
bool | fillKalmanPart (const Trajectory::DataContainer &trajMeasurements, const std::vector< unsigned int > &recHitNums, bool startFirst, unsigned int iNextHit, int residualMethod) |
Fill that part of data members that is different from DualReferenceTrajectory. More... | |
TrajectoryStateOnSurface | fillMeasurementAndError1 (const TransientTrackingRecHit::ConstRecHitPointer &hitPtr, unsigned int iHit, const TrajectoryMeasurement &trajMeasurement) |
helper for 'unbiased residual' method (i.e. returns merged fwd/bwd states) More... | |
TrajectoryStateOnSurface | fillMeasurementAndError2 (const TransientTrackingRecHit::ConstRecHitPointer &hitPtr, unsigned int iHit, const TrajectoryMeasurement &trajMeasurement, bool doPull) |
void | fillTrajectoryPositions (const AlgebraicMatrix &projection, const TrajectoryStateOnSurface &tsos, unsigned int iHit) |
fill trajectoryPositions More... | |
LocalError | hitErrorWithAPE (const TransientTrackingRecHit::ConstRecHitPointer &hitPtr) const |
local error including APE if APE is on More... | |
const PropagationDirection | oppositeDirection (const PropagationDirection propDir) 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 |
A trajectory that provides derivatives w.r.t. to the track parameters as the DualReferenceTrajectory, i.e. extrapolating a helix with five parameters from the hit in the middle. But measurements, trajectory positions and uncertainties are taken from the Kalman track fit. More precisely, the uncertainties are those of the residuals, i.e. of measurements() - trajectoryPositions().
Currently three methods to set residual and error can be choosen via cfg: 0: the hitError approach, i.e. residual w.r.t. updated state, but error from hit 1: the unbiased residal approach as in validation 2: the pull approach, i.e. residal w.r.t. to updated state withits error
(last update by
)
(last update by
)
Definition at line 34 of file DualKalmanTrajectory.h.
DualKalmanTrajectory::DualKalmanTrajectory | ( | const Trajectory::DataContainer & | trajMeasurements, |
const TrajectoryStateOnSurface & | referenceTsos, | ||
const std::vector< unsigned int > & | forwardRecHitNums, | ||
const std::vector< unsigned int > & | backwardRecHitNums, | ||
const MagneticField * | magField, | ||
MaterialEffects | materialEffects, | ||
PropagationDirection | propDir, | ||
double | mass, | ||
bool | useBeamSpot, | ||
const reco::BeamSpot & | beamSpot, | ||
int | residualMethod | ||
) |
Definition at line 33 of file DualKalmanTrajectory.cc.
References construct(), and ReferenceTrajectoryBase::theValidityFlag.
Referenced by clone().
|
inlinevirtual |
Definition at line 51 of file DualKalmanTrajectory.h.
|
protected |
Definition at line 55 of file DualKalmanTrajectory.cc.
|
inlinevirtual |
Implements ReferenceTrajectoryBase.
Definition at line 53 of file DualKalmanTrajectory.h.
References DualKalmanTrajectory().
|
protectedvirtual |
calculate members
Definition at line 61 of file DualKalmanTrajectory.cc.
References extractParameters(), fillKalmanPart(), TrajectoryStateOnSurface::hasError(), TrajectoryStateOnSurface::localError(), LocalTrajectoryError::matrix(), ReferenceTrajectoryBase::nMeasPerHit, oppositeDirection(), ReferenceTrajectoryBase::theDerivatives, ReferenceTrajectoryBase::theParameters, ReferenceTrajectoryBase::theRecHits, and ReferenceTrajectoryBase::theTrajectoryPositionCov.
Referenced by DualKalmanTrajectory().
|
protectedvirtual |
Method to get a single ReferenceTrajectory for a half of the trajectory.
Definition at line 143 of file DualKalmanTrajectory.cc.
References i, and ReferenceTrajectoryBase::recHits().
|
protectedvirtual |
Definition at line 329 of file DualKalmanTrajectory.cc.
References TrajectoryStateOnSurface::localParameters(), and LocalTrajectoryParameters::mixedFormatVector().
Referenced by construct().
|
protected |
Fill that part of data members that is different from DualReferenceTrajectory.
Definition at line 164 of file DualKalmanTrajectory.cc.
References edm::hlt::Exception, fillMeasurementAndError1(), fillMeasurementAndError2(), fillTrajectoryPositions(), TrajectoryStateOnSurface::isValid(), TrajectoryMeasurement::recHit(), and ReferenceTrajectoryBase::theTsosVec.
Referenced by construct().
|
protected |
helper for 'unbiased residual' method (i.e. returns merged fwd/bwd states)
Definition at line 216 of file DualKalmanTrajectory.cc.
References TrajectoryMeasurement::backwardPredictedState(), TrajectoryMeasurement::forwardPredictedState(), hitErrorWithAPE(), TrajectoryStateOnSurface::isValid(), TrajectoryStateOnSurface::localError(), ReferenceTrajectoryBase::nMeasPerHit, LocalTrajectoryError::positionError(), ReferenceTrajectoryBase::theMeasurements, and ReferenceTrajectoryBase::theMeasurementsCov.
Referenced by fillKalmanPart().
|
protected |
helper for 'pull' (doPull=true) or 'hitError' method (doPull=false), returns updated tsos in both cases
Definition at line 251 of file DualKalmanTrajectory.cc.
References hitErrorWithAPE(), TrajectoryStateOnSurface::isValid(), TrajectoryStateOnSurface::localError(), ReferenceTrajectoryBase::nMeasPerHit, LocalTrajectoryError::positionError(), mathSSE::sqrt(), ReferenceTrajectoryBase::theMeasurements, ReferenceTrajectoryBase::theMeasurementsCov, and TrajectoryMeasurement::updatedState().
Referenced by fillKalmanPart().
|
protected |
fill trajectoryPositions
Definition at line 302 of file DualKalmanTrajectory.cc.
References TrajectoryStateOnSurface::localParameters(), LocalTrajectoryParameters::mixedFormatVector(), ReferenceTrajectoryBase::nMeasPerHit, and ReferenceTrajectoryBase::theTrajectoryPositions.
Referenced by fillKalmanPart().
|
protected |
local error including APE if APE is on
Definition at line 316 of file DualKalmanTrajectory.cc.
References alignCSCRings::help, and HelpertRecHit2DLocalPos::parError().
Referenced by fillMeasurementAndError1(), and fillMeasurementAndError2().
|
inlineprotected |
Definition at line 102 of file DualKalmanTrajectory.h.
References alongMomentum, anyDirection, and oppositeToMomentum.
Referenced by construct().