CbmRoot
Loading...
Searching...
No Matches
cbm::algo::evbuild::EventbuildChain Class Reference

Steering class for event building from digi timeslices. More...

#include <EventbuildChain.h>

Inheritance diagram for cbm::algo::evbuild::EventbuildChain:
[legend]
Collaboration diagram for cbm::algo::evbuild::EventbuildChain:
[legend]

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 ChainContextGetContext ()
 
void SetContext (const ChainContext *ctx)
 
const OptionsOpts () const
 
const RecoParamsParams () const
 
bool HasMonitor () const
 
Monitor & GetMonitor () const
 

Private Member Functions

std::vector< double > GetDigiTimes (const DigiData &timeslice, 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< HistogramSenderfSender
 Histogram sender.
 
const ChainContextfContext = nullptr
 

Detailed Description

Steering class for event building from digi timeslices.

Author
Volker Friese v.fri.nosp@m.ese@.nosp@m.gsi.d.nosp@m.e
Since
11 July 2023

Constructs a vector of CbmDigiEvents from a CbmDigiTimeslice. Uses the algorithms

Definition at line 47 of file EventbuildChain.h.

Member Typedef Documentation

◆ ResultType

Constructor & Destructor Documentation

◆ EventbuildChain()

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::~EventbuildChain ( )

Destructor.

Definition at line 63 of file EventbuildChain.cxx.

Member Function Documentation

◆ GetContext()

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

◆ GetDigiTimes()

std::vector< double > EventbuildChain::GetDigiTimes ( const DigiData & timeslice,
ECbmModuleId system )
private

Extract digi times from CbmDigiTimeslice.

Parameters
systemDetector system (enum ECbmModuleId)
Returns
Vector of digi times for the specified system

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().

◆ GetMonitor()

◆ HasMonitor()

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

◆ RegisterTrackingSetup()

void cbm::algo::evbuild::EventbuildChain::RegisterTrackingSetup ( std::shared_ptr< TrackingSetup > pSetup)
inline

Registers tracking setup.

Definition at line 65 of file EventbuildChain.h.

References fSelector, and cbm::algo::evbuild::DigiEventSelector::RegisterTrackingSetup().

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

◆ Status()

Member Data Documentation

◆ fBuilder

EventBuilder cbm::algo::evbuild::EventbuildChain::fBuilder
private

Event builder algorithm.

Definition at line 73 of file EventbuildChain.h.

Referenced by Run(), and Status().

◆ fConfig

Config cbm::algo::evbuild::EventbuildChain::fConfig
private

Global configuration.

Definition at line 68 of file EventbuildChain.h.

Referenced by Run(), and Status().

◆ fContext

◆ fDigiMultTrigger

TimeClusterTrigger cbm::algo::evbuild::EventbuildChain::fDigiMultTrigger
private

Digi multiplicity trigger algorithm.

Definition at line 70 of file EventbuildChain.h.

Referenced by Run(), and Status().

◆ fHitMultTrigger

HitMultTrigger cbm::algo::evbuild::EventbuildChain::fHitMultTrigger
private

Hit multiplicity trigger algorithm.

Definition at line 71 of file EventbuildChain.h.

Referenced by Run(), and Status().

◆ fQa

DigiEventQa cbm::algo::evbuild::EventbuildChain::fQa
private

Event QA algorithm.

Definition at line 75 of file EventbuildChain.h.

Referenced by EventbuildChain(), Run(), and Status().

◆ fSelector

DigiEventSelector cbm::algo::evbuild::EventbuildChain::fSelector
private

Event selector algorithm.

Definition at line 74 of file EventbuildChain.h.

Referenced by RegisterTrackingSetup(), Run(), and Status().

◆ fSender

std::shared_ptr<HistogramSender> cbm::algo::evbuild::EventbuildChain::fSender
private

Histogram sender.

Definition at line 76 of file EventbuildChain.h.

Referenced by EventbuildChain(), and Run().

◆ fTriggerDet

ECbmModuleId cbm::algo::evbuild::EventbuildChain::fTriggerDet = ECbmModuleId::kNotExist
private

Trigger detector.

Definition at line 69 of file EventbuildChain.h.

Referenced by Run(), and Status().

◆ fV0Trigger

V0Trigger cbm::algo::evbuild::EventbuildChain::fV0Trigger
private

V0 trigger algorithm.

Definition at line 72 of file EventbuildChain.h.

Referenced by Run(), and Status().


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