|
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 | RegisterSetup (std::shared_ptr< RecoSetup > pSetup) |
| Registers tracking setup. | |
| void | SetV0TriggerQa (std::shared_ptr< V0TriggerQa > pQa) |
| Sets V0 trigger QA. | |
| 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 fBuilder, fConfig, fDigiMultTrigger, fHitMultTrigger, fQa, fSelector, fSender, fTriggerDet, fV0Trigger, and Status().
| EventbuildChain::~EventbuildChain | ( | ) |
Destructor.
Definition at line 63 of file EventbuildChain.cxx.
|
inlineinherited |
Definition at line 16 of file SubChain.h.
References fContext.
|
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::fMvd, cbm::algo::DigiData::fPsd, cbm::algo::DigiData::fRich, cbm::algo::DigiData::fSts, cbm::algo::DigiData::fTof, cbm::algo::DigiData::fTrd, kBmon, kFsd, kMuch, kMvd, kPsd, kRich, kSts, kTof, kTrd, and L_.
Referenced by Run().
|
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().
|
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().
|
inline |
| 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::DigiEventQaData::fHistContainer, fHitMultTrigger, fQa, fSelector, fSender, fTriggerDet, fV0Trigger, cbm::algo::qa::HistogramContainer::fvH1, GetDigiTimes(), L_, and cbm::algo::RecoResults::tracks.
|
inlineinherited |
Definition at line 18 of file SubChain.h.
References fContext.
Referenced by cbm::algo::Reco::Init().
|
inline |
Sets V0 trigger QA.
| pQa | Qa module |
Definition at line 70 of file EventbuildChain.h.
References fV0Trigger.
| void EventbuildChain::Status | ( | ) | const |
Status info to logger.
Definition at line 128 of file EventbuildChain.cxx.
References fBuilder, fConfig, fDigiMultTrigger, fHitMultTrigger, fQa, fSelector, fTriggerDet, fV0Trigger, and L_.
Referenced by EventbuildChain().
|
private |
Event builder algorithm.
Definition at line 78 of file EventbuildChain.h.
Referenced by EventbuildChain(), Run(), and Status().
|
private |
Global configuration.
Definition at line 73 of file EventbuildChain.h.
Referenced by EventbuildChain(), Run(), and Status().
|
privateinherited |
Definition at line 34 of file SubChain.h.
Referenced by GetContext(), GetMonitor(), HasMonitor(), Opts(), Params(), and SetContext().
|
private |
Digi multiplicity trigger algorithm.
Definition at line 75 of file EventbuildChain.h.
Referenced by EventbuildChain(), Run(), and Status().
|
private |
Hit multiplicity trigger algorithm.
Definition at line 76 of file EventbuildChain.h.
Referenced by EventbuildChain(), Run(), and Status().
|
private |
Event QA algorithm.
Definition at line 80 of file EventbuildChain.h.
Referenced by EventbuildChain(), Run(), and Status().
|
private |
Event selector algorithm.
Definition at line 79 of file EventbuildChain.h.
Referenced by EventbuildChain(), RegisterSetup(), Run(), and Status().
|
private |
Histogram sender.
Definition at line 81 of file EventbuildChain.h.
Referenced by EventbuildChain(), and Run().
|
private |
Trigger detector.
Definition at line 74 of file EventbuildChain.h.
Referenced by EventbuildChain(), Run(), and Status().
|
private |
V0 trigger algorithm.
Definition at line 77 of file EventbuildChain.h.
Referenced by EventbuildChain(), Run(), SetV0TriggerQa(), and Status().