|
CbmRoot
|
A chain for tracking algorithm. More...
#include <TrackingChain.h>
Classes | |
| struct | Input_t |
| Input to the TrackingChain. More... | |
| struct | Output_t |
| Output from the TrackingChain. More... | |
Public Member Functions | |
| TrackingChain (ECbmRecoMode recoMode, const std::unique_ptr< cbm::algo::qa::Manager > &qaManager=nullptr, std::string_view name="") | |
| Constructor from parameters. | |
| const ca::TrackingMonitor & | GetCaMonitor () const |
| Gets internal monitor. | |
| void | Init (const std::string &caParPath) |
| Provides action in the initialization of the run. | |
| void | RegisterSetup (std::shared_ptr< RecoSetup > pSetup) |
| Registers reco-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 ChainContext * | GetContext () |
| void | SetContext (const ChainContext *ctx) |
| const Options & | Opts () const |
| const RecoParams & | Params () 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< RecoSetup > | fpSetup |
| setup interface | |
| ca::DetIdArray_t< bool > | fbDetUsed |
| Flags of detector subsystems used in tracking. | |
| 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. | |
| ECbmRecoMode | fRecoMode {ECbmRecoMode::Undefined} |
| Reconstruction mode. | |
| const ChainContext * | fContext = nullptr |
Static Private Attributes | |
| static constexpr bool | kDEBUG = false |
| Debug mode. | |
| static constexpr bool | kStoreMonitor = false |
| Store monitor (debug) | |
A chain for tracking algorithm.
The class executes a tracking algorithm in the online data reconstruction chain.
Definition at line 43 of file TrackingChain.h.
| TrackingChain::TrackingChain | ( | ECbmRecoMode | recoMode, |
| const std::unique_ptr< cbm::algo::qa::Manager > & | qaManager = nullptr, | ||
| std::string_view | name = "" ) |
Constructor from parameters.
| recoMode | Reconstruction mode |
| pManager | a QA-manager |
| name | A name of the task (histograms directory) |
Definition at line 40 of file TrackingChain.cxx.
| void TrackingChain::Finalize | ( | ) |
Provides action in the end of the run.
Definition at line 112 of file TrackingChain.cxx.
References fCaMonitor, kStoreMonitor, and L_.
|
inline |
|
inlineinherited |
Definition at line 16 of file SubChain.h.
References fContext.
|
inlineinherited |
Definition at line 25 of file SubChain.h.
References fContext, and HasMonitor().
Referenced by cbm::algo::Reco::QueueEvbuildMetrics(), cbm::algo::Reco::QueueProcessingExtraMetrics(), cbm::algo::Reco::QueueProcessingMetrics(), cbm::algo::Reco::QueueStsRecoMetrics(), cbm::algo::Reco::QueueTofCalibMetrics(), cbm::algo::Reco::QueueTofRecoMetrics(), cbm::algo::Reco::QueueTrackingMetrics(), cbm::algo::Reco::QueueTrdRecoMetrics(), and cbm::algo::Reco::QueueUnpackerMetricsDet().
|
inlineinherited |
Definition at line 23 of file SubChain.h.
References fContext.
Referenced by GetMonitor(), cbm::algo::Reco::QueueEvbuildMetrics(), cbm::algo::Reco::QueueProcessingExtraMetrics(), cbm::algo::Reco::QueueProcessingMetrics(), cbm::algo::Reco::QueueStsRecoMetrics(), cbm::algo::Reco::QueueTofCalibMetrics(), cbm::algo::Reco::QueueTofRecoMetrics(), cbm::algo::Reco::QueueTrackingMetrics(), cbm::algo::Reco::QueueTrdRecoMetrics(), and cbm::algo::Reco::QueueUnpackerMetricsDet().
| void TrackingChain::Init | ( | const std::string & | caParPath | ) |
Provides action in the initialization of the run.
| caParPath | Path to the CA parameters file |
Definition at line 50 of file TrackingChain.cxx.
References CL, fbDetUsed, fCaFramework, fCaMonitor, fpSetup, fQa, fRecoMode, cbm::algo::openmp::GetMaxThreads(), GNb, cbm::algo::ca::kMcbm, cbm::algo::ca::kSts, cbm::algo::ca::kTof, cbm::algo::ca::kTrd, L_, cbm::algo::ca::ParametersIO::Load(), cbm::algo::SubChain::Opts(), and Timeslice.
|
inlineinherited |
Definition at line 20 of file SubChain.h.
References fContext.
Referenced by cbm::algo::Reco::Finalize(), cbm::algo::Reco::Init(), cbm::algo::TrackingChain::Init(), cbm::algo::sts::HitfinderChain::operator()(), cbm::algo::Reco::PrintTimings(), cbm::algo::Reco::QueueEvbuildMetrics(), cbm::algo::Reco::QueueProcessingExtraMetrics(), cbm::algo::Reco::QueueProcessingMetrics(), cbm::algo::Reco::QueueStsRecoMetrics(), cbm::algo::Reco::QueueTofCalibMetrics(), cbm::algo::Reco::QueueTofRecoMetrics(), cbm::algo::Reco::QueueTrackingMetrics(), cbm::algo::Reco::QueueTrdRecoMetrics(), cbm::algo::Reco::QueueUnpackerMetricsDet(), cbm::algo::Reco::Run(), and cbm::algo::Reco::Validate().
|
inlineinherited |
Definition at line 21 of file SubChain.h.
References fContext.
Referenced by cbm::algo::Reco::Init(), cbm::algo::sts::HitfinderChain::operator()(), and cbm::algo::Reco::Run().
|
private |
Prepares input data.
| recoResults | Structure of reconstruction results |
Definition at line 125 of file TrackingChain.cxx.
References faHitExternalIndices, fbDetUsed, fCaDataManager, fCaFramework, fCaMonitorData, fNofHitKeys, cbm::algo::ca::InputDataTransmission, cbm::algo::ca::kSts, cbm::algo::ca::kTof, cbm::algo::ca::kTrd, L_, cbm::algo::ca::PrepareStsHits, cbm::algo::ca::PrepareTofHits, cbm::algo::ca::PrepareTrdHits, ReadHits(), cbm::algo::TrackingChain::Input_t::stsHits, cbm::algo::TrackingChain::Input_t::tofHits, and cbm::algo::TrackingChain::Input_t::trdHits.
Referenced by Run().
|
private |
Prepares output data.
Definition at line 158 of file TrackingChain.cxx.
References cbm::algo::ca::Monitor< ECounterKey, ETimerKey >::AddMonitorData(), faHitExternalIndices, fCaFramework, fCaMonitor, fCaMonitorData, cbm::algo::ca::FindTracks, fQa, fRecoMode, 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::Vector< T >::reset(), cbm::algo::TrackingChain::Output_t::stsHitIndices, Timeslice, 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().
|
private |
Reads from different detector subsystems.
| DetID | Detector ID |
| hits | Hits vector |
FIXME: Define ranges from the hit, when will be available
Definition at line 233 of file TrackingChain.cxx.
References cbm::algo::ca::Hit::BackKey(), cbm::algo::ca::CaHitCreation, cbm::algo::ca::Hit::Check(), faHitExternalIndices, fCaDataManager, fCaFramework, fCaMonitorData, fNofHitKeys, fpSetup, fRecoMode, cbm::algo::ca::Hit::FrontKey(), hits, cbm::algo::ca::kDetName, cbm::algo::ca::kMuch, cbm::algo::ca::kMvd, cbm::algo::ca::kSts, cbm::algo::ca::kTof, cbm::algo::ca::kTrd, L_, cbm::algo::ca::Hit::SetBackKey(), cbm::algo::ca::Hit::SetDt2(), cbm::algo::ca::Hit::SetDx2(), cbm::algo::ca::Hit::SetDxy(), cbm::algo::ca::Hit::SetDy2(), cbm::algo::ca::Hit::SetFrontKey(), cbm::algo::ca::Hit::SetId(), cbm::algo::ca::Hit::SetRangeT(), cbm::algo::ca::Hit::SetRangeX(), cbm::algo::ca::Hit::SetRangeY(), cbm::algo::ca::Hit::SetStation(), cbm::algo::ca::Hit::SetT(), cbm::algo::ca::Hit::SetX(), cbm::algo::ca::Hit::SetY(), cbm::algo::ca::Hit::SetZ(), sqrt(), cbm::algo::ca::Hit::T(), Timeslice, cbm::algo::ca::ToCbmModuleId(), cbm::algo::ca::UndefinedMuchHit, cbm::algo::ca::UndefinedMvdHit, cbm::algo::ca::UndefinedStsHit, cbm::algo::ca::UndefinedTofHit, and cbm::algo::ca::UndefinedTrdHit.
Referenced by PrepareInput().
|
inline |
| TrackingChain::Output_t TrackingChain::Run | ( | Input_t | recoResults | ) |
Provides action for a given time-slice.
| recoResults | Structure of reconstruction results |
Definition at line 90 of file TrackingChain.cxx.
References fCaFramework, fCaMonitorData, PrepareInput(), cbm::algo::ca::PrepareInputData, PrepareOutput(), and cbm::algo::ca::TrackingChain.
|
inlineinherited |
Definition at line 18 of file SubChain.h.
References fContext.
Referenced by cbm::algo::Reco::Init().
|
private |
External indices of used hits.
Definition at line 138 of file TrackingChain.h.
Referenced by PrepareInput(), PrepareOutput(), and ReadHits().
|
private |
Flags of detector subsystems used in tracking.
Definition at line 129 of file TrackingChain.h.
Referenced by Init(), and PrepareInput().
|
private |
CA data manager.
Definition at line 124 of file TrackingChain.h.
Referenced by PrepareInput(), and ReadHits().
|
private |
CA framework instance.
Definition at line 123 of file TrackingChain.h.
Referenced by Init(), PrepareInput(), PrepareOutput(), ReadHits(), and Run().
|
private |
CA internal monitor (debug purposes)
Definition at line 121 of file TrackingChain.h.
Referenced by Finalize(), GetCaMonitor(), Init(), and PrepareOutput().
|
private |
CA monitor data object.
Definition at line 122 of file TrackingChain.h.
Referenced by PrepareInput(), PrepareOutput(), ReadHits(), and Run().
|
privateinherited |
Definition at line 34 of file SubChain.h.
Referenced by GetContext(), GetMonitor(), HasMonitor(), Opts(), Params(), and SetContext().
|
private |
Current number of hit keys (aux)
Definition at line 134 of file TrackingChain.h.
Referenced by PrepareInput(), and ReadHits().
|
private |
setup interface
Definition at line 127 of file TrackingChain.h.
Referenced by Init(), ReadHits(), and RegisterSetup().
|
private |
CA QA builder.
Definition at line 125 of file TrackingChain.h.
Referenced by Init(), PrepareOutput(), and TrackingChain().
|
private |
Reconstruction mode.
Definition at line 140 of file TrackingChain.h.
Referenced by Init(), PrepareOutput(), ReadHits(), and TrackingChain().
|
staticconstexprprivate |
|
staticconstexprprivate |