CbmRoot
|
#include <CbmAlgoBuildRawEvents.h>
Public Member Functions | |
CbmAlgoBuildRawEvents ()=default | |
CbmAlgoBuildRawEvents (const CbmAlgoBuildRawEvents &)=delete | |
CbmAlgoBuildRawEvents | operator= (const CbmAlgoBuildRawEvents &)=delete |
~CbmAlgoBuildRawEvents () | |
Bool_t | InitAlgo () |
void | ProcessTs () |
void | Finish () |
void | SetFillHistos (Bool_t var) |
void | ResetHistograms (Bool_t bResetTime=kTRUE) |
void | SetTimings (Bool_t var) |
void | PrintTimings () |
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 (RawEventBuilderDetector refDetIn, std::vector< bool > select={}) |
void | AddDetector (RawEventBuilderDetector selDet) |
void | RemoveDetector (RawEventBuilderDetector selDet) |
void | SetTriggerMinNumber (ECbmModuleId selDet, UInt_t uVal) |
void | SetTriggerMaxNumber (ECbmModuleId selDet, Int_t iVal) |
void | SetTriggerMinLayersNumber (ECbmModuleId selDet, UInt_t uVal) |
void | SetTriggerWindow (ECbmModuleId selDet, Double_t dWinBeg, Double_t dWinEnd) |
void | SetHistogramMaxDigiNb (ECbmModuleId selDet, Double_t dDigiNbMax) |
void | SetTsParameters (Double_t dTsStartTime, Double_t dTsLength, Double_t dTsOverLength) |
void | SetSeedTimeWindow (Double_t timeWinBeg, Double_t timeWinEnd) |
void | SetEventOverlapMode (EOverlapModeRaw mode) |
Control flags. | |
void | SetIgnoreTsOverlap (Bool_t bFlagIn=kTRUE) |
void | ChangeMuchBeamtimeDigiFlag (Bool_t bFlagIn=kFALSE) |
void | AddHistoToVector (TNamed *pointer, std::string sFolder="") |
For monitor algos. | |
std::vector< std::pair< TNamed *, std::string > > | GetHistoVector () |
void | AddCanvasToVector (TCanvas *pointer, std::string sFolder="") |
std::vector< std::pair< TCanvas *, std::string > > | GetCanvasVector () |
void | SetDigis (std::vector< CbmBmonDigi > *BmonDigis) |
Set digi containers. | |
void | SetDigis (std::vector< CbmStsDigi > *StsDigis) |
void | SetDigis (std::vector< CbmMuchDigi > *MuchDigis) |
void | SetDigis (std::vector< CbmTrdDigi > *TrdDigis) |
void | SetDigis (std::vector< CbmTofDigi > *TofDigis) |
void | SetDigis (std::vector< CbmRichDigi > *RichDigis) |
void | SetDigis (std::vector< CbmPsdDigi > *PsdDigis) |
void | SetDigis (std::vector< CbmFsdDigi > *FsdDigis) |
void | SetDigis (std::vector< CbmMuchBeamTimeDigi > *MuchBeamTimeDigis) |
void | SetSeedTimes (std::vector< Double_t > *SeedTimes) |
void | SetTimeSliceMetaDataArray (TClonesArray *TimeSliceMetaDataArray) |
TDirectoryFile * | GetOutFolder () |
std::vector< CbmEvent * > & | GetEventVector () |
Data output access. | |
void | ClearEventVector () |
template<> | |
const CbmStsDigi * | GetDigi (UInt_t uDigi) |
Specialization of the GetDigi variants has to happen before first usage. | |
template<> | |
const CbmMuchBeamTimeDigi * | GetDigi (UInt_t uDigi) |
template<> | |
const CbmMuchDigi * | GetDigi (UInt_t uDigi) |
template<> | |
const CbmTrdDigi * | GetDigi (UInt_t uDigi) |
template<> | |
const CbmTofDigi * | GetDigi (UInt_t uDigi) |
template<> | |
const CbmRichDigi * | GetDigi (UInt_t uDigi) |
template<> | |
const CbmPsdDigi * | GetDigi (UInt_t uDigi) |
template<> | |
const CbmFsdDigi * | GetDigi (UInt_t uDigi) |
template<> | |
const CbmBmonDigi * | GetDigi (UInt_t uDigi) |
Private Member Functions | |
Bool_t | CheckDataAvailable (const RawEventBuilderDetector &det) |
Internal methods. | |
void | InitTs () |
void | InitSeedWindow () |
void | BuildEvents () |
void | CreateHistograms () |
void | FillHistos () |
template<class DigiSeed > | |
void | LoopOnSeeds () |
void | CheckSeed (Double_t dSeedTime, UInt_t uSeedDigiIdx) |
void | CheckTriggerCondition (Double_t dSeedTime) |
template<class DigiCheck > | |
void | SearchMatches (Double_t dSeedTime, RawEventBuilderDetector &detMatch) |
void | SearchMatches (Double_t dSeedTime, RawEventBuilderDetector &detMatch) |
void | AddDigiToEvent (const RawEventBuilderDetector &det, Int_t uIdx) |
Bool_t | HasTrigger (CbmEvent *) |
Bool_t | CheckTriggerConditions (CbmEvent *event, const RawEventBuilderDetector &det) |
void | UpdateTimeWinBoundariesExtrema () |
void | UpdateWidestTimeWinRange () |
void | SwitchBmonStation (int id, bool on=true) |
bool | SetBmonEventTime (CbmEvent *event) |
void | CheckBmonInUse () |
bool | filterBmon (int32_t add) |
Filter Bmon stations. Hack added for the mCBM2024 data (AB) | |
int32_t | getNofFilteredBmonDigis (CbmEvent *ev) |
bool | CheckDataAvailable (ECbmModuleId detId) |
UInt_t | GetNofDigis (ECbmModuleId detId) |
template<class Digi > | |
const Digi * | GetDigi (UInt_t uDigi) |
uint64_t | GetSizeFromDigisNb (ECbmModuleId detId, uint64_t ulNbDigis) |
Double_t | GetSeedTimeWinRange () |
ClassDefNV (CbmAlgoBuildRawEvents, 2) | |
Save previous event last digi time information. | |
template<> | |
void | LoopOnSeeds () |
template<> | |
void | LoopOnSeeds () |
Private Attributes | |
TDirectoryFile * | outFolder |
Bool_t | fbIgnoreTsOverlap = kFALSE |
Bool_t | fbFillHistos {kTRUE} |
Ignore data in Overlap part of the TS. | |
Bool_t | fbUseMuchBeamtimeDigi = kTRUE |
Switch ON/OFF filling of histograms. | |
Bool_t | fbGetTimings = kFALSE |
Switch between MUCH digi classes. | |
Bool_t | fbUseTsMetaData = kTRUE |
Measure CPU time using stopwatch. | |
std::vector< bool > | fUseBmonMap = {} |
Read Ts Parameters from input tree. | |
EOverlapModeRaw | fOverMode {EOverlapModeRaw::AllowOverlap} |
bit map for Bmon trigger. Defined by user | |
TStopwatch * | fTimer = nullptr |
RawEventBuilderDetector | fRefDet = kRawEventBuilderDetBmon |
is create when fbGetTimings is set before init | |
std::vector< RawEventBuilderDetector > | fvDets |
bool | fbBmonInUse = false |
Double_t | fdEarliestTimeWinBeg = kdDefaultTimeWinBeg |
Double_t | fdLatestTimeWinEnd = kdDefaultTimeWinEnd |
Double_t | fdWidestTimeWinRange = kdDefaultTimeWinEnd - kdDefaultTimeWinBeg |
Double_t | fdSeedWindowBeg = 0 |
Seed window. | |
Double_t | fdSeedWindowEnd = 0 |
Double_t | fdTsStartTime = -1 |
Double_t | fdTsLength = -1 |
Double_t | fdTsOverLength = -1 |
TClonesArray * | fTimeSliceMetaDataArray = nullptr |
Data input. | |
const std::vector< CbmBmonDigi > * | fBmonDigis = nullptr |
const std::vector< CbmMuchDigi > * | fMuchDigis = nullptr |
const std::vector< CbmMuchBeamTimeDigi > * | fMuchBeamTimeDigis = nullptr |
const std::vector< CbmStsDigi > * | fStsDigis = nullptr |
const std::vector< CbmTrdDigi > * | fTrdDigis = nullptr |
const std::vector< CbmTofDigi > * | fTofDigis = nullptr |
const std::vector< CbmRichDigi > * | fRichDigis = nullptr |
const std::vector< CbmPsdDigi > * | fPsdDigis = nullptr |
const std::vector< CbmFsdDigi > * | fFsdDigis = nullptr |
const std::vector< Double_t > * | fSeedTimes = nullptr |
Double_t | fdSeedTimeWinBeg = -100.0 |
Double_t | fdSeedTimeWinEnd = 100.0 |
CbmEvent * | fCurrentEvent = nullptr |
Data ouptut. | |
std::vector< CbmEvent * > | fEventVector = {} |
pointer to the event which is currently build | |
std::vector< std::pair< TNamed *, std::string > > | fvpAllHistoPointers |
vector with all created events | |
std::vector< std::pair< TCanvas *, std::string > > | fvpAllCanvasPointers |
Vector of pointers to histograms + optional folder name. | |
TH1 * | fhEventTime = nullptr |
Vector of pointers to canvases + optional folder name. | |
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 | |
TH1 * | fhCpuTimePerTs = nullptr |
histogram with the nb of all digis per event vs seed time of the events | |
TH1 * | fhRealTimePerTs = nullptr |
Processing time per TS. | |
TH1 * | fhCpuTimePerTsHist = nullptr |
Processing time per TS. | |
TH1 * | fhRealTimePerTsHist = nullptr |
Plotting time per TS. | |
std::vector< TH2 * > | fvhNbDigiPerEvtTimeDet |
Plotting time per TS. | |
std::vector< TH1 * > | fvhNbDigiPerEvtDet = {} |
histograms with the nb of digis in each detector per event vs seed time of the events | |
std::vector< TH1 * > | fvhTDiff = {} |
histograms with the nb of digis in each detector per event | |
std::vector< TH1 * > | fvhSelRatioPerTsNb = {} |
std::vector< TH1 * > | fvhInpRatioPerTsSz = {} |
ratio of selected/input digi vs TS in run | |
std::vector< TH1 * > | fvhOutRatioPerTsSz = {} |
ratio of input digi size in total input size vs TS in run | |
TH1 * | fhSizeReductionPerTs = nullptr |
ratio of selected digi size in total event size vs TS in run | |
TH1 * | fhOverEventShare = nullptr |
ratio of total selected size to input size selected vs TS in run | |
TProfile * | fhOverEventShareTs = nullptr |
histogram with proportion of overlap evt, AllowOverlap only | |
TH2 * | fhOverEventSizeTs = nullptr |
histogram with proportion of overlap evt vs TS index, AllowOverlap only | |
UInt_t | fuCurEv = 0 |
histogram with size of overlap between evt vs TS index, AllowOverlap only | |
UInt_t | fuNrTs = 0 |
Event Counter. | |
Double_t | fdPrevEvtTime = 0. |
Timeslice Counter. | |
Double_t | fdPrevEvtEndTime = 0. |
Save previous time information. | |
Static Private Attributes | |
static constexpr Double_t | kdDefaultTimeWinBeg = -100.0 |
Constants. | |
static constexpr Double_t | kdDefaultTimeWinEnd = 100.0 |
Definition at line 123 of file CbmAlgoBuildRawEvents.h.
|
default |
Default constructor
|
delete |
|
inline |
Destructor
Definition at line 132 of file CbmAlgoBuildRawEvents.h.
|
inline |
Definition at line 193 of file CbmAlgoBuildRawEvents.h.
References fvpAllCanvasPointers.
Referenced by CreateHistograms().
void CbmAlgoBuildRawEvents::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 1672 of file CbmAlgoBuildRawEvents.cxx.
References AddDetector().
Referenced by AddDetector(), CbmTaskBuildRawEvents::AddDetector(), CbmDeviceBuildDigiEvents::InitTask(), and CbmDeviceBuildRawEvents::InitTask().
void CbmAlgoBuildRawEvents::AddDetector | ( | RawEventBuilderDetector | 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
Detect usage of BMon to set Event StartTime
Definition at line 1738 of file CbmAlgoBuildRawEvents.cxx.
References CheckBmonInUse(), fRefDet, fvDets, RawEventBuilderDetector::sName, UpdateTimeWinBoundariesExtrema(), and UpdateWidestTimeWinRange().
|
private |
Definition at line 665 of file CbmAlgoBuildRawEvents.cxx.
References CbmEvent::AddData(), RawEventBuilderDetector::dataType, fCurrentEvent, and RawEventBuilderDetector::sName.
Referenced by CheckSeed(), and SearchMatches().
|
inline |
For monitor algos.
Definition at line 188 of file CbmAlgoBuildRawEvents.h.
References fvpAllHistoPointers.
Referenced by CreateHistograms().
|
private |
Call LoopOnSeed with proper template argument
Definition at line 239 of file CbmAlgoBuildRawEvents.cxx.
References RawEventBuilderDetector::detId, fbUseMuchBeamtimeDigi, fRefDet, kBmon, kFsd, kMuch, kNotExist, kPsd, kRich, kSts, kTof, kTrd, kTrd2d, LoopOnSeeds(), and RawEventBuilderDetector::sName.
Referenced by ProcessTs().
|
inline |
Definition at line 185 of file CbmAlgoBuildRawEvents.h.
References fbUseMuchBeamtimeDigi.
Referenced by CbmTaskBuildRawEvents::ChangeMuchBeamtimeDigiFlag().
|
private |
Definition at line 1783 of file CbmAlgoBuildRawEvents.cxx.
References RawEventBuilderDetector::detId, fbBmonInUse, fRefDet, fvDets, and kBmon.
Referenced by AddDetector(), RemoveDetector(), and SetReferenceDetector().
|
private |
Internal methods.
Definition at line 919 of file CbmAlgoBuildRawEvents.cxx.
References CheckDataAvailable(), RawEventBuilderDetector::detId, and RawEventBuilderDetector::sName.
Referenced by CheckDataAvailable(), CheckTriggerConditions(), and InitAlgo().
|
private |
Definition at line 928 of file CbmAlgoBuildRawEvents.cxx.
References fBmonDigis, fbUseMuchBeamtimeDigi, fFsdDigis, fMuchBeamTimeDigis, fMuchDigis, fPsdDigis, fRichDigis, fStsDigis, fTofDigis, fTrdDigis, kBmon, kFsd, kMuch, kPsd, kRich, kSts, kTof, kTrd, and kTrd2d.
|
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 ?
Bmon used either as Seed or selected detector
Bmon used either as Seed or selected detector
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
Check if this reference detector passes the trigger conditions to "exit early" then check for each detectors if it also passes => Replaces the call to CheckTriggerCondition after a complete loop
Search for matches for each detector in selection list
Check if this det pass the trigger conditions to "exit early"
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...
delete does NOT set a pointer to nullptr...
Definition at line 357 of file CbmAlgoBuildRawEvents.cxx.
References AddDigiToEvent(), AllowOverlap, CheckTriggerConditions(), RawEventBuilderDetector::detId, fbBmonInUse, fCurrentEvent, fdPrevEvtEndTime, fdPrevEvtTime, RawEventBuilderDetector::fdTimeWinBeg, RawEventBuilderDetector::fdTimeWinEnd, fdWidestTimeWinRange, fEventVector, fOverMode, fRefDet, fuCurEv, RawEventBuilderDetector::fuEndIndex, RawEventBuilderDetector::fuStartIndex, fvDets, GetSeedTimeWinRange(), kNotExist, MergeOverlap, NoOverlap, SearchMatches(), SetBmonEventTime(), and CbmEvent::SetEndTime().
Referenced by LoopOnSeeds().
|
private |
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 671 of file CbmAlgoBuildRawEvents.cxx.
References RawEventBuilderDetector::detId, fCurrentEvent, fdPrevEvtTime, fOverMode, fRefDet, RawEventBuilderDetector::fuEndIndex, RawEventBuilderDetector::fuStartIndex, fvDets, HasTrigger(), kNotExist, MergeOverlap, and NoOverlap.
|
private |
Check if both Trigger conditions disabled for this detector
Check if detector present
Check trigger rejection by minimal/maximal number or absence, if enabled/requested
a.Check trigger rejection by minimal number (if enabled)
b.Check trigger rejection by maximal number (if enabled)
Check trigger rejection by minimal number of fired layers (if enabled)
check for requested number of different stations loop over sts digis and check for
Module full address
Station index: station = unit in the mCBM addresses ?!?
Found other side => non-zero cluster chance, insert into stations set
check for requested number of different counters loop over tof digis and count different RPCs
Found other end => full strip, insert into counter set
All checks passed, event is good
Definition at line 743 of file CbmAlgoBuildRawEvents.cxx.
References CheckDataAvailable(), RawEventBuilderDetector::dataType, RawEventBuilderDetector::detId, RawEventBuilderDetector::fiTriggerMaxDigis, RawEventBuilderDetector::fuTriggerMinDigis, RawEventBuilderDetector::fuTriggerMinLayers, CbmStsDigi::GetAddress(), CbmTofDigi::GetAddress(), CbmStsDigi::GetChannel(), GetDigi(), CbmStsAddress::GetElementId(), CbmStsAddress::GetMotherAddress(), getNofFilteredBmonDigis(), CbmTofAddress::GetRpcFullId(), CbmTofDigi::GetSide(), CbmTofAddress::GetStripFullId(), kBmon, kFsd, kMuch, kPsd, kRich, kSts, kStsModule, kStsUnit, kTof, kTrd, kTrd2d, and RawEventBuilderDetector::sName.
Referenced by CheckSeed(), and HasTrigger().
|
private |
Save previous event last digi time information.
void CbmAlgoBuildRawEvents::ClearEventVector | ( | ) |
Need to delete the object the pointer points to first
Definition at line 119 of file CbmAlgoBuildRawEvents.cxx.
References counter, and fEventVector.
Referenced by CbmTaskBuildRawEvents::FillOutput(), CbmDeviceBuildDigiEvents::HandleData(), and CbmDeviceBuildRawEvents::HandleData().
|
private |
Loop on selection detectors
In case name not provided, do not create the histo to avoid name conflicts!
Same plots for the reference detector
Canvases creation
Add canvas pointers to the canvas vector
Definition at line 1051 of file CbmAlgoBuildRawEvents.cxx.
References AddCanvasToVector(), AddHistoToVector(), AllowOverlap, RawEventBuilderDetector::detId, RawEventBuilderDetector::fdHistMaxDigiNb, RawEventBuilderDetector::fdTimeWinBeg, RawEventBuilderDetector::fdTimeWinEnd, fhCpuTimePerTs, fhCpuTimePerTsHist, fhEventDt, fhEventSize, fhEventTime, fhNbDigiPerEvtTime, fhOverEventShare, fhOverEventShareTs, fhOverEventSizeTs, fhRealTimePerTs, fhRealTimePerTsHist, fhSizeReductionPerTs, fOverMode, fRefDet, fvDets, fvhInpRatioPerTsSz, fvhNbDigiPerEvtDet, fvhNbDigiPerEvtTimeDet, fvhOutRatioPerTsSz, fvhSelRatioPerTsNb, fvhTDiff, kNotExist, outFolder, and RawEventBuilderDetector::sName.
Referenced by InitAlgo().
|
private |
I/O monitoring
Output monitoring
First event cannot be in overlap
Loop on selection detectors
Reference detector
Re-Loop on selection detectors due to detectors with same data type
Selection ratio
Selection ratio
Same for the reference detector
Selection ratio
Selection ratio
Loop on selection detectors to count input data
Skip as cannot be distinguished from TR1D wihout looping on digis itselves. => Same is done for output share (combination in single number for 1D & 2D) in order to keep things consistent
Re-Loop on selection detectors to fill global TS ratios
Same for the reference detector
Global value for all detectors
Definition at line 1321 of file CbmAlgoBuildRawEvents.cxx.
References AllowOverlap, RawEventBuilderDetector::dataType, RawEventBuilderDetector::detId, fbUseMuchBeamtimeDigi, fdWidestTimeWinRange, fEventVector, fhEventDt, fhEventSize, fhEventTime, fhNbDigiPerEvtTime, fhOverEventShare, fhOverEventShareTs, fhOverEventSizeTs, fhSizeReductionPerTs, fOverMode, fRefDet, fuNrTs, fvDets, fvhInpRatioPerTsSz, fvhNbDigiPerEvtDet, fvhNbDigiPerEvtTimeDet, fvhOutRatioPerTsSz, fvhSelRatioPerTsNb, fvhTDiff, GetDigi(), GetNofDigis(), GetSizeFromDigisNb(), kBmonDigi, CbmTrdDigi::kFASP, kFsdDigi, kMuchDigi, kNotExist, kPsdDigi, kRichDigi, CbmTrdDigi::kSPADIC, kStsDigi, kTofDigi, kTrdDigi, and RawEventBuilderDetector::sName.
Referenced by ProcessTs().
|
private |
Filter Bmon stations. Hack added for the mCBM2024 data (AB)
[in] | add | address of the Bmon digi |
Definition at line 1961 of file CbmAlgoBuildRawEvents.cxx.
References fUseBmonMap, CbmTofAddress::GetChannelSide(), and CbmTofAddress::GetSmType().
Referenced by getNofFilteredBmonDigis(), LoopOnSeeds(), and SetBmonEventTime().
void CbmAlgoBuildRawEvents::Finish | ( | ) |
Finish called at the end of the run
Definition at line 100 of file CbmAlgoBuildRawEvents.cxx.
References fbGetTimings, and PrintTimings().
Referenced by CbmTaskBuildRawEvents::Finish().
|
inline |
Definition at line 197 of file CbmAlgoBuildRawEvents.h.
References fvpAllCanvasPointers.
Referenced by CbmDeviceBuildDigiEvents::InitHistograms(), CbmDeviceBuildRawEvents::InitTask(), and CbmTaskBuildRawEvents::SaveHistos().
const CbmStsDigi * CbmAlgoBuildRawEvents::GetDigi | ( | UInt_t | uDigi | ) |
Specialization of the GetDigi variants has to happen before first usage.
Definition at line 488 of file CbmAlgoBuildRawEvents.cxx.
const CbmMuchBeamTimeDigi * CbmAlgoBuildRawEvents::GetDigi | ( | UInt_t | uDigi | ) |
Definition at line 493 of file CbmAlgoBuildRawEvents.cxx.
const CbmMuchDigi * CbmAlgoBuildRawEvents::GetDigi | ( | UInt_t | uDigi | ) |
Definition at line 498 of file CbmAlgoBuildRawEvents.cxx.
const CbmTrdDigi * CbmAlgoBuildRawEvents::GetDigi | ( | UInt_t | uDigi | ) |
Definition at line 503 of file CbmAlgoBuildRawEvents.cxx.
const CbmTofDigi * CbmAlgoBuildRawEvents::GetDigi | ( | UInt_t | uDigi | ) |
Definition at line 508 of file CbmAlgoBuildRawEvents.cxx.
const CbmRichDigi * CbmAlgoBuildRawEvents::GetDigi | ( | UInt_t | uDigi | ) |
Definition at line 513 of file CbmAlgoBuildRawEvents.cxx.
const CbmPsdDigi * CbmAlgoBuildRawEvents::GetDigi | ( | UInt_t | uDigi | ) |
Definition at line 518 of file CbmAlgoBuildRawEvents.cxx.
const CbmFsdDigi * CbmAlgoBuildRawEvents::GetDigi | ( | UInt_t | uDigi | ) |
Definition at line 523 of file CbmAlgoBuildRawEvents.cxx.
const CbmBmonDigi * CbmAlgoBuildRawEvents::GetDigi | ( | UInt_t | uDigi | ) |
Definition at line 528 of file CbmAlgoBuildRawEvents.cxx.
|
private |
Referenced by CheckTriggerConditions(), FillHistos(), getNofFilteredBmonDigis(), LoopOnSeeds(), SearchMatches(), and SetBmonEventTime().
|
inline |
Data output access.
Definition at line 230 of file CbmAlgoBuildRawEvents.h.
References fEventVector.
Referenced by CbmTaskBuildRawEvents::FillOutput(), CbmDeviceBuildDigiEvents::SendDigiEvents(), CbmDeviceBuildDigiEvents::SendEvents(), and CbmDeviceBuildRawEvents::SendEvents().
|
inline |
Definition at line 192 of file CbmAlgoBuildRawEvents.h.
References fvpAllHistoPointers.
Referenced by CbmDeviceBuildDigiEvents::InitHistograms(), CbmDeviceBuildRawEvents::InitTask(), and CbmTaskBuildRawEvents::SaveHistos().
|
private |
Definition at line 969 of file CbmAlgoBuildRawEvents.cxx.
References fBmonDigis, fbUseMuchBeamtimeDigi, fFsdDigis, fMuchBeamTimeDigis, fMuchDigis, fPsdDigis, fRichDigis, fStsDigis, fTofDigis, fTrdDigis, kBmon, kFsd, kMuch, kPsd, kRich, kSts, kTof, kTrd, and kTrd2d.
Referenced by FillHistos(), LoopOnSeeds(), and SearchMatches().
|
private |
Definition at line 1980 of file CbmAlgoBuildRawEvents.cxx.
References filterBmon(), fUseBmonMap, CbmBmonDigi::GetAddress(), GetDigi(), and kBmonDigi.
Referenced by CheckTriggerConditions().
|
inline |
Definition at line 227 of file CbmAlgoBuildRawEvents.h.
References outFolder.
Referenced by CbmTaskBuildRawEvents::SaveHistos().
|
private |
Definition at line 347 of file CbmAlgoBuildRawEvents.cxx.
References RawEventBuilderDetector::detId, fdSeedTimeWinBeg, fdSeedTimeWinEnd, fRefDet, RawEventBuilderDetector::GetTimeWinRange(), and kNotExist.
Referenced by CheckSeed(), and UpdateWidestTimeWinRange().
|
private |
Definition at line 1009 of file CbmAlgoBuildRawEvents.cxx.
References fbUseMuchBeamtimeDigi, kBmon, kFsd, kMuch, kPsd, kRich, kSts, kTof, kTrd, and kTrd2d.
Referenced by FillHistos().
|
private |
Check first reference detector
Loop on selection detectors
All Ok, trigger is there
Definition at line 698 of file CbmAlgoBuildRawEvents.cxx.
References CheckTriggerConditions(), RawEventBuilderDetector::detId, fRefDet, fvDets, and kNotExist.
Referenced by CheckTriggerCondition().
Bool_t CbmAlgoBuildRawEvents::InitAlgo | ( | ) |
Initiliazation at the beginning of a run
Check if reference detector is set and seed data are available, otherwise look for explicit seed times
Check if data for detectors in selection list are available
Access the TS metadata to know TS start time if needed
Definition at line 44 of file CbmAlgoBuildRawEvents.cxx.
References CheckDataAvailable(), CreateHistograms(), RawEventBuilderDetector::detId, fbFillHistos, fbGetTimings, fbUseTsMetaData, fRefDet, fSeedTimes, fTimer, fTimeSliceMetaDataArray, fvDets, and kNotExist.
Referenced by CbmTaskBuildRawEvents::Init(), CbmDeviceBuildDigiEvents::InitTask(), and CbmDeviceBuildRawEvents::InitTask().
|
private |
Access the TS metadata if needed to know TS start time and overlap size
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
Definition at line 201 of file CbmAlgoBuildRawEvents.cxx.
References dTsStartTime, fbIgnoreTsOverlap, fbUseTsMetaData, fdEarliestTimeWinBeg, fdLatestTimeWinEnd, fdSeedWindowBeg, fdSeedWindowEnd, fdTsLength, fdTsOverLength, fdTsStartTime, fdWidestTimeWinRange, fTimeSliceMetaDataArray, fuNrTs, TimesliceMetaData::GetOverlapDuration(), TimesliceMetaData::GetOverlapStartTime(), and TimesliceMetaData::GetStartTime().
Referenced by ProcessTs().
|
private |
Reset TS based variables (analysis per TS = no building over the border)
Reference detector
Loop on detectors in selection list
Definition at line 184 of file CbmAlgoBuildRawEvents.cxx.
References RawEventBuilderDetector::detId, fRefDet, fuCurEv, RawEventBuilderDetector::fuEndIndex, RawEventBuilderDetector::fuStartIndex, fvDets, and kNotExist.
Referenced by ProcessTs().
|
private |
|
private |
Loop on size of vector
Check if seed in acceptance window (is this needed here?)
Check Seed and build event if needed
Definition at line 294 of file CbmAlgoBuildRawEvents.cxx.
References CheckSeed(), RawEventBuilderDetector::detId, fdSeedWindowBeg, fdSeedWindowEnd, fRefDet, fSeedTimes, and kNotExist.
|
private |
Loop on size of vector
Check if seed in acceptance window
Check Seed and build event if needed
Definition at line 321 of file CbmAlgoBuildRawEvents.cxx.
References CheckSeed(), RawEventBuilderDetector::detId, fdSeedWindowBeg, fdSeedWindowEnd, filterBmon(), fRefDet, GetDigi(), GetNofDigis(), and kBmon.
Referenced by BuildEvents().
|
delete |
void CbmAlgoBuildRawEvents::PrintTimings | ( | ) |
Definition at line 107 of file CbmAlgoBuildRawEvents.cxx.
References fTimer.
Referenced by Finish().
void CbmAlgoBuildRawEvents::ProcessTs | ( | ) |
Executed for each TS.
Store last event with trigger if not done by other seed
TODO: store start time of current event ?
Bmon used either as Seed or selected detector
Prevent building over TS edge
Definition at line 131 of file CbmAlgoBuildRawEvents.cxx.
References BuildEvents(), fbBmonInUse, fbFillHistos, fCurrentEvent, fdPrevEvtEndTime, fEventVector, fhCpuTimePerTs, fhCpuTimePerTsHist, fhRealTimePerTs, fhRealTimePerTsHist, FillHistos(), fTimer, fuCurEv, fuNrTs, InitSeedWindow(), InitTs(), SetBmonEventTime(), and CbmEvent::SetEndTime().
Referenced by CbmTaskBuildRawEvents::BuildEvents(), CbmDeviceBuildDigiEvents::HandleData(), and CbmDeviceBuildRawEvents::HandleData().
void CbmAlgoBuildRawEvents::RemoveDetector | ( | RawEventBuilderDetector | selDet | ) |
Loop on selection detectors
Detect usage of BMon to set Event StartTime
Definition at line 1767 of file CbmAlgoBuildRawEvents.cxx.
References CheckBmonInUse(), fvDets, and RawEventBuilderDetector::sName.
Referenced by CbmDeviceBuildDigiEvents::InitTask(), CbmDeviceBuildRawEvents::InitTask(), CbmTaskBuildRawEvents::RemoveDetector(), and SetReferenceDetector().
void CbmAlgoBuildRawEvents::ResetHistograms | ( | Bool_t | bResetTime = kTRUE | ) |
Loop on histograms
Definition at line 1634 of file CbmAlgoBuildRawEvents.cxx.
References fhEventDt, fhEventSize, fhEventTime, fhNbDigiPerEvtTime, fvhNbDigiPerEvtDet, fvhNbDigiPerEvtTimeDet, and fvhTDiff.
Referenced by CbmDeviceBuildDigiEvents::SendHistoConfAndData(), CbmDeviceBuildDigiEvents::SendHistograms(), and CbmDeviceBuildRawEvents::SendHistograms().
|
private |
This algo relies on time sorted vectors for the selected detectors
Check the Digis until out of window
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
Update the StartIndex and EndIndex for the next event seed
Definition at line 587 of file CbmAlgoBuildRawEvents.cxx.
References AddDigiToEvent(), RawEventBuilderDetector::detId, fdPrevEvtEndTime, RawEventBuilderDetector::fdTimeWinBeg, RawEventBuilderDetector::fdTimeWinEnd, RawEventBuilderDetector::fuEndIndex, RawEventBuilderDetector::fuStartIndex, GetDigi(), GetNofDigis(), CbmTrdDigi::GetType(), CbmTrdDigi::kFASP, CbmTrdDigi::kSPADIC, kTrd, kTrd2d, and RawEventBuilderDetector::sName.
Referenced by CheckSeed(), and SearchMatches().
|
private |
Definition at line 536 of file CbmAlgoBuildRawEvents.cxx.
References RawEventBuilderDetector::detId, fbUseMuchBeamtimeDigi, kBmon, kFsd, kMuch, kPsd, kRich, kSts, kTof, kTrd, kTrd2d, SearchMatches(), and RawEventBuilderDetector::sName.
|
private |
Definition at line 714 of file CbmAlgoBuildRawEvents.cxx.
References filterBmon(), CbmBmonDigi::GetAddress(), GetDigi(), CbmBmonDigi::GetTime(), and kBmonDigi.
Referenced by CheckSeed(), and ProcessTs().
|
inline |
Set digi containers.
Definition at line 200 of file CbmAlgoBuildRawEvents.h.
References fBmonDigis.
Referenced by CbmTaskBuildRawEvents::InitDigis(), CbmDeviceBuildDigiEvents::InitTask(), and CbmDeviceBuildRawEvents::InitTask().
|
inline |
Definition at line 211 of file CbmAlgoBuildRawEvents.h.
References fFsdDigis.
|
inline |
Definition at line 212 of file CbmAlgoBuildRawEvents.h.
References fbUseMuchBeamtimeDigi, and fMuchBeamTimeDigis.
|
inline |
Definition at line 202 of file CbmAlgoBuildRawEvents.h.
References fbUseMuchBeamtimeDigi, and fMuchDigis.
|
inline |
Definition at line 210 of file CbmAlgoBuildRawEvents.h.
References fPsdDigis.
|
inline |
Definition at line 209 of file CbmAlgoBuildRawEvents.h.
References fRichDigis.
|
inline |
Definition at line 201 of file CbmAlgoBuildRawEvents.h.
References fStsDigis.
|
inline |
Definition at line 208 of file CbmAlgoBuildRawEvents.h.
References fTofDigis.
|
inline |
Definition at line 207 of file CbmAlgoBuildRawEvents.h.
References fTrdDigis.
|
inline |
Control flags.
Definition at line 182 of file CbmAlgoBuildRawEvents.h.
References fOverMode.
Referenced by CbmDeviceBuildDigiEvents::InitTask(), CbmDeviceBuildRawEvents::InitTask(), and CbmTaskBuildRawEvents::SetEventOverlapMode().
|
inline |
Definition at line 143 of file CbmAlgoBuildRawEvents.h.
References fbFillHistos.
Referenced by CbmDeviceBuildDigiEvents::InitTask(), CbmDeviceBuildRawEvents::InitTask(), and CbmTaskBuildRawEvents::SetFillHistos().
void CbmAlgoBuildRawEvents::SetHistogramMaxDigiNb | ( | ECbmModuleId | selDet, |
Double_t | dDigiNbMax ) |
Check first if reference detector
Loop on selection detectors
Definition at line 1898 of file CbmAlgoBuildRawEvents.cxx.
References RawEventBuilderDetector::detId, RawEventBuilderDetector::fdHistMaxDigiNb, fRefDet, fvDets, and RawEventBuilderDetector::sName.
Referenced by CbmDeviceBuildDigiEvents::InitTask(), and CbmTaskBuildRawEvents::SetHistogramMaxDigiNb().
|
inline |
Definition at line 183 of file CbmAlgoBuildRawEvents.h.
References fbIgnoreTsOverlap.
Referenced by CbmDeviceBuildDigiEvents::InitTask(), CbmDeviceBuildRawEvents::InitTask(), and CbmTaskBuildRawEvents::SetIgnoreTsOverlap().
void CbmAlgoBuildRawEvents::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 1664 of file CbmAlgoBuildRawEvents.cxx.
References SetReferenceDetector().
Referenced by CbmDeviceBuildDigiEvents::InitTask(), CbmDeviceBuildRawEvents::InitTask(), and SetReferenceDetector().
void CbmAlgoBuildRawEvents::SetReferenceDetector | ( | RawEventBuilderDetector | refDetIn, |
std::vector< bool > | select = {} ) |
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
Detect usage of BMon to set Event StartTime
Definition at line 1681 of file CbmAlgoBuildRawEvents.cxx.
References CheckBmonInUse(), fbBmonInUse, fRefDet, fUseBmonMap, fvDets, RemoveDetector(), RawEventBuilderDetector::sName, SwitchBmonStation(), UpdateTimeWinBoundariesExtrema(), and UpdateWidestTimeWinRange().
|
inline |
Definition at line 218 of file CbmAlgoBuildRawEvents.h.
References fSeedTimes.
Referenced by CbmTaskBuildRawEvents::AddSeedTimeFillerToList(), and CbmTaskBuildRawEvents::SetSlidingWindowSeedFinder().
|
inline |
Definition at line 173 of file CbmAlgoBuildRawEvents.h.
References fdSeedTimeWinBeg, fdSeedTimeWinEnd, UpdateTimeWinBoundariesExtrema(), and UpdateWidestTimeWinRange().
Referenced by CbmTaskBuildRawEvents::SetSeedTimeWindow().
|
inline |
Definition at line 221 of file CbmAlgoBuildRawEvents.h.
References fTimeSliceMetaDataArray.
Referenced by CbmTaskBuildRawEvents::Init(), CbmDeviceBuildDigiEvents::InitTask(), and CbmDeviceBuildRawEvents::InitTask().
|
inline |
stopwatch timing
Definition at line 147 of file CbmAlgoBuildRawEvents.h.
References fbGetTimings.
Referenced by CbmTaskBuildRawEvents::SetTimings().
void CbmAlgoBuildRawEvents::SetTriggerMaxNumber | ( | ECbmModuleId | selDet, |
Int_t | iVal ) |
Check first if reference detector
Loop on selection detectors
Definition at line 1816 of file CbmAlgoBuildRawEvents.cxx.
References RawEventBuilderDetector::detId, RawEventBuilderDetector::fiTriggerMaxDigis, fRefDet, fvDets, and RawEventBuilderDetector::sName.
Referenced by CbmDeviceBuildDigiEvents::InitTask(), and CbmTaskBuildRawEvents::SetTriggerMaxNumber().
void CbmAlgoBuildRawEvents::SetTriggerMinLayersNumber | ( | ECbmModuleId | selDet, |
UInt_t | uVal ) |
Check first if reference detector
Loop on selection detectors
Definition at line 1838 of file CbmAlgoBuildRawEvents.cxx.
References RawEventBuilderDetector::detId, fRefDet, RawEventBuilderDetector::fuTriggerMinLayers, fvDets, and RawEventBuilderDetector::sName.
Referenced by CbmDeviceBuildDigiEvents::InitTask(), and CbmTaskBuildRawEvents::SetTriggerMinLayersNumber().
void CbmAlgoBuildRawEvents::SetTriggerMinNumber | ( | ECbmModuleId | selDet, |
UInt_t | uVal ) |
Check first if reference detector
Loop on selection detectors
Definition at line 1794 of file CbmAlgoBuildRawEvents.cxx.
References RawEventBuilderDetector::detId, fRefDet, RawEventBuilderDetector::fuTriggerMinDigis, fvDets, and RawEventBuilderDetector::sName.
Referenced by CbmDeviceBuildDigiEvents::InitTask(), CbmDeviceBuildRawEvents::InitTask(), and CbmTaskBuildRawEvents::SetTriggerMinNumber().
void CbmAlgoBuildRawEvents::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 1860 of file CbmAlgoBuildRawEvents.cxx.
References RawEventBuilderDetector::detId, RawEventBuilderDetector::fdTimeWinBeg, RawEventBuilderDetector::fdTimeWinEnd, fRefDet, fvDets, UpdateTimeWinBoundariesExtrema(), and UpdateWidestTimeWinRange().
Referenced by CbmDeviceBuildDigiEvents::InitTask(), CbmDeviceBuildRawEvents::InitTask(), and CbmTaskBuildRawEvents::SetTriggerWindow().
|
inline |
Definition at line 165 of file CbmAlgoBuildRawEvents.h.
References dTsStartTime, fbUseTsMetaData, fdTsLength, fdTsOverLength, and fdTsStartTime.
Referenced by CbmDeviceBuildDigiEvents::HandleData(), and CbmTaskBuildRawEvents::SetTsParameters().
|
private |
Definition at line 1950 of file CbmAlgoBuildRawEvents.cxx.
References fUseBmonMap.
Referenced by SetReferenceDetector().
|
private |
Initialize with reference detector or explicit times
Loop on selection detectors
Definition at line 1920 of file CbmAlgoBuildRawEvents.cxx.
References RawEventBuilderDetector::detId, fdEarliestTimeWinBeg, fdLatestTimeWinEnd, fdSeedTimeWinBeg, fdSeedTimeWinEnd, RawEventBuilderDetector::fdTimeWinBeg, RawEventBuilderDetector::fdTimeWinEnd, fRefDet, fvDets, and kNotExist.
Referenced by AddDetector(), SetReferenceDetector(), SetSeedTimeWindow(), and SetTriggerWindow().
|
private |
Initialize with reference detector
Loop on selection detectors
Definition at line 1939 of file CbmAlgoBuildRawEvents.cxx.
References fdWidestTimeWinRange, fvDets, and GetSeedTimeWinRange().
Referenced by AddDetector(), SetReferenceDetector(), SetSeedTimeWindow(), and SetTriggerWindow().
|
private |
Definition at line 295 of file CbmAlgoBuildRawEvents.h.
Referenced by CheckBmonInUse(), CheckSeed(), ProcessTs(), and SetReferenceDetector().
|
private |
Ignore data in Overlap part of the TS.
Definition at line 280 of file CbmAlgoBuildRawEvents.h.
Referenced by InitAlgo(), ProcessTs(), and SetFillHistos().
|
private |
Switch between MUCH digi classes.
Definition at line 282 of file CbmAlgoBuildRawEvents.h.
Referenced by Finish(), InitAlgo(), and SetTimings().
|
private |
User parameters Control flags
Definition at line 279 of file CbmAlgoBuildRawEvents.h.
Referenced by InitSeedWindow(), and SetIgnoreTsOverlap().
|
private |
Definition at line 311 of file CbmAlgoBuildRawEvents.h.
Referenced by CheckDataAvailable(), GetNofDigis(), and SetDigis().
|
private |
Switch ON/OFF filling of histograms.
Definition at line 281 of file CbmAlgoBuildRawEvents.h.
Referenced by BuildEvents(), ChangeMuchBeamtimeDigiFlag(), CheckDataAvailable(), FillHistos(), GetNofDigis(), GetSizeFromDigisNb(), SearchMatches(), SetDigis(), and SetDigis().
|
private |
Measure CPU time using stopwatch.
Definition at line 283 of file CbmAlgoBuildRawEvents.h.
Referenced by InitAlgo(), InitSeedWindow(), and SetTsParameters().
|
private |
Data ouptut.
Definition at line 335 of file CbmAlgoBuildRawEvents.h.
Referenced by AddDigiToEvent(), CheckSeed(), CheckTriggerCondition(), and ProcessTs().
|
private |
Definition at line 297 of file CbmAlgoBuildRawEvents.h.
Referenced by InitSeedWindow(), and UpdateTimeWinBoundariesExtrema().
|
private |
Definition at line 298 of file CbmAlgoBuildRawEvents.h.
Referenced by InitSeedWindow(), and UpdateTimeWinBoundariesExtrema().
|
private |
Save previous time information.
Definition at line 382 of file CbmAlgoBuildRawEvents.h.
Referenced by CheckSeed(), ProcessTs(), and SearchMatches().
|
private |
Timeslice Counter.
Definition at line 381 of file CbmAlgoBuildRawEvents.h.
Referenced by CheckSeed(), and CheckTriggerCondition().
|
private |
Definition at line 323 of file CbmAlgoBuildRawEvents.h.
Referenced by GetSeedTimeWinRange(), SetSeedTimeWindow(), and UpdateTimeWinBoundariesExtrema().
|
private |
Definition at line 324 of file CbmAlgoBuildRawEvents.h.
Referenced by GetSeedTimeWinRange(), SetSeedTimeWindow(), and UpdateTimeWinBoundariesExtrema().
|
private |
Seed window.
Definition at line 301 of file CbmAlgoBuildRawEvents.h.
Referenced by InitSeedWindow(), and LoopOnSeeds().
|
private |
Definition at line 302 of file CbmAlgoBuildRawEvents.h.
Referenced by InitSeedWindow(), and LoopOnSeeds().
|
private |
Definition at line 305 of file CbmAlgoBuildRawEvents.h.
Referenced by InitSeedWindow(), and SetTsParameters().
|
private |
Definition at line 306 of file CbmAlgoBuildRawEvents.h.
Referenced by InitSeedWindow(), and SetTsParameters().
|
private |
Definition at line 304 of file CbmAlgoBuildRawEvents.h.
Referenced by InitSeedWindow(), and SetTsParameters().
|
private |
Definition at line 299 of file CbmAlgoBuildRawEvents.h.
Referenced by CheckSeed(), FillHistos(), InitSeedWindow(), and UpdateWidestTimeWinRange().
|
private |
pointer to the event which is currently build
Definition at line 336 of file CbmAlgoBuildRawEvents.h.
Referenced by CheckSeed(), ClearEventVector(), FillHistos(), GetEventVector(), and ProcessTs().
|
private |
Definition at line 319 of file CbmAlgoBuildRawEvents.h.
Referenced by CheckDataAvailable(), GetNofDigis(), and SetDigis().
|
private |
histogram with the nb of all digis per event vs seed time of the events
Definition at line 358 of file CbmAlgoBuildRawEvents.h.
Referenced by CreateHistograms(), and ProcessTs().
|
private |
Processing time per TS.
Definition at line 361 of file CbmAlgoBuildRawEvents.h.
Referenced by CreateHistograms(), and ProcessTs().
|
private |
histogram with the seed time of the events
Definition at line 355 of file CbmAlgoBuildRawEvents.h.
Referenced by CreateHistograms(), FillHistos(), and ResetHistograms().
|
private |
histogram with the interval in seed time of consecutive events
Definition at line 356 of file CbmAlgoBuildRawEvents.h.
Referenced by CreateHistograms(), FillHistos(), and ResetHistograms().
|
private |
Vector of pointers to canvases + optional folder name.
Definition at line 354 of file CbmAlgoBuildRawEvents.h.
Referenced by CreateHistograms(), FillHistos(), and ResetHistograms().
|
private |
histogram with the nb of all digis in the event
Definition at line 357 of file CbmAlgoBuildRawEvents.h.
Referenced by CreateHistograms(), FillHistos(), and ResetHistograms().
|
private |
ratio of total selected size to input size selected vs TS in run
Definition at line 374 of file CbmAlgoBuildRawEvents.h.
Referenced by CreateHistograms(), and FillHistos().
|
private |
histogram with proportion of overlap evt, AllowOverlap only
Definition at line 375 of file CbmAlgoBuildRawEvents.h.
Referenced by CreateHistograms(), and FillHistos().
|
private |
histogram with proportion of overlap evt vs TS index, AllowOverlap only
Definition at line 376 of file CbmAlgoBuildRawEvents.h.
Referenced by CreateHistograms(), and FillHistos().
|
private |
Processing time per TS.
Definition at line 359 of file CbmAlgoBuildRawEvents.h.
Referenced by CreateHistograms(), and ProcessTs().
|
private |
Plotting time per TS.
Definition at line 362 of file CbmAlgoBuildRawEvents.h.
Referenced by CreateHistograms(), and ProcessTs().
|
private |
ratio of selected digi size in total event size vs TS in run
Definition at line 372 of file CbmAlgoBuildRawEvents.h.
Referenced by CreateHistograms(), and FillHistos().
|
private |
Definition at line 313 of file CbmAlgoBuildRawEvents.h.
Referenced by CheckDataAvailable(), GetNofDigis(), and SetDigis().
|
private |
Definition at line 312 of file CbmAlgoBuildRawEvents.h.
Referenced by CheckDataAvailable(), GetNofDigis(), and SetDigis().
|
private |
bit map for Bmon trigger. Defined by user
Event building mode and detectors selection
Definition at line 287 of file CbmAlgoBuildRawEvents.h.
Referenced by CheckSeed(), CheckTriggerCondition(), CreateHistograms(), FillHistos(), and SetEventOverlapMode().
|
private |
Definition at line 318 of file CbmAlgoBuildRawEvents.h.
Referenced by CheckDataAvailable(), GetNofDigis(), and SetDigis().
|
private |
is create when fbGetTimings is set before init
Definition at line 291 of file CbmAlgoBuildRawEvents.h.
Referenced by AddDetector(), BuildEvents(), CheckBmonInUse(), CheckSeed(), CheckTriggerCondition(), CreateHistograms(), FillHistos(), GetSeedTimeWinRange(), HasTrigger(), InitAlgo(), InitTs(), LoopOnSeeds(), SetHistogramMaxDigiNb(), SetReferenceDetector(), SetTriggerMaxNumber(), SetTriggerMinLayersNumber(), SetTriggerMinNumber(), SetTriggerWindow(), and UpdateTimeWinBoundariesExtrema().
|
private |
Definition at line 317 of file CbmAlgoBuildRawEvents.h.
Referenced by CheckDataAvailable(), GetNofDigis(), and SetDigis().
|
private |
Definition at line 322 of file CbmAlgoBuildRawEvents.h.
Referenced by InitAlgo(), LoopOnSeeds(), and SetSeedTimes().
|
private |
Definition at line 314 of file CbmAlgoBuildRawEvents.h.
Referenced by CheckDataAvailable(), GetNofDigis(), and SetDigis().
|
private |
Definition at line 289 of file CbmAlgoBuildRawEvents.h.
Referenced by InitAlgo(), PrintTimings(), and ProcessTs().
|
private |
Data input.
Definition at line 309 of file CbmAlgoBuildRawEvents.h.
Referenced by InitAlgo(), InitSeedWindow(), and SetTimeSliceMetaDataArray().
|
private |
Definition at line 316 of file CbmAlgoBuildRawEvents.h.
Referenced by CheckDataAvailable(), GetNofDigis(), and SetDigis().
|
private |
Definition at line 315 of file CbmAlgoBuildRawEvents.h.
Referenced by CheckDataAvailable(), GetNofDigis(), and SetDigis().
|
private |
histogram with size of overlap between evt vs TS index, AllowOverlap only
Internal state variables
Definition at line 379 of file CbmAlgoBuildRawEvents.h.
Referenced by CheckSeed(), InitTs(), and ProcessTs().
|
private |
Event Counter.
Definition at line 380 of file CbmAlgoBuildRawEvents.h.
Referenced by FillHistos(), InitSeedWindow(), and ProcessTs().
|
private |
Read Ts Parameters from input tree.
Definition at line 284 of file CbmAlgoBuildRawEvents.h.
Referenced by filterBmon(), getNofFilteredBmonDigis(), SetReferenceDetector(), and SwitchBmonStation().
|
private |
Definition at line 292 of file CbmAlgoBuildRawEvents.h.
Referenced by AddDetector(), CheckBmonInUse(), CheckSeed(), CheckTriggerCondition(), CreateHistograms(), FillHistos(), HasTrigger(), InitAlgo(), InitTs(), RemoveDetector(), SetHistogramMaxDigiNb(), SetReferenceDetector(), SetTriggerMaxNumber(), SetTriggerMinLayersNumber(), SetTriggerMinNumber(), SetTriggerWindow(), UpdateTimeWinBoundariesExtrema(), and UpdateWidestTimeWinRange().
|
private |
ratio of selected/input digi vs TS in run
Definition at line 370 of file CbmAlgoBuildRawEvents.h.
Referenced by CreateHistograms(), and FillHistos().
|
private |
histograms with the nb of digis in each detector per event vs seed time of the events
Definition at line 366 of file CbmAlgoBuildRawEvents.h.
Referenced by CreateHistograms(), FillHistos(), and ResetHistograms().
|
private |
Plotting time per TS.
Definition at line 364 of file CbmAlgoBuildRawEvents.h.
Referenced by CreateHistograms(), FillHistos(), and ResetHistograms().
|
private |
ratio of input digi size in total input size vs TS in run
Definition at line 371 of file CbmAlgoBuildRawEvents.h.
Referenced by CreateHistograms(), and FillHistos().
|
private |
Definition at line 369 of file CbmAlgoBuildRawEvents.h.
Referenced by CreateHistograms(), and FillHistos().
|
private |
histograms with the nb of digis in each detector per event
Definition at line 367 of file CbmAlgoBuildRawEvents.h.
Referenced by CreateHistograms(), FillHistos(), and ResetHistograms().
|
private |
Vector of pointers to histograms + optional folder name.
Definition at line 352 of file CbmAlgoBuildRawEvents.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 350 of file CbmAlgoBuildRawEvents.h.
Referenced by AddHistoToVector(), and GetHistoVector().
|
staticconstexprprivate |
Constants.
Definition at line 274 of file CbmAlgoBuildRawEvents.h.
|
staticconstexprprivate |
Definition at line 275 of file CbmAlgoBuildRawEvents.h.
|
private |
Definition at line 271 of file CbmAlgoBuildRawEvents.h.
Referenced by CreateHistograms(), and GetOutFolder().