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

#include <Reco.h>

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

Public Member Functions

 Reco ()
 
 ~Reco ()
 
 Reco (const Reco &)=delete
 
Recooperator= (const Reco &)=delete
 
 Reco (Reco &&)=delete
 
Recooperator= (Reco &&)=delete
 
void Init (const Options &)
 
RecoResults Run (const fles::Timeslice &)
 
CbmEventTriggers ReconstructEvent (const DigiEvent &event)
 
void Finalize ()
 
void PrintTimings (xpu::timings &)
 
void QueueProcessingExtraMetrics (const ProcessingExtraMonitor &)
 

Private Member Functions

void Validate (const Options &opts)
 
template<class Unpacker >
auto RunUnpacker (const std::unique_ptr< Unpacker > &, const fles::Timeslice &) -> UnpackResult_t< Unpacker >
 
template<class MSMonitor >
void QueueUnpackerMetricsDet (const UnpackMonitor< MSMonitor > &)
 
void QueueStsRecoMetrics (const sts::HitfinderMon &)
 
void QueueTofRecoMetrics (const tof::HitfindMonitorData &)
 
void QueueTrdRecoMetrics (const trd::HitfindMonitorData &)
 
void QueueTofCalibMetrics (const tof::CalibrateMonitorData &)
 
void QueueEvbuildMetrics (const evbuild::EventbuildChainMonitorData &)
 
void QueueTrackingMetrics (const ca::TrackingMonitorData &)
 
void QueueProcessingMetrics (const ProcessingMonitor &)
 
const ChainContextGetContext ()
 
void SetContext (const ChainContext *ctx)
 
const OptionsOpts () const
 
const RecoParamsParams () const
 
bool HasMonitor () const
 
MonitorGetMonitor () const
 

Static Private Member Functions

static double FilterNan (double x)
 

Private Attributes

bool fInitialized = false
 
bool fbReconstructDigiEvents = false
 
ChainContext fContext
 
xpu::timings fTimesliceTimesAcc
 
std::shared_ptr< HistogramSenderfSender
 
uint64_t fRunStartTimeNs = 0
 
std::optional< u64prevTsId
 
std::unique_ptr< qa::RecoGeneralQafGeneralQa
 QA of online processing itself.
 
std::unique_ptr< bmon::UnpackfBmonUnpack
 
std::unique_ptr< bmon::CalibratefBmonCalibrator
 
std::unique_ptr< bmon::HitfindfBmonHitFinder
 
std::unique_ptr< bmon::HitfindQafBmonHitFinderQa
 
std::unique_ptr< much::UnpackfMuchUnpack
 
std::unique_ptr< rich::UnpackfRichUnpack
 
std::unique_ptr< sts::UnpackfStsUnpack
 
std::unique_ptr< sts::DigiQafStsDigiQa
 Raw STS-digis QA.
 
std::unique_ptr< sts::HitfinderChainfStsHitFinder
 
std::unique_ptr< tof::UnpackfTofUnpack
 
std::unique_ptr< tof::CalibratefTofCalibrator
 
std::unique_ptr< tof::HitfindfTofHitFinder
 
std::unique_ptr< tof::HitfindQafTofHitFinderQa
 
std::unique_ptr< trd::UnpackfTrdUnpack
 
std::unique_ptr< trd2d::UnpackfTrd2dUnpack
 
std::unique_ptr< trd::HitfindfTrdHitfind
 
std::unique_ptr< evbuild::EventbuildChainfEventBuild
 
std::unique_ptr< TrackingChainfTracking
 Tracking in timeslice.
 
std::unique_ptr< TrackingChainfTrackingEvent
 Tracking in event.
 
std::unique_ptr< V0FinderChainfV0Finder
 V0-finding chain (in event or a bunch of events)
 
evselect::Monitor fEvSelectingMonitor
 Monitor for event selecting.
 
std::unique_ptr< qa::ManagerfQaManager
 

Detailed Description

Definition at line 126 of file Reco.h.

Constructor & Destructor Documentation

◆ Reco() [1/3]

Reco::Reco ( )

Definition at line 54 of file Reco.cxx.

◆ ~Reco()

Reco::~Reco ( )

Definition at line 55 of file Reco.cxx.

◆ Reco() [2/3]

cbm::algo::Reco::Reco ( const Reco & )
delete

◆ Reco() [3/3]

cbm::algo::Reco::Reco ( Reco && )
delete

Member Function Documentation

◆ FilterNan()

static double cbm::algo::Reco::FilterNan ( double x)
inlinestaticprivate

◆ Finalize()

◆ GetContext()

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

◆ GetMonitor()

◆ HasMonitor()

◆ Init()

void Reco::Init ( const Options & opts)

Definition at line 85 of file Reco.cxx.

References cbm::algo::ParFiles::bmon, cbm::algo::ParFiles::calibrate, cbm::algo::ParFiles::chanMask, cbm::algo::Options::CollectAuxData(), cbm::algo::DigiTrigger, cbm::algo::EventBuilding, EventByEvent, fBmonCalibrator, fBmonHitFinder, fBmonHitFinderQa, fBmonUnpack, fbReconstructDigiEvents, fContext, cbm::algo::ParFiles::fee2d, fEventBuild, fEvSelectingMonitor, fGeneralQa, fInitialized, fMuchUnpack, fQaManager, fRichUnpack, cbm::algo::sts::LandauTable::FromFile(), fRunStartTimeNs, fSender, fStsDigiQa, fStsHitFinder, fStsUnpack, fTofCalibrator, fTofHitFinder, fTofHitFinderQa, fTofUnpack, fTracking, fTrackingEvent, fTrd2dUnpack, fTrdHitfind, fTrdUnpack, fV0Finder, cbm::algo::openmp::GetMaxThreads(), cbm::algo::Options::Has(), cbm::algo::ParFiles::hitfinder, cbm::algo::ParFiles::hitfinder2d, L_, cbm::algo::sts::HitfinderPars::landauTable, cbm::algo::LocalReco, cbm::algo::RecoParams::STS::memory, cbm::algo::sts::HitfinderChainPars::memory, cbm::algo::ChainContext::monitor, cbm::algo::Options::MonitorUri(), cbm::algo::SubChain::Opts(), cbm::algo::ChainContext::opts, cbm::algo::SubChain::Params(), cbm::algo::Options::ParamsDir(), cbm::algo::yaml::ReadFromFile(), cbm::algo::ParFiles::readout, cbm::algo::ParFiles::readout2d, cbm::algo::RecoBmon, cbm::algo::Options::ReconstructDigiEvents(), cbm::algo::ChainContext::recoParams, cbm::algo::RecoTof, cbm::algo::ca::Monitor< ECounterKey, ETimerKey >::Reset(), cbm::algo::Options::RunId(), cbm::algo::Options::RunStart(), cbm::algo::SubChain::SetContext(), cbm::algo::ParFiles::setup, cbm::algo::sts::HitfinderChainPars::setup, cbm::algo::ParFiles::sts, cbm::algo::RecoParams::sts, Timeslice, cbm::algo::ParFiles::tof, cbm::algo::Tracking, cbm::algo::ParFiles::trd, cbm::algo::Unpack, cbm::algo::UnpackSts, cbm::algo::V0Finder, cbm::algo::V0Trigger, Validate(), and cbm::algo::ParFiles::walkMap.

Referenced by main().

◆ operator=() [1/2]

Reco & cbm::algo::Reco::operator= ( const Reco & )
delete

◆ operator=() [2/2]

Reco & cbm::algo::Reco::operator= ( Reco && )
delete

◆ 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 Init(), and Run().

◆ PrintTimings()

void Reco::PrintTimings ( xpu::timings & timings)

◆ QueueEvbuildMetrics()

◆ QueueProcessingExtraMetrics()

◆ QueueProcessingMetrics()

◆ QueueStsRecoMetrics()

◆ QueueTofCalibMetrics()

◆ QueueTofRecoMetrics()

◆ QueueTrackingMetrics()

◆ QueueTrdRecoMetrics()

◆ QueueUnpackerMetricsDet()

◆ ReconstructEvent()

◆ Run()

RecoResults Reco::Run ( const fles::Timeslice & ts)

transient

persistent (return object)

Definition at line 309 of file Reco.cxx.

References cbm::algo::RecoResults::bmonDigis, cbm::algo::Cluster, cbm::algo::DigiEvent, cbm::algo::DigiTimeslice, cbm::algo::DigiTrigger, cbm::algo::evselect::EventReconstruction, cbm::algo::RecoResults::events, cbm::algo::evselect::EventsTotal, cbm::algo::AuxDigiData::fBmon, cbm::algo::DigiData::fBmon, fBmonUnpack, fbReconstructDigiEvents, fEventBuild, fEvSelectingMonitor, cbm::algo::DigiData::fFsd, fInitialized, cbm::algo::AuxDigiData::fMuch, cbm::algo::DigiData::fMuch, fMuchUnpack, cbm::algo::DigiData::fPsd, fQaManager, cbm::algo::AuxDigiData::fRich, cbm::algo::DigiData::fRich, fRichUnpack, fSender, cbm::algo::AuxDigiData::fSts, cbm::algo::DigiData::fSts, fStsDigiQa, fStsHitFinder, fStsUnpack, cbm::algo::AuxDigiData::fTof, cbm::algo::DigiData::fTof, fTofHitFinderQa, fTofUnpack, fTracking, cbm::algo::AuxDigiData::fTrd, cbm::algo::DigiData::fTrd, cbm::algo::AuxDigiData::fTrd2d, cbm::algo::DigiData::fTrd2d, fTrd2dUnpack, fTrdHitfind, fTrdUnpack, fV0Finder, cbm::algo::Options::HasOutput(), cbm::algo::Hit, hits, cbm::algo::ca::Monitor< ECounterKey, ETimerKey >::IncrementCounter(), cbm::algo::kfp::KfpLambdaCandidates, L_, cbm::algo::evselect::LambdaCandidates, cbm::algo::LocalReco, cbm::algo::RecoResults::muchDigis, cbm::algo::SubChain::Opts(), cbm::algo::SubChain::Params(), prevTsId, PrintTimings(), QueueEvbuildMetrics(), QueueProcessingMetrics(), QueueStsRecoMetrics(), QueueTofCalibMetrics(), QueueTofRecoMetrics(), QueueTrackingMetrics(), QueueTrdRecoMetrics(), ReconstructEvent(), cbm::algo::RecoResults::richDigis, RunUnpacker(), cbm::algo::ts_utils::SizeBytes(), cbm::algo::ca::Monitor< ECounterKey, ETimerKey >::StartTimer(), cbm::algo::ca::Monitor< ECounterKey, ETimerKey >::StopTimer(), cbm::algo::RecoResults::stsClusters, cbm::algo::RecoResults::stsDigis, cbm::algo::RecoResults::stsHits, cbm::algo::ProcessingMonitor::time, cbm::algo::ProcessingMonitor::timeCA, cbm::algo::evselect::Timeslices, cbm::algo::ProcessingMonitor::timeSTS, cbm::algo::ProcessingMonitor::timeTOF, cbm::algo::ProcessingMonitor::timeTRD, cbm::algo::ProcessingMonitor::timeUnpack, cbm::algo::RecoResults::tofDigis, cbm::algo::RecoResults::tofHits, cbm::algo::Track, cbm::algo::Tracking, cbm::algo::RecoResults::tracks, cbm::algo::RecoResults::trackStsHitIndices, cbm::algo::RecoResults::trackTofHitIndices, cbm::algo::RecoResults::trd2dDigis, cbm::algo::RecoResults::trdDigis, cbm::algo::RecoResults::trdHits, cbm::algo::ProcessingMonitor::tsDelta, and cbm::algo::Unpack.

Referenced by main().

◆ RunUnpacker()

template<class Unpacker >
auto Reco::RunUnpacker ( const std::unique_ptr< Unpacker > & unpacker,
const fles::Timeslice & ts ) -> UnpackResult_t<Unpacker>
private

Definition at line 631 of file Reco.cxx.

Referenced by 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 Init(), and cbm::algo::TrackingSetup::Init().

◆ Validate()

Member Data Documentation

◆ fBmonCalibrator

std::unique_ptr<bmon::Calibrate> cbm::algo::Reco::fBmonCalibrator
private

Definition at line 160 of file Reco.h.

Referenced by Init().

◆ fBmonHitFinder

std::unique_ptr<bmon::Hitfind> cbm::algo::Reco::fBmonHitFinder
private

Definition at line 161 of file Reco.h.

Referenced by Init().

◆ fBmonHitFinderQa

std::unique_ptr<bmon::HitfindQa> cbm::algo::Reco::fBmonHitFinderQa
private

Definition at line 162 of file Reco.h.

Referenced by Init(), and ReconstructEvent().

◆ fBmonUnpack

std::unique_ptr<bmon::Unpack> cbm::algo::Reco::fBmonUnpack
private

Definition at line 159 of file Reco.h.

Referenced by Init(), and Run().

◆ fbReconstructDigiEvents

bool cbm::algo::Reco::fbReconstructDigiEvents = false
private

Definition at line 147 of file Reco.h.

Referenced by Finalize(), Init(), and Run().

◆ fContext

ChainContext cbm::algo::Reco::fContext
private

Definition at line 148 of file Reco.h.

Referenced by Init().

◆ fEventBuild

std::unique_ptr<evbuild::EventbuildChain> cbm::algo::Reco::fEventBuild
private

Definition at line 187 of file Reco.h.

Referenced by Init(), and Run().

◆ fEvSelectingMonitor

evselect::Monitor cbm::algo::Reco::fEvSelectingMonitor
private

Monitor for event selecting.

Definition at line 197 of file Reco.h.

Referenced by Finalize(), Init(), ReconstructEvent(), and Run().

◆ fGeneralQa

std::unique_ptr<qa::RecoGeneralQa> cbm::algo::Reco::fGeneralQa
private

QA of online processing itself.

Definition at line 156 of file Reco.h.

Referenced by Init().

◆ fInitialized

bool cbm::algo::Reco::fInitialized = false
private

Definition at line 146 of file Reco.h.

Referenced by Init(), and Run().

◆ fMuchUnpack

std::unique_ptr<much::Unpack> cbm::algo::Reco::fMuchUnpack
private

Definition at line 165 of file Reco.h.

Referenced by Init(), and Run().

◆ fQaManager

std::unique_ptr<qa::Manager> cbm::algo::Reco::fQaManager
private

Definition at line 200 of file Reco.h.

Referenced by Init(), and Run().

◆ fRichUnpack

std::unique_ptr<rich::Unpack> cbm::algo::Reco::fRichUnpack
private

Definition at line 168 of file Reco.h.

Referenced by Init(), and Run().

◆ fRunStartTimeNs

uint64_t cbm::algo::Reco::fRunStartTimeNs = 0
private

Definition at line 151 of file Reco.h.

Referenced by Init().

◆ fSender

std::shared_ptr<HistogramSender> cbm::algo::Reco::fSender
private

Definition at line 150 of file Reco.h.

Referenced by Init(), and Run().

◆ fStsDigiQa

std::unique_ptr<sts::DigiQa> cbm::algo::Reco::fStsDigiQa
private

Raw STS-digis QA.

Definition at line 172 of file Reco.h.

Referenced by Init(), and Run().

◆ fStsHitFinder

std::unique_ptr<sts::HitfinderChain> cbm::algo::Reco::fStsHitFinder
private

Definition at line 173 of file Reco.h.

Referenced by Finalize(), Init(), and Run().

◆ fStsUnpack

std::unique_ptr<sts::Unpack> cbm::algo::Reco::fStsUnpack
private

Definition at line 171 of file Reco.h.

Referenced by Init(), and Run().

◆ fTimesliceTimesAcc

xpu::timings cbm::algo::Reco::fTimesliceTimesAcc
private

Definition at line 149 of file Reco.h.

Referenced by Finalize(), and PrintTimings().

◆ fTofCalibrator

std::unique_ptr<tof::Calibrate> cbm::algo::Reco::fTofCalibrator
private

Definition at line 177 of file Reco.h.

Referenced by Init().

◆ fTofHitFinder

std::unique_ptr<tof::Hitfind> cbm::algo::Reco::fTofHitFinder
private

Definition at line 178 of file Reco.h.

Referenced by Init().

◆ fTofHitFinderQa

std::unique_ptr<tof::HitfindQa> cbm::algo::Reco::fTofHitFinderQa
private

Definition at line 179 of file Reco.h.

Referenced by Init(), and Run().

◆ fTofUnpack

std::unique_ptr<tof::Unpack> cbm::algo::Reco::fTofUnpack
private

Definition at line 176 of file Reco.h.

Referenced by Init(), and Run().

◆ fTracking

std::unique_ptr<TrackingChain> cbm::algo::Reco::fTracking
private

Tracking in timeslice.

Definition at line 190 of file Reco.h.

Referenced by Finalize(), Init(), and Run().

◆ fTrackingEvent

std::unique_ptr<TrackingChain> cbm::algo::Reco::fTrackingEvent
private

Tracking in event.

Definition at line 191 of file Reco.h.

Referenced by Finalize(), Init(), and ReconstructEvent().

◆ fTrd2dUnpack

std::unique_ptr<trd2d::Unpack> cbm::algo::Reco::fTrd2dUnpack
private

Definition at line 183 of file Reco.h.

Referenced by Init(), and Run().

◆ fTrdHitfind

std::unique_ptr<trd::Hitfind> cbm::algo::Reco::fTrdHitfind
private

Definition at line 184 of file Reco.h.

Referenced by Init(), and Run().

◆ fTrdUnpack

std::unique_ptr<trd::Unpack> cbm::algo::Reco::fTrdUnpack
private

Definition at line 182 of file Reco.h.

Referenced by Init(), and Run().

◆ fV0Finder

std::unique_ptr<V0FinderChain> cbm::algo::Reco::fV0Finder
private

V0-finding chain (in event or a bunch of events)

Definition at line 194 of file Reco.h.

Referenced by Finalize(), Init(), ReconstructEvent(), and Run().

◆ prevTsId

std::optional<u64> cbm::algo::Reco::prevTsId
private

Definition at line 153 of file Reco.h.

Referenced by Run().


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