CbmRoot
Loading...
Searching...
No Matches
cbm::algo::kf::VertexFitter< FlagFitTime > Class Template Reference

The class implements vertex fitting with Kalman filter. More...

#include <KfVertexFitter.h>

Public Member Functions

 VertexFitter ()=default
 Default constructor.
 
 VertexFitter (std::shared_ptr< const Setup< double > > kfSetup)
 
 ~VertexFitter ()=default
 Destructor.
 
void SetKfSetup (std::shared_ptr< const Setup< double > > kfSetup)
 Set Kalman Filter setup.
 
void SetConstrainToTargetZ ()
 Set flag to constrain vertex to target.
 
void SetNoConstrainToTargetZ ()
 Unset flag to constrain vertex to target.
 
void SetConstrainToBeamXY (double x, double y, double sigmaX, double sigmaY)
 Set flag and values to constrain vertex to beamline.
 
void SetNoConstrainToBeamXY ()
 Unset flag to constrain vertex to beamline.
 
void SetRmsCut (double c)
 Set cut in standard deviation for track inclusion.
 
void SetNoRmsCut ()
 Unset cut in standard deviation for track inclusion.
 
void SetNofIterations (int n)
 Set N of iterations for vertex fitting.
 
bool IsConstrainToTargetZ () const
 Getters.
 
bool IsConstrainToBeamXY () const
 
double GetRmsCut () const
 
int GetNofIterations () const
 
std::shared_ptr< const Setup< double > > GetKfSetup () const
 
template<typename T>
std::tuple< VertexD, std::vector< char > > FitVertex (const std::vector< const TrackParam< T > * > &tracks, const std::vector< const TrackParam< T > * > &linearizations, const VertexD &vtxGuess) const
 Fit vertex from the given tracks.
 
VertexD GetGuessFromTheTarget () const
 

Private Member Functions

void dummy ()
 template instantiation dummy function
 

Private Attributes

std::shared_ptr< const Setup< double > > fKfSetup {}
 Kalman Filter setup.
 
bool fConstrainToTargetZ {false}
 Flag to constrain vertex to target.
 
bool fConstrainToBeamXY {false}
 Flag to constrain vertex to beamline.
 
double fBeamX {0.}
 Width of beamline constraint in X [cm].
 
double fBeamY {0.}
 Width of beamline constraint in Y [cm].
 
double fBeamSigmaX {0.1}
 Sigma of beamline constraint in X [cm].
 
double fBeamSigmaY {0.1}
 Sigma of beamline constraint in Y [cm].
 
double fRmsCut {5.}
 Cut in standard deviation for track to be included in vertex fit.
 
int fNofIterations {3}
 N of iterations for vertex fitting.
 

Detailed Description

template<DoFitTime FlagFitTime = DoFitTime::Y>
class cbm::algo::kf::VertexFitter< FlagFitTime >

The class implements vertex fitting with Kalman filter.

Definition at line 27 of file KfVertexFitter.h.

Constructor & Destructor Documentation

◆ VertexFitter() [1/2]

template<DoFitTime FlagFitTime = DoFitTime::Y>
cbm::algo::kf::VertexFitter< FlagFitTime >::VertexFitter ( )
default

Default constructor.

◆ VertexFitter() [2/2]

template<DoFitTime FlagFitTime = DoFitTime::Y>
cbm::algo::kf::VertexFitter< FlagFitTime >::VertexFitter ( std::shared_ptr< const Setup< double > > kfSetup)
inline
Parameters
kfSetupKalman Filter setup

Definition at line 33 of file KfVertexFitter.h.

References fKfSetup.

◆ ~VertexFitter()

template<DoFitTime FlagFitTime = DoFitTime::Y>
cbm::algo::kf::VertexFitter< FlagFitTime >::~VertexFitter ( )
default

Destructor.

Member Function Documentation

◆ dummy()

template<DoFitTime FlagFitTime>
void VertexFitter::dummy ( )
private

template instantiation dummy function

Definition at line 264 of file KfVertexFitter.cxx.

References FitVertex().

◆ FitVertex()

template<DoFitTime FlagFitTime>
template<typename T>
std::tuple< VertexD, std::vector< char > > VertexFitter::FitVertex ( const std::vector< const TrackParam< T > * > & tracks,
const std::vector< const TrackParam< T > * > & linearizations,
const VertexD & vtxGuess ) const

◆ GetGuessFromTheTarget()

template<DoFitTime FlagFitTime>
VertexD VertexFitter::GetGuessFromTheTarget ( ) const

Definition at line 21 of file KfVertexFitter.cxx.

References fKfSetup, and v.

◆ GetKfSetup()

template<DoFitTime FlagFitTime = DoFitTime::Y>
std::shared_ptr< const Setup< double > > cbm::algo::kf::VertexFitter< FlagFitTime >::GetKfSetup ( ) const
inline

Definition at line 75 of file KfVertexFitter.h.

References fKfSetup.

◆ GetNofIterations()

template<DoFitTime FlagFitTime = DoFitTime::Y>
int cbm::algo::kf::VertexFitter< FlagFitTime >::GetNofIterations ( ) const
inline

Definition at line 74 of file KfVertexFitter.h.

References fNofIterations.

◆ GetRmsCut()

template<DoFitTime FlagFitTime = DoFitTime::Y>
double cbm::algo::kf::VertexFitter< FlagFitTime >::GetRmsCut ( ) const
inline

Definition at line 73 of file KfVertexFitter.h.

References fRmsCut.

◆ IsConstrainToBeamXY()

template<DoFitTime FlagFitTime = DoFitTime::Y>
bool cbm::algo::kf::VertexFitter< FlagFitTime >::IsConstrainToBeamXY ( ) const
inline

Definition at line 72 of file KfVertexFitter.h.

References fConstrainToBeamXY.

◆ IsConstrainToTargetZ()

template<DoFitTime FlagFitTime = DoFitTime::Y>
bool cbm::algo::kf::VertexFitter< FlagFitTime >::IsConstrainToTargetZ ( ) const
inline

Getters.

Definition at line 71 of file KfVertexFitter.h.

References fConstrainToTargetZ.

◆ SetConstrainToBeamXY()

template<DoFitTime FlagFitTime = DoFitTime::Y>
void cbm::algo::kf::VertexFitter< FlagFitTime >::SetConstrainToBeamXY ( double x,
double y,
double sigmaX,
double sigmaY )
inline

Set flag and values to constrain vertex to beamline.

Definition at line 48 of file KfVertexFitter.h.

References fBeamSigmaX, fBeamSigmaY, fBeamX, fBeamY, fConstrainToBeamXY, x, and y.

◆ SetConstrainToTargetZ()

template<DoFitTime FlagFitTime = DoFitTime::Y>
void cbm::algo::kf::VertexFitter< FlagFitTime >::SetConstrainToTargetZ ( )
inline

Set flag to constrain vertex to target.

Definition at line 42 of file KfVertexFitter.h.

References fConstrainToTargetZ.

◆ SetKfSetup()

template<DoFitTime FlagFitTime = DoFitTime::Y>
void cbm::algo::kf::VertexFitter< FlagFitTime >::SetKfSetup ( std::shared_ptr< const Setup< double > > kfSetup)
inline

Set Kalman Filter setup.

Definition at line 39 of file KfVertexFitter.h.

References fKfSetup.

◆ SetNoConstrainToBeamXY()

template<DoFitTime FlagFitTime = DoFitTime::Y>
void cbm::algo::kf::VertexFitter< FlagFitTime >::SetNoConstrainToBeamXY ( )
inline

Unset flag to constrain vertex to beamline.

Definition at line 58 of file KfVertexFitter.h.

References fConstrainToBeamXY.

◆ SetNoConstrainToTargetZ()

template<DoFitTime FlagFitTime = DoFitTime::Y>
void cbm::algo::kf::VertexFitter< FlagFitTime >::SetNoConstrainToTargetZ ( )
inline

Unset flag to constrain vertex to target.

Definition at line 45 of file KfVertexFitter.h.

References fConstrainToTargetZ.

◆ SetNofIterations()

template<DoFitTime FlagFitTime = DoFitTime::Y>
void cbm::algo::kf::VertexFitter< FlagFitTime >::SetNofIterations ( int n)
inline

Set N of iterations for vertex fitting.

Definition at line 67 of file KfVertexFitter.h.

References fNofIterations.

◆ SetNoRmsCut()

template<DoFitTime FlagFitTime = DoFitTime::Y>
void cbm::algo::kf::VertexFitter< FlagFitTime >::SetNoRmsCut ( )
inline

Unset cut in standard deviation for track inclusion.

Definition at line 64 of file KfVertexFitter.h.

References fRmsCut.

◆ SetRmsCut()

template<DoFitTime FlagFitTime = DoFitTime::Y>
void cbm::algo::kf::VertexFitter< FlagFitTime >::SetRmsCut ( double c)
inline

Set cut in standard deviation for track inclusion.

Definition at line 61 of file KfVertexFitter.h.

References fRmsCut.

Member Data Documentation

◆ fBeamSigmaX

template<DoFitTime FlagFitTime = DoFitTime::Y>
double cbm::algo::kf::VertexFitter< FlagFitTime >::fBeamSigmaX {0.1}
private

Sigma of beamline constraint in X [cm].

Definition at line 95 of file KfVertexFitter.h.

Referenced by FitVertex(), and SetConstrainToBeamXY().

◆ fBeamSigmaY

template<DoFitTime FlagFitTime = DoFitTime::Y>
double cbm::algo::kf::VertexFitter< FlagFitTime >::fBeamSigmaY {0.1}
private

Sigma of beamline constraint in Y [cm].

Definition at line 96 of file KfVertexFitter.h.

Referenced by FitVertex(), and SetConstrainToBeamXY().

◆ fBeamX

template<DoFitTime FlagFitTime = DoFitTime::Y>
double cbm::algo::kf::VertexFitter< FlagFitTime >::fBeamX {0.}
private

Width of beamline constraint in X [cm].

Definition at line 93 of file KfVertexFitter.h.

Referenced by FitVertex(), and SetConstrainToBeamXY().

◆ fBeamY

template<DoFitTime FlagFitTime = DoFitTime::Y>
double cbm::algo::kf::VertexFitter< FlagFitTime >::fBeamY {0.}
private

Width of beamline constraint in Y [cm].

Definition at line 94 of file KfVertexFitter.h.

Referenced by FitVertex(), and SetConstrainToBeamXY().

◆ fConstrainToBeamXY

template<DoFitTime FlagFitTime = DoFitTime::Y>
bool cbm::algo::kf::VertexFitter< FlagFitTime >::fConstrainToBeamXY {false}
private

Flag to constrain vertex to beamline.

Definition at line 91 of file KfVertexFitter.h.

Referenced by FitVertex(), IsConstrainToBeamXY(), SetConstrainToBeamXY(), and SetNoConstrainToBeamXY().

◆ fConstrainToTargetZ

template<DoFitTime FlagFitTime = DoFitTime::Y>
bool cbm::algo::kf::VertexFitter< FlagFitTime >::fConstrainToTargetZ {false}
private

Flag to constrain vertex to target.

Definition at line 90 of file KfVertexFitter.h.

Referenced by FitVertex(), IsConstrainToTargetZ(), SetConstrainToTargetZ(), and SetNoConstrainToTargetZ().

◆ fKfSetup

template<DoFitTime FlagFitTime = DoFitTime::Y>
std::shared_ptr<const Setup<double> > cbm::algo::kf::VertexFitter< FlagFitTime >::fKfSetup {}
private

Kalman Filter setup.

Definition at line 88 of file KfVertexFitter.h.

Referenced by FitVertex(), GetGuessFromTheTarget(), GetKfSetup(), SetKfSetup(), and VertexFitter().

◆ fNofIterations

template<DoFitTime FlagFitTime = DoFitTime::Y>
int cbm::algo::kf::VertexFitter< FlagFitTime >::fNofIterations {3}
private

N of iterations for vertex fitting.

Definition at line 98 of file KfVertexFitter.h.

Referenced by FitVertex(), GetNofIterations(), and SetNofIterations().

◆ fRmsCut

template<DoFitTime FlagFitTime = DoFitTime::Y>
double cbm::algo::kf::VertexFitter< FlagFitTime >::fRmsCut {5.}
private

Cut in standard deviation for track to be included in vertex fit.

Definition at line 97 of file KfVertexFitter.h.

Referenced by FitVertex(), GetRmsCut(), SetNoRmsCut(), and SetRmsCut().


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