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. | |
Int_t | fNrTs {0} |
Error Counter. | |
Double_t | fPrevTime {0.} |
Timeslice Counter. | |
Bool_t | fbUseBaseMuchDigi = kFALSE |
Save previous time information. | |
CbmDigiManager * | fDigiMan = nullptr |
const std::vector< CbmTofDigi > * | fBmonDigiVec = nullptr |
TClonesArray * | fBmonDigiArr = nullptr |
TClonesArray * | fEvents = nullptr |
input container of TO digis | |
std::array< TClonesArray *, ToIntegralType(ECbmModuleId::kNofSystems)> | fLinkArray |
output container of CbmEvents | |
std::multimap< Double_t, digituple > | fSorter |
array with pointers to input containers | |
std::vector< std::pair< ECbmModuleId, Int_t > > | fVect |
for digi sorting | |
CbmEvent * | fCurrentEvent {nullptr} |
std::vector< CbmEvent * > | fEventVector |
pointer to the event which is currently build | |
TH1 * | fDiffTime {nullptr} |
vector with all created events | |
TH1 * | fhEventTime {nullptr} |
histogram with the time difference between two consecutive digis | |
TH1 * | fhEventDt {nullptr} |
histogram with the seed time of the events | |
TH1 * | fhEventSize {nullptr} |
histogram with the interval in seed time of consecutive events | |
TH2 * | fhNbDigiPerEvtTime {nullptr} |
histogram with the nb of all digis in the event | |
TH2 * | fhNbDigiPerEvtTimeBmon {nullptr} |
histogram with the nb of all digis per event vs seed time of the events | |
TH2 * | fhNbDigiPerEvtTimeSts {nullptr} |
histogram with the nb of Bmon digis per event vs seed time of the events | |
TH2 * | fhNbDigiPerEvtTimeMuch {nullptr} |
histogram with the nb of STS digis per event vs seed time of the events | |
TH2 * | fhNbDigiPerEvtTimeTrd {nullptr} |
histogram with the nb of MUCH digis per event vs seed time of the events | |
TH2 * | fhNbDigiPerEvtTimeTof {nullptr} |
histogram with the nb of TRD digis per event vs seed time of the events | |
TH2 * | fhNbDigiPerEvtTimeRich {nullptr} |
histogram with the nb of TOF digis per event vs seed time of the events | |
TH2 * | fhNbDigiPerEvtTimePsd {nullptr} |
histogram with the nb of RICH digis per event vs seed time of the events | |
Bool_t | fFillHistos {kTRUE} |
histogram with the nb of PSD digis per event vs seed time of the events | |
EventBuilderAlgo | fEventBuilderAlgo {EventBuilderAlgo::FixedTimeWindow} |
Switch ON/OFF filling of histograms. | |
Double_t | fFixedTimeWindow {100.} |
Double_t | fStartTimeEvent {0.} |
Double_t | fMaximumTimeGap {100.} |
Int_t | fTriggerMinBmonDigis {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 | fTriggerMaxBmonDigis = -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 50 of file CbmMcbm2018EventBuilder.h.
CbmMcbm2018EventBuilder::CbmMcbm2018EventBuilder | ( | ) |
Default constructor
Definition at line 34 of file CbmMcbm2018EventBuilder.cxx.
|
delete |
CbmMcbm2018EventBuilder::~CbmMcbm2018EventBuilder | ( | ) |
Constructor with parameters (Optional) Destructor
Definition at line 37 of file CbmMcbm2018EventBuilder.cxx.
|
private |
|
private |
Check that _entry is not out of range
Definition at line 458 of file CbmMcbm2018EventBuilder.cxx.
References fBmonDigiArr, fBmonDigiVec, fDigiMan, fSorter, CbmDigiManager::Get(), CbmTofDigi::GetTime(), kHodo, kMuch, kPsd, kRich, kSts, kTof, and kTrd.
Referenced by BuildEvents(), and InitSorter().
|
private |
Definition at line 214 of file CbmMcbm2018EventBuilder.cxx.
References AddDigiToEvent(), AddDigiToSorter(), 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 403 of file CbmMcbm2018EventBuilder.cxx.
References fEventVector, and HasTrigger().
Referenced by Exec().
|
virtual |
Executed for each event.
Definition at line 139 of file CbmMcbm2018EventBuilder.cxx.
References BuildEvents(), DefineGoodEvents(), fEventVector, fFillHistos, FillHisto(), FillOutput(), fNrTs, and InitSorter().
|
private |
Definition at line 351 of file CbmMcbm2018EventBuilder.cxx.
References fEventVector, fhEventDt, fhEventSize, fhEventTime, fhNbDigiPerEvtTime, fhNbDigiPerEvtTimeBmon, fhNbDigiPerEvtTimeMuch, fhNbDigiPerEvtTimePsd, fhNbDigiPerEvtTimeRich, fhNbDigiPerEvtTimeSts, fhNbDigiPerEvtTimeTof, fhNbDigiPerEvtTimeTrd, fVect, kBmonDigi, kMuchDigi, kPsdDigi, kRichDigi, kStsDigi, kTofDigi, and kTrdDigi.
Referenced by Exec().
|
private |
Definition at line 417 of file CbmMcbm2018EventBuilder.cxx.
References counter, fEvents, fEventVector, and CbmEvent::ToString().
Referenced by Exec().
|
virtual |
Finish task called at the end of the run
Definition at line 506 of file CbmMcbm2018EventBuilder.cxx.
References fDiffTime, fErrors, fFillHistos, fhEventDt, fhEventSize, fhEventTime, fhNbDigiPerEvtTime, fhNbDigiPerEvtTimeBmon, fhNbDigiPerEvtTimeMuch, fhNbDigiPerEvtTimePsd, fhNbDigiPerEvtTimeRich, fhNbDigiPerEvtTimeSts, fhNbDigiPerEvtTimeTof, fhNbDigiPerEvtTimeTrd, and fOutFileName.
|
private |
Definition at line 301 of file CbmMcbm2018EventBuilder.cxx.
References fBmonDigiArr, fBmonDigiVec, fDigiMan, fTriggerMaxBmonDigis, fTriggerMaxMuchDigis, fTriggerMaxPsdDigis, fTriggerMaxRichDigis, fTriggerMaxStsDigis, fTriggerMaxTofDigis, fTriggerMaxTrdDigis, fTriggerMinBmonDigis, fTriggerMinMuchDigis, fTriggerMinPsdDigis, fTriggerMinRichDigis, fTriggerMinStsDigis, fTriggerMinTofDigis, fTriggerMinTrdDigis, CbmDigiManager::IsPresent(), kBmonDigi, kMuch, kMuchDigi, kPsd, kPsdDigi, kRich, kRichDigi, kSts, kStsDigi, kTof, kTofDigi, kTrd, and kTrdDigi.
Referenced by DefineGoodEvents().
|
virtual |
Initiliazation of task at the beginning of a run
Definition at line 53 of file CbmMcbm2018EventBuilder.cxx.
References fBmonDigiArr, fBmonDigiVec, fbUseBaseMuchDigi, fDiffTime, fDigiMan, fEvents, fFillHistos, fhEventDt, fhEventSize, fhEventTime, fhNbDigiPerEvtTime, fhNbDigiPerEvtTimeBmon, fhNbDigiPerEvtTimeMuch, fhNbDigiPerEvtTimePsd, fhNbDigiPerEvtTimeRich, fhNbDigiPerEvtTimeSts, fhNbDigiPerEvtTimeTof, fhNbDigiPerEvtTimeTrd, CbmDigiManager::Init(), CbmDigiManager::Instance(), CbmDigiManager::IsPresent(), kMuch, kPsd, kRich, kSts, kTof, kTrd, and CbmDigiManager::UseMuchBeamTimeDigi().
|
private |
Definition at line 161 of file CbmMcbm2018EventBuilder.cxx.
References AddDigiToSorter(), fBmonDigiArr, fBmonDigiVec, fbUseBaseMuchDigi, fDigiMan, fPrevTime, fSorter, fStartTimeEvent, CbmDigiManager::GetNofDigis(), kHodo, kMuch, kPsd, kRich, kSts, kTof, and kTrd.
Referenced by Exec().
|
private |
Definition at line 290 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 136 of file CbmMcbm2018EventBuilder.cxx.
|
inline |
Definition at line 85 of file CbmMcbm2018EventBuilder.h.
References fEventBuilderAlgo.
|
inline |
Definition at line 82 of file CbmMcbm2018EventBuilder.h.
References fFillHistos.
|
inline |
Definition at line 86 of file CbmMcbm2018EventBuilder.h.
References fFixedTimeWindow.
|
inline |
Definition at line 87 of file CbmMcbm2018EventBuilder.h.
References fMaximumTimeGap.
|
inline |
Definition at line 83 of file CbmMcbm2018EventBuilder.h.
References fOutFileName.
|
virtual |
Load the parameter container from the runtime database
Definition at line 40 of file CbmMcbm2018EventBuilder.cxx.
|
inline |
Maximum number of Bmon digis needed to generate a trigger, -1 means no cut, 0 means anti-coinc trigger
Definition at line 105 of file CbmMcbm2018EventBuilder.h.
References fTriggerMaxBmonDigis.
|
inline |
Maximum number of Much digis needed to generate a trigger, -1 means no cut, 0 means anti-coinc trigger
Definition at line 109 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 117 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 115 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 107 of file CbmMcbm2018EventBuilder.h.
References fTriggerMaxStsDigis.
|
inline |
Maximum number of Tof digis needed to generate a trigger, -1 means no cut, 0 means anti-coinc trigger
Definition at line 113 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 111 of file CbmMcbm2018EventBuilder.h.
References fTriggerMaxTrdDigis.
|
inline |
Minimum number of Bmon digis needed to generate a trigger, 0 means don't use Bmon for trigger generation
Definition at line 90 of file CbmMcbm2018EventBuilder.h.
References fTriggerMinBmonDigis.
|
inline |
Minimum number of Much digis needed to generate a trigger, 0 means don't use Much for trigger generation
Definition at line 94 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 102 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 100 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 92 of file CbmMcbm2018EventBuilder.h.
References fTriggerMinStsDigis.
|
inline |
Minimum number of Tof digis needed to generate a trigger, 0 means don't use Tof for trigger generation
Definition at line 98 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 96 of file CbmMcbm2018EventBuilder.h.
References fTriggerMinTrdDigis.
|
inline |
Definition at line 119 of file CbmMcbm2018EventBuilder.h.
References fbUseBaseMuchDigi.
|
private |
Definition at line 143 of file CbmMcbm2018EventBuilder.h.
Referenced by AddDigiToSorter(), HasTrigger(), Init(), and InitSorter().
|
private |
Definition at line 142 of file CbmMcbm2018EventBuilder.h.
Referenced by AddDigiToSorter(), HasTrigger(), Init(), and InitSorter().
|
private |
Save previous time information.
Definition at line 140 of file CbmMcbm2018EventBuilder.h.
Referenced by BuildEvents(), Init(), InitSorter(), and SetUseBaseMuchDigi().
|
private |
Definition at line 135 of file CbmMcbm2018EventBuilder.h.
Referenced by BuildEvents().
|
private |
Definition at line 154 of file CbmMcbm2018EventBuilder.h.
Referenced by AddDigiToEvent(), and BuildEvents().
|
private |
vector with all created events
Definition at line 157 of file CbmMcbm2018EventBuilder.h.
Referenced by BuildEvents(), Finish(), and Init().
|
private |
Definition at line 141 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 172 of file CbmMcbm2018EventBuilder.h.
Referenced by IsDigiInEvent(), and SetEventBuilderAlgo().
|
private |
input container of TO digis
Definition at line 144 of file CbmMcbm2018EventBuilder.h.
Referenced by FillOutput(), and Init().
|
private |
pointer to the event which is currently build
Definition at line 155 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 169 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 174 of file CbmMcbm2018EventBuilder.h.
Referenced by IsDigiInEvent(), and SetFixedTimeWindow().
|
private |
histogram with the seed time of the events
Definition at line 159 of file CbmMcbm2018EventBuilder.h.
Referenced by FillHisto(), Finish(), and Init().
|
private |
histogram with the interval in seed time of consecutive events
Definition at line 160 of file CbmMcbm2018EventBuilder.h.
Referenced by FillHisto(), Finish(), and Init().
|
private |
histogram with the time difference between two consecutive digis
Definition at line 158 of file CbmMcbm2018EventBuilder.h.
Referenced by FillHisto(), Finish(), and Init().
|
private |
histogram with the nb of all digis in the event
Definition at line 161 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 162 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 164 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 168 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 167 of file CbmMcbm2018EventBuilder.h.
Referenced by FillHisto(), Finish(), and Init().
|
private |
histogram with the nb of Bmon digis per event vs seed time of the events
Definition at line 163 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 166 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 165 of file CbmMcbm2018EventBuilder.h.
Referenced by FillHisto(), Finish(), and Init().
|
private |
output container of CbmEvents
Definition at line 147 of file CbmMcbm2018EventBuilder.h.
|
private |
Maximum gap allowed between two consecutive digis used for the MaximumTimeGap event building algorithm
Definition at line 178 of file CbmMcbm2018EventBuilder.h.
Referenced by IsDigiInEvent(), and SetMaximumTimeGap().
|
private |
|
private |
Name of the histogram output file
Definition at line 210 of file CbmMcbm2018EventBuilder.h.
Referenced by Finish(), and SetOutFilename().
|
private |
Timeslice Counter.
Definition at line 138 of file CbmMcbm2018EventBuilder.h.
Referenced by BuildEvents(), InitSorter(), and IsDigiInEvent().
|
private |
array with pointers to input containers
Definition at line 150 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 176 of file CbmMcbm2018EventBuilder.h.
Referenced by BuildEvents(), InitSorter(), and IsDigiInEvent().
|
private |
Maximum number of Bmon digis needed to generate a trigger, -1 means no cut, 0 means anti-coinc trigger
Definition at line 195 of file CbmMcbm2018EventBuilder.h.
Referenced by HasTrigger(), and SetTriggerMaxNumberBmon().
|
private |
Maximum number of Much digis needed to generate a trigger, -1 means no cut, 0 means anti-coinc trigger
Definition at line 199 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 207 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 205 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 197 of file CbmMcbm2018EventBuilder.h.
Referenced by HasTrigger(), and SetTriggerMaxNumberSts().
|
private |
Maximum number of Tof digis needed to generate a trigger, -1 means no cut, 0 means anti-coinc trigger
Definition at line 203 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 201 of file CbmMcbm2018EventBuilder.h.
Referenced by HasTrigger(), and SetTriggerMaxNumberTrd().
|
private |
Minimum number of Bmon digis needed to generate a trigger, 0 means don't use Bmon for trigger generation
Definition at line 181 of file CbmMcbm2018EventBuilder.h.
Referenced by HasTrigger(), and SetTriggerMinNumberBmon().
|
private |
Minimum number of Much digis needed to generate a trigger, 0 means don't use Much for trigger generation
Definition at line 185 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 193 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 191 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 183 of file CbmMcbm2018EventBuilder.h.
Referenced by HasTrigger(), and SetTriggerMinNumberSts().
|
private |
Minimum number of Tof digis needed to generate a trigger, 0 means don't use Tof for trigger generation
Definition at line 189 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 187 of file CbmMcbm2018EventBuilder.h.
Referenced by HasTrigger(), and SetTriggerMinNumberTrd().
|
private |
for digi sorting
Definition at line 152 of file CbmMcbm2018EventBuilder.h.
Referenced by BuildEvents(), and FillHisto().