CbmRoot
|
#include <CbmMcbm2018EventBuilder.h>
Private Member Functions | |
void | InitSorter () |
void | BuildEvents () |
void | FillHisto () |
void | DefineGoodEvents () |
void | FillOutput () |
template<class Digi > | |
void | AddDigiToSorter (ECbmModuleId, Int_t) |
void | AddDigiToEvent (ECbmModuleId, Int_t) |
Bool_t | IsDigiInEvent (Double_t) |
Bool_t | HasTrigger (CbmEvent *) |
ClassDef (CbmMcbm2018EventBuilder, 2) | |
Private Attributes | |
Int_t | fCurEv {0} |
Int_t | fErrors {0} |
Event Counter. More... | |
Int_t | fNrTs {0} |
Error Counter. More... | |
Double_t | fPrevTime {0.} |
Timeslice Counter. More... | |
Bool_t | fbUseBaseMuchDigi = kFALSE |
Save previous time information. More... | |
CbmDigiManager * | fDigiMan = nullptr |
const std::vector< CbmTofDigi > * | fT0DigiVec = nullptr |
TClonesArray * | fT0DigiArr = nullptr |
TClonesArray * | fEvents = nullptr |
input container of TO digis More... | |
std::array< TClonesArray *, ToIntegralType(ECbmModuleId::kNofSystems)> | fLinkArray |
output container of CbmEvents More... | |
std::multimap< Double_t, digituple > | fSorter |
array with pointers to input containers More... | |
std::vector< std::pair< ECbmModuleId, Int_t > > | fVect |
for digi sorting More... | |
CbmEvent * | fCurrentEvent |
std::vector< CbmEvent * > | fEventVector |
pointer to the event which is currently build More... | |
TH1 * | fDiffTime |
vector with all created events More... | |
TH1 * | fhEventTime {nullptr} |
histogram with the time difference between two consecutive digis More... | |
TH1 * | fhEventDt |
histogram with the seed time of the events More... | |
TH1 * | fhEventSize |
histogram with the interval in seed time of consecutive events More... | |
TH2 * | fhNbDigiPerEvtTime |
histogram with the nb of all digis in the event More... | |
TH2 * | fhNbDigiPerEvtTimeT0 |
histogram with the nb of all digis per event vs seed time of the events More... | |
TH2 * | fhNbDigiPerEvtTimeSts |
histogram with the nb of T0 digis per event vs seed time of the events More... | |
TH2 * | fhNbDigiPerEvtTimeMuch |
histogram with the nb of STS digis per event vs seed time of the events More... | |
TH2 * | fhNbDigiPerEvtTimeTrd |
histogram with the nb of MUCH digis per event vs seed time of the events More... | |
TH2 * | fhNbDigiPerEvtTimeTof |
histogram with the nb of TRD digis per event vs seed time of the events More... | |
TH2 * | fhNbDigiPerEvtTimeRich |
histogram with the nb of TOF digis per event vs seed time of the events More... | |
TH2 * | fhNbDigiPerEvtTimePsd |
histogram with the nb of RICH digis per event vs seed time of the events More... | |
Bool_t | fFillHistos {kTRUE} |
histogram with the nb of PSD digis per event vs seed time of the events More... | |
EventBuilderAlgo | fEventBuilderAlgo {EventBuilderAlgo::FixedTimeWindow} |
Switch ON/OFF filling of histograms. More... | |
Double_t | fFixedTimeWindow {100.} |
Double_t | fStartTimeEvent {0.} |
Double_t | fMaximumTimeGap {100.} |
Int_t | fTriggerMinT0Digis {0} |
Int_t | fTriggerMinStsDigis {0} |
Int_t | fTriggerMinMuchDigis {0} |
Int_t | fTriggerMinTrdDigis {0} |
Int_t | fTriggerMinTofDigis {0} |
Int_t | fTriggerMinRichDigis {0} |
Int_t | fTriggerMinPsdDigis {0} |
Int_t | fTriggerMaxT0Digis = -1 |
Int_t | fTriggerMaxStsDigis = -1 |
Int_t | fTriggerMaxMuchDigis = -1 |
Int_t | fTriggerMaxTrdDigis = -1 |
Int_t | fTriggerMaxTofDigis = -1 |
Int_t | fTriggerMaxRichDigis = -1 |
Int_t | fTriggerMaxPsdDigis = -1 |
TString | fOutFileName {"HistosEventBuilder.root"} |
Definition at line 48 of file CbmMcbm2018EventBuilder.h.
CbmMcbm2018EventBuilder::CbmMcbm2018EventBuilder | ( | ) |
Default constructor
Definition at line 36 of file CbmMcbm2018EventBuilder.cxx.
|
delete |
CbmMcbm2018EventBuilder::~CbmMcbm2018EventBuilder | ( | ) |
Constructor with parameters (Optional) Destructor
Definition at line 40 of file CbmMcbm2018EventBuilder.cxx.
|
private |
|
private |
Check that _entry is not out of range
Definition at line 602 of file CbmMcbm2018EventBuilder.cxx.
References fDigiMan, fSorter, fT0DigiArr, fT0DigiVec, CbmDigiManager::Get(), kHodo, kMuch, kPsd, kRich, kSts, kTof, and kTrd.
|
private |
Definition at line 295 of file CbmMcbm2018EventBuilder.cxx.
References AddDigiToEvent(), fbUseBaseMuchDigi, fCurEv, fCurrentEvent, fDiffTime, fEventVector, fFillHistos, fPrevTime, fSorter, fStartTimeEvent, fVect, IsDigiInEvent(), kHodo, kMuch, kPsd, kRich, kSts, kTof, kTrd, and CbmEvent::SetEndTime().
Referenced by Exec().
|
private |
|
private |
Definition at line 530 of file CbmMcbm2018EventBuilder.cxx.
References fEventVector, and HasTrigger().
Referenced by Exec().
|
virtual |
Executed for each event.
Definition at line 218 of file CbmMcbm2018EventBuilder.cxx.
References BuildEvents(), DefineGoodEvents(), fEventVector, fFillHistos, FillHisto(), FillOutput(), fNrTs, and InitSorter().
|
private |
Definition at line 470 of file CbmMcbm2018EventBuilder.cxx.
References fEventVector, fhEventDt, fhEventSize, fhEventTime, fhNbDigiPerEvtTime, fhNbDigiPerEvtTimeMuch, fhNbDigiPerEvtTimePsd, fhNbDigiPerEvtTimeRich, fhNbDigiPerEvtTimeSts, fhNbDigiPerEvtTimeT0, fhNbDigiPerEvtTimeTof, fhNbDigiPerEvtTimeTrd, fVect, kMuchDigi, kPsdDigi, kRichDigi, kStsDigi, kT0Digi, kTofDigi, and kTrdDigi.
Referenced by Exec().
|
private |
Definition at line 542 of file CbmMcbm2018EventBuilder.cxx.
References counter, fEvents, fEventVector, and Cbm::ToString().
Referenced by Exec().
|
virtual |
Finish task called at the end of the run
Definition at line 650 of file CbmMcbm2018EventBuilder.cxx.
References fDiffTime, fErrors, fFillHistos, fhEventDt, fhEventSize, fhEventTime, fhNbDigiPerEvtTime, fhNbDigiPerEvtTimeMuch, fhNbDigiPerEvtTimePsd, fhNbDigiPerEvtTimeRich, fhNbDigiPerEvtTimeSts, fhNbDigiPerEvtTimeT0, fhNbDigiPerEvtTimeTof, fhNbDigiPerEvtTimeTrd, and fOutFileName.
|
private |
Definition at line 381 of file CbmMcbm2018EventBuilder.cxx.
References fDigiMan, fT0DigiArr, fT0DigiVec, fTriggerMaxMuchDigis, fTriggerMaxPsdDigis, fTriggerMaxRichDigis, fTriggerMaxStsDigis, fTriggerMaxT0Digis, fTriggerMaxTofDigis, fTriggerMaxTrdDigis, fTriggerMinMuchDigis, fTriggerMinPsdDigis, fTriggerMinRichDigis, fTriggerMinStsDigis, fTriggerMinT0Digis, fTriggerMinTofDigis, fTriggerMinTrdDigis, CbmDigiManager::IsPresent(), kMuch, kMuchDigi, kPsd, kPsdDigi, kRich, kRichDigi, kSts, kStsDigi, kT0Digi, kTof, kTofDigi, kTrd, and kTrdDigi.
Referenced by DefineGoodEvents().
|
virtual |
Initiliazation of task at the beginning of a run
Definition at line 55 of file CbmMcbm2018EventBuilder.cxx.
References fbUseBaseMuchDigi, fDiffTime, fDigiMan, fEvents, fFillHistos, fhEventDt, fhEventSize, fhEventTime, fhNbDigiPerEvtTime, fhNbDigiPerEvtTimeMuch, fhNbDigiPerEvtTimePsd, fhNbDigiPerEvtTimeRich, fhNbDigiPerEvtTimeSts, fhNbDigiPerEvtTimeT0, fhNbDigiPerEvtTimeTof, fhNbDigiPerEvtTimeTrd, fT0DigiArr, fT0DigiVec, CbmDigiManager::Init(), CbmDigiManager::Instance(), CbmDigiManager::IsPresent(), kMuch, kPsd, kRich, kSts, kTof, kTrd, and CbmDigiManager::UseMuchBeamTimeDigi().
|
private |
Definition at line 239 of file CbmMcbm2018EventBuilder.cxx.
References fbUseBaseMuchDigi, fDigiMan, fPrevTime, fSorter, fStartTimeEvent, fT0DigiArr, fT0DigiVec, CbmDigiManager::GetNofDigis(), kHodo, kMuch, kPsd, kRich, kSts, kTof, and kTrd.
Referenced by Exec().
|
private |
Definition at line 372 of file CbmMcbm2018EventBuilder.cxx.
References fEventBuilderAlgo, fFixedTimeWindow, FixedTimeWindow, fMaximumTimeGap, fPrevTime, and fStartTimeEvent.
Referenced by BuildEvents().
|
delete |
|
virtual |
ReInitiliazation of task when the runID changes
Definition at line 215 of file CbmMcbm2018EventBuilder.cxx.
|
inline |
Definition at line 83 of file CbmMcbm2018EventBuilder.h.
References fEventBuilderAlgo.
|
inline |
Definition at line 80 of file CbmMcbm2018EventBuilder.h.
References fFillHistos.
|
inline |
Definition at line 87 of file CbmMcbm2018EventBuilder.h.
References fFixedTimeWindow.
|
inline |
Definition at line 88 of file CbmMcbm2018EventBuilder.h.
References fMaximumTimeGap.
|
inline |
Definition at line 81 of file CbmMcbm2018EventBuilder.h.
References fOutFileName.
|
virtual |
Load the parameter container from the runtime database
Definition at line 43 of file CbmMcbm2018EventBuilder.cxx.
|
inline |
Maximum number of Much digis needed to generate a trigger, -1 means no cut, 0 means anti-coinc trigger
Definition at line 110 of file CbmMcbm2018EventBuilder.h.
References fTriggerMaxMuchDigis.
|
inline |
Maximum number of Psd digis needed to generate a trigger, -1 means no cut, 0 means anti-coinc trigger
Definition at line 118 of file CbmMcbm2018EventBuilder.h.
References fTriggerMaxPsdDigis.
|
inline |
Maximum number of Rich digis needed to generate a trigger, -1 means no cut, 0 means anti-coinc trigger
Definition at line 116 of file CbmMcbm2018EventBuilder.h.
References fTriggerMaxRichDigis.
|
inline |
Maximum number of Sts digis needed to generate a trigger, -1 means no cut, 0 means anti-coinc trigger
Definition at line 108 of file CbmMcbm2018EventBuilder.h.
References fTriggerMaxStsDigis.
|
inline |
Maximum number of T0 digis needed to generate a trigger, -1 means no cut, 0 means anti-coinc trigger
Definition at line 106 of file CbmMcbm2018EventBuilder.h.
References fTriggerMaxT0Digis.
|
inline |
Maximum number of Tof digis needed to generate a trigger, -1 means no cut, 0 means anti-coinc trigger
Definition at line 114 of file CbmMcbm2018EventBuilder.h.
References fTriggerMaxTofDigis.
|
inline |
Maximum number of Trd digis needed to generate a trigger, -1 means no cut, 0 means anti-coinc trigger
Definition at line 112 of file CbmMcbm2018EventBuilder.h.
References fTriggerMaxTrdDigis.
|
inline |
Minimum number of Much digis needed to generate a trigger, 0 means don't use Much for trigger generation
Definition at line 95 of file CbmMcbm2018EventBuilder.h.
References fTriggerMinMuchDigis.
|
inline |
Minimum number of Psd digis needed to generate a trigger, 0 means don't use Psd for trigger generation
Definition at line 103 of file CbmMcbm2018EventBuilder.h.
References fTriggerMinPsdDigis.
|
inline |
Minimum number of Rich digis needed to generate a trigger, 0 means don't use Rich for trigger generation
Definition at line 101 of file CbmMcbm2018EventBuilder.h.
References fTriggerMinRichDigis.
|
inline |
Minimum number of Sts digis needed to generate a trigger, 0 means don't use Sts for trigger generation
Definition at line 93 of file CbmMcbm2018EventBuilder.h.
References fTriggerMinStsDigis.
|
inline |
Minimum number of T0 digis needed to generate a trigger, 0 means don't use T0 for trigger generation
Definition at line 91 of file CbmMcbm2018EventBuilder.h.
References fTriggerMinT0Digis.
|
inline |
Minimum number of Tof digis needed to generate a trigger, 0 means don't use Tof for trigger generation
Definition at line 99 of file CbmMcbm2018EventBuilder.h.
References fTriggerMinTofDigis.
|
inline |
Minimum number of Trd digis needed to generate a trigger, 0 means don't use Trd for trigger generation
Definition at line 97 of file CbmMcbm2018EventBuilder.h.
References fTriggerMinTrdDigis.
|
inline |
Definition at line 120 of file CbmMcbm2018EventBuilder.h.
References fbUseBaseMuchDigi.
|
private |
Save previous time information.
Definition at line 141 of file CbmMcbm2018EventBuilder.h.
Referenced by BuildEvents(), Init(), InitSorter(), and SetUseBaseMuchDigi().
|
private |
Definition at line 136 of file CbmMcbm2018EventBuilder.h.
Referenced by BuildEvents().
|
private |
Definition at line 155 of file CbmMcbm2018EventBuilder.h.
Referenced by AddDigiToEvent(), and BuildEvents().
|
private |
vector with all created events
Definition at line 159 of file CbmMcbm2018EventBuilder.h.
Referenced by BuildEvents(), Finish(), and Init().
|
private |
Definition at line 142 of file CbmMcbm2018EventBuilder.h.
Referenced by AddDigiToSorter(), HasTrigger(), Init(), and InitSorter().
|
private |
|
private |
Switch ON/OFF filling of histograms.
Used event building algorithm
Definition at line 185 of file CbmMcbm2018EventBuilder.h.
Referenced by IsDigiInEvent(), and SetEventBuilderAlgo().
|
private |
input container of TO digis
Definition at line 145 of file CbmMcbm2018EventBuilder.h.
Referenced by FillOutput(), and Init().
|
private |
pointer to the event which is currently build
Definition at line 157 of file CbmMcbm2018EventBuilder.h.
Referenced by BuildEvents(), DefineGoodEvents(), Exec(), FillHisto(), and FillOutput().
|
private |
histogram with the nb of PSD digis per event vs seed time of the events
Definition at line 182 of file CbmMcbm2018EventBuilder.h.
Referenced by BuildEvents(), Exec(), Finish(), Init(), and SetFillHistos().
|
private |
Size of the time window used for the FixedTimeWindow event building algorithm
Definition at line 187 of file CbmMcbm2018EventBuilder.h.
Referenced by IsDigiInEvent(), and SetFixedTimeWindow().
|
private |
histogram with the seed time of the events
Definition at line 162 of file CbmMcbm2018EventBuilder.h.
Referenced by FillHisto(), Finish(), and Init().
|
private |
histogram with the interval in seed time of consecutive events
Definition at line 164 of file CbmMcbm2018EventBuilder.h.
Referenced by FillHisto(), Finish(), and Init().
|
private |
histogram with the time difference between two consecutive digis
Definition at line 161 of file CbmMcbm2018EventBuilder.h.
Referenced by FillHisto(), Finish(), and Init().
|
private |
histogram with the nb of all digis in the event
Definition at line 166 of file CbmMcbm2018EventBuilder.h.
Referenced by FillHisto(), Finish(), and Init().
|
private |
histogram with the nb of STS digis per event vs seed time of the events
Definition at line 172 of file CbmMcbm2018EventBuilder.h.
Referenced by FillHisto(), Finish(), and Init().
|
private |
histogram with the nb of RICH digis per event vs seed time of the events
Definition at line 180 of file CbmMcbm2018EventBuilder.h.
Referenced by FillHisto(), Finish(), and Init().
|
private |
histogram with the nb of TOF digis per event vs seed time of the events
Definition at line 178 of file CbmMcbm2018EventBuilder.h.
Referenced by FillHisto(), Finish(), and Init().
|
private |
histogram with the nb of T0 digis per event vs seed time of the events
Definition at line 170 of file CbmMcbm2018EventBuilder.h.
Referenced by FillHisto(), Finish(), and Init().
|
private |
histogram with the nb of all digis per event vs seed time of the events
Definition at line 168 of file CbmMcbm2018EventBuilder.h.
Referenced by FillHisto(), Finish(), and Init().
|
private |
histogram with the nb of TRD digis per event vs seed time of the events
Definition at line 176 of file CbmMcbm2018EventBuilder.h.
Referenced by FillHisto(), Finish(), and Init().
|
private |
histogram with the nb of MUCH digis per event vs seed time of the events
Definition at line 174 of file CbmMcbm2018EventBuilder.h.
Referenced by FillHisto(), Finish(), and Init().
|
private |
output container of CbmEvents
Definition at line 148 of file CbmMcbm2018EventBuilder.h.
|
private |
Maximum gap allowed between two consecutive digis used for the MaximumTimeGap event building algorithm
Definition at line 191 of file CbmMcbm2018EventBuilder.h.
Referenced by IsDigiInEvent(), and SetMaximumTimeGap().
|
private |
|
private |
Name of the histogram output file
Definition at line 223 of file CbmMcbm2018EventBuilder.h.
Referenced by Finish(), and SetOutFilename().
|
private |
Timeslice Counter.
Definition at line 139 of file CbmMcbm2018EventBuilder.h.
Referenced by BuildEvents(), InitSorter(), and IsDigiInEvent().
|
private |
array with pointers to input containers
Definition at line 151 of file CbmMcbm2018EventBuilder.h.
Referenced by AddDigiToSorter(), BuildEvents(), and InitSorter().
|
private |
Start time of the event, needed for the FixedTimeWindow event building algorithm
Definition at line 189 of file CbmMcbm2018EventBuilder.h.
Referenced by BuildEvents(), InitSorter(), and IsDigiInEvent().
|
private |
Definition at line 144 of file CbmMcbm2018EventBuilder.h.
Referenced by AddDigiToSorter(), HasTrigger(), Init(), and InitSorter().
|
private |
Definition at line 143 of file CbmMcbm2018EventBuilder.h.
Referenced by AddDigiToSorter(), HasTrigger(), Init(), and InitSorter().
|
private |
Maximum number of Much digis needed to generate a trigger, -1 means no cut, 0 means anti-coinc trigger
Definition at line 212 of file CbmMcbm2018EventBuilder.h.
Referenced by HasTrigger(), and SetTriggerMaxNumberMuch().
|
private |
Maximum number of Psd digis needed to generate a trigger, -1 means no cut, 0 means anti-coinc trigger
Definition at line 220 of file CbmMcbm2018EventBuilder.h.
Referenced by HasTrigger(), and SetTriggerMaxNumberPsd().
|
private |
Maximum number of Rich digis needed to generate a trigger, -1 means no cut, 0 means anti-coinc trigger
Definition at line 218 of file CbmMcbm2018EventBuilder.h.
Referenced by HasTrigger(), and SetTriggerMaxNumberRich().
|
private |
Maximum number of Sts digis needed to generate a trigger, -1 means no cut, 0 means anti-coinc trigger
Definition at line 210 of file CbmMcbm2018EventBuilder.h.
Referenced by HasTrigger(), and SetTriggerMaxNumberSts().
|
private |
Maximum number of T0 digis needed to generate a trigger, -1 means no cut, 0 means anti-coinc trigger
Definition at line 208 of file CbmMcbm2018EventBuilder.h.
Referenced by HasTrigger(), and SetTriggerMaxNumberT0().
|
private |
Maximum number of Tof digis needed to generate a trigger, -1 means no cut, 0 means anti-coinc trigger
Definition at line 216 of file CbmMcbm2018EventBuilder.h.
Referenced by HasTrigger(), and SetTriggerMaxNumberTof().
|
private |
Maximum number of Trd digis needed to generate a trigger, -1 means no cut, 0 means anti-coinc trigger
Definition at line 214 of file CbmMcbm2018EventBuilder.h.
Referenced by HasTrigger(), and SetTriggerMaxNumberTrd().
|
private |
Minimum number of Much digis needed to generate a trigger, 0 means don't use Much for trigger generation
Definition at line 198 of file CbmMcbm2018EventBuilder.h.
Referenced by HasTrigger(), and SetTriggerMinNumberMuch().
|
private |
Minimum number of Psd digis needed to generate a trigger, 0 means don't use Psd for trigger generation
Definition at line 206 of file CbmMcbm2018EventBuilder.h.
Referenced by HasTrigger(), and SetTriggerMinNumberPsd().
|
private |
Minimum number of Rich digis needed to generate a trigger, 0 means don't use Rich for trigger generation
Definition at line 204 of file CbmMcbm2018EventBuilder.h.
Referenced by HasTrigger(), and SetTriggerMinNumberRich().
|
private |
Minimum number of Sts digis needed to generate a trigger, 0 means don't use Sts for trigger generation
Definition at line 196 of file CbmMcbm2018EventBuilder.h.
Referenced by HasTrigger(), and SetTriggerMinNumberSts().
|
private |
Minimum number of T0 digis needed to generate a trigger, 0 means don't use T0 for trigger generation
Definition at line 194 of file CbmMcbm2018EventBuilder.h.
Referenced by HasTrigger(), and SetTriggerMinNumberT0().
|
private |
Minimum number of Tof digis needed to generate a trigger, 0 means don't use Tof for trigger generation
Definition at line 202 of file CbmMcbm2018EventBuilder.h.
Referenced by HasTrigger(), and SetTriggerMinNumberTof().
|
private |
Minimum number of Trd digis needed to generate a trigger, 0 means don't use Trd for trigger generation
Definition at line 200 of file CbmMcbm2018EventBuilder.h.
Referenced by HasTrigger(), and SetTriggerMinNumberTrd().
|
private |
for digi sorting
Definition at line 153 of file CbmMcbm2018EventBuilder.h.
Referenced by BuildEvents(), and FillHisto().