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