5#ifndef CBMMCBM2018EVENTBUILDER_H
6#define CBMMCBM2018EVENTBUILDER_H
67 virtual InitStatus
Init();
70 virtual InitStatus
ReInit();
74 virtual void Exec(Option_t*);
152 std::vector<std::pair<ECbmModuleId, Int_t>>
fVect;
XPU_D constexpr auto ToIntegralType(T enumerator) -> typename std::underlying_type< T >::type
@ kNofSystems
For loops over active systems.
std::pair< ECbmModuleId, Int_t > digituple
Class characterising one event by a collection of links (indices) to data objects,...
Bool_t fFillHistos
histogram with the nb of PSD digis per event vs seed time of the events
std::multimap< Double_t, digituple > fSorter
array with pointers to input containers
Bool_t IsDigiInEvent(Double_t)
Int_t fTriggerMaxTofDigis
Int_t fTriggerMaxRichDigis
void SetEventBuilderAlgo(EventBuilderAlgo algo=EventBuilderAlgo::FixedTimeWindow)
TH1 * fhEventDt
histogram with the seed time of the events
Int_t fTriggerMaxMuchDigis
virtual InitStatus ReInit()
void SetTriggerMaxNumberTof(Int_t val)
Double_t fPrevTime
Timeslice Counter.
TH1 * fDiffTime
vector with all created events
TH2 * fhNbDigiPerEvtTime
histogram with the nb of all digis in the event
Int_t fTriggerMinRichDigis
Double_t fFixedTimeWindow
TClonesArray * fEvents
input container of TO digis
TH2 * fhNbDigiPerEvtTimeTrd
histogram with the nb of MUCH digis per event vs seed time of the events
Int_t fTriggerMinPsdDigis
Int_t fTriggerMaxPsdDigis
std::vector< std::pair< ECbmModuleId, Int_t > > fVect
for digi sorting
CbmMcbm2018EventBuilder operator=(const CbmMcbm2018EventBuilder &)=delete
TH1 * fhEventTime
histogram with the time difference between two consecutive digis
void SetFillHistos(Bool_t var)
Int_t fTriggerMinTrdDigis
void SetTriggerMinNumberTof(Int_t val)
Int_t fTriggerMaxBmonDigis
void SetTriggerMinNumberTrd(Int_t val)
Int_t fErrors
Event Counter.
void SetFixedTimeWindow(Double_t val)
Int_t fTriggerMinStsDigis
Int_t fTriggerMaxTrdDigis
void SetTriggerMaxNumberBmon(Int_t val)
void SetOutFilename(TString sNameIn)
Int_t fNrTs
Error Counter.
EventBuilderAlgo fEventBuilderAlgo
Switch ON/OFF filling of histograms.
TH2 * fhNbDigiPerEvtTimeMuch
histogram with the nb of STS digis per event vs seed time of the events
Int_t fTriggerMinTofDigis
TH2 * fhNbDigiPerEvtTimeBmon
histogram with the nb of all digis per event vs seed time of the events
virtual InitStatus Init()
~CbmMcbm2018EventBuilder()
void SetMaximumTimeGap(Double_t val)
void SetTriggerMinNumberSts(Int_t val)
TH2 * fhNbDigiPerEvtTimeTof
histogram with the nb of TRD digis per event vs seed time of the events
TH1 * fhEventSize
histogram with the interval in seed time of consecutive events
std::vector< CbmEvent * > fEventVector
pointer to the event which is currently build
Int_t fTriggerMaxStsDigis
CbmDigiManager * fDigiMan
void SetTriggerMaxNumberMuch(Int_t val)
Bool_t fbUseBaseMuchDigi
Save previous time information.
void SetTriggerMaxNumberRich(Int_t val)
void SetUseBaseMuchDigi(Bool_t bFlag=kTRUE)
TH2 * fhNbDigiPerEvtTimePsd
histogram with the nb of RICH digis per event vs seed time of the events
void SetTriggerMaxNumberPsd(Int_t val)
void SetTriggerMinNumberRich(Int_t val)
virtual void Exec(Option_t *)
CbmMcbm2018EventBuilder()
void SetTriggerMinNumberBmon(Int_t val)
TH2 * fhNbDigiPerEvtTimeRich
histogram with the nb of TOF digis per event vs seed time of the events
virtual void SetParContainers()
Int_t fTriggerMinMuchDigis
TClonesArray * fBmonDigiArr
std::array< TClonesArray *, ToIntegralType(ECbmModuleId::kNofSystems)> fLinkArray
output container of CbmEvents
void AddDigiToEvent(ECbmModuleId, Int_t)
const std::vector< CbmTofDigi > * fBmonDigiVec
void SetTriggerMinNumberPsd(Int_t val)
void SetTriggerMaxNumberSts(Int_t val)
ClassDef(CbmMcbm2018EventBuilder, 2)
TH2 * fhNbDigiPerEvtTimeSts
histogram with the nb of Bmon digis per event vs seed time of the events
Bool_t HasTrigger(CbmEvent *)
void AddDigiToSorter(ECbmModuleId, Int_t)
void SetTriggerMaxNumberTrd(Int_t val)
void SetTriggerMinNumberMuch(Int_t val)
Int_t fTriggerMinBmonDigis
CbmMcbm2018EventBuilder(const CbmMcbm2018EventBuilder &)=delete