CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Types | Private Attributes
KFTrajectorySmoother Class Referencefinal

#include <KFTrajectorySmoother.h>

Inheritance diagram for KFTrajectorySmoother:
TrajectorySmoother

Public Member Functions

const PropagatoralongPropagator () const
 
virtual KFTrajectorySmootherclone () const override
 
const MeasurementEstimatorestimator () const
 
 KFTrajectorySmoother (const Propagator &aPropagator, const TrajectoryStateUpdator &aUpdator, const MeasurementEstimator &aEstimator, float errorRescaling=100.f, int minHits=3)
 
 KFTrajectorySmoother (const Propagator *aPropagator, const TrajectoryStateUpdator *aUpdator, const MeasurementEstimator *aEstimator, float errorRescaling=100.f, int minHits=3, const DetLayerGeometry *detLayerGeometry=0, TkCloner const *hc=0)
 
const PropagatoroppositePropagator () const
 
virtual void setHitCloner (TkCloner const *hc)
 
virtual Trajectory trajectory (const Trajectory &aTraj) const override
 
const TrajectoryStateUpdatorupdator () const
 
virtual ~KFTrajectorySmoother ()
 
- Public Member Functions inherited from TrajectorySmoother
virtual TrajectoryContainer trajectories (const Trajectory &traj) const
 
virtual ~TrajectorySmoother ()
 

Private Types

typedef FreeTrajectoryState FTS
 
typedef TrajectoryMeasurement TM
 
typedef TrajectoryStateOnSurface TSOS
 

Private Attributes

const DetLayerGeometry dummyGeometry
 
int minHits_
 
const PropagatortheAlongPropagator
 
float theErrorRescaling
 
const MeasurementEstimatortheEstimator
 
const DetLayerGeometrytheGeometry
 
TkCloner const * theHitCloner = 0
 
const PropagatortheOppositePropagator
 
const TrajectoryStateUpdatortheUpdator
 

Additional Inherited Members

- Public Types inherited from TrajectorySmoother
typedef std::vector< TrajectoryTrajectoryContainer
 
typedef
TrajectoryContainer::iterator 
TrajectoryIterator
 

Detailed Description

A Standard Kalman smoother. The forward fit is not redone, only the backward smoothing. Ported from ORCA

Author
todorov, cerati

Definition at line 20 of file KFTrajectorySmoother.h.

Member Typedef Documentation

Definition at line 25 of file KFTrajectorySmoother.h.

Definition at line 26 of file KFTrajectorySmoother.h.

Definition at line 24 of file KFTrajectorySmoother.h.

Constructor & Destructor Documentation

KFTrajectorySmoother::KFTrajectorySmoother ( const Propagator aPropagator,
const TrajectoryStateUpdator aUpdator,
const MeasurementEstimator aEstimator,
float  errorRescaling = 100.f,
int  minHits = 3 
)
inline

Definition at line 30 of file KFTrajectorySmoother.h.

References alongMomentum, Propagator::clone(), dummyGeometry, oppositeToMomentum, AlCaHLTBitMon_ParallelJobs::p, theAlongPropagator, theGeometry, and theOppositePropagator.

Referenced by clone().

34  :
35  theAlongPropagator(nullptr),
36  theOppositePropagator(nullptr),
37  theUpdator(aUpdator.clone()),
38  theEstimator(aEstimator.clone()),
41  theGeometry(nullptr){ // to be fixed. Why this first constructor is needed? who is using it? Can it be removed?
43  auto p = aPropagator.clone();
44  p->setPropagationDirection(alongMomentum);
46  p = aPropagator.clone();
47  p->setPropagationDirection(oppositeToMomentum);
49  }
virtual TrajectoryStateUpdator * clone() const =0
const DetLayerGeometry dummyGeometry
const DetLayerGeometry * theGeometry
virtual Propagator * clone() const =0
virtual MeasurementEstimator * clone() const =0
const MeasurementEstimator * theEstimator
const TrajectoryStateUpdator * theUpdator
const Propagator * theAlongPropagator
const Propagator * theOppositePropagator
KFTrajectorySmoother::KFTrajectorySmoother ( const Propagator aPropagator,
const TrajectoryStateUpdator aUpdator,
const MeasurementEstimator aEstimator,
float  errorRescaling = 100.f,
int  minHits = 3,
const DetLayerGeometry detLayerGeometry = 0,
TkCloner const *  hc = 0 
)
inline

Definition at line 52 of file KFTrajectorySmoother.h.

References alongMomentum, Propagator::clone(), dummyGeometry, oppositeToMomentum, AlCaHLTBitMon_ParallelJobs::p, theAlongPropagator, theGeometry, and theOppositePropagator.

58  :
59  theAlongPropagator(nullptr),
60  theOppositePropagator(nullptr),
61  theUpdator(aUpdator->clone()),
62  theEstimator(aEstimator->clone()),
66  theGeometry(detLayerGeometry){
68  auto p = aPropagator->clone();
69  p->setPropagationDirection(alongMomentum);
71  p = aPropagator->clone();
72  p->setPropagationDirection(oppositeToMomentum);
74  }
virtual TrajectoryStateUpdator * clone() const =0
const DetLayerGeometry dummyGeometry
const DetLayerGeometry * theGeometry
virtual Propagator * clone() const =0
virtual MeasurementEstimator * clone() const =0
const MeasurementEstimator * theEstimator
const TrajectoryStateUpdator * theUpdator
susybsm::HSCParticleCollection hc
Definition: classes.h:25
const Propagator * theAlongPropagator
const Propagator * theOppositePropagator
TkCloner const * theHitCloner
KFTrajectorySmoother::~KFTrajectorySmoother ( )
virtual

Definition at line 26 of file KFTrajectorySmoother.cc.

Member Function Documentation

const Propagator* KFTrajectorySmoother::alongPropagator ( ) const
inline

Definition at line 80 of file KFTrajectorySmoother.h.

References theAlongPropagator.

80 { return theAlongPropagator;}
const Propagator * theAlongPropagator
virtual KFTrajectorySmoother* KFTrajectorySmoother::clone ( void  ) const
inlineoverridevirtual

Implements TrajectorySmoother.

Definition at line 86 of file KFTrajectorySmoother.h.

References KFTrajectorySmoother(), minHits_, theAlongPropagator, theErrorRescaling, theEstimator, theGeometry, theHitCloner, and theUpdator.

86  {
88  }
const DetLayerGeometry * theGeometry
KFTrajectorySmoother(const Propagator &aPropagator, const TrajectoryStateUpdator &aUpdator, const MeasurementEstimator &aEstimator, float errorRescaling=100.f, int minHits=3)
const MeasurementEstimator * theEstimator
const TrajectoryStateUpdator * theUpdator
const Propagator * theAlongPropagator
TkCloner const * theHitCloner
const MeasurementEstimator* KFTrajectorySmoother::estimator ( void  ) const
inline

Definition at line 84 of file KFTrajectorySmoother.h.

References theEstimator.

84 {return theEstimator;}
const MeasurementEstimator * theEstimator
const Propagator* KFTrajectorySmoother::oppositePropagator ( ) const
inline

Definition at line 81 of file KFTrajectorySmoother.h.

References theOppositePropagator.

81 {return theOppositePropagator;}
const Propagator * theOppositePropagator
virtual void KFTrajectorySmoother::setHitCloner ( TkCloner const *  hc)
inlinevirtual

Implements TrajectorySmoother.

Definition at line 91 of file KFTrajectorySmoother.h.

References AnalysisDataFormats_SUSYBSMObjects::hc, and theHitCloner.

91 { theHitCloner = hc;}
susybsm::HSCParticleCollection hc
Definition: classes.h:25
TkCloner const * theHitCloner
Trajectory KFTrajectorySmoother::trajectory ( const Trajectory aTraj) const
overridevirtual

Implements TrajectorySmoother.

Definition at line 36 of file KFTrajectorySmoother.cc.

const TrajectoryStateUpdator* KFTrajectorySmoother::updator ( ) const
inline

Definition at line 83 of file KFTrajectorySmoother.h.

References theUpdator.

83 {return theUpdator;}
const TrajectoryStateUpdator * theUpdator

Member Data Documentation

const DetLayerGeometry KFTrajectorySmoother::dummyGeometry
private

Definition at line 95 of file KFTrajectorySmoother.h.

Referenced by KFTrajectorySmoother().

int KFTrajectorySmoother::minHits_
private

Definition at line 102 of file KFTrajectorySmoother.h.

Referenced by clone().

const Propagator* KFTrajectorySmoother::theAlongPropagator
private

Definition at line 96 of file KFTrajectorySmoother.h.

Referenced by alongPropagator(), clone(), and KFTrajectorySmoother().

float KFTrajectorySmoother::theErrorRescaling
private

Definition at line 101 of file KFTrajectorySmoother.h.

Referenced by clone().

const MeasurementEstimator* KFTrajectorySmoother::theEstimator
private

Definition at line 99 of file KFTrajectorySmoother.h.

Referenced by clone(), and estimator().

const DetLayerGeometry* KFTrajectorySmoother::theGeometry
private

Definition at line 103 of file KFTrajectorySmoother.h.

Referenced by clone(), and KFTrajectorySmoother().

TkCloner const* KFTrajectorySmoother::theHitCloner = 0
private

Definition at line 100 of file KFTrajectorySmoother.h.

Referenced by clone(), and setHitCloner().

const Propagator* KFTrajectorySmoother::theOppositePropagator
private

Definition at line 97 of file KFTrajectorySmoother.h.

Referenced by KFTrajectorySmoother(), and oppositePropagator().

const TrajectoryStateUpdator* KFTrajectorySmoother::theUpdator
private

Definition at line 98 of file KFTrajectorySmoother.h.

Referenced by clone(), and updator().