12#ifndef CbmMcbm2018MonitorAlgoTof_H
13#define CbmMcbm2018MonitorAlgoTof_H
42 virtual Bool_t
Init();
52 Bool_t
ProcessTs(
const fles::Timeslice& ts);
54 Bool_t
ProcessMs(
const fles::Timeslice& ts,
size_t uMsCompIdx,
size_t uMsIdx);
135 std::chrono::steady_clock::time_point
std::vector< Bool_t > fvbMaskedComponents
If ON not printout at all for critical errors.
std::vector< TH2 * > fvhGdpbEnableEvoPerTs
Debug histo, only in DebugMonitorMode.
UInt_t fuGet4Id
Bin size in s for the plots with date as X axis.
UInt_t fuNrOfChannelsPerFee
Number of channels in each GET4.
CbmMcbm2018TofPar * fUnpackPar
Switch ON the usage of abolute time scale for the evo histo (no start time)
UInt_t fuNrOfChannelsPerGdpb
Number of GET4s per GDPB.
UInt_t fuCurrentEquipmentId
static const Int_t kiMaxNbFlibLinks
Constants.
std::vector< gdpbv100::Message > fvmEpSupprBuffer
Epoch + Epoch Cycle.
std::vector< TH2 * > fvhGdpbGet4ChanScm
void ProcessEpoch(gdpbv100::Message mess)
void SetHistoryHistoSize(UInt_t inHistorySizeSec=1800)
std::vector< UInt_t > fvuStarDaqCmdLast
ULong64_t fulCurrentMsIdx
std::vector< TH2 * > fvhGdpbPatternEnableEvo
Debug histo, only in DebugMonitorMode.
std::vector< TH2 * > fvhGdpbMissmatchEvoPerTs
Exclude from dictionnary.
std::vector< ULong64_t > fvulStarTsMsb
CbmMcbm2018MonitorAlgoTof()
ULong64_t fulCurrentTsIdx
std::vector< TH2 * > fvhGdpbMissmatchEnaEvoPerTs
Debug histo, only in DebugMonitorMode.
std::vector< TH1 * > fvhRemapChCount_gDPB
std::vector< ULong64_t > fvulGdpbTsFullLast
Int_t fiRunStartDateTimeSec
Index of the DPB from which the MS currently unpacked is coming.
void SetPulserTotLimits(UInt_t uMin, UInt_t uMax)
std::vector< TH2 * > fvhRawFt_gDPB
void UseAbsoluteTime(Bool_t bFlagIn=kTRUE)
std::vector< TH2 * > fvhGdpbGet4ChanErrors
std::map< gdpbv100::MessageTypes, UInt_t > fmMsgCounter
std::vector< std::vector< bool > > fvvbGdpbLastMissmatchPattern
uint32_t fuCurrentMsSysId
UInt_t fuNrOfGet4PerGdpb
Total number of Get4 chips in the system.
TH1 * fhGdpbEndMsBufferNotEmpty
std::vector< TProfile2D * > fvhRemapChErrFract_gDPB
std::vector< TH2 * > fvhGdpbStateEvoPerTs
Debug histo, only in DebugMonitorMode.
void AddMsComponentToList(size_t component, UShort_t usDetectorId)
static const UInt_t kuBytesPerMessage
std::vector< TCanvas * > fvcSumGdpbGet4
UInt_t fuHistoryHistoSize
Histograms related variables.
std::vector< TH2 * > fvhGdpbGet4MessType
std::vector< ULong64_t > fvulCurrentEpochFull
Epoch cycle from the Ms Start message and Epoch counter flip.
TH2 * fhPatternEnable
Debug histo, only in DebugMonitorMode.
UInt_t fuMinTotPulser
Number of channels per GDPB.
std::vector< TH2 * > fvhGdpbPatternResyncEvo
Debug histo, only in DebugMonitorMode.
TH2 * fhErrorFractPerMsEvo
TH2 * fhPatternResync
Debug histo, only in DebugMonitorMode.
Int_t fiBinSizeDatePlots
Start of run time since "epoch" in s, for the plots with date as X axis.
std::map< UInt_t, UInt_t > fGdpbIdIndexMap
Total number of GDPBs in the system.
Bool_t CreateHistograms()
std::vector< ULong64_t > fvulStarTsFullLast
TH2 * fhLostEvtFractPerMsEvo
Bool_t ResetHistograms(Bool_t bResetTime=kTRUE)
Bool_t fbEpochSinceLastHit
Duplicate Hits detection.
std::vector< TH2 * > fvhGdpbResyncEnaEvoPerTs
Debug histo, only in DebugMonitorMode.
UInt_t fuCurrDpbId
Current equipment ID, tells from which DPB the current MS is originating.
TCanvas * fcStarTrigCmdDaqVsTrig
std::chrono::steady_clock::time_point ftStartTimeUnix
Double_t fdTsStartTime
SysId of the current MS in TS (0 to fuTotalMsNb)
std::vector< ULong64_t > fvulCurrentEpochCycle
Current epoch index, per DPB.
std::vector< ULong64_t > fvulGdpbTsMsb
STAR TRIGGER detection.
CbmMcbm2018MonitorAlgoTof(const CbmMcbm2018MonitorAlgoTof &)
std::vector< TH2 * > fvhCmdDaqVsTrig
void ProcessHit(gdpbv100::FullMessage mess)
void ProcessEpSupprBuffer()
std::vector< TH2 * > fvhRawCt_gDPB
Debug histo, only in DebugMonitorMode.
static const UInt_t kuNbChanDiamond
std::vector< TH2 * > fvhRemapChRate_gDPB
UInt_t fuGet4Nr
running number (0 to fuNrOfGet4PerGdpb) of the Get4 chip of a unique GDPB for current message
TH2 * fhGdpbSysMessPattType
void SetGdpbIndex(Int_t iGdpb=-1)
Bool_t ReInitContainers()
void ProcessEpochCycle(uint64_t ulCycleData)
void ProcessError(gdpbv100::FullMessage mess)
UInt_t fuNrOfGet4
Number of channels in each FEE.
std::vector< TH1 * > fvhTokenMsgType
TH2 * fhGdpbEndMsDataLost
UInt_t fuMsIndex
Start Time in ns of current MS from its index field in header.
std::vector< ULong64_t > fvulCurrentEpoch
Data format control: Current time references for each GDPB: merged epoch marker, epoch cycle,...
void SetIgnoreCriticalErrors(Bool_t bFlagIn=kTRUE)
std::vector< ULong64_t > fvulStarTsMid
std::vector< TH2 * > fvhRemapTot_gDPB
Debug histo, only in DebugMonitorMode.
std::vector< UInt_t > fuNbMissmatchPattern
Pattern messages per gDPB.
TH2 * fhPatternMissmatch
Debug histo, only in DebugMonitorMode.
TProfile * fhErrorFractEvo
TProfile * fhLostEvtFractEvo
void ProcessSysMess(gdpbv100::FullMessage mess)
Bool_t fbIgnoreCriticalErrors
Switch ON the filling of a additional set of histograms.
TCanvas * fcStarTriggerRate
Bool_t ProcessTs(const fles::Timeslice &ts)
TH1 * fhMessType
Size in seconds of the evolution histograms.
TH2 * fhLostEvtCntPerMsEvo
TCanvas * fcSummary
Canvases.
UInt_t fuCurrDpbIdx
Temp holder until Current equipment ID is properly filled in MS.
std::vector< TH2 * > fvhGdpbResyncEvoPerTs
Debug histo, only in DebugMonitorMode.
TCanvas * fcStarTrigStarTsEvo
void SetDebugMonitorMode(Bool_t bFlagIn=kTRUE)
Double_t fdStartTime
Starting state book-keeping.
std::vector< std::vector< bool > > fvvbGdpbLastEnablePattern
Exclude from dictionnary.
~CbmMcbm2018MonitorAlgoTof()
void ProcessPattern(gdpbv100::Message mess)
TH2 * fhGdpbAsicSpiCounts
TH2 * fhNbMissPatternPerMs
void ProcessSlowCtrl(gdpbv100::Message mess)
gdpbv100::Message fmLastHit
UInt_t fuNrOfFeePerGdpb
gDPB ID to index map
std::vector< ULong64_t > fvulGdpbTsLsb
UInt_t fuNrOfGet4PerFee
Number of FEBs per GDPB.
CbmMcbm2018MonitorAlgoTof operator=(const CbmMcbm2018MonitorAlgoTof &)
std::vector< UInt_t > fvuStarTrigCmdLast
Bool_t fbDebugMonitorMode
Control flags.
Double_t fdTsStopTimeCore
Time in ns of current TS from the index of the first MS first component.
Bool_t ProcessTs(const fles::Timeslice &ts, size_t)
Double_t fdMsTime
End Time in ns of current TS Core from the index of the first MS first component.
TCanvas * fcStarTrigStarTokenEvo
std::vector< TProfile * > fvhStarTrigStarTsEvo
UInt_t fuNrOfChannelsPerGet4
Number of GET4s per FEE.
std::vector< TProfile * > fvhStarTrigGdpbTsEvo
TCanvas * fcStarTrigGdpbTsEvo
std::vector< UInt_t > fvuStarTokenLast
std::vector< TH2 * > fvhStarTokenEvo
std::vector< std::vector< bool > > fvvbGdpbLastResyncPattern
Exclude from dictionnary.
std::vector< TH1 * > fvhTriggerRate
void ProcessStarTrig(gdpbv100::Message mess)
void ResetEvolutionHistograms()
std::vector< TH2 * > fvhGdpbPatternMissmatchEvo
TCanvas * fcStarTrigTokenType
Bool_t ProcessMs(const fles::Timeslice &ts, size_t uMsCompIdx, size_t uMsIdx)