CbmRoot
|
Steering class for event building from digi timeslices. More...
#include <EventbuildChain.h>
Public Types | |
using | ResultType = std::pair<std::vector<DigiEvent>, EventbuildChainMonitorData> |
Public Member Functions | |
EventbuildChain (const Config &config, std::shared_ptr< HistogramSender > sender=nullptr) | |
Constructor. | |
~EventbuildChain () | |
Destructor. | |
ResultType | Run (const DigiData &, const RecoResults &) |
Execution. | |
void | Status () const |
Status info to logger. | |
void | RegisterTrackingSetup (std::shared_ptr< TrackingSetup > pSetup) |
Registers tracking setup. | |
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 | |
std::vector< double > | GetDigiTimes (const DigiData ×lice, ECbmModuleId system) |
Extract digi times from CbmDigiTimeslice. | |
Private Attributes | |
Config | fConfig |
Global configuration. | |
ECbmModuleId | fTriggerDet = ECbmModuleId::kNotExist |
Trigger detector. | |
TimeClusterTrigger | fDigiMultTrigger |
Digi multiplicity trigger algorithm. | |
HitMultTrigger | fHitMultTrigger |
Hit multiplicity trigger algorithm. | |
V0Trigger | fV0Trigger |
V0 trigger algorithm. | |
EventBuilder | fBuilder |
Event builder algorithm. | |
DigiEventSelector | fSelector |
Event selector algorithm. | |
DigiEventQa | fQa |
Event QA algorithm. | |
std::shared_ptr< HistogramSender > | fSender |
Histogram sender. | |
const ChainContext * | fContext = nullptr |
Steering class for event building from digi timeslices.
Constructs a vector of CbmDigiEvents from a CbmDigiTimeslice. Uses the algorithms
Definition at line 47 of file EventbuildChain.h.
using cbm::algo::evbuild::EventbuildChain::ResultType = std::pair<std::vector<DigiEvent>, EventbuildChainMonitorData> |
Definition at line 50 of file EventbuildChain.h.
EventbuildChain::EventbuildChain | ( | const Config & | config, |
std::shared_ptr< HistogramSender > | sender = nullptr ) |
Constructor.
FIXME: based on JdC question, decide whether config re-emitted on each iteration instead of only at startup? => Header for multi-part message with Configuration + data => Format: std::pair< Nb histogram configs, Nb canvas configs >
=> Histograms configuration = destination folder in http browser, mandatory but can be empty (= root folder) => 1 ZMQ message per histogram (= 1 part) => If no (new) histograms declared (e.g. new canvas declaration), has to be en empty message + 0
in the header
=> Canvas configuration => 1 ZMQ message per canvas (= 1 part) => If no (new) canvas declared (e.g. only histos declaration), has to be en empty message + 0
in the header
=> (empty) Histograms serialization and emission to close multi-part message
Definition at line 20 of file EventbuildChain.cxx.
References fQa, fSender, cbm::algo::evbuild::DigiEventQaConfig::GetCanvasConfigs(), cbm::algo::evbuild::DigiEventQa::GetConfig(), cbm::algo::evbuild::DigiEventQaConfig::GetHistosConfigs(), and Status().
EventbuildChain::~EventbuildChain | ( | ) |
Destructor.
Definition at line 63 of file EventbuildChain.cxx.
|
inlineinherited |
Definition at line 16 of file SubChain.h.
References cbm::algo::SubChain::fContext.
Referenced by cbm::algo::tof::TrackingInterface::Init(), and cbm::algo::TrackingSetup::Init().
|
private |
Extract digi times from CbmDigiTimeslice.
system | Detector system (enum ECbmModuleId) |
Definition at line 148 of file EventbuildChain.cxx.
References cbm::algo::DigiData::fBmon, cbm::algo::DigiData::fFsd, cbm::algo::DigiData::fMuch, cbm::algo::DigiData::fPsd, cbm::algo::DigiData::fRich, cbm::algo::DigiData::fSts, cbm::algo::DigiData::fTof, cbm::algo::DigiData::fTrd, kBmon, kFsd, kMuch, kPsd, kRich, kSts, kTof, kTrd, and L_.
Referenced by Run().
|
inlineinherited |
Definition at line 25 of file SubChain.h.
References cbm::algo::SubChain::fContext, and cbm::algo::SubChain::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 cbm::algo::SubChain::fContext.
Referenced by cbm::algo::SubChain::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().
|
inlineinherited |
Definition at line 20 of file SubChain.h.
References cbm::algo::SubChain::fContext.
Referenced by cbm::algo::Reco::Finalize(), cbm::algo::Reco::Init(), cbm::algo::tof::TrackingInterface::Init(), cbm::algo::TrackingChain::Init(), 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(), and cbm::algo::Reco::Run().
|
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().
|
inline |
Registers tracking setup.
Definition at line 65 of file EventbuildChain.h.
References fSelector, and cbm::algo::evbuild::DigiEventSelector::RegisterTrackingSetup().
EventbuildChain::ResultType EventbuildChain::Run | ( | const DigiData & | digiData, |
const RecoResults & | recoData ) |
Execution.
=> Histograms serialization and emission
Definition at line 69 of file EventbuildChain.cxx.
References fBuilder, fConfig, fDigiMultTrigger, cbm::algo::evbuild::Config::fDigiTrigger, cbm::algo::evbuild::DigiEventQaData::fHistContainer, cbm::algo::evbuild::Config::fHitMultTrigger, fHitMultTrigger, fQa, fSelector, fSender, fTriggerDet, cbm::algo::evbuild::Config::fV0Trigger, fV0Trigger, cbm::algo::qa::HistogramContainer::fvH1, GetDigiTimes(), cbm::algo::evbuild::DigiTriggerConfig::IsSet(), cbm::algo::evbuild::V0TriggerConfig::IsSet(), L_, and cbm::algo::RecoResults::tracks.
|
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().
void EventbuildChain::Status | ( | ) | const |
Status info to logger.
Definition at line 128 of file EventbuildChain.cxx.
References fBuilder, fConfig, fDigiMultTrigger, cbm::algo::evbuild::Config::fHitMultTrigger, fHitMultTrigger, fQa, fSelector, fTriggerDet, cbm::algo::evbuild::Config::fV0Trigger, fV0Trigger, cbm::algo::evbuild::DigiTriggerConfig::IsSet(), cbm::algo::evbuild::V0TriggerConfig::IsSet(), L_, cbm::algo::evbuild::DigiEventQa::ToString(), cbm::algo::evbuild::DigiEventSelector::ToString(), cbm::algo::evbuild::EventBuilder::ToString(), cbm::algo::evbuild::HitMultTrigger::ToString(), cbm::algo::evbuild::TimeClusterTrigger::ToString(), cbm::algo::evbuild::V0Trigger::ToString(), and cbm::algo::ToString().
Referenced by EventbuildChain().
|
private |
Event builder algorithm.
Definition at line 73 of file EventbuildChain.h.
|
private |
Global configuration.
Definition at line 68 of file EventbuildChain.h.
|
privateinherited |
Definition at line 34 of file SubChain.h.
Referenced by cbm::algo::SubChain::GetContext(), cbm::algo::SubChain::GetMonitor(), cbm::algo::SubChain::HasMonitor(), cbm::algo::SubChain::Opts(), cbm::algo::SubChain::Params(), and cbm::algo::SubChain::SetContext().
|
private |
Digi multiplicity trigger algorithm.
Definition at line 70 of file EventbuildChain.h.
|
private |
Hit multiplicity trigger algorithm.
Definition at line 71 of file EventbuildChain.h.
|
private |
Event QA algorithm.
Definition at line 75 of file EventbuildChain.h.
Referenced by EventbuildChain(), Run(), and Status().
|
private |
Event selector algorithm.
Definition at line 74 of file EventbuildChain.h.
Referenced by RegisterTrackingSetup(), Run(), and Status().
|
private |
Histogram sender.
Definition at line 76 of file EventbuildChain.h.
Referenced by EventbuildChain(), and Run().
|
private |
Trigger detector.
Definition at line 69 of file EventbuildChain.h.
|
private |
V0 trigger algorithm.
Definition at line 72 of file EventbuildChain.h.