|
CbmRoot
|
#include <Reco.h>
Public Member Functions | |
| Reco () | |
| ~Reco () | |
| Reco (const Reco &)=delete | |
| Reco & | operator= (const Reco &)=delete |
| Reco (Reco &&)=delete | |
| Reco & | operator= (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) const |
| Validation of program options. | |
| void | Validate (const ParFiles &parFiles) const |
| Validation of parFiles contents. | |
| 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 ChainContext * | GetContext () |
| void | SetContext (const ChainContext *ctx) |
| const Options & | Opts () const |
| const RecoParams & | Params () const |
| bool | HasMonitor () const |
| Monitor & | GetMonitor () 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< HistogramSender > | fSender |
| uint64_t | fRunStartTimeNs = 0 |
| std::optional< u64 > | prevTsId |
| std::unique_ptr< qa::RecoGeneralQa > | fGeneralQa |
| QA of online processing itself. | |
| std::unique_ptr< qa::GeneralQaData > | fGeneralQaData |
| Object aggregating the data points used in the GeneralQa. | |
| std::unique_ptr< bmon::Unpack > | fBmonUnpack |
| std::unique_ptr< bmon::Calibrate > | fBmonCalibrator |
| std::unique_ptr< bmon::Hitfind > | fBmonHitFinder |
| std::unique_ptr< bmon::HitfindQa > | fBmonHitFinderQa |
| std::unique_ptr< much::Unpack > | fMuchUnpack |
| std::unique_ptr< mvd::Unpack > | fMvdUnpack |
| std::unique_ptr< rich::Unpack > | fRichUnpack |
| std::unique_ptr< sts::Unpack > | fStsUnpack |
| std::unique_ptr< sts::DigiQa > | fStsDigiQa |
| Raw STS-digis QA. | |
| std::unique_ptr< sts::HitfinderChain > | fStsHitFinder |
| std::unique_ptr< tof::Unpack > | fTofUnpack |
| std::unique_ptr< tof::Calibrate > | fTofCalibrator |
| std::unique_ptr< tof::Hitfind > | fTofHitFinder |
| std::unique_ptr< tof::HitfindQa > | fTofHitFinderQa |
| std::unique_ptr< trd::Unpack > | fTrdUnpack |
| std::unique_ptr< trd2d::Unpack > | fTrd2dUnpack |
| std::unique_ptr< trd::Hitfind > | fTrdHitfind |
| std::unique_ptr< fsd::Unpack > | fFsdUnpack |
| std::unique_ptr< evbuild::EventbuildChain > | fEventBuild |
| std::unique_ptr< TrackingChain > | fTracking |
| Tracking in timeslice. | |
| std::unique_ptr< TrackingChain > | fTrackingEvent |
| Tracking in event. | |
| std::unique_ptr< V0FinderChain > | fV0Finder |
| V0-finding chain (in event or a bunch of events) | |
| evselect::Monitor | fEvSelectingMonitor |
| Monitor for event selecting. | |
| std::unique_ptr< qa::Manager > | fQaManager |
| Reco::Reco | ( | ) |
Definition at line 61 of file Reco.cxx.
References Reco().
Referenced by operator=(), operator=(), Reco(), Reco(), and Reco().
|
inlinestaticprivate |
Definition at line 221 of file Reco.h.
References x.
Referenced by QueueEvbuildMetrics(), QueueProcessingExtraMetrics(), QueueProcessingMetrics(), and QueueTofCalibMetrics().
| void Reco::Finalize | ( | ) |
Definition at line 768 of file Reco.cxx.
References fbReconstructDigiEvents, fEvSelectingMonitor, fQaManager, fSender, fStsHitFinder, fTimesliceTimesAcc, fTracking, fTrackingEvent, fV0Finder, L_, cbm::algo::MakeReportSubtimers(), cbm::algo::MakeReportSummary(), cbm::algo::MakeReportYaml(), cbm::algo::SubChain::Opts(), and cbm::algo::ProfilingSummary.
|
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 Reco::Init | ( | const Options & | opts | ) |
Definition at line 229 of file Reco.cxx.
References cbm::algo::Options::CollectAuxData(), cbm::algo::DigiTrigger, cbm::algo::Options::DumpBatchQaHistograms(), cbm::algo::EventBuilding, EventByEvent, fBmonCalibrator, fBmonHitFinder, fBmonHitFinderQa, fBmonUnpack, fbReconstructDigiEvents, fContext, fEventBuild, fEvSelectingMonitor, fFsdUnpack, fGeneralQa, fGeneralQaData, fInitialized, fMuchUnpack, fMvdUnpack, 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(), L_, cbm::algo::sts::HitfinderPars::landauTable, cbm::algo::LocalReco, cbm::algo::RecoParams::STS::memory, cbm::algo::sts::HitfinderChainPars::memory, cbm::algo::Options::MonitorUri(), cbm::algo::SubChain::Opts(), cbm::algo::SubChain::Params(), cbm::algo::Options::ParamsDir(), cbm::algo::RecoBmon, cbm::algo::Options::ReconstructDigiEvents(), cbm::algo::RecoTof, cbm::algo::Options::RunId(), cbm::algo::Options::RunStart(), cbm::algo::SubChain::SetContext(), cbm::algo::sts::HitfinderChainPars::setup, cbm::algo::RecoParams::sts, Timeslice, cbm::algo::Tracking, cbm::algo::Unpack, cbm::algo::UnpackSts, cbm::algo::V0Finder, cbm::algo::V0Trigger, and Validate().
|
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().
| void Reco::PrintTimings | ( | xpu::timings & | timings | ) |
Definition at line 804 of file Reco.cxx.
References fTimesliceTimesAcc, L_, cbm::algo::MakeReportSubtimers(), cbm::algo::MakeReportSummary(), cbm::algo::SubChain::Opts(), and cbm::algo::ProfilingPerTS.
Referenced by Run().
|
private |
Definition at line 1010 of file Reco.cxx.
References cbm::algo::evbuild::EventBuilderMonitorData::bmon, cbm::algo::Options::ChildId(), cbm::algo::evbuild::EventbuildChainMonitorData::digiMultTrigger, cbm::algo::evbuild::V0TriggerMoniData::errTracksUnsorted, cbm::algo::evbuild::EventbuildChainMonitorData::evbuild, fGeneralQaData, FilterNan(), cbm::algo::SubChain::GetMonitor(), cbm::algo::SubChain::HasMonitor(), cbm::algo::evbuild::EventbuildChainMonitorData::hitMultTrigger, cbm::algo::evbuild::EventBuilderMonitorData::much, cbm::algo::evbuild::EventBuilderMonitorData::mvd, cbm::algo::evbuild::EventBuilderMonitorData::numEvents, cbm::algo::evbuild::V0TriggerMoniData::numTrackPairs, cbm::algo::evbuild::V0TriggerMoniData::numTrackPairsAfterTimeCut, cbm::algo::evbuild::EventBuilderMonitorData::numTriggers, cbm::algo::SubChain::Opts(), cbm::algo::evbuild::EventBuilderMonitorData::rich, cbm::algo::evbuild::EventBuilderMonitorData::sts, cbm::algo::evbuild::EventBuilderMonitorData::time, cbm::algo::evbuild::TimeClusterTriggerMonitorData::time, cbm::algo::evbuild::V0TriggerMoniData::time, cbm::algo::evbuild::EventBuilderMonitorData::tof, cbm::algo::evbuild::EventBuilderMonitorData::trd, cbm::algo::evbuild::EventBuilderMonitorData::trd2d, and cbm::algo::evbuild::EventbuildChainMonitorData::v0Trigger.
Referenced by Run().
| void Reco::QueueProcessingExtraMetrics | ( | const ProcessingExtraMonitor & | mon | ) |
Definition at line 1120 of file Reco.cxx.
References cbm::algo::ProcessingExtraMonitor::bytesWritten, cbm::algo::Options::ChildId(), FilterNan(), cbm::algo::SubChain::GetMonitor(), cbm::algo::SubChain::HasMonitor(), cbm::algo::SubChain::Opts(), cbm::algo::ProcessingExtraMonitor::timeIdle, and cbm::algo::ProcessingExtraMonitor::timeWriteArchive.
|
private |
Definition at line 1087 of file Reco.cxx.
References cbm::algo::Options::ChildId(), fGeneralQaData, FilterNan(), cbm::algo::SubChain::GetMonitor(), cbm::algo::SubChain::HasMonitor(), cbm::algo::SubChain::Opts(), cbm::algo::ProcessingMonitor::time, cbm::algo::ProcessingMonitor::timeCA, cbm::algo::ProcessingMonitor::timeSTS, cbm::algo::ProcessingMonitor::timeTOF, cbm::algo::ProcessingMonitor::timeTRD, cbm::algo::ProcessingMonitor::timeUnpack, and cbm::algo::ProcessingMonitor::tsDelta.
Referenced by Run().
|
private |
Definition at line 951 of file Reco.cxx.
References cbm::algo::Options::ChildId(), cbm::algo::SubChain::GetMonitor(), cbm::algo::SubChain::HasMonitor(), cbm::algo::sts::HitfinderMonDevice::nClusterBucketOverflow, cbm::algo::sts::HitfinderMon::nClusterTotal, cbm::algo::sts::HitfinderMonDevice::nHitBucketOverflow, cbm::algo::sts::HitfinderMon::nHitsTotal, and cbm::algo::SubChain::Opts().
Referenced by Run().
|
private |
Definition at line 994 of file Reco.cxx.
References cbm::algo::Options::ChildId(), cbm::algo::tof::CalibrateMonitorData::fDigiCalibUnknownRPC, FilterNan(), cbm::algo::tof::CalibrateMonitorData::fNumDigis, cbm::algo::tof::CalibrateMonitorData::fTime, cbm::algo::SubChain::GetMonitor(), cbm::algo::SubChain::HasMonitor(), and cbm::algo::SubChain::Opts().
Referenced by Run().
|
private |
Definition at line 966 of file Reco.cxx.
References cbm::algo::Options::ChildId(), cbm::algo::tof::HitfindMonitorData::fNumDigis, cbm::algo::tof::HitfindMonitorData::fNumHits, cbm::algo::SubChain::GetMonitor(), cbm::algo::SubChain::HasMonitor(), and cbm::algo::SubChain::Opts().
Referenced by Run().
|
private |
Definition at line 1070 of file Reco.cxx.
References cbm::algo::Options::ChildId(), cbm::algo::ca::FindTracks, cbm::algo::ca::FitTracks, cbm::algo::ca::MonitorData< ECounterKey, ETimerKey >::GetCounterValue(), cbm::algo::SubChain::GetMonitor(), cbm::algo::ca::MonitorData< ECounterKey, ETimerKey >::GetTimer(), cbm::algo::ca::Timer::GetTotalMs(), cbm::algo::SubChain::HasMonitor(), cbm::algo::SubChain::Opts(), cbm::algo::ca::RecoHit, cbm::algo::ca::RecoHitUsed, cbm::algo::ca::RecoTrack, and cbm::algo::ca::SubTS.
Referenced by Run().
|
private |
Definition at line 979 of file Reco.cxx.
References cbm::algo::Options::ChildId(), cbm::algo::SubChain::GetMonitor(), cbm::algo::SubChain::HasMonitor(), cbm::algo::trd::HitfindMonitorData::numDigis, cbm::algo::trd::HitfindMonitorData::numHits, and cbm::algo::SubChain::Opts().
Referenced by Run().
|
private |
Definition at line 925 of file Reco.cxx.
References cbm::Capitalize(), cbm::algo::Options::ChildId(), cbm::algo::detail::UnpackMonitorBase::errInvalidEqId, cbm::algo::detail::UnpackMonitorBase::errInvalidSysVer, cbm::algo::detail::UnpackMonitorBase::ExpansionFactor(), cbm::algo::SubChain::GetMonitor(), cbm::algo::SubChain::HasMonitor(), L_, cbm::algo::detail::UnpackMonitorBase::numMs, cbm::algo::SubChain::Opts(), cbm::algo::UnpackMonitor< MSMonitor >::print(), cbm::algo::detail::UnpackMonitorBase::sizeBytesIn, cbm::algo::detail::UnpackMonitorBase::sizeBytesOut, cbm::algo::detail::UnpackMonitorBase::system, and cbm::util::ToString().
Referenced by RunUnpacker().
| CbmEventTriggers Reco::ReconstructEvent | ( | const DigiEvent & | event | ) |
Definition at line 820 of file Reco.cxx.
References cbm::algo::evselect::BmonHitFinder, cbm::algo::RecoResults::bmonHits, cbm::algo::evselect::EventsNeStsHits, cbm::algo::evselect::EventsNeTofHits, cbm::algo::evselect::EventsNeTracks, cbm::algo::evselect::EventsSelected, cbm::algo::DigiData::fBmon, fBmonHitFinderQa, fEvSelectingMonitor, cbm::algo::DigiData::fSts, cbm::algo::DigiData::fTof, fTrackingEvent, cbm::algo::DigiData::fTrd, cbm::algo::DigiData::fTrd2d, fV0Finder, hits, L_, CbmEventTriggers::Lambda, cbm::algo::evselect::StsHitFinder, cbm::algo::TrackingChain::Output_t::stsHitIndices, cbm::algo::RecoResults::stsHits, CbmEventTriggers::Test(), cbm::algo::evselect::TofHitFinder, cbm::algo::TrackingChain::Output_t::tofHitIndices, cbm::algo::RecoResults::tofHits, cbm::algo::evselect::TrackFinder, cbm::algo::RecoResults::tracks, cbm::algo::TrackingChain::Output_t::tracks, cbm::algo::RecoResults::trackStsHitIndices, cbm::algo::RecoResults::trackTofHitIndices, cbm::algo::RecoResults::trackTrdHitIndices, cbm::algo::evselect::TrdHitFinder, cbm::algo::TrackingChain::Output_t::trdHitIndices, cbm::algo::RecoResults::trdHits, and cbm::algo::evselect::V0Finder.
Referenced by Run().
| RecoResults Reco::Run | ( | const fles::Timeslice & | ts | ) |
transient
persistent (return object)
Definition at line 552 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::AuxDigiData::fFsd, cbm::algo::DigiData::fFsd, fFsdUnpack, fGeneralQaData, fInitialized, cbm::algo::AuxDigiData::fMuch, cbm::algo::DigiData::fMuch, fMuchUnpack, cbm::algo::AuxDigiData::fMvd, cbm::algo::DigiData::fMvd, fMvdUnpack, fQaManager, cbm::algo::AuxDigiData::fRich, cbm::algo::DigiData::fRich, fRichUnpack, fRunStartTimeNs, cbm::algo::RecoResults::fsdDigis, 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::kfp::KfpLambdaCandidates, L_, cbm::algo::evselect::LambdaCandidates, cbm::algo::LocalReco, cbm::algo::RecoResults::muchDigis, cbm::algo::RecoResults::mvdDigis, 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::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::trackTrdHitIndices, cbm::algo::RecoResults::trd2dDigis, cbm::algo::RecoResults::trdDigis, cbm::algo::RecoResults::trdHits, cbm::algo::ProcessingMonitor::tsDelta, and cbm::algo::Unpack.
|
private |
|
inlineinherited |
Definition at line 18 of file SubChain.h.
References fContext.
Referenced by cbm::algo::Reco::Init().
|
private |
Validation of program options.
Definition at line 66 of file Reco.cxx.
References cbm::algo::Options::CompressArchive(), cbm::algo::Options::Has(), cbm::algo::LocalReco, cbm::algo::Options::OutputFile(), cbm::algo::Options::OutputTypes(), cbm::algo::Options::ParamsDir(), cbm::algo::Tracking, cbm::algo::Unpack, and cbm::algo::BuildInfo::WITH_ZSTD.
Referenced by Init().
|
private |
Validation of parFiles contents.
Definition at line 96 of file Reco.cxx.
References cbm::algo::DigiTrigger, cbm::algo::ParFiles::eventReco, L_, cbm::algo::LocalReco, cbm::algo::SubChain::Opts(), cbm::algo::ParFiles::readout, cbm::algo::ParFiles::recoSetupPath, cbm::algo::ParFiles::timesliceReco, cbm::algo::Tracking, and cbm::algo::Unpack.
|
private |
|
private |
|
private |
Definition at line 175 of file Reco.h.
Referenced by Init(), and ReconstructEvent().
|
private |
|
private |
Definition at line 159 of file Reco.h.
Referenced by Finalize(), Init(), and Run().
|
private |
|
private |
|
private |
Monitor for event selecting.
Definition at line 216 of file Reco.h.
Referenced by Finalize(), Init(), ReconstructEvent(), and Run().
|
private |
|
private |
|
private |
Object aggregating the data points used in the GeneralQa.
Definition at line 169 of file Reco.h.
Referenced by Init(), QueueEvbuildMetrics(), QueueProcessingMetrics(), and Run().
|
private |
|
private |
|
private |
|
private |
Definition at line 219 of file Reco.h.
Referenced by Finalize(), Init(), and Run().
|
private |
|
private |
|
private |
Definition at line 162 of file Reco.h.
Referenced by Finalize(), Init(), and Run().
|
private |
|
private |
Definition at line 189 of file Reco.h.
Referenced by Finalize(), Init(), and Run().
|
private |
|
private |
Definition at line 161 of file Reco.h.
Referenced by Finalize(), and PrintTimings().
|
private |
|
private |
|
private |
|
private |
|
private |
Tracking in timeslice.
Definition at line 209 of file Reco.h.
Referenced by Finalize(), Init(), and Run().
|
private |
Tracking in event.
Definition at line 210 of file Reco.h.
Referenced by Finalize(), Init(), and ReconstructEvent().
|
private |
|
private |
|
private |
|
private |
V0-finding chain (in event or a bunch of events)
Definition at line 213 of file Reco.h.
Referenced by Finalize(), Init(), ReconstructEvent(), and Run().
|
private |