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