CbmRoot
|
#include <CbmMcbm2019TimeWinEventBuilderAlgo.h>
Public Member Functions | |
CbmMcbm2019TimeWinEventBuilderAlgo () | |
CBM headers. More... | |
CbmMcbm2019TimeWinEventBuilderAlgo (const CbmMcbm2019TimeWinEventBuilderAlgo &)=delete | |
CbmMcbm2019TimeWinEventBuilderAlgo | operator= (const CbmMcbm2019TimeWinEventBuilderAlgo &)=delete |
~CbmMcbm2019TimeWinEventBuilderAlgo () | |
Bool_t | InitAlgo () |
void | ProcessTs () |
void | Finish () |
void | SetFillHistos (Bool_t var) |
void | ResetHistograms (Bool_t bResetTime=kTRUE) |
void | SetReferenceDetector (ECbmModuleId refDet, ECbmDataType dataTypeIn, std::string sNameIn, UInt_t uTriggerMinDigisIn=0, Int_t iTriggerMaxDigisIn=-1, Double_t fdTimeWinBegIn=-100, Double_t fdTimeWinEndIn=100) |
void | AddDetector (ECbmModuleId selDet, ECbmDataType dataTypeIn, std::string sNameIn, UInt_t uTriggerMinDigisIn=0, Int_t iTriggerMaxDigisIn=-1, Double_t fdTimeWinBegIn=-100, Double_t fdTimeWinEndIn=100) |
void | SetReferenceDetector (ECbmModuleId refDet) __attribute__((deprecated)) |
void | AddDetector (ECbmModuleId selDet) __attribute__((deprecated)) |
void | RemoveDetector (ECbmModuleId selDet) __attribute__((deprecated)) |
void | SetReferenceDetector (EventBuilderDetector refDetIn) |
void | AddDetector (EventBuilderDetector selDet) |
void | RemoveDetector (EventBuilderDetector selDet) |
void | SetTriggerMinNumber (ECbmModuleId selDet, UInt_t uVal) |
void | SetTriggerMaxNumber (ECbmModuleId selDet, Int_t iVal) |
void | SetTriggerWindow (ECbmModuleId selDet, Double_t dWinBeg, Double_t dWinEnd) |
void | SetEventOverlapMode (EOverlapMode mode) |
Control flags. More... | |
void | SetIgnoreTsOverlap (Bool_t bFlagIn=kTRUE) |
void | AddHistoToVector (TNamed *pointer, std::string sFolder="") |
For monitor algos. More... | |
std::vector< std::pair< TNamed *, std::string > > | GetHistoVector () |
void | AddCanvasToVector (TCanvas *pointer, std::string sFolder="") |
std::vector< std::pair< TCanvas *, std::string > > | GetCanvasVector () |
std::vector< CbmEvent * > & | GetEventVector () |
Data output access. More... | |
void | ClearEventVector () |
Private Member Functions | |
Bool_t | CheckDataAvailable (EventBuilderDetector &det) |
Internal methods. More... | |
void | InitTs () |
void | BuildEvents () |
void | CreateHistograms () |
void | FillHistos () |
template<class DigiSeed > | |
void | LoopOnSeeds () |
void | CheckSeed (Double_t dSeedTime, UInt_t uSeedDigiIdx) |
template<class DigiCheck > | |
void | SearchMatches (Double_t dSeedTime, EventBuilderDetector &detMatch) |
void | AddDigiToEvent (EventBuilderDetector &det, Int_t uIdx) |
Bool_t | HasTrigger (CbmEvent *) |
Bool_t | CheckTriggerConditions (CbmEvent *event, EventBuilderDetector &det) |
void | UpdateTimeWinBoundariesExtrema () |
void | UpdateWidestTimeWinRange () |
ClassDefNV (CbmMcbm2019TimeWinEventBuilderAlgo, 1) | |
Save previous event last digi time information. More... | |
Private Attributes | |
Bool_t | fbIgnoreTsOverlap = kFALSE |
Bool_t | fbFillHistos {kTRUE} |
Ignore data in Overlap part of the TS. More... | |
EOverlapMode | fOverMode {EOverlapMode::AllowOverlap} |
Event building mode and detectors selection. More... | |
EventBuilderDetector | fRefDet |
std::vector< EventBuilderDetector > | fvDets |
Double_t | fdEarliestTimeWinBeg = kdDefaultTimeWinBeg |
Double_t | fdLatestTimeWinEnd = kdDefaultTimeWinEnd |
Double_t | fdWidestTimeWinRange = kdDefaultTimeWinEnd - kdDefaultTimeWinBeg |
CbmDigiManager * | fDigiMan = nullptr |
const std::vector< CbmTofDigi > * | fT0DigiVec = nullptr |
TClonesArray * | fTimeSliceMetaDataArray = nullptr |
const TimesliceMetaData * | pTsMetaData = nullptr |
CbmEvent * | fCurrentEvent |
Data ouptut. More... | |
std::vector< CbmEvent * > | fEventVector = {} |
pointer to the event which is currently build More... | |
std::vector< std::pair< TNamed *, std::string > > | fvpAllHistoPointers |
vector with all created events More... | |
std::vector< std::pair< TCanvas *, std::string > > | fvpAllCanvasPointers |
Vector of pointers to histograms + optional folder name. More... | |
TH1 * | fhEventTime = nullptr |
Vector of pointers to canvases + optional folder name. 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... | |
std::vector< TH2 * > | fvhNbDigiPerEvtTimeDet |
histogram with the nb of all digis per event vs seed time of the events More... | |
UInt_t | fuCurEv = 0 |
histograms with the nb of digis in each detector per event vs seed time of the events More... | |
UInt_t | fuErrors = 0 |
Event Counter. More... | |
UInt_t | fuNrTs = 0 |
Error Counter. More... | |
Double_t | fdPrevEvtTime = 0. |
Timeslice Counter. More... | |
Double_t | fdPrevEvtEndTime |
Save previous time information. More... | |
Static Private Attributes | |
static constexpr Double_t | kdDefaultTimeWinBeg = -100.0 |
Constants. More... | |
static constexpr Double_t | kdDefaultTimeWinEnd = 100.0 |
Definition at line 106 of file CbmMcbm2019TimeWinEventBuilderAlgo.h.
CbmMcbm2019TimeWinEventBuilderAlgo::CbmMcbm2019TimeWinEventBuilderAlgo | ( | ) |
CBM headers.
Default constructor
FAIRROOT headers FAIRSOFT headers (geant, boost, ...) C/C++ headers
Definition at line 37 of file CbmMcbm2019TimeWinEventBuilderAlgo.cxx.
|
delete |
CbmMcbm2019TimeWinEventBuilderAlgo::~CbmMcbm2019TimeWinEventBuilderAlgo | ( | ) |
Destructor
Definition at line 40 of file CbmMcbm2019TimeWinEventBuilderAlgo.cxx.
|
inline |
Definition at line 174 of file CbmMcbm2019TimeWinEventBuilderAlgo.h.
References fvpAllCanvasPointers.
void CbmMcbm2019TimeWinEventBuilderAlgo::AddDetector | ( | ECbmModuleId | selDet | ) |
Definition at line 794 of file CbmMcbm2019TimeWinEventBuilderAlgo.cxx.
References AddDetector(), kEventBuilderDetMuch, kEventBuilderDetPsd, kEventBuilderDetRich, kEventBuilderDetSts, kEventBuilderDetT0, kEventBuilderDetTof, kEventBuilderDetTrd, kMuch, kPsd, kRich, kSts, kT0, kTof, and kTrd.
void CbmMcbm2019TimeWinEventBuilderAlgo::AddDetector | ( | ECbmModuleId | selDet, |
ECbmDataType | dataTypeIn, | ||
std::string | sNameIn, | ||
UInt_t | uTriggerMinDigisIn = 0 , |
||
Int_t | iTriggerMaxDigisIn = -1 , |
||
Double_t | fdTimeWinBegIn = -100 , |
||
Double_t | fdTimeWinEndIn = 100 |
||
) |
FIXME: Deprecated method to be removed later. For now create temp object.
Definition at line 727 of file CbmMcbm2019TimeWinEventBuilderAlgo.cxx.
Referenced by CbmMcbm2019TimeWinEventBuilderTask::AddDetector(), and AddDetector().
void CbmMcbm2019TimeWinEventBuilderAlgo::AddDetector | ( | EventBuilderDetector | selDet | ) |
Loop on selection detectors
Update the variables storing the earliest and latest time window boundaries
Update the variable storing the size if widest time window for overlap detection
Definition at line 904 of file CbmMcbm2019TimeWinEventBuilderAlgo.cxx.
References fRefDet, fvDets, EventBuilderDetector::sName, UpdateTimeWinBoundariesExtrema(), and UpdateWidestTimeWinRange().
|
private |
Definition at line 538 of file CbmMcbm2019TimeWinEventBuilderAlgo.cxx.
References CbmEvent::AddData(), EventBuilderDetector::dataType, and fCurrentEvent.
Referenced by CheckSeed(), and SearchMatches().
|
inline |
For monitor algos.
Definition at line 167 of file CbmMcbm2019TimeWinEventBuilderAlgo.h.
References fvpAllHistoPointers.
Referenced by CreateHistograms().
|
private |
Call LoopOnSeed with proper template argument
Definition at line 170 of file CbmMcbm2019TimeWinEventBuilderAlgo.cxx.
References EventBuilderDetector::detId, fRefDet, kMuch, kPsd, kRich, kSts, kT0, kTof, kTrd, and EventBuilderDetector::sName.
Referenced by ProcessTs().
|
private |
Internal methods.
Definition at line 133 of file CbmMcbm2019TimeWinEventBuilderAlgo.cxx.
References EventBuilderDetector::detId, fDigiMan, fT0DigiVec, CbmDigiManager::IsPresent(), kT0, and EventBuilderDetector::sName.
Referenced by InitAlgo().
|
private |
If previous event valid and event overlap not allowed, check if we are in overlap and react accordingly
Within overlap range
No overlap allowed => reject
Merge overlap mode => do nothing and go on filling current event
In allow overlap mode => reject only if reference det is in overlap to avoid cloning events due to single seed cluster
Out of overlap range or in overlap allowed mode => store previous event if not empty and create new one
TODO: store start time of current event ?
If window open for reference detector, search for other reference Digis matching it Otherwise only add the current seed
Also add the seed if the window starts after the seed
Search for matches for each detector in selection list
Check if event is filling trigger conditions and clear it if not
In case of NoOverlap or MergeOverlap, we can and should start checking the next window from end of current window in order to save CPU and avoid duplicating
Update reference detector
Loop on selection detectors
delete does NOT set a pointer to nullptr...
Definition at line 290 of file CbmMcbm2019TimeWinEventBuilderAlgo.cxx.
References AddDigiToEvent(), AllowOverlap, EventBuilderDetector::detId, fCurrentEvent, fdPrevEvtEndTime, fdPrevEvtTime, EventBuilderDetector::fdTimeWinBeg, EventBuilderDetector::fdTimeWinEnd, fdWidestTimeWinRange, fEventVector, fOverMode, fRefDet, fuCurEv, EventBuilderDetector::fuEndIndex, EventBuilderDetector::fuStartIndex, fvDets, EventBuilderDetector::GetTimeWinRange(), HasTrigger(), kMuch, kPsd, kRich, kSts, kT0, kTof, kTrd, MergeOverlap, NoOverlap, CbmEvent::SetEndTime(), and EventBuilderDetector::sName.
Referenced by LoopOnSeeds().
|
private |
Check if both Trigger conditions disabled for this detector
Check if detector present
FIXME: special case to be removed once T0 supported by DigiManager
Check Minimal trigger acceptance by minimal number
Check trigger rejection by maximal number
Definition at line 561 of file CbmMcbm2019TimeWinEventBuilderAlgo.cxx.
References EventBuilderDetector::dataType, EventBuilderDetector::detId, fDigiMan, EventBuilderDetector::fiTriggerMaxDigis, fT0DigiVec, EventBuilderDetector::fuTriggerMinDigis, CbmDigiManager::IsPresent(), kT0, and EventBuilderDetector::sName.
Referenced by HasTrigger().
|
private |
Save previous event last digi time information.
void CbmMcbm2019TimeWinEventBuilderAlgo::ClearEventVector | ( | ) |
Need to delete the object the pointer points to first
Definition at line 115 of file CbmMcbm2019TimeWinEventBuilderAlgo.cxx.
References counter, and fEventVector.
Referenced by CbmMcbm2019TimeWinEventBuilderTask::FillOutput().
|
private |
FIXME: Disable clang formatting for histograms declaration for now
Loop on selection detectors
In case name not provided, do not create the histo to avoid name conflicts!
FIXME: Re-enable clang formatting after histograms declaration
Definition at line 611 of file CbmMcbm2019TimeWinEventBuilderAlgo.cxx.
References AddHistoToVector(), fhEventDt, fhEventSize, fhEventTime, fhNbDigiPerEvtTime, fvDets, and fvhNbDigiPerEvtTimeDet.
Referenced by InitAlgo().
|
private |
Loop on selection detectors
Definition at line 665 of file CbmMcbm2019TimeWinEventBuilderAlgo.cxx.
References fEventVector, fhEventDt, fhEventSize, fhEventTime, fhNbDigiPerEvtTime, fvDets, and fvhNbDigiPerEvtTimeDet.
Referenced by ProcessTs().
void CbmMcbm2019TimeWinEventBuilderAlgo::Finish | ( | ) |
Finish called at the end of the run
Definition at line 128 of file CbmMcbm2019TimeWinEventBuilderAlgo.cxx.
References fuErrors.
Referenced by CbmMcbm2019TimeWinEventBuilderTask::Finish().
|
inline |
Definition at line 178 of file CbmMcbm2019TimeWinEventBuilderAlgo.h.
References fvpAllCanvasPointers.
|
inline |
Data output access.
Definition at line 183 of file CbmMcbm2019TimeWinEventBuilderAlgo.h.
References fEventVector.
Referenced by CbmMcbm2019TimeWinEventBuilderTask::FillOutput().
|
inline |
Definition at line 171 of file CbmMcbm2019TimeWinEventBuilderAlgo.h.
References fvpAllHistoPointers.
Referenced by CbmMcbm2019TimeWinEventBuilderTask::SaveHistos().
|
private |
Check first reference detector
Loop on selection detectors
All Ok, trigger is there
Definition at line 544 of file CbmMcbm2019TimeWinEventBuilderAlgo.cxx.
References CheckTriggerConditions(), fRefDet, and fvDets.
Referenced by CheckSeed().
Bool_t CbmMcbm2019TimeWinEventBuilderAlgo::InitAlgo | ( | ) |
Initiliazation at the beginning of a run
Check if reference detector data are available
Check if data for detectors in selection list are available
Access the TS metadata to know TS start tim
Definition at line 43 of file CbmMcbm2019TimeWinEventBuilderAlgo.cxx.
References CheckDataAvailable(), CreateHistograms(), fbFillHistos, fDigiMan, fRefDet, fTimeSliceMetaDataArray, fvDets, CbmDigiManager::Init(), CbmDigiManager::Instance(), and CbmDigiManager::UseMuchBeamTimeDigi().
Referenced by CbmMcbm2019TimeWinEventBuilderTask::Init().
|
private |
Reset TS based variables (analysis per TS = no building over the border) Reference detector
Loop on detectors in selection list
Definition at line 156 of file CbmMcbm2019TimeWinEventBuilderAlgo.cxx.
References fRefDet, EventBuilderDetector::fuEndIndex, EventBuilderDetector::fuStartIndex, and fvDets.
Referenced by ProcessTs().
|
private |
Print warning in first TS if time window borders out of potential overlap
Define an acceptance window for the seeds in order to use the overlap part of the TS to avoid incomplete events
Loop on size of vector
Loop on size of vector
Check Seed and build event if needed
Loop on size of vector
Check that _entry is not out of range
Check if seed in acceptance window
Check Seed and build event if needed
Definition at line 211 of file CbmMcbm2019TimeWinEventBuilderAlgo.cxx.
References CheckSeed(), EventBuilderDetector::detId, fbIgnoreTsOverlap, fdEarliestTimeWinBeg, fDigiMan, fdLatestTimeWinEnd, fdWidestTimeWinRange, fRefDet, fT0DigiVec, fTimeSliceMetaDataArray, fuNrTs, CbmDigiManager::Get(), CbmDigiManager::GetNofDigis(), TimesliceMetaData::GetOverlapDuration(), TimesliceMetaData::GetOverlapStartTime(), TimesliceMetaData::GetStartTime(), kT0, and pTsMetaData.
|
delete |
void CbmMcbm2019TimeWinEventBuilderAlgo::ProcessTs | ( | ) |
Executed for each TS.
Store last event with trigger if not done by other seed
TODO: store start time of current event ?
Prevent building over TS edge
Definition at line 90 of file CbmMcbm2019TimeWinEventBuilderAlgo.cxx.
References BuildEvents(), fbFillHistos, fCurrentEvent, fdPrevEvtEndTime, fEventVector, FillHistos(), fuCurEv, fuNrTs, InitTs(), and CbmEvent::SetEndTime().
Referenced by CbmMcbm2019TimeWinEventBuilderTask::Exec().
void CbmMcbm2019TimeWinEventBuilderAlgo::RemoveDetector | ( | ECbmModuleId | selDet | ) |
Loop on selection detectors
Definition at line 842 of file CbmMcbm2019TimeWinEventBuilderAlgo.cxx.
References fvDets.
Referenced by CbmMcbm2019TimeWinEventBuilderTask::RemoveDetector(), and SetReferenceDetector().
void CbmMcbm2019TimeWinEventBuilderAlgo::RemoveDetector | ( | EventBuilderDetector | selDet | ) |
Loop on selection detectors
Definition at line 932 of file CbmMcbm2019TimeWinEventBuilderAlgo.cxx.
References fvDets, and EventBuilderDetector::sName.
void CbmMcbm2019TimeWinEventBuilderAlgo::ResetHistograms | ( | Bool_t | bResetTime = kTRUE | ) |
Loop on histograms
Definition at line 686 of file CbmMcbm2019TimeWinEventBuilderAlgo.cxx.
References fhEventDt, fhEventSize, fhEventTime, fhNbDigiPerEvtTime, and fvhNbDigiPerEvtTimeDet.
|
private |
This algo relies on time sorted vectors for the selected detectors
Check the Digis until out of window
Loop on size of vector
Loop on size of vector
Check if within time window, update start/stop indices if needed
Store as end the first digi out of window to avoid double counting in case of merged overlap event mode
catch the case where we reach the end of the vector before being out of the time window
Loop on size of vector
Check that _entry is not out of range
Check if within time window, update start/stop indices if needed
Store as end the first digi out of window to avoid double counting in case of merged overlap event mode
catch the case where we reach the end of the vector before being out of the time window
Update the StartIndex and EndIndex for the next event seed
Definition at line 451 of file CbmMcbm2019TimeWinEventBuilderAlgo.cxx.
References AddDigiToEvent(), EventBuilderDetector::detId, fDigiMan, fdPrevEvtEndTime, EventBuilderDetector::fdTimeWinBeg, EventBuilderDetector::fdTimeWinEnd, fT0DigiVec, EventBuilderDetector::fuEndIndex, EventBuilderDetector::fuStartIndex, CbmDigiManager::Get(), CbmDigiManager::GetNofDigis(), kT0, and EventBuilderDetector::sName.
|
inline |
Control flags.
Definition at line 161 of file CbmMcbm2019TimeWinEventBuilderAlgo.h.
References fOverMode.
Referenced by CbmMcbm2019TimeWinEventBuilderTask::SetEventOverlapMode().
|
inline |
Definition at line 128 of file CbmMcbm2019TimeWinEventBuilderAlgo.h.
References fbFillHistos.
Referenced by CbmMcbm2019TimeWinEventBuilderTask::SetFillHistos().
|
inline |
Definition at line 162 of file CbmMcbm2019TimeWinEventBuilderAlgo.h.
References fbIgnoreTsOverlap.
Referenced by CbmMcbm2019TimeWinEventBuilderTask::SetIgnoreTsOverlap().
void CbmMcbm2019TimeWinEventBuilderAlgo::SetReferenceDetector | ( | ECbmModuleId | refDet | ) |
Definition at line 745 of file CbmMcbm2019TimeWinEventBuilderAlgo.cxx.
References fRefDet, kEventBuilderDetMuch, kEventBuilderDetPsd, kEventBuilderDetRich, kEventBuilderDetSts, kEventBuilderDetT0, kEventBuilderDetTof, kEventBuilderDetTrd, kMuch, kPsd, kRich, kSts, kT0, kTof, kTrd, SetReferenceDetector(), and EventBuilderDetector::sName.
void CbmMcbm2019TimeWinEventBuilderAlgo::SetReferenceDetector | ( | ECbmModuleId | refDet, |
ECbmDataType | dataTypeIn, | ||
std::string | sNameIn, | ||
UInt_t | uTriggerMinDigisIn = 0 , |
||
Int_t | iTriggerMaxDigisIn = -1 , |
||
Double_t | fdTimeWinBegIn = -100 , |
||
Double_t | fdTimeWinEndIn = 100 |
||
) |
FIXME: Deprecated method to be removed later. For now create temp object.
Definition at line 709 of file CbmMcbm2019TimeWinEventBuilderAlgo.cxx.
Referenced by CbmMcbm2019TimeWinEventBuilderTask::SetReferenceDetector(), and SetReferenceDetector().
void CbmMcbm2019TimeWinEventBuilderAlgo::SetReferenceDetector | ( | EventBuilderDetector | refDetIn | ) |
Loop on selection detectors
Update the variables storing the earliest and latest time window boundaries
Update the variable storing the size if widest time window for overlap detection
Definition at line 857 of file CbmMcbm2019TimeWinEventBuilderAlgo.cxx.
References fRefDet, fvDets, RemoveDetector(), EventBuilderDetector::sName, UpdateTimeWinBoundariesExtrema(), and UpdateWidestTimeWinRange().
void CbmMcbm2019TimeWinEventBuilderAlgo::SetTriggerMaxNumber | ( | ECbmModuleId | selDet, |
Int_t | iVal | ||
) |
Check first if reference detector
Loop on selection detectors
Definition at line 980 of file CbmMcbm2019TimeWinEventBuilderAlgo.cxx.
References EventBuilderDetector::detId, EventBuilderDetector::fiTriggerMaxDigis, fRefDet, fvDets, and EventBuilderDetector::sName.
Referenced by CbmMcbm2019TimeWinEventBuilderTask::SetTriggerMaxNumber().
void CbmMcbm2019TimeWinEventBuilderAlgo::SetTriggerMinNumber | ( | ECbmModuleId | selDet, |
UInt_t | uVal | ||
) |
Check first if reference detector
Loop on selection detectors
Definition at line 948 of file CbmMcbm2019TimeWinEventBuilderAlgo.cxx.
References EventBuilderDetector::detId, fRefDet, EventBuilderDetector::fuTriggerMinDigis, fvDets, and EventBuilderDetector::sName.
Referenced by CbmMcbm2019TimeWinEventBuilderTask::SetTriggerMinNumber().
void CbmMcbm2019TimeWinEventBuilderAlgo::SetTriggerWindow | ( | ECbmModuleId | selDet, |
Double_t | dWinBeg, | ||
Double_t | dWinEnd | ||
) |
Check if valid time window: end strictly after beginning
Check first if reference detector
Loop on selection detectors
Update the variables storing the earliest and latest time window boundaries
Update the variable storing the size if widest time window for overlap detection
Definition at line 1012 of file CbmMcbm2019TimeWinEventBuilderAlgo.cxx.
References EventBuilderDetector::detId, EventBuilderDetector::fdTimeWinBeg, EventBuilderDetector::fdTimeWinEnd, fRefDet, fvDets, UpdateTimeWinBoundariesExtrema(), and UpdateWidestTimeWinRange().
Referenced by CbmMcbm2019TimeWinEventBuilderTask::SetTriggerWindow().
|
private |
Initialize with reference detector
Loop on selection detectors
Definition at line 1054 of file CbmMcbm2019TimeWinEventBuilderAlgo.cxx.
References fdEarliestTimeWinBeg, fdLatestTimeWinEnd, EventBuilderDetector::fdTimeWinBeg, EventBuilderDetector::fdTimeWinEnd, fRefDet, fvDets, max(), and min().
Referenced by AddDetector(), SetReferenceDetector(), and SetTriggerWindow().
|
private |
Initialize with reference detector
Loop on selection detectors
Definition at line 1067 of file CbmMcbm2019TimeWinEventBuilderAlgo.cxx.
References EventBuilderDetector::fdTimeWinBeg, EventBuilderDetector::fdTimeWinEnd, fdWidestTimeWinRange, fRefDet, fvDets, and max().
Referenced by AddDetector(), SetReferenceDetector(), and SetTriggerWindow().
|
private |
Ignore data in Overlap part of the TS.
Definition at line 214 of file CbmMcbm2019TimeWinEventBuilderAlgo.h.
Referenced by InitAlgo(), ProcessTs(), and SetFillHistos().
|
private |
User parameters Control flags
Definition at line 213 of file CbmMcbm2019TimeWinEventBuilderAlgo.h.
Referenced by LoopOnSeeds(), and SetIgnoreTsOverlap().
|
private |
Data ouptut.
Definition at line 241 of file CbmMcbm2019TimeWinEventBuilderAlgo.h.
Referenced by AddDigiToEvent(), CheckSeed(), and ProcessTs().
|
private |
Definition at line 228 of file CbmMcbm2019TimeWinEventBuilderAlgo.h.
Referenced by LoopOnSeeds(), and UpdateTimeWinBoundariesExtrema().
|
private |
Data input FIXME: usage of CbmDigiManager in FairMq context?!? => Maybe by registering vector (or vector reference) to ioman in Device?
Definition at line 235 of file CbmMcbm2019TimeWinEventBuilderAlgo.h.
Referenced by CheckDataAvailable(), CheckTriggerConditions(), InitAlgo(), LoopOnSeeds(), and SearchMatches().
|
private |
Definition at line 229 of file CbmMcbm2019TimeWinEventBuilderAlgo.h.
Referenced by LoopOnSeeds(), and UpdateTimeWinBoundariesExtrema().
|
private |
Save previous time information.
Definition at line 276 of file CbmMcbm2019TimeWinEventBuilderAlgo.h.
Referenced by CheckSeed(), ProcessTs(), and SearchMatches().
|
private |
Timeslice Counter.
Definition at line 275 of file CbmMcbm2019TimeWinEventBuilderAlgo.h.
Referenced by CheckSeed().
|
private |
Definition at line 230 of file CbmMcbm2019TimeWinEventBuilderAlgo.h.
Referenced by CheckSeed(), LoopOnSeeds(), and UpdateWidestTimeWinRange().
|
private |
pointer to the event which is currently build
Definition at line 243 of file CbmMcbm2019TimeWinEventBuilderAlgo.h.
Referenced by CheckSeed(), ClearEventVector(), FillHistos(), GetEventVector(), and ProcessTs().
|
private |
histogram with the seed time of the events
Definition at line 262 of file CbmMcbm2019TimeWinEventBuilderAlgo.h.
Referenced by CreateHistograms(), FillHistos(), and ResetHistograms().
|
private |
histogram with the interval in seed time of consecutive events
Definition at line 264 of file CbmMcbm2019TimeWinEventBuilderAlgo.h.
Referenced by CreateHistograms(), FillHistos(), and ResetHistograms().
|
private |
Vector of pointers to canvases + optional folder name.
Definition at line 261 of file CbmMcbm2019TimeWinEventBuilderAlgo.h.
Referenced by CreateHistograms(), FillHistos(), and ResetHistograms().
|
private |
histogram with the nb of all digis in the event
Definition at line 266 of file CbmMcbm2019TimeWinEventBuilderAlgo.h.
Referenced by CreateHistograms(), FillHistos(), and ResetHistograms().
|
private |
Event building mode and detectors selection.
Switch ON/OFF filling of histograms
Definition at line 216 of file CbmMcbm2019TimeWinEventBuilderAlgo.h.
Referenced by CheckSeed(), and SetEventOverlapMode().
|
private |
Definition at line 218 of file CbmMcbm2019TimeWinEventBuilderAlgo.h.
Referenced by AddDetector(), BuildEvents(), CheckSeed(), HasTrigger(), InitAlgo(), InitTs(), LoopOnSeeds(), SetReferenceDetector(), SetTriggerMaxNumber(), SetTriggerMinNumber(), SetTriggerWindow(), UpdateTimeWinBoundariesExtrema(), and UpdateWidestTimeWinRange().
|
private |
Definition at line 236 of file CbmMcbm2019TimeWinEventBuilderAlgo.h.
Referenced by CheckDataAvailable(), CheckTriggerConditions(), LoopOnSeeds(), and SearchMatches().
|
private |
Definition at line 237 of file CbmMcbm2019TimeWinEventBuilderAlgo.h.
Referenced by InitAlgo(), and LoopOnSeeds().
|
private |
histograms with the nb of digis in each detector per event vs seed time of the events
Internal state variables
Definition at line 272 of file CbmMcbm2019TimeWinEventBuilderAlgo.h.
Referenced by CheckSeed(), and ProcessTs().
|
private |
Event Counter.
Definition at line 273 of file CbmMcbm2019TimeWinEventBuilderAlgo.h.
Referenced by Finish().
|
private |
Error Counter.
Definition at line 274 of file CbmMcbm2019TimeWinEventBuilderAlgo.h.
Referenced by LoopOnSeeds(), and ProcessTs().
|
private |
Definition at line 220 of file CbmMcbm2019TimeWinEventBuilderAlgo.h.
Referenced by AddDetector(), CheckSeed(), CreateHistograms(), FillHistos(), HasTrigger(), InitAlgo(), InitTs(), RemoveDetector(), SetReferenceDetector(), SetTriggerMaxNumber(), SetTriggerMinNumber(), SetTriggerWindow(), UpdateTimeWinBoundariesExtrema(), and UpdateWidestTimeWinRange().
|
private |
histogram with the nb of all digis per event vs seed time of the events
Definition at line 268 of file CbmMcbm2019TimeWinEventBuilderAlgo.h.
Referenced by CreateHistograms(), FillHistos(), and ResetHistograms().
|
private |
Vector of pointers to histograms + optional folder name.
Definition at line 259 of file CbmMcbm2019TimeWinEventBuilderAlgo.h.
Referenced by AddCanvasToVector(), and GetCanvasVector().
|
private |
vector with all created events
Monitoring histograms => Pointers should be filled with TH1*, TH2*, TProfile*, ... ==> To check if object N is of type T, use "T ObjectPointer = dynamic_cast<T>( fvpAllHistoPointers[N].first );" and check for nullptr ==> To get back the original class name use "fvpAllHistoPointers[N].first->ClassName()" which returns a const char * (e.g. "TH1I") ===> Usage example with feeding a THttpServer: ===> #include "TH2.h" ===> std::string sClassName = vHistos[ uHisto ].first.ClassName(); ===> if( !strncmp( sClassName, "TH1", 3 ) ) ===> server->Register( vHistos[ uHisto ].second.data(), dynamic_cast< TH1 * >(vHistos[ uHisto ].first) ); ===> else if( !strncmp( sClassName, "TH2", 3 ) ) ===> server->Register( vHistos[ uHisto ].second.data(), dynamic_cast< TH2 * >(vHistos[ uHisto ].first) );
Definition at line 257 of file CbmMcbm2019TimeWinEventBuilderAlgo.h.
Referenced by AddHistoToVector(), and GetHistoVector().
|
staticconstexprprivate |
Constants.
Definition at line 208 of file CbmMcbm2019TimeWinEventBuilderAlgo.h.
|
staticconstexprprivate |
Definition at line 209 of file CbmMcbm2019TimeWinEventBuilderAlgo.h.
|
private |
Definition at line 238 of file CbmMcbm2019TimeWinEventBuilderAlgo.h.
Referenced by LoopOnSeeds().