CbmRoot
Loading...
Searching...
No Matches
cbm::algo::TrackingChain Class Reference

A chain for tracking algorithm. More...

#include <TrackingChain.h>

Inheritance diagram for cbm::algo::TrackingChain:
[legend]
Collaboration diagram for cbm::algo::TrackingChain:
[legend]

Classes

struct  Input_t
 Input to the TrackingChain. More...
 
struct  Output_t
 Output from the TrackingChain. More...
 

Public Member Functions

 TrackingChain (std::shared_ptr< HistogramSender > histoSender=nullptr)
 Constructor from parameters.
 
const ca::TrackingMonitorGetCaMonitor () const
 Gets internal monitor.
 
void Init ()
 Provides action in the initialization of the run.
 
void RegisterSetup (std::shared_ptr< TrackingSetup > pSetup)
 Registers tracking setup.
 
Output_t Run (Input_t recoResults)
 Provides action for a given time-slice.
 
void Finalize ()
 Provides action in the end of the run.
 
const ChainContextGetContext ()
 
void SetContext (const ChainContext *ctx)
 
const OptionsOpts () const
 
const RecoParamsParams () const
 
bool HasMonitor () const
 
Monitor & GetMonitor () const
 

Private Member Functions

void PrepareInput (Input_t recoResults)
 Prepares input data.
 
Output_t PrepareOutput ()
 Prepares output data.
 
template<ca::EDetectorID DetID>
void ReadHits (PartitionedSpan< const ca::HitTypes_t::at< DetID > > hits)
 Reads from different detector subsystems.
 

Private Attributes

ca::TrackingMonitor fCaMonitor {}
 CA internal monitor (debug purposes)
 
ca::TrackingMonitorData fCaMonitorData {}
 CA monitor data object.
 
ca::Framework fCaFramework {}
 CA framework instance.
 
ca::DataManager fCaDataManager {}
 CA data manager.
 
ca::Qa fQa
 CA QA builder.
 
std::shared_ptr< TrackingSetupfpSetup = nullptr
 setup interface
 
ca::DetIdArray_t< bool > fbDetUsed
 Flags of detector subsystems used in tracking.
 
TrackingChainConfig fConfig
 Tracking config.
 
ca::HitKeyIndex_t fNofHitKeys = 0
 Current number of hit keys (aux)
 
ca::Vector< std::tuple< ca::EDetectorID, uint32_t, uint32_t > > faHitExternalIndices {"faHitExternalIndices"}
 External indices of used hits.
 
const ChainContextfContext = nullptr
 

Static Private Attributes

static constexpr bool kDEBUG = false
 Debug mode.
 

Detailed Description

A chain for tracking algorithm.

The class executes a tracking algorithm in the online data reconstruction chain.

Constructor & Destructor Documentation

◆ TrackingChain()

TrackingChain::TrackingChain ( std::shared_ptr< HistogramSender > histoSender = nullptr)

Constructor from parameters.

Parameters
histoSenderA shared pointer to a histogram sender

Definition at line 42 of file TrackingChain.cxx.

Member Function Documentation

◆ Finalize()

void TrackingChain::Finalize ( )

◆ GetCaMonitor()

const ca::TrackingMonitor & cbm::algo::TrackingChain::GetCaMonitor ( ) const
inline

Gets internal monitor.

Definition at line 74 of file TrackingChain.h.

References fCaMonitor.

◆ GetContext()

const ChainContext * cbm::algo::SubChain::GetContext ( )
inlineinherited

◆ GetMonitor()

◆ HasMonitor()

◆ Init()

◆ Opts()

◆ Params()

const RecoParams & cbm::algo::SubChain::Params ( ) const
inlineinherited

Definition at line 21 of file SubChain.h.

References cbm::algo::SubChain::fContext.

Referenced by cbm::algo::Reco::Init(), and cbm::algo::Reco::Run().

◆ PrepareInput()

◆ PrepareOutput()

TrackingChain::Output_t TrackingChain::PrepareOutput ( )
private

Prepares output data.

Definition at line 161 of file TrackingChain.cxx.

References cbm::algo::ca::Monitor< ECounterKey, ETimerKey >::AddMonitorData(), cbm::algo::ca::Qa::Exec(), faHitExternalIndices, fCaFramework, fCaMonitor, fCaMonitorData, cbm::algo::ca::FindTracks, fQa, cbm::algo::ca::Framework::fRecoHits, cbm::algo::ca::Framework::fRecoTracks, cbm::algo::ca::Monitor< ECounterKey, ETimerKey >::GetCounterValue(), cbm::algo::ca::MonitorData< C, T >::GetCounterValue(), cbm::algo::ca::InputData::GetHit(), cbm::algo::ca::Framework::GetInputData(), cbm::algo::ca::Framework::GetNofThreads(), cbm::algo::ca::MonitorData< C, T >::GetTimer(), cbm::algo::ca::Timer::GetTotal(), cbm::algo::ca::Hit::Id(), cbm::algo::ca::MonitorData< C, T >::IncrementCounter(), cbm::algo::ca::Qa::IsSenderDefined(), kDEBUG, cbm::algo::ca::kSts, cbm::algo::ca::kTof, cbm::algo::ca::kTrd, L_, cbm::algo::TrackingChain::Output_t::monitorData, cbm::algo::ca::Vector< T >::push_back(), cbm::algo::ca::Qa, cbm::algo::ca::RecoStsHit, cbm::algo::ca::RecoTofHit, cbm::algo::ca::RecoTrack, cbm::algo::ca::RecoTrdHit, cbm::algo::ca::Qa::RegisterInputData(), cbm::algo::ca::Qa::RegisterRecoHitIndices(), cbm::algo::ca::Qa::RegisterTracks(), cbm::algo::ca::Vector< T >::reset(), cbm::algo::ca::MonitorData< C, T >::StartTimer(), cbm::algo::ca::MonitorData< C, T >::StopTimer(), cbm::algo::TrackingChain::Output_t::stsHitIndices, cbm::algo::TrackingChain::Output_t::tofHitIndices, cbm::algo::ca::TrackingCall, cbm::algo::ca::TrackingChain, cbm::algo::TrackingChain::Output_t::tracks, and cbm::algo::TrackingChain::Output_t::trdHitIndices.

Referenced by Run().

◆ ReadHits()

template<EDetectorID DetID>
void TrackingChain::ReadHits ( PartitionedSpan< const ca::HitTypes_t::at< DetID > > hits)
private

◆ RegisterSetup()

void cbm::algo::TrackingChain::RegisterSetup ( std::shared_ptr< TrackingSetup > pSetup)
inline

Registers tracking setup.

Definition at line 80 of file TrackingChain.h.

References fpSetup.

◆ Run()

◆ SetContext()

void cbm::algo::SubChain::SetContext ( const ChainContext * ctx)
inlineinherited

Definition at line 18 of file SubChain.h.

References cbm::algo::SubChain::fContext.

Referenced by cbm::algo::Reco::Init(), and cbm::algo::TrackingSetup::Init().

Member Data Documentation

◆ faHitExternalIndices

ca::Vector<std::tuple<ca::EDetectorID, uint32_t, uint32_t> > cbm::algo::TrackingChain::faHitExternalIndices {"faHitExternalIndices"}
private

External indices of used hits.

Note
Indexing: [globalHitID], value: (DetID, partitionID, hitID)

Definition at line 128 of file TrackingChain.h.

Referenced by PrepareInput(), PrepareOutput(), and ReadHits().

◆ fbDetUsed

ca::DetIdArray_t<bool> cbm::algo::TrackingChain::fbDetUsed
private

Flags of detector subsystems used in tracking.

Definition at line 118 of file TrackingChain.h.

Referenced by Init(), and PrepareInput().

◆ fCaDataManager

ca::DataManager cbm::algo::TrackingChain::fCaDataManager {}
private

CA data manager.

Definition at line 113 of file TrackingChain.h.

Referenced by PrepareInput(), and ReadHits().

◆ fCaFramework

ca::Framework cbm::algo::TrackingChain::fCaFramework {}
private

CA framework instance.

Definition at line 112 of file TrackingChain.h.

Referenced by Init(), PrepareInput(), PrepareOutput(), ReadHits(), and Run().

◆ fCaMonitor

ca::TrackingMonitor cbm::algo::TrackingChain::fCaMonitor {}
private

CA internal monitor (debug purposes)

Definition at line 110 of file TrackingChain.h.

Referenced by Finalize(), GetCaMonitor(), Init(), and PrepareOutput().

◆ fCaMonitorData

ca::TrackingMonitorData cbm::algo::TrackingChain::fCaMonitorData {}
private

CA monitor data object.

Definition at line 111 of file TrackingChain.h.

Referenced by PrepareOutput(), ReadHits(), and Run().

◆ fConfig

TrackingChainConfig cbm::algo::TrackingChain::fConfig
private

Tracking config.

Definition at line 123 of file TrackingChain.h.

Referenced by Finalize(), and Init().

◆ fContext

◆ fNofHitKeys

ca::HitKeyIndex_t cbm::algo::TrackingChain::fNofHitKeys = 0
private

Current number of hit keys (aux)

Definition at line 124 of file TrackingChain.h.

Referenced by PrepareInput(), and ReadHits().

◆ fpSetup

std::shared_ptr<TrackingSetup> cbm::algo::TrackingChain::fpSetup = nullptr
private

setup interface

Definition at line 116 of file TrackingChain.h.

Referenced by Init(), ReadHits(), and RegisterSetup().

◆ fQa

ca::Qa cbm::algo::TrackingChain::fQa
private

CA QA builder.

Definition at line 114 of file TrackingChain.h.

Referenced by Init(), and PrepareOutput().

◆ kDEBUG

bool cbm::algo::TrackingChain::kDEBUG = false
staticconstexprprivate

Debug mode.

Definition at line 130 of file TrackingChain.h.

Referenced by PrepareOutput().


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