|
CbmRoot
|
Task class for associating digis to events. More...
#include <CbmTaskBuildEvents.h>
Public Member Functions | |
| CbmTaskBuildEvents () | |
| Constructor. | |
| CbmTaskBuildEvents (const CbmTaskBuildEvents &)=delete | |
| Copy constructor (disabled) | |
| virtual | ~CbmTaskBuildEvents () |
| Destructor. | |
| virtual void | Exec (Option_t *opt) |
| Task execution. | |
| virtual void | Finish () |
| Finish timeslice. | |
| CbmTaskBuildEvents & | operator= (const CbmTaskBuildEvents &)=delete |
| Assignment operator (disabled) | |
| void | SetConfig (const cbm::algo::evbuild::EventBuilderConfig &config) |
| Configure the event builder algorithm. | |
| void | SetDigiEventSelector (cbm::algo::evbuild::DigiEventSelectorConfig config) |
| Activate event selector which requires a minimum number of fired layers. | |
Private Member Functions | |
| virtual InitStatus | Init () |
| Task initialisation. | |
| CbmDigiTimeslice | FillTimeSlice () |
| Construct a DigiTimeslice from the data in CbmDigiManager. | |
| size_t | GetNumDigis (const CbmDigiData &data, ECbmModuleId system) |
| Number of digis for a given system. | |
| ClassDef (CbmTaskBuildEvents, 1) | |
Private Attributes | |
| const CbmDigiTimeslice * | fTimeslice = nullptr |
| CbmDigiManager * | fDigiMan = nullptr |
| Input data (from unpacking) | |
| const std::vector< double > * | fTriggers = nullptr |
| Input data (from simulation) | |
| std::vector< CbmDigiEvent > * | fEvents = nullptr |
| Input data (triggers) | |
| std::unique_ptr< cbm::algo::evbuild::DigiEventSelector > | fSelector |
| Output data (events) | |
| std::unique_ptr< cbm::algo::evbuild::EventBuilder > | fAlgo |
| Event selector. | |
| std::unique_ptr< cbm::algo::evbuild::EventBuilderConfig > | fConfig |
| Algorithm. | |
| std::map< ECbmModuleId, size_t > | fNumDigisTs |
| Event builder configuration. | |
| std::map< ECbmModuleId, size_t > | fNumDigisEv |
| size_t | fNumTs = 0 |
| size_t | fNumTriggers = 0 |
| size_t | fNumEvents = 0 |
| double | fTimeFillTs = 0. |
| double | fTimeBuildEvt = 0. |
| double | fTimeSelectorEvt = 0. |
| double | fTimeTot = 0. |
Task class for associating digis to events.
Creates objects of class CbmDigiEvent and fills them with digi objects, using the algorithm EventBuilder.
TOFO: The current implementation is for STS only and with a dummy trigger list just to establish the framework integration of algorithm and data interfaces.
Definition at line 32 of file CbmTaskBuildEvents.h.
| CbmTaskBuildEvents::CbmTaskBuildEvents | ( | ) |
Constructor.
Definition at line 23 of file CbmTaskBuildEvents.cxx.
Referenced by CbmTaskBuildEvents(), ClassDef(), and operator=().
|
delete |
Copy constructor (disabled)
References CbmTaskBuildEvents().
|
virtual |
|
private |
References CbmTaskBuildEvents().
|
virtual |
Task execution.
Definition at line 127 of file CbmTaskBuildEvents.cxx.
References cbm::algo::DigiEvent, fAlgo, fConfig, CbmDigiTimeslice::fData, fEvents, FillTimeSlice(), fNumDigisEv, fNumDigisTs, fNumEvents, fNumTriggers, fNumTs, fSelector, fTimeBuildEvt, fTimeFillTs, fTimeSelectorEvt, fTimeslice, fTimeTot, fTriggers, GetNumDigis(), CbmDigiData::Size(), and cbm::algo::DigiEvent::ToCbmDigiEvents().
|
private |
Construct a DigiTimeslice from the data in CbmDigiManager.
Definition at line 36 of file CbmTaskBuildEvents.cxx.
References CbmMvdDigi::ConvertToRawDigi(), fConfig, CbmDigiTimeslice::fData, fDigiMan, CbmFsdDigiData::fDigis, CbmMuchDigiData::fDigis, CbmMvdDigiData::fDigis, CbmPsdDigiData::fDigis, CbmRichDigiData::fDigis, CbmStsDigiData::fDigis, CbmTofDigiData::fDigis, CbmTrdDigiData::fDigis, CbmDigiData::fFsd, CbmDigiData::fMuch, CbmDigiData::fMvd, CbmDigiData::fPsd, CbmDigiData::fRich, CbmDigiData::fSts, CbmDigiData::fTof, CbmDigiData::fTrd, CbmDigiData::fTrd2d, CbmDigiBranchBase::GetBranchContainer(), kBmon, kFsd, kMuch, kMvd, kPsd, kRich, kSts, kTof, kTrd, and kTrd2d.
Referenced by Exec().
|
virtual |
Finish timeslice.
Definition at line 216 of file CbmTaskBuildEvents.cxx.
References fConfig, fNumDigisEv, fNumDigisTs, fNumEvents, fNumTriggers, fNumTs, fTimeBuildEvt, fTimeFillTs, fTimeSelectorEvt, and fTimeTot.
|
private |
Number of digis for a given system.
| data | CbmDigiData object (DigiTimeslice or DigiEvent) |
| system | System identifier (enum ECbmModuleId) |
Definition at line 242 of file CbmTaskBuildEvents.cxx.
References CbmDigiData::fBmon, CbmBmonDigiData::fDigis, CbmMuchDigiData::fDigis, CbmPsdDigiData::fDigis, CbmRichDigiData::fDigis, CbmStsDigiData::fDigis, CbmTofDigiData::fDigis, CbmTrdDigiData::fDigis, CbmDigiData::fMuch, CbmDigiData::fPsd, CbmDigiData::fRich, CbmDigiData::fSts, CbmDigiData::fTof, CbmDigiData::fTrd, CbmDigiData::fTrd2d, kBmon, kMuch, kPsd, kRich, kSts, kTof, kTrd, and kTrd2d.
Referenced by Exec().
|
privatevirtual |
Task initialisation.
Definition at line 262 of file CbmTaskBuildEvents.cxx.
References fAlgo, fConfig, fDigiMan, fEvents, fNumDigisEv, fNumDigisTs, fSelector, fTimeslice, fTriggers, and CbmDigiManager::Instance().
|
delete |
Assignment operator (disabled)
References CbmTaskBuildEvents().
|
inline |
Configure the event builder algorithm.
Definition at line 60 of file CbmTaskBuildEvents.h.
References fConfig.
|
inline |
Activate event selector which requires a minimum number of fired layers.
| params | Struct with minimum number of layers for different detectors |
Definition at line 70 of file CbmTaskBuildEvents.h.
References fSelector.
|
private |
Event selector.
Definition at line 98 of file CbmTaskBuildEvents.h.
|
private |
Algorithm.
Definition at line 99 of file CbmTaskBuildEvents.h.
Referenced by Exec(), FillTimeSlice(), Finish(), Init(), and SetConfig().
|
private |
Input data (from unpacking)
Definition at line 94 of file CbmTaskBuildEvents.h.
Referenced by FillTimeSlice(), and Init().
|
private |
Input data (triggers)
Definition at line 96 of file CbmTaskBuildEvents.h.
Referenced by Exec(), Init(), and ~CbmTaskBuildEvents().
|
private |
Definition at line 103 of file CbmTaskBuildEvents.h.
|
private |
Event builder configuration.
Definition at line 102 of file CbmTaskBuildEvents.h.
|
private |
Definition at line 106 of file CbmTaskBuildEvents.h.
|
private |
Definition at line 105 of file CbmTaskBuildEvents.h.
|
private |
Definition at line 104 of file CbmTaskBuildEvents.h.
|
private |
Output data (events)
Definition at line 97 of file CbmTaskBuildEvents.h.
Referenced by Exec(), Init(), and SetDigiEventSelector().
|
private |
Definition at line 108 of file CbmTaskBuildEvents.h.
|
private |
Definition at line 107 of file CbmTaskBuildEvents.h.
|
private |
Definition at line 109 of file CbmTaskBuildEvents.h.
|
private |
Definition at line 93 of file CbmTaskBuildEvents.h.
|
private |
Definition at line 110 of file CbmTaskBuildEvents.h.
|
private |
Input data (from simulation)
Definition at line 95 of file CbmTaskBuildEvents.h.