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 22 of file CbmTaskBuildEvents.cxx.
|
delete |
Copy constructor (disabled)
|
virtual |
|
private |
|
virtual |
Task execution.
Definition at line 115 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(), cbm::algo::DigiEvent::ToCbmDigiEvents(), and ToString().
|
private |
Construct a DigiTimeslice from the data in CbmDigiManager.
Definition at line 35 of file CbmTaskBuildEvents.cxx.
References fConfig, CbmDigiTimeslice::fData, fDigiMan, CbmFsdDigiData::fDigis, CbmMuchDigiData::fDigis, CbmPsdDigiData::fDigis, CbmRichDigiData::fDigis, CbmStsDigiData::fDigis, CbmTofDigiData::fDigis, CbmTrdDigiData::fDigis, CbmDigiData::fFsd, CbmDigiData::fMuch, CbmDigiData::fPsd, CbmDigiData::fRich, CbmDigiData::fSts, CbmDigiData::fTof, CbmDigiData::fTrd, CbmDigiData::fTrd2d, CbmDigiManager::GetBranch(), CbmDigiBranchBase::GetBranchContainer(), kBmon, kFsd, kMuch, kPsd, kRich, kSts, kTof, kTrd, and kTrd2d.
Referenced by Exec().
|
virtual |
Finish timeslice.
Definition at line 204 of file CbmTaskBuildEvents.cxx.
References fConfig, fNumDigisEv, fNumDigisTs, fNumEvents, fNumTriggers, fNumTs, fTimeBuildEvt, fTimeFillTs, fTimeSelectorEvt, fTimeTot, and ToString().
|
private |
Number of digis for a given system.
data | CbmDigiData object (DigiTimeslice or DigiEvent) |
system | System identifier (enum ECbmModuleId) |
Definition at line 230 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 250 of file CbmTaskBuildEvents.cxx.
References fAlgo, fConfig, fDigiMan, fEvents, fNumDigisEv, fNumDigisTs, fSelector, fTimeslice, fTriggers, CbmDigiManager::Init(), CbmDigiManager::Instance(), CbmDigiManager::IsPresent(), and ToString().
|
delete |
Assignment operator (disabled)
|
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.