12#ifndef CbmMcbm2018MonitorTof_H
13#define CbmMcbm2018MonitorTof_H
15#include "Timeslice.hpp"
24#include "TClonesArray.h"
43 virtual Bool_t
Init();
45 virtual Bool_t
DoUnpack(
const fles::Timeslice& ts,
size_t component);
61 virtual void SetNbMsInTs(
size_t uCoreMsNb,
size_t uOverlapMsNb);
274 std::vector< TH1 * > fvhModRate;
275 std::vector< TH1 * > fvhModErrorRate;
276 std::vector< TProfile * > fvhModErrorRatio;
void FillStarTrigInfo(gdpbv100::Message)
std::vector< ULong64_t > fvulStarTsMsb
std::vector< TH2 * > fvhRemapTot_gDPB
std::vector< TProfile2D * > fvhChannelRatePerMs_gDPB
UInt_t fuNbFeePlotsPerGdpb
TH2 * fhTimeRmsZoomFitPuls
UInt_t fuNrOfChannelsPerGdpb
std::vector< TH1 * > fvhRemapChCount_gDPB
std::vector< TH2 * > fvhCmdDaqVsTrig
std::vector< TH2 * > fvhGdpbResyncEnaEvoPerTs
std::vector< UInt_t > fvuPadiToGet4
TH2 * fhGet4MessType
Per GET4 in system.
void SetIgnoreMsOverlap(Bool_t bEnaFlag=kTRUE)
void SaveAllHistos(TString sFileName="")
std::vector< TProfile * > fvhPulserTimeDiffEvoGbtxGbtx
std::vector< TProfile2D * > fvhCoincMeanAllChanGdpb
virtual void AddMsComponentToList(size_t component, UShort_t usDetectorId)
void SetHistoFilename(TString sNameIn)
std::vector< TH1 * > fvhMsSzPerLink
std::vector< TH2 * > fvhGdpbResyncEvoPerTs
const UInt_t kuNbBinsDt
[ fuNrOfGdpbs ][ fuNrOfChannelsPerGdpb ]
std::vector< int > fviMsgCounter
std::vector< TH2 * > fvhGdpbGet4MessType
Per GET4 in gDPB.
void SetMsLimitLevel(size_t uAcceptBoundaryPct=100)
std::vector< Int_t > fviNrOfRpc
std::vector< Bool_t > fvbFirstEpochSeen
std::vector< UInt_t > fvuStarDaqCmdLast
CbmMcbm2018TofPar * fUnpackPar
std::vector< Double_t > fdTsLastPulserHit
[ fuFeeNr ]
void EnableCoincidenceMaps(Bool_t bEnaFlag=kTRUE)
void SetMsOverlap(size_t uOverlapMsNb=1)
size_t fuMsAcceptsPercent
/** Ignore Overlap Ms: all fuOverlapMsNb MS at the end of timeslice **/
std::vector< size_t > fvMsComponentsList
FLES containers.
std::vector< TH2 * > fvhGdpbPatternResyncEvo
Int_t GetArrayIndex(Int_t gdpbId, Int_t get4Id)
std::vector< TH2 * > fvhStarTokenEvo
std::vector< ULong64_t > fvulStarTsFullLast
std::vector< TH2 * > fhHitsPerMsFirstChan_gDPB
UInt_t ConvertElinkToGet4(UInt_t uElinkIdx)
Double_t fdTsCoreSizeInNs
Bool_t fbPrintAllHitsEnable
TCanvas * fcGdpbRemapChRate
std::vector< std::vector< gdpbv100::Message > > fvmEpSupprBuffer
Buffer for suppressed epoch processing.
std::vector< ULong64_t > fvulCurrentEpochFull
Epoch cycle from the Ms Start message and Epoch counter flip.
std::vector< ULong64_t > fvulGdpbTsMsb
UInt_t fuRawDataPrintMsgNb
virtual Bool_t DoUnpack(const fles::Timeslice &ts, size_t component)
std::vector< UInt_t > fvuGet4ToElink
std::chrono::time_point< std::chrono::system_clock > fTimeLastHistoSaving
std::vector< std::vector< bool > > fvvbGdpbLastMissmatchPattern
void PrintGenInfo(gdpbv100::Message)
std::vector< TProfile * > fvhStarTrigStarTsEvo
std::vector< UInt_t > fvuElinkToGet4
5 FEE with 8 GET4 each
std::vector< UInt_t > fvuStarTrigCmdLast
UInt_t fuNrOfChannelsPerGet4
void SetHistoryHistoSizeLong(UInt_t inHistorySizeMin=1800)
std::vector< TH2 * > fvhRemapChRate_gDPB
CbmMcbm2018MonitorTof operator=(const CbmMcbm2018MonitorTof &)
void ResetEvolutionHistograms()
std::vector< TH1 * > fvhFeeRateLong_gDPB
void PrintSlcInfo(gdpbv100::Message)
void PrintSysInfo(gdpbv100::Message)
ULong64_t fulCurrentEpochTime
Epoch + Epoch Cycle.
uint64_t fulCurrentTsIndex
TH2 * fhScmSeuCountersEvo
std::vector< TH2 * > fvhChannelRate_gDPB
virtual void SetNbMsInTs(size_t uCoreMsNb, size_t uOverlapMsNb)
Double_t fdFitZoomWidthPs
const UInt_t kuNbGbtxPerGdpb
std::vector< ULong64_t > fvulGdpbTsLsb
void FillPattInfo(gdpbv100::Message)
std::vector< std::vector< bool > > fvvbGdpbLastEnablePattern
Exclude from dictionnary.
UInt_t fuHistoryHistoSize
UInt_t ConvertGet4ToElink(UInt_t uGet4Idx)
std::vector< std::vector< bool > > fvvbGdpbLastResyncPattern
Exclude from dictionnary.
Bool_t ReInitContainers()
TCanvas * fcSummary
Canvases.
std::vector< TH2 * > fvhRawFt_gDPB
TODO: Channel rate plots!
TH1 * fhMessType
In System.
std::vector< TH1 * > fvhFeeRate_gDPB
void SetHistoryHistoSize(UInt_t inHistorySizeSec=1800)
std::vector< Int_t > fviRpcSide
void ProcessEpochCycle(uint64_t ulCycleData)
std::vector< Int_t > fviRpcType
const Double_t kdMaxDtPulserPs
std::vector< TH2 * > fvhGdpbEnableEvoPerTs
UInt_t fuRawDataPrintMsgIdx
void UseDaqBuffer(Bool_t)
std::vector< TH2 * > fvhGdpbMissmatchEnaEvoPerTs
std::vector< Int_t > fviModuleId
TCanvas * fcGdpbRemapChCount
std::vector< ULong64_t > fvulCurrentEpoch
TCanvas * fcGdpbChannelRate
void SetFitZoomWidthPs(Double_t inZoomWidth=1000.0)
std::vector< TH1 * > fvhTriggerRate
CbmMcbm2018MonitorTof(const CbmMcbm2018MonitorTof &)
std::vector< std::vector< TH1 * > > fvhTimeDiffPulser
UInt_t fuHistoryHistoSizeLong
std::vector< TH2 * > fvhGdpbStateEvoPerTs
std::vector< std::vector< UInt_t > > fvuCoincNbHitsLastMs
[ fuFeeNr ]
std::vector< TH1 * > fvhFeeErrorRateLong_gDPB
void FillHitInfo(gdpbv100::Message)
std::vector< std::vector< UInt_t > > fvvuChanNbHitsPerMs
const UInt_t kuNbFeePerGbtx
std::vector< UInt_t > fvuStarTokenLast
std::vector< TH1 * > fvhTokenMsgType
Bool_t fbPrintAllEpochsEnable
std::vector< TH2 * > fvhRawTot_gDPB
std::vector< TProfile * > fvhFeeErrorRatio_gDPB
TH2 * fhGdpbSysMessPattType
void EnablePulserMode(Bool_t bEnaFlag=kTRUE)
std::vector< TH2 * > fvhGdpbPatternEnableEvo
std::vector< TH2 * > fvhGdpbMissmatchEvoPerTs
Exclude from dictionnary.
TH2 * fhGdpbMessType
Per Gdpb.
void EnableOldFwData(Bool_t bEnaFlag=kTRUE)
std::vector< TH1 * > fvhChCount_gDPB
std::vector< TProfile * > fvhFeeErrorRatioLong_gDPB
static const UInt_t kuNbGet4PerGbtx
Double_t fdLastRmsUpdateTime
TH2 * fhScmDeadtimeCounters
void SetDiamondDpbIdx(UInt_t uIdx=2)
std::vector< UInt_t > fvuGet4ToPadi
std::vector< TH2 * > fvhGdpbPatternMissmatchEvo
Per MS in gDPB.
TH2 * fhScmScalerCounters
Slow control messages.
void ResetLongEvolutionHistograms()
UInt_t fuNrOfChannelsPerFee
std::vector< std::vector< Double_t > > fvdCoincTsLastHit
[ fuNrOfGdpbs ][ fuNrOfChannelsPerGdpb ]
std::vector< TProfile * > fvhMsSzTimePerLink
std::vector< TH1 * > fvhFeeErrorRate_gDPB
Bool_t fbPulserModeEnable
std::map< UInt_t, UInt_t > fGdpbIdIndexMap
Map of ID to index for the gDPBs.
std::vector< TH2 * > fvhGdpbGet4ChanErrors
TH2 * fhPatternMissmatch
Pattern messages per gDPB.
virtual ~CbmMcbm2018MonitorTof()
std::vector< UInt_t > fvuFeeNbHitsLastMs
Buffer for pulser channels.
TCanvas * fcGdpbChannelCount
std::vector< ULong64_t > fvulStarTsMid
std::vector< TH2 * > fvhCoincMapAllChanGdpb
std::vector< TProfile * > fvhStarTrigGdpbTsEvo
std::vector< TH2 * > fvhGdpbGet4ChanScm
std::vector< std::vector< TProfile * > > fvvhPulserTimeDiffEvoGdpbGdpb
std::vector< ULong64_t > fvulGdpbTsFullLast
std::vector< ULong64_t > fvulCurrentEpochCycle
void FillEpochInfo(gdpbv100::Message)