CbmRoot
Loading...
Searching...
No Matches
cbm::algo::ca::TrackExtender Class Reference

#include <CaTrackExtender.h>

Collaboration diagram for cbm::algo::ca::TrackExtender:
[legend]

Public Member Functions

 TrackExtender (const ca::Parameters< fvec > &pars, const fscal mass)
 Default constructor.
 
 ~TrackExtender ()
 Destructor.
 
 TrackExtender (const TrackExtender &)=default
 Copy constructor.
 
 TrackExtender (TrackExtender &&)=default
 Move constructor.
 
TrackExtenderoperator= (const TrackExtender &)=delete
 Copy assignment operator.
 
TrackExtenderoperator= (TrackExtender &&)=delete
 Move assignment operator.
 
fscal ExtendBranch (ca::Branch &t, WindowData &wData)
 Try to extrapolate and find additional hits on other stations.
 

Private Member Functions

void FindMoreHits (ca::Branch &t, TrackParamV &T, const kf::FitDirection direction, const fvec qp0)
 
void FitBranch (const ca::Branch &t, TrackParamV &T, const kf::FitDirection direction, const fvec qp0, const bool initParams=true)
 like BranchFitterFast but more precise
 
void FitBranchFast (const ca::Branch &t, TrackParamV &T, const kf::FitDirection direction, const fvec qp0, const bool initParams=true)
 

Private Attributes

const Parameters< fvec > & fParameters
 Object of Framework parameters class.
 
const cbm::algo::kf::Setup< fvec > & fSetup
 
WindowDatafrWData
 
fscal fDefaultMass {constants::phys::MuonMass}
 mass of the propagated particle [GeV/c2]
 

Detailed Description

Class implements a clones merger algorithm for the CA track finder

Definition at line 30 of file CaTrackExtender.h.

Constructor & Destructor Documentation

◆ TrackExtender() [1/3]

cbm::algo::ca::TrackExtender::TrackExtender ( const ca::Parameters< fvec > & pars,
const fscal mass )

Default constructor.

Definition at line 26 of file CaTrackExtender.cxx.

◆ ~TrackExtender()

cbm::algo::ca::TrackExtender::~TrackExtender ( )

Destructor.

Definition at line 36 of file CaTrackExtender.cxx.

◆ TrackExtender() [2/3]

cbm::algo::ca::TrackExtender::TrackExtender ( const TrackExtender & )
default

Copy constructor.

◆ TrackExtender() [3/3]

cbm::algo::ca::TrackExtender::TrackExtender ( TrackExtender && )
default

Move constructor.

Member Function Documentation

◆ ExtendBranch()

fscal cbm::algo::ca::TrackExtender::ExtendBranch ( ca::Branch & t,
WindowData & wData )

Try to extrapolate and find additional hits on other stations.

Find additional hits for existing track both downstream and upstream

Returns
chi2

Definition at line 313 of file CaTrackExtender.cxx.

References FindMoreHits(), FitBranch(), FitBranchFast(), frWData, cbm::algo::kf::kDownstream, and cbm::algo::kf::kUpstream.

Referenced by cbm::algo::ca::TrackFinderWindow::SelectTracks().

◆ FindMoreHits()

void cbm::algo::ca::TrackExtender::FindMoreHits ( ca::Branch & t,
TrackParamV & T,
const kf::FitDirection direction,
const fvec qp0 )
private

Private methods Finds additional hits for already found track in the given direction

Parameters
t- track with hits
T- track params
dir- 0 - forward, 1 - backward
qp0- momentum value to linearize the extrapolation

Definition at line 152 of file CaTrackExtender.cxx.

References cbm::algo::ca::_fvecalignment, cbm::algo::ca::Hit::BackKey(), cbm::algo::kf::TrackParamBase< T >::C00(), cbm::algo::kf::TrackParamBase< T >::C11(), cbm::algo::kf::TrackParamBase< T >::C55(), cbm::algo::ca::WindowData::CurrentIteration(), cbm::algo::ca::GridArea::DoLoopOverEntireGrid(), cbm::algo::kf::TrackKalmanFilter< DataT >::EnergyLossCorrection(), cbm::algo::ca::Vector< T >::enlarge(), cbm::algo::kf::TrackKalmanFilter< DataT >::Extrapolate(), cbm::algo::kf::TrackKalmanFilter< DataT >::ExtrapolateLineXdX2(), cbm::algo::kf::TrackKalmanFilter< DataT >::ExtrapolateLineYdY2(), cbm::algo::kf::utils::fabs(), fDefaultMass, cbm::algo::ca::Station< DataT >::fieldSlice, cbm::algo::ca::utils::FilterHit(), fParameters, cbm::algo::ca::Hit::FrontKey(), frWData, fSetup, cbm::algo::ca::Station< DataT >::fZ, cbm::algo::kf::FieldSlice< T >::GetFieldValue(), cbm::algo::ca::Iteration::GetFirstStationIndex(), cbm::algo::ca::Iteration::GetMaxDZ(), cbm::algo::ca::GridArea::GetNextObjectId(), cbm::algo::ca::Iteration::GetPickGather(), cbm::algo::ca::WindowData::Grid(), cbm::algo::ca::WindowData::Hit(), cbm::algo::ca::Branch::Hits(), cbm::algo::ca::WindowData::IsHitKeyUsed(), cbm::algo::ca::WindowData::IsHitSuppressed(), cbm::algo::kf::kUpstream, cbm::algo::kf::TrackKalmanFilter< DataT >::MultipleScattering(), cbm::algo::kf::TrackParamBase< T >::NdfTime(), cbm::algo::ca::Branch::NofHits(), cbm::algo::kf::fmask::One(), cbm::algo::ca::Hit::RangeT(), cbm::algo::ca::Branch::RefHits(), cbm::algo::ca::Vector< T >::reserve(), cbm::algo::kf::FieldValue< T >::Set(), cbm::algo::kf::TrackKalmanFilter< DataT >::SetMask(), cbm::algo::kf::TrackKalmanFilter< DataT >::SetParticleMass(), cbm::algo::kf::TrackKalmanFilter< DataT >::SetQp0(), cbm::algo::kf::TrackKalmanFilter< DataT >::SetTrack(), sqrt(), cbm::algo::ca::Hit::Station(), cbm::algo::ca::Hit::T(), cbm::algo::kf::TrackParamBase< T >::Time(), cbm::algo::ca::Station< DataT >::timeInfo, cbm::algo::kf::TrackKalmanFilter< DataT >::Tr(), cbm::algo::kf::TrackParamBase< T >::Tx(), cbm::algo::kf::TrackParamBase< T >::Ty(), cbm::algo::ca::Hit::X(), cbm::algo::kf::TrackParamBase< T >::X(), x, cbm::algo::ca::Hit::Y(), cbm::algo::kf::TrackParamBase< T >::Y(), y, and cbm::algo::ca::Hit::Z().

Referenced by ExtendBranch().

◆ FitBranch()

void cbm::algo::ca::TrackExtender::FitBranch ( const ca::Branch & t,
TrackParamV & T,
const kf::FitDirection direction,
const fvec qp0,
const bool initParams = true )
private

like BranchFitterFast but more precise

Fits the branch. Does few passes over the hits.

Parameters
t- track branch with hits
T- track parameters
dir- false - forward, true - backward
qp0- momentum value to linearize the extrapolation
initParams- should params be ititialized. 1 - yes.

Definition at line 141 of file CaTrackExtender.cxx.

References FitBranchFast().

Referenced by ExtendBranch().

◆ FitBranchFast()

void cbm::algo::ca::TrackExtender::FitBranchFast ( const ca::Branch & t,
TrackParamV & T,
const kf::FitDirection direction,
const fvec qp0,
const bool initParams = true )
private

Fits the branch. Does only one pass over the hits.

Parameters
t- track branch with hits
T- track parameters
dir- false - forward, true - backward
qp0- momentum value to linearize the extrapolation
initParams- should params be ititialized. 1 - yes.

Definition at line 41 of file CaTrackExtender.cxx.

References cbm::algo::ca::_fvecalignment, CBMCA_DEBUG_ASSERT, cbm::algo::ca::Hit::dT2(), cbm::algo::ca::Hit::dX2(), cbm::algo::ca::Hit::dXY(), cbm::algo::ca::Hit::dY2(), cbm::algo::kf::TrackKalmanFilter< DataT >::EnergyLossCorrection(), cbm::algo::kf::TrackKalmanFilter< DataT >::Extrapolate(), fDefaultMass, cbm::algo::ca::Station< DataT >::fieldSlice, cbm::algo::ca::utils::FilterHit(), fParameters, frWData, fSetup, cbm::algo::ca::Station< DataT >::fZ, cbm::algo::kf::FieldSlice< T >::GetFieldValue(), cbm::algo::ca::WindowData::Hit(), cbm::algo::ca::Branch::Hits(), hits, cbm::algo::kf::kUpstream, cbm::algo::kf::TrackKalmanFilter< DataT >::MultipleScattering(), cbm::algo::ca::Branch::NofHits(), cbm::algo::kf::fmask::One(), cbm::algo::kf::FieldValue< T >::Set(), cbm::algo::kf::TrackKalmanFilter< DataT >::SetMask(), cbm::algo::kf::TrackKalmanFilter< DataT >::SetParticleMass(), cbm::algo::kf::TrackKalmanFilter< DataT >::SetQp0(), cbm::algo::kf::TrackKalmanFilter< DataT >::SetTrack(), cbm::algo::ca::Hit::Station(), cbm::algo::ca::Hit::T(), cbm::algo::ca::Station< DataT >::timeInfo, cbm::algo::kf::TrackKalmanFilter< DataT >::Tr(), cbm::algo::ca::Hit::X(), cbm::algo::ca::Hit::Y(), and cbm::algo::ca::Hit::Z().

Referenced by ExtendBranch(), and FitBranch().

◆ operator=() [1/2]

TrackExtender & cbm::algo::ca::TrackExtender::operator= ( const TrackExtender & )
delete

Copy assignment operator.

◆ operator=() [2/2]

TrackExtender & cbm::algo::ca::TrackExtender::operator= ( TrackExtender && )
delete

Move assignment operator.

Member Data Documentation

◆ fDefaultMass

fscal cbm::algo::ca::TrackExtender::fDefaultMass {constants::phys::MuonMass}
private

mass of the propagated particle [GeV/c2]

Definition at line 93 of file CaTrackExtender.h.

Referenced by FindMoreHits(), and FitBranchFast().

◆ fParameters

const Parameters<fvec>& cbm::algo::ca::TrackExtender::fParameters
private

Object of Framework parameters class.


Data members

Definition at line 90 of file CaTrackExtender.h.

Referenced by FindMoreHits(), and FitBranchFast().

◆ frWData

WindowData* cbm::algo::ca::TrackExtender::frWData
private

Definition at line 92 of file CaTrackExtender.h.

Referenced by ExtendBranch(), FindMoreHits(), and FitBranchFast().

◆ fSetup

const cbm::algo::kf::Setup<fvec>& cbm::algo::ca::TrackExtender::fSetup
private

Definition at line 91 of file CaTrackExtender.h.

Referenced by FindMoreHits(), and FitBranchFast().


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