ATLAS Offline Software
Public Member Functions | Static Public Member Functions | List of all members
Trk::IUpdator Class Referenceabstract

Set of interfaces for methods operating on track states, mainly for Kalman filtering. More...

#include <IUpdator.h>

Inheritance diagram for Trk::IUpdator:
Collaboration diagram for Trk::IUpdator:

Public Member Functions

virtual std::unique_ptr< TrackParametersaddToState (const TrackParameters &, const Amg::Vector2D &, const Amg::MatrixX &) const =0
 updator for Kalman-Filter based algorithms getting the measurement coordinates from Amg::Vector2D (use for example with PrepRawData) More...
 
virtual std::unique_ptr< TrackParametersaddToState (const TrackParameters &, const LocalParameters &, const Amg::MatrixX &) const =0
 updator for Kalman-Filter based algorithms getting the measurement coordinates from LocalParameters (use for example with MeasurementBase or RIO_OnTrack) More...
 
virtual std::unique_ptr< TrackParametersaddToState (const TrackParameters &, const Amg::Vector2D &, const Amg::MatrixX &, FitQualityOnSurface *&) const =0
 the updator interface with FitQualityOnSurface allows to save the chi2 in one step with the updating (the chi2 is automatically known during the updating maths). More...
 
virtual std::unique_ptr< TrackParametersaddToState (const TrackParameters &, const LocalParameters &, const Amg::MatrixX &, FitQualityOnSurface *&) const =0
 the updator interface with FitQualityOnSurface allows to save the chi2 in one step with the updating (the chi2 is automatically known during the updating maths). More...
 
virtual std::unique_ptr< TrackParametersremoveFromState (const TrackParameters &, const Amg::Vector2D &, const Amg::MatrixX &) const =0
 the reverse updating or inverse KalmanFilter removes a measurement from the track state, giving a predicted or unbiased state, here working with Amg::Vector2D from (for example) PrepRawData objects. More...
 
virtual std::unique_ptr< TrackParametersremoveFromState (const TrackParameters &, const LocalParameters &, const Amg::MatrixX &) const =0
 the reverse updating or inverse KalmanFilter removes a measurement from the track state, giving a predicted or unbiased state, here working with LocalParameters from (for example) MeasurementBase or RIO_OnTrack objects. More...
 
virtual std::unique_ptr< TrackParametersremoveFromState (const TrackParameters &, const Amg::Vector2D &, const Amg::MatrixX &, FitQualityOnSurface *&) const =0
 the reverse updating or inverse KalmanFilter removes a measurement from the track state, giving a predicted or unbiased state, here working with with Amg::Vector2D and in addition giving back the fit quality of the given state. More...
 
virtual std::unique_ptr< TrackParametersremoveFromState (const TrackParameters &, const LocalParameters &, const Amg::MatrixX &, FitQualityOnSurface *&) const =0
 the reverse updating or inverse KalmanFilter removes a measurement from the track state, giving a predicted or unbiased state, here working with LocalParameters and in addition giving back the fit quality of the given state. More...
 
virtual std::unique_ptr< TrackParameterscombineStates (const TrackParameters &, const TrackParameters &) const =0
 adds to a track state the parameters from another state using a statistical combination - use with care! In particular it is the caller's responsiblility that both states are expressed on the same surface and that the measurement on this surface is contained in not more than one of the two states. More...
 
virtual std::unique_ptr< TrackParameterscombineStates (const TrackParameters &, const TrackParameters &, FitQualityOnSurface *&) const =0
 adds to a track state the parameters from another state using a statistical combination and determines fit quality - use with care! In particular it is the caller's responsiblility that both states are expressed on the same surface and that the measurement on this surface is contained in not more than one of the two states. More...
 
virtual std::pair< AmgVector(5), AmgSymMatrix(5)> * updateParameterDifference (const AmgVector(5) &, const AmgSymMatrix(5) &, const Amg::VectorX &, const Amg::MatrixX &, int, Trk::FitQualityOnSurface *&, bool) const =0
 pure AMG interface for reference-track KF, allowing update of parameter differences More...
 
virtual FitQualityOnSurface fullStateFitQuality (const TrackParameters &, const Amg::Vector2D &, const Amg::MatrixX &) const =0
 estimator for FitQuality on Surface from a full track state, that is a state which contains the current hit (expressed as Amg::Vector2D). More...
 
virtual FitQualityOnSurface fullStateFitQuality (const TrackParameters &, const LocalParameters &, const Amg::MatrixX &) const =0
 estimator for FitQuality on Surface from a full track state, that is a state which contains the current hit (expressed as LocalParameters). More...
 
virtual FitQualityOnSurface predictedStateFitQuality (const TrackParameters &, const Amg::Vector2D &, const Amg::MatrixX &) const =0
 estimator for FitQuality on Surface from a predicted track state, that is a state which does not contain the current hit (expressed as Amg::Vector2D). More...
 
virtual FitQualityOnSurface predictedStateFitQuality (const TrackParameters &, const LocalParameters &, const Amg::MatrixX &) const =0
 estimator for FitQuality on Surface from a predicted track state, that is a state which does not contain the current hit (expressed as LocalParameters). More...
 
virtual FitQualityOnSurface predictedStateFitQuality (const TrackParameters &, const TrackParameters &) const =0
 estimator for FitQuality on Surface for the situation when a track is fitted to the parameters of another trajectory part extrapolated to the common surface. More...
 
virtual std::vector< double > initialErrors () const =0
 let the client tools know how the assumptions on the initial precision for non-measured track parameters are configured More...
 

Static Public Member Functions

static const InterfaceID & interfaceID ()
 Algtool infrastructure. More...
 

Detailed Description

Set of interfaces for methods operating on track states, mainly for Kalman filtering.

Provides the interface to encapsulate the measurement updating calculations needed in progressive fitters such as the TrkKalmanFitter. The idea is that Updators take care internally of all calculations needed to update or remove a hit from a state, and to estimate the chi2 of a state, while the calling fitter takes care of the iteration strategy itself.

Author
Wolfgang Liebig http://consult.cern.ch/xwho/people/54608

Definition at line 63 of file IUpdator.h.

Member Function Documentation

◆ addToState() [1/4]

virtual std::unique_ptr<TrackParameters> Trk::IUpdator::addToState ( const TrackParameters ,
const Amg::Vector2D ,
const Amg::MatrixX  
) const
pure virtual

updator for Kalman-Filter based algorithms getting the measurement coordinates from Amg::Vector2D (use for example with PrepRawData)

Implemented in Trk::KalmanUpdatorSMatrix, Trk::KalmanUpdator_xk, and Trk::KalmanUpdator.

◆ addToState() [2/4]

virtual std::unique_ptr<TrackParameters> Trk::IUpdator::addToState ( const TrackParameters ,
const Amg::Vector2D ,
const Amg::MatrixX ,
FitQualityOnSurface *&   
) const
pure virtual

the updator interface with FitQualityOnSurface allows to save the chi2 in one step with the updating (the chi2 is automatically known during the updating maths).

Version using Amg::Vector2D.

Implemented in Trk::KalmanUpdator_xk, Trk::KalmanUpdatorSMatrix, and Trk::KalmanUpdator.

◆ addToState() [3/4]

virtual std::unique_ptr<TrackParameters> Trk::IUpdator::addToState ( const TrackParameters ,
const LocalParameters ,
const Amg::MatrixX  
) const
pure virtual

updator for Kalman-Filter based algorithms getting the measurement coordinates from LocalParameters (use for example with MeasurementBase or RIO_OnTrack)

Implemented in Trk::KalmanUpdatorSMatrix, Trk::KalmanUpdator_xk, and Trk::KalmanUpdator.

◆ addToState() [4/4]

virtual std::unique_ptr<TrackParameters> Trk::IUpdator::addToState ( const TrackParameters ,
const LocalParameters ,
const Amg::MatrixX ,
FitQualityOnSurface *&   
) const
pure virtual

the updator interface with FitQualityOnSurface allows to save the chi2 in one step with the updating (the chi2 is automatically known during the updating maths).

Version using LocalParameters.

Implemented in Trk::KalmanUpdatorSMatrix, Trk::KalmanUpdator_xk, and Trk::KalmanUpdator.

◆ combineStates() [1/2]

virtual std::unique_ptr<TrackParameters> Trk::IUpdator::combineStates ( const TrackParameters ,
const TrackParameters  
) const
pure virtual

adds to a track state the parameters from another state using a statistical combination - use with care! In particular it is the caller's responsiblility that both states are expressed on the same surface and that the measurement on this surface is contained in not more than one of the two states.

Method to be used e.g. for Kalman Smoothing or InDet - Muons track combination.

Implemented in Trk::KalmanUpdator_xk, Trk::KalmanUpdatorSMatrix, and Trk::KalmanUpdator.

◆ combineStates() [2/2]

virtual std::unique_ptr<TrackParameters> Trk::IUpdator::combineStates ( const TrackParameters ,
const TrackParameters ,
FitQualityOnSurface *&   
) const
pure virtual

adds to a track state the parameters from another state using a statistical combination and determines fit quality - use with care! In particular it is the caller's responsiblility that both states are expressed on the same surface and that the measurement on this surface is contained in not more than one of the two states.

Method to be used e.g. for Kalman Smoothing or InDet - Muons track combination.

Implemented in Trk::KalmanUpdatorSMatrix, Trk::KalmanUpdator_xk, and Trk::KalmanUpdator.

◆ fullStateFitQuality() [1/2]

virtual FitQualityOnSurface Trk::IUpdator::fullStateFitQuality ( const TrackParameters ,
const Amg::Vector2D ,
const Amg::MatrixX  
) const
pure virtual

estimator for FitQuality on Surface from a full track state, that is a state which contains the current hit (expressed as Amg::Vector2D).

Keep in mind that this job can be done inside addToState if you have kept the original prediction, thus saving CPU time.

Implemented in Trk::KalmanUpdator_xk, Trk::KalmanUpdatorSMatrix, and Trk::KalmanUpdator.

◆ fullStateFitQuality() [2/2]

virtual FitQualityOnSurface Trk::IUpdator::fullStateFitQuality ( const TrackParameters ,
const LocalParameters ,
const Amg::MatrixX  
) const
pure virtual

estimator for FitQuality on Surface from a full track state, that is a state which contains the current hit (expressed as LocalParameters).

Keep in mind that this job can be done inside addToState if you have kept the original prediction, thus saving CPU time.

Implemented in Trk::KalmanUpdator_xk, Trk::KalmanUpdatorSMatrix, and Trk::KalmanUpdator.

◆ initialErrors()

virtual std::vector<double> Trk::IUpdator::initialErrors ( ) const
pure virtual

let the client tools know how the assumptions on the initial precision for non-measured track parameters are configured

Implemented in Trk::KalmanUpdatorSMatrix, Trk::KalmanUpdator_xk, and Trk::KalmanUpdator.

◆ interfaceID()

const InterfaceID & Trk::IUpdator::interfaceID ( )
inlinestatic

Algtool infrastructure.

Definition at line 227 of file IUpdator.h.

228 {
229  return IID_IUpdator;
230 }

◆ predictedStateFitQuality() [1/3]

virtual FitQualityOnSurface Trk::IUpdator::predictedStateFitQuality ( const TrackParameters ,
const Amg::Vector2D ,
const Amg::MatrixX  
) const
pure virtual

estimator for FitQuality on Surface from a predicted track state, that is a state which does not contain the current hit (expressed as Amg::Vector2D).

Keep in mind that this job is already done inside addToState if you use the addToState(TP,LP,Err,FQoS) interface, thus saving CPU time.

Implemented in Trk::KalmanUpdatorSMatrix, Trk::KalmanUpdator_xk, and Trk::KalmanUpdator.

◆ predictedStateFitQuality() [2/3]

virtual FitQualityOnSurface Trk::IUpdator::predictedStateFitQuality ( const TrackParameters ,
const LocalParameters ,
const Amg::MatrixX  
) const
pure virtual

estimator for FitQuality on Surface from a predicted track state, that is a state which does not contain the current hit (expressed as LocalParameters).

Keep in mind that this job is already done inside addToState if you use the addToState(TP,LP,Err,FQoS) interface, thus saving CPU time.

Implemented in Trk::KalmanUpdatorSMatrix, Trk::KalmanUpdator_xk, and Trk::KalmanUpdator.

◆ predictedStateFitQuality() [3/3]

virtual FitQualityOnSurface Trk::IUpdator::predictedStateFitQuality ( const TrackParameters ,
const TrackParameters  
) const
pure virtual

estimator for FitQuality on Surface for the situation when a track is fitted to the parameters of another trajectory part extrapolated to the common surface.

Implemented in Trk::KalmanUpdatorSMatrix, Trk::KalmanUpdator_xk, and Trk::KalmanUpdator.

◆ removeFromState() [1/4]

virtual std::unique_ptr<TrackParameters> Trk::IUpdator::removeFromState ( const TrackParameters ,
const Amg::Vector2D ,
const Amg::MatrixX  
) const
pure virtual

the reverse updating or inverse KalmanFilter removes a measurement from the track state, giving a predicted or unbiased state, here working with Amg::Vector2D from (for example) PrepRawData objects.

Implemented in Trk::KalmanUpdatorSMatrix, Trk::KalmanUpdator_xk, and Trk::KalmanUpdator.

◆ removeFromState() [2/4]

virtual std::unique_ptr<TrackParameters> Trk::IUpdator::removeFromState ( const TrackParameters ,
const Amg::Vector2D ,
const Amg::MatrixX ,
FitQualityOnSurface *&   
) const
pure virtual

the reverse updating or inverse KalmanFilter removes a measurement from the track state, giving a predicted or unbiased state, here working with with Amg::Vector2D and in addition giving back the fit quality of the given state.

Implemented in Trk::KalmanUpdator_xk, Trk::KalmanUpdatorSMatrix, and Trk::KalmanUpdator.

◆ removeFromState() [3/4]

virtual std::unique_ptr<TrackParameters> Trk::IUpdator::removeFromState ( const TrackParameters ,
const LocalParameters ,
const Amg::MatrixX  
) const
pure virtual

the reverse updating or inverse KalmanFilter removes a measurement from the track state, giving a predicted or unbiased state, here working with LocalParameters from (for example) MeasurementBase or RIO_OnTrack objects.

Implemented in Trk::KalmanUpdatorSMatrix, Trk::KalmanUpdator, and Trk::KalmanUpdator_xk.

◆ removeFromState() [4/4]

virtual std::unique_ptr<TrackParameters> Trk::IUpdator::removeFromState ( const TrackParameters ,
const LocalParameters ,
const Amg::MatrixX ,
FitQualityOnSurface *&   
) const
pure virtual

the reverse updating or inverse KalmanFilter removes a measurement from the track state, giving a predicted or unbiased state, here working with LocalParameters and in addition giving back the fit quality of the given state.

Implemented in Trk::KalmanUpdatorSMatrix, Trk::KalmanUpdator_xk, and Trk::KalmanUpdator.

◆ updateParameterDifference()

virtual std::pair<AmgVector(5), AmgSymMatrix(5)>* Trk::IUpdator::updateParameterDifference ( const AmgVector(5) &  ,
const AmgSymMatrix(5) &  ,
const Amg::VectorX ,
const Amg::MatrixX ,
int  ,
Trk::FitQualityOnSurface *&  ,
bool   
) const
pure virtual

pure AMG interface for reference-track KF, allowing update of parameter differences

Implemented in Trk::KalmanUpdatorSMatrix, Trk::KalmanUpdator, and Trk::KalmanUpdator_xk.


The documentation for this class was generated from the following file: