CbmRoot
|
Task class for minimum-bias event trigger from time-distribution of digi data. More...
#include <CbmTaskTriggerDigi.h>
Public Member Functions | |
CbmTaskTriggerDigi () | |
Constructor. | |
CbmTaskTriggerDigi (const CbmTaskTriggerDigi &)=delete | |
Copy constructor (disabled) | |
virtual | ~CbmTaskTriggerDigi () |
Destructor. | |
virtual void | Exec (Option_t *opt) |
Task execution. | |
virtual void | Finish () |
Finish timeslice. | |
CbmTaskTriggerDigi & | operator= (const CbmTaskTriggerDigi &)=delete |
Assignment operator (disabled) | |
void | SetConfig (const cbm::algo::evbuild::DigiTriggerConfig &config) |
Configure the trigger algorithm. | |
void | AddSystem (ECbmModuleId system) |
Add a detector system to the trigger algorithm. | |
Private Member Functions | |
virtual InitStatus | Init () |
Task initialisation. | |
template<class TDigi > | |
std::vector< double > | GetDigiTimes (const CbmDigiBranchBase *digiBranch) |
Extract digi times from digi branch. | |
std::vector< double > | GetDigiTimes (ECbmModuleId system) |
Extract digi times from CbmDigiTimeslice. | |
ClassDef (CbmTaskTriggerDigi, 1) | |
Private Attributes | |
const CbmDigiTimeslice * | fTimeslice = nullptr |
CbmDigiManager * | fDigiMan = nullptr |
Input data (from unpacking) | |
std::vector< ECbmModuleId > | fSystems {} |
Input data (from simulation) | |
std::vector< double > * | fTriggers = nullptr |
std::unique_ptr< cbm::algo::evbuild::TimeClusterTrigger > | fAlgo = nullptr |
Output data. | |
std::unique_ptr< cbm::algo::evbuild::DigiTriggerConfig > | fConfig = nullptr |
Algorithm. | |
double | fTriggerWindow = 0. |
Configuration / parameters. | |
int32_t | fMinNumDigis = 0 |
double | fDeadTime = 0. |
size_t | fNumTs = 0 |
size_t | fNumDigis = 0 |
size_t | fNumTriggers = 0 |
double | fTimeExtract = 0. |
double | fTimeFind = 0. |
double | fTimeTot = 0. |
Task class for minimum-bias event trigger from time-distribution of digi data.
The tasks calls algo::TimeClusterTrigger with the digi time distribution of the trigger detector.
TOFO: The current implementation is for STS only as trigger detector.
Definition at line 35 of file CbmTaskTriggerDigi.h.
CbmTaskTriggerDigi::CbmTaskTriggerDigi | ( | ) |
Constructor.
Definition at line 28 of file CbmTaskTriggerDigi.cxx.
|
delete |
Copy constructor (disabled)
|
virtual |
|
inline |
Add a detector system to the trigger algorithm.
system | System to be added |
Definition at line 72 of file CbmTaskTriggerDigi.h.
References fSystems.
|
private |
|
virtual |
Task execution.
Definition at line 39 of file CbmTaskTriggerDigi.cxx.
References fDigiMan, first, fNumDigis, fNumTriggers, fNumTs, fSystems, fTimeFind, fTimeslice, fTimeTot, fTriggers, CbmDigiManager::GetBranch(), GetDigiTimes(), kBmon, kMuch, kPsd, kRich, kSts, kTof, and kTrd.
|
virtual |
Finish timeslice.
Definition at line 201 of file CbmTaskTriggerDigi.cxx.
References fNumDigis, fNumTriggers, fNumTs, fTimeExtract, fTimeFind, and fTimeTot.
|
inlineprivate |
Extract digi times from digi branch.
digiBranch | Digi branch for one detector |
Definition at line 86 of file CbmTaskTriggerDigi.h.
References fTimeExtract, and CbmDigiBranchBase::GetBranchContainer().
Referenced by Exec().
|
private |
Extract digi times from CbmDigiTimeslice.
system | Detector system (enum ECbmModuleId) |
Definition at line 135 of file CbmTaskTriggerDigi.cxx.
References CbmDigiData::fBmon, CbmDigiTimeslice::fData, CbmBmonDigiData::fDigis, CbmMuchDigiData::fDigis, CbmPsdDigiData::fDigis, CbmRichDigiData::fDigis, CbmStsDigiData::fDigis, CbmTofDigiData::fDigis, CbmTrdDigiData::fDigis, CbmDigiData::fMuch, CbmDigiData::fPsd, CbmDigiData::fRich, CbmDigiData::fSts, fTimeslice, CbmDigiData::fTof, CbmDigiData::fTrd, kBmon, kMuch, kPsd, kRich, kSts, kTof, and kTrd.
|
privatevirtual |
Task initialisation.
Definition at line 219 of file CbmTaskTriggerDigi.cxx.
References fAlgo, fConfig, fDigiMan, fSystems, fTimeslice, fTriggers, CbmModuleList::GetModuleNameCaps(), CbmDigiManager::Init(), CbmDigiManager::Instance(), CbmDigiManager::IsPresent(), and ToString().
|
delete |
Assignment operator (disabled)
|
inline |
Configure the trigger algorithm.
Definition at line 64 of file CbmTaskTriggerDigi.h.
References fConfig.
|
private |
|
private |
Algorithm.
Definition at line 117 of file CbmTaskTriggerDigi.h.
Referenced by Init(), and SetConfig().
|
private |
Definition at line 120 of file CbmTaskTriggerDigi.h.
|
private |
Input data (from unpacking)
Definition at line 113 of file CbmTaskTriggerDigi.h.
|
private |
Definition at line 119 of file CbmTaskTriggerDigi.h.
|
private |
Definition at line 122 of file CbmTaskTriggerDigi.h.
|
private |
Definition at line 123 of file CbmTaskTriggerDigi.h.
|
private |
Definition at line 121 of file CbmTaskTriggerDigi.h.
|
private |
Input data (from simulation)
Definition at line 114 of file CbmTaskTriggerDigi.h.
Referenced by AddSystem(), Exec(), and Init().
|
private |
Definition at line 124 of file CbmTaskTriggerDigi.h.
Referenced by Finish(), and GetDigiTimes().
|
private |
Definition at line 125 of file CbmTaskTriggerDigi.h.
|
private |
Definition at line 112 of file CbmTaskTriggerDigi.h.
Referenced by Exec(), GetDigiTimes(), and Init().
|
private |
Definition at line 126 of file CbmTaskTriggerDigi.h.
|
private |
Definition at line 115 of file CbmTaskTriggerDigi.h.
Referenced by Exec(), Init(), and ~CbmTaskTriggerDigi().
|
private |
Configuration / parameters.
Definition at line 118 of file CbmTaskTriggerDigi.h.