Go to the documentation of this file.
8 #ifndef CbmMcbm2018MonitorAlgoT0_H
9 #define CbmMcbm2018MonitorAlgoT0_H
40 virtual Bool_t
Init();
50 Bool_t
ProcessTs(
const fles::Timeslice& ts);
51 Bool_t
ProcessTs(
const fles::Timeslice& ts,
size_t ) {
54 Bool_t
ProcessMs(
const fles::Timeslice& ts,
size_t uMsCompIdx,
size_t uMsIdx);
135 std::map<gdpbv100::MessageTypes, UInt_t>
fmMsgCounter = {};
164 std::chrono::steady_clock::
217 {0, 1, 2, 3, 4, 5, 6, 7};
UInt_t fuNrOfChannelsPerGet4
Number of GET4s per FEE.
TCanvas * fcSpillDpbCountsHori
std::vector< std::vector< gdpbv100::Message > > fvvmEpSupprBuffer
Buffers.
Bool_t ProcessTs(const fles::Timeslice &ts, size_t)
UInt_t fuNrOfChannelsPerFee
Number of channels in each GET4.
std::vector< TProfile * > fvhErrorFractEvoChan
std::vector< ULong64_t > fvulCurrentEpochFull
Epoch cycle from the Ms Start message and Epoch counter flip.
std::vector< TH2 * > fvhErrorFractPerMsEvoChan
TCanvas * fcSummary
Canvases.
Double_t fdTsStopTimeCore
Time in ns of current TS from the index of the first MS first component.
std::chrono::steady_clock::time_point ftStartTimeUnix
Double_t fdMsTime
End Time in ns of current TS Core from the index of the first MS first component.
UInt_t fuOffSpillCountLimit
std::vector< TH2 * > fvhEvtLostFractPerMsEvoChan
UInt_t fuNrOfFeePerGdpb
gDPB ID to index map
UInt_t fuDiamChanMap[kuNbChanDiamond]
TCanvas * fcSpillCountsHori
std::vector< TH1 * > fvhHitCntEvoChan
static const UInt_t kuNbChanDiamond
static const UInt_t kuNbSpillPlots
void SetChannelMap(UInt_t uChan0, UInt_t uChan1, UInt_t uChan2, UInt_t uChan3, UInt_t uChan4, UInt_t uChan5, UInt_t uChan6, UInt_t uChan7)
std::vector< UInt_t > fvuErrorCntChanMs
std::map< gdpbv100::MessageTypes, UInt_t > fmMsgCounter
TH2 * fhLostEvtCntPerMsEvo
Double_t fdLastSecondTime
UInt_t fuCountsLastSecond
Bool_t fbMonitorMode
Control flags.
UInt_t fuCurrentEquipmentId
CbmMcbm2018MonitorAlgoT0 operator=(const CbmMcbm2018MonitorAlgoT0 &)
std::vector< UInt_t > fvuEvtLostCntChanMs
std::vector< ULong64_t > fvulCurrentEpochCycle
Current epoch index, per DPB.
void SetSpillThreshold(UInt_t uCntLimit)
Bool_t ResetHistograms(Bool_t bResetTime=kTRUE)
TProfile * fhLostEvtFractEvo
UInt_t fuCurrentSpillPlot
Int_t fiBinSizeDatePlots
Start of run time since "epoch" in s, for the plots with date as X axis.
Bool_t ProcessMs(const fles::Timeslice &ts, size_t uMsCompIdx, size_t uMsIdx)
void SetHistoryHistoSize(UInt_t inHistorySizeSec=1800)
UInt_t fuNrOfGet4PerFee
Number of FEBs per GDPB.
UInt_t fuGet4Id
Bin size in s for the plots with date as X axis.
UInt_t fuCurrDpbIdx
Temp holder until Current equipment ID is properly filled in MS.
CbmMcbm2018TofPar * fUnpackPar
Settings from parameter file.
UInt_t fuMsIndex
Start Time in ns of current MS from its index field in header.
std::vector< TProfile * > fvhEvtLostFractEvoChan
std::vector< TH2 * > fvhEvtLostCntPerMsEvoChan
std::vector< gdpbv100::FullMessage > fvmHitsInMs
[DPB]
std::vector< UInt_t > fvuHitCntChanMs
ULong64_t fulCurrentMsIdx
std::map< UInt_t, UInt_t > fGdpbIdIndexMap
Total number of GDPBs in the system.
std::vector< TH1 * > fvhErrorCntEvoChan
Bool_t fbSpillOn
Channels map.
ULong64_t fulCurrentTsIdx
TH2 * fhLostEvtFractPerMsEvo
CbmMcbm2018MonitorAlgoT0()
static const UInt_t kuBytesPerMessage
void AddMsComponentToList(size_t component, UShort_t usDetectorId)
UInt_t fuGet4Nr
running number (0 to fuNrOfGet4PerGdpb) of the Get4 chip of a unique GDPB for current message
TH1 * fhMsgCntEvo
Global Rate.
Bool_t ProcessTs(const fles::Timeslice &ts)
CbmMcbm2018MonitorAlgoT0(const CbmMcbm2018MonitorAlgoT0 &)
Double_t fdStartTime
Epoch + Epoch Cycle.
UInt_t fuNrOfGet4PerGdpb
Total number of Get4 chips in the system.
~CbmMcbm2018MonitorAlgoT0()
UInt_t fuCurrDpbId
Current equipment ID, tells from which DPB the current MS is originating.
TProfile * fhErrorFractEvo
void SetPulserTotLimits(UInt_t uMin, UInt_t uMax)
std::vector< TH2 * > fvhMsgCntPerMsEvoChan
std::vector< TH1 * > fvhDpbMapSpill
UInt_t fuMinTotPulser
Number of channels per GDPB.
Bool_t fbDebugMonitorMode
Switch ON the filling of a minimal set of histograms.
UInt_t fuNrOfChannelsPerGdpb
Number of GET4s per GDPB.
std::vector< TH1 * > fvhChannelMapSpill
UInt_t fuHistoryHistoSize
All hits (time in bins, TOT in bins, asic, channel) in last MS, sorted with "<" operator.
Double_t fdStartTimeSpill
void SetMonitorMode(Bool_t bFlagIn=kTRUE)
TH2 * fhErrorFractPerMsEvo
TH1 * fhChannelMapPulser
Pulser.
std::vector< ULong64_t > fvulCurrentEpoch
Data format control: Current time references for each GDPB: merged epoch marker, epoch cycle,...
UInt_t fuNrOfGdpbs
Readout chain dimensions and mapping.
TH1 * fhDpbMap
Map from electronics channel to Diamond strip.
std::vector< TH2 * > fvhErrorCntPerMsEvoChan
Int_t fiRunStartDateTimeSec
Index of the DPB from which the MS currently unpacked is coming.
Bool_t CreateHistograms()
std::vector< TH2 * > fvhHitCntPerMsEvoChan
std::vector< TH1 * > fvhMsgCntEvoChan
static const Int_t kiMaxNbFlibLinks
Constants.
std::vector< TH1 * > fvhEvtLostCntEvoChan
std::vector< Bool_t > fvbMaskedComponents
Switch ON the filling of a additional set of histograms.
UInt_t fuNrOfGet4
Number of channels in each FEE.
Bool_t ReInitContainers()