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

#include <CaFramework.h>

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

Public Member Functions

 Framework ()
 Constructor.
 
 Framework (const Framework &)=delete
 Copy constructor.
 
 Framework (Framework &&)=delete
 Move constructor.
 
Frameworkoperator= (const Framework &)=delete
 Copy assignment operator.
 
Frameworkoperator= (Framework &&)=delete
 Move assignment operator.
 
 ~Framework ()=default
 Destructor.
 
void SetParameters (const Parameters< fvec > &other)
 
const Parameters< fvec > & GetParameters () const
 Gets a pointer to the Framework parameters object.
 
void ReceiveInputData (InputData &&inputData)
 Receives input data.
 
void ReceiveParameters (Parameters< fvec > &&parameters)
 Receives tracking parameters.
 
const InputDataGetInputData () const
 Gets pointer to input data object for external access.
 
int PackIndex (const int &a, const int &b, const int &c)
 
int UnPackIndex (const int &i, int &a, int &b, int &c)
 
void SetDefaultParticleMass (fscal mass)
 Sets a default particle mass for the track fit.
 
fscal GetDefaultParticleMass () const
 
fscal GetDefaultParticleMass2 () const
 
const TimesliceHeaderGetTsHeader () const
 Gets timeslice header.
 
void Init (const TrackingMode mode)
 
void Finish ()
 
void PrintHits ()
 
const TrackingMonitorDataGetMonitorData () const
 Gets monitor data.
 
void SetMonitorData (const TrackingMonitorData &monitorData)
 Sets monitor data.
 
TrackingMode GetTrackingMode ()
 
const std::vector< ca::WindowData > & GetWData ()
 
void FindTracks ()
 
void SetNofThreads (int nThreads)
 Sets number of threads.
 
int GetNofThreads () const
 Gets number of threads.
 

Static Public Member Functions

static int GetMcTrackIdForCaHit (int iHit)
 Gets number of stations before the pipe (MVD stations in CBM)
 
static int GetMcTrackIdForWindowHit (int iGridHit)
 Get mc track ID for a hit (debug tool)
 

Public Attributes

double fCaRecoTime {0.}
 
Vector< TrackfRecoTracks {"Framework::fRecoTracks"}
 reconstructed tracks
 
Vector< ca::HitIndex_tfRecoHits {"Framework::fRecoHits"}
 packed hits of reconstructed tracks
 
fvec EventTime {0.f}
 
fvec Err {0.f}
 

Private Member Functions

bool checkTripletMatch (const ca::Triplet &l, const ca::Triplet &r, fscal &dchi2) const
 

Private Attributes

int fNstationsBeforePipe {0}
 number of stations before pipe (MVD stations in CBM)
 
fscal fDefaultMass {constants::phys::MuonMass}
 mass of the propagated particle [GeV/c2]
 
TimesliceHeader fTsHeader
 current timeslice header
 
Parameters< fvecfParameters
 Object of Framework parameters class.
 
InputData fInputData
 Tracking input data.
 
Vector< unsigned char > fvHitKeyFlags
 List of key flags: has been this hit or cluster already used.
 
TrackingMonitorData fMonitorData {}
 Tracking monitor data (statistics per call)
 
int fNofThreads = 1
 
std::unique_ptr< ca::TrackFinderfpTrackFinder
 Track finder steer class for the entire time slice.
 

Detailed Description

Main class of CA track finder algorithm Class implements a clones merger algorithm for the CA track finder

Definition at line 55 of file CaFramework.h.

Constructor & Destructor Documentation

◆ Framework() [1/3]

cbm::algo::ca::Framework::Framework ( )
inline

Constructor.

Definition at line 64 of file CaFramework.h.

◆ Framework() [2/3]

cbm::algo::ca::Framework::Framework ( const Framework & )
delete

Copy constructor.

◆ Framework() [3/3]

cbm::algo::ca::Framework::Framework ( Framework && )
delete

Move constructor.

◆ ~Framework()

cbm::algo::ca::Framework::~Framework ( )
default

Destructor.

Member Function Documentation

◆ checkTripletMatch()

bool cbm::algo::ca::Framework::checkTripletMatch ( const ca::Triplet & l,
const ca::Triplet & r,
fscal & dchi2 ) const
private

◆ FindTracks()

void cbm::algo::ca::Framework::FindTracks ( )
inline

◆ Finish()

void cbm::algo::ca::Framework::Finish ( )

Definition at line 34 of file CaFramework.cxx.

Referenced by CbmL1::Finish().

◆ GetDefaultParticleMass()

fscal cbm::algo::ca::Framework::GetDefaultParticleMass ( ) const
inline

Gets default particle mass

Returns
particle mass

Definition at line 110 of file CaFramework.h.

References fDefaultMass.

Referenced by CbmL1::FillFitHistos(), and CbmL1::TrackFitPerformance().

◆ GetDefaultParticleMass2()

fscal cbm::algo::ca::Framework::GetDefaultParticleMass2 ( ) const
inline

Gets default particle mass squared

Returns
particle mass squared

Definition at line 114 of file CaFramework.h.

References fDefaultMass.

◆ GetInputData()

const InputData & cbm::algo::ca::Framework::GetInputData ( ) const
inline

Gets pointer to input data object for external access.

Definition at line 96 of file CaFramework.h.

References fInputData.

Referenced by CbmL1::EfficienciesPerformance(), CbmL1::HistoPerformance(), cbm::algo::TrackingChain::PrepareOutput(), and CbmL1::Reconstruct().

◆ GetMcTrackIdForCaHit()

int cbm::algo::ca::Framework::GetMcTrackIdForCaHit ( int iHit)
static

Gets number of stations before the pipe (MVD stations in CBM)

Get mc track ID for a hit (debug tool)

Definition at line 60 of file CaFramework.cxx.

Referenced by cbm::algo::ca::TrackFinderWindow::CreateTrackCandidates(), cbm::algo::ca::TripletConstructor::FindTriplets(), and cbm::algo::ca::TrackFinderWindow::SelectTracks().

◆ GetMcTrackIdForWindowHit()

◆ GetMonitorData()

const TrackingMonitorData & cbm::algo::ca::Framework::GetMonitorData ( ) const
inline

Gets monitor data.

Definition at line 131 of file CaFramework.h.

References fMonitorData.

Referenced by CbmL1::Reconstruct(), and cbm::algo::TrackingChain::Run().

◆ GetNofThreads()

int cbm::algo::ca::Framework::GetNofThreads ( ) const
inline

Gets number of threads.

Definition at line 167 of file CaFramework.h.

References fNofThreads.

Referenced by cbm::algo::TrackingChain::PrepareOutput().

◆ GetParameters()

◆ GetTrackingMode()

TrackingMode cbm::algo::ca::Framework::GetTrackingMode ( )
inline

Definition at line 136 of file CaFramework.h.

References fpTrackFinder.

Referenced by CbmL1::TrackFitPerformance().

◆ GetTsHeader()

const TimesliceHeader & cbm::algo::ca::Framework::GetTsHeader ( ) const
inline

Gets timeslice header.

Definition at line 117 of file CaFramework.h.

References fTsHeader.

◆ GetWData()

const std::vector< ca::WindowData > & cbm::algo::ca::Framework::GetWData ( )
inline

Definition at line 138 of file CaFramework.h.

References fpTrackFinder.

◆ Init()

void cbm::algo::ca::Framework::Init ( const TrackingMode mode)

---— FUNCTIONAL PART ---—

Definition at line 26 of file CaFramework.cxx.

References fCaRecoTime, fDefaultMass, fMonitorData, fNofThreads, fParameters, and fpTrackFinder.

Referenced by cbm::algo::TrackingChain::Init(), and CbmL1::Init().

◆ operator=() [1/2]

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

Copy assignment operator.

◆ operator=() [2/2]

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

Move assignment operator.

◆ PackIndex()

int cbm::algo::ca::Framework::PackIndex ( const int & a,
const int & b,
const int & c )

◆ PrintHits()

void cbm::algo::ca::Framework::PrintHits ( )

◆ ReceiveInputData()

void cbm::algo::ca::Framework::ReceiveInputData ( InputData && inputData)

Receives input data.

Definition at line 41 of file CaFramework.cxx.

References fInputData.

Referenced by cbm::algo::TrackingChain::PrepareInput(), and CbmL1::Reconstruct().

◆ ReceiveParameters()

void cbm::algo::ca::Framework::ReceiveParameters ( Parameters< fvec > && parameters)

Receives tracking parameters.

Definition at line 50 of file CaFramework.cxx.

References fNstationsBeforePipe, cbm::algo::kf::GlobalField::ForceUseOfOriginalField(), and fParameters.

Referenced by cbm::algo::TrackingChain::Init(), and CbmL1::Init().

◆ SetDefaultParticleMass()

void cbm::algo::ca::Framework::SetDefaultParticleMass ( fscal mass)
inline

Sets a default particle mass for the track fit.

The function is used during the reconstruction in order to estimate the multiple scattering and energy loss

Parameters
massDefault particle mass

Definition at line 106 of file CaFramework.h.

References fDefaultMass.

Referenced by CbmL1GlobalTrackFinder::SetDefaultParticlePDG(), and SetDefaultParticlePDG().

◆ SetMonitorData()

void cbm::algo::ca::Framework::SetMonitorData ( const TrackingMonitorData & monitorData)
inline

Sets monitor data.

Definition at line 134 of file CaFramework.h.

References fMonitorData.

Referenced by CbmL1::Reconstruct(), and cbm::algo::TrackingChain::Run().

◆ SetNofThreads()

void cbm::algo::ca::Framework::SetNofThreads ( int nThreads)
inline

Sets number of threads.

Definition at line 159 of file CaFramework.h.

References fNofThreads.

Referenced by cbm::algo::TrackingChain::Init().

◆ SetParameters()

void cbm::algo::ca::Framework::SetParameters ( const Parameters< fvec > & other)
inline

Sets Framework parameters object

Parameters
other- reference to the Parameters object

Definition at line 83 of file CaFramework.h.

References fParameters.

◆ UnPackIndex()

int cbm::algo::ca::Framework::UnPackIndex ( const int & i,
int & a,
int & b,
int & c )

Member Data Documentation

◆ Err

fvec cbm::algo::ca::Framework::Err {0.f}

Definition at line 201 of file CaFramework.h.

◆ EventTime

fvec cbm::algo::ca::Framework::EventTime {0.f}

Definition at line 200 of file CaFramework.h.

◆ fCaRecoTime

double cbm::algo::ca::Framework::fCaRecoTime {0.}

Definition at line 195 of file CaFramework.h.

Referenced by Init(), and CbmL1::Reconstruct().

◆ fDefaultMass

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

mass of the propagated particle [GeV/c2]

Definition at line 171 of file CaFramework.h.

Referenced by GetDefaultParticleMass(), GetDefaultParticleMass2(), Init(), and SetDefaultParticleMass().

◆ fInputData

InputData cbm::algo::ca::Framework::fInputData
private

Tracking input data.

Definition at line 179 of file CaFramework.h.

Referenced by FindTracks(), GetInputData(), and ReceiveInputData().

◆ fMonitorData

TrackingMonitorData cbm::algo::ca::Framework::fMonitorData {}
private

Tracking monitor data (statistics per call)

Definition at line 184 of file CaFramework.h.

Referenced by GetMonitorData(), Init(), and SetMonitorData().

◆ fNofThreads

int cbm::algo::ca::Framework::fNofThreads = 1
private

Number of threads to execute the track-finder

Definition at line 186 of file CaFramework.h.

Referenced by GetNofThreads(), Init(), and SetNofThreads().

◆ fNstationsBeforePipe

int cbm::algo::ca::Framework::fNstationsBeforePipe {0}
private

number of stations before pipe (MVD stations in CBM)

Definition at line 170 of file CaFramework.h.

Referenced by ReceiveParameters().

◆ fParameters

Parameters<fvec> cbm::algo::ca::Framework::fParameters
private

Object of Framework parameters class.

Definition at line 178 of file CaFramework.h.

Referenced by GetParameters(), Init(), ReceiveParameters(), and SetParameters().

◆ fpTrackFinder

std::unique_ptr<ca::TrackFinder> cbm::algo::ca::Framework::fpTrackFinder
private

Track finder steer class for the entire time slice.

Definition at line 190 of file CaFramework.h.

Referenced by FindTracks(), GetTrackingMode(), GetWData(), and Init().

◆ fRecoHits

Vector<ca::HitIndex_t> cbm::algo::ca::Framework::fRecoHits {"Framework::fRecoHits"}

packed hits of reconstructed tracks

Definition at line 198 of file CaFramework.h.

Referenced by FindTracks(), CbmL1::IdealTrackFinder(), cbm::algo::TrackingChain::PrepareOutput(), and CbmL1::Reconstruct().

◆ fRecoTracks

Vector<Track> cbm::algo::ca::Framework::fRecoTracks {"Framework::fRecoTracks"}

reconstructed tracks

Definition at line 197 of file CaFramework.h.

Referenced by FindTracks(), CbmL1::IdealTrackFinder(), cbm::algo::TrackingChain::PrepareOutput(), and CbmL1::Reconstruct().

◆ fTsHeader

TimesliceHeader cbm::algo::ca::Framework::fTsHeader
private

current timeslice header

Definition at line 172 of file CaFramework.h.

Referenced by FindTracks(), and GetTsHeader().

◆ fvHitKeyFlags

Vector<unsigned char> cbm::algo::ca::Framework::fvHitKeyFlags
private
Initial value:
{
"Framework::fvHitKeyFlags"}

List of key flags: has been this hit or cluster already used.

Definition at line 181 of file CaFramework.h.


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