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 ()
 
int GetBestMcTrackIdForCaHit (int iHit) const
 Gets number of stations before the pipe (MVD stations in CBM)
 
McMatch GetMcMatchForCaHit (int iHit) const
 
void SetNofThreads (int nThreads)
 Sets number of threads.
 
int GetNofThreads () const
 Gets number of threads.
 
void SetMcData (const ca::McData *pMCData)
 
const ca::McDataGetMcData () const
 

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.
 
const ca::McDatafpMcData
 Monte Carlo data container.
 

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.

Referenced by Framework(), Framework(), operator=(), and operator=().

◆ Framework() [2/3]

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

Copy constructor.

References Framework().

◆ Framework() [3/3]

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

Move constructor.

References Framework().

◆ ~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

Definition at line 141 of file CaFramework.h.

References fInputData, fpTrackFinder, fRecoHits, fRecoTracks, and fTsHeader.

◆ Finish()

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

Definition at line 34 of file CaFramework.cxx.

◆ GetBestMcTrackIdForCaHit()

int cbm::algo::ca::Framework::GetBestMcTrackIdForCaHit ( int iHit) const

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.

References fpMcData.

◆ 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.

◆ 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.

◆ GetMcData()

const ca::McData * cbm::algo::ca::Framework::GetMcData ( ) const
inline

Definition at line 168 of file CaFramework.h.

References fpMcData.

◆ GetMcMatchForCaHit()

McMatch cbm::algo::ca::Framework::GetMcMatchForCaHit ( int iHit) const

Definition at line 70 of file CaFramework.cxx.

References fpMcData.

◆ GetMonitorData()

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

Gets monitor data.

Definition at line 131 of file CaFramework.h.

References fMonitorData.

◆ GetNofThreads()

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

Gets number of threads.

Definition at line 164 of file CaFramework.h.

References fNofThreads.

◆ GetParameters()

◆ GetTrackingMode()

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

Definition at line 136 of file CaFramework.h.

References fpTrackFinder.

◆ 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.

◆ operator=() [1/2]

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

Copy assignment operator.

References Framework().

◆ operator=() [2/2]

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

Move assignment operator.

References Framework().

◆ 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.

◆ 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.

◆ 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().

◆ SetMcData()

void cbm::algo::ca::Framework::SetMcData ( const ca::McData * pMCData)
inline

Definition at line 166 of file CaFramework.h.

References fpMcData.

◆ SetMonitorData()

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

Sets monitor data.

Definition at line 134 of file CaFramework.h.

References fMonitorData.

◆ SetNofThreads()

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

Sets number of threads.

Definition at line 156 of file CaFramework.h.

References fNofThreads.

◆ 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 204 of file CaFramework.h.

◆ EventTime

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

Definition at line 203 of file CaFramework.h.

◆ fCaRecoTime

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

Definition at line 198 of file CaFramework.h.

Referenced by Init().

◆ fDefaultMass

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

mass of the propagated particle [GeV/c2]

Definition at line 172 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 180 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 185 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 187 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 171 of file CaFramework.h.

Referenced by ReceiveParameters().

◆ fParameters

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

Object of Framework parameters class.

Definition at line 179 of file CaFramework.h.

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

◆ fpMcData

const ca::McData* cbm::algo::ca::Framework::fpMcData
private

Monte Carlo data container.

Definition at line 193 of file CaFramework.h.

Referenced by GetBestMcTrackIdForCaHit(), GetMcData(), GetMcMatchForCaHit(), and SetMcData().

◆ fpTrackFinder

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

Track finder steer class for the entire time slice.

Definition at line 191 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 201 of file CaFramework.h.

Referenced by FindTracks().

◆ fRecoTracks

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

reconstructed tracks

Definition at line 200 of file CaFramework.h.

Referenced by FindTracks().

◆ fTsHeader

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

current timeslice header

Definition at line 173 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 182 of file CaFramework.h.


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