13#ifndef CbmMcbm2018MonitorAlgoPsd_H
14#define CbmMcbm2018MonitorAlgoPsd_H
45 virtual Bool_t
Init();
55 Bool_t
ProcessTs(
const fles::Timeslice& ts);
57 Bool_t
ProcessMs(
const fles::Timeslice& ts,
size_t uMsCompIdx,
size_t uMsIdx);
UInt_t fuNrOfChannelsPerGdpb
Number of channels in each FEE.
void SetZLHistoArgs(std::vector< Int_t > inVec)
TH2 * fhLostMsgsCntPerMsEvo
std::vector< UInt_t > kvuWfmInRangeToChangeChan
void SetMonitorFitMode(Bool_t bFlagIn=kTRUE)
std::vector< TH1 * > fvhHitChargeChan
Bool_t ReInitContainers()
UInt_t fuMsIndex
Start Time in ns of previous MS from its index field in header.
Bool_t CreateHistograms()
std::vector< Bool_t > fvbMaskedComponents
static constexpr UInt_t GetNbChanPsd()
Double_t fdStartTime
Index of the DPB from which the MS currently unpacked is coming.
static const UInt_t kuNbWfmExamples
TH1 * fhMissedData
Global Rate.
UInt_t fuMsgsCntInMs
Histograms.
Bool_t fbFirstPackageError
Switch ON the filling of a additional set of histograms.
std::vector< TH1 * > fvhHitFitWfmChan
Waveform fitting.
Double_t fdLastSecondTime
std::vector< TH1 * > fvhHitWfmChan
std::vector< Int_t > fviHistoAmplArgs
std::vector< TH2 * > fvhHitFAChanEvo
UInt_t fuCurrDpbId
Current equipment ID, tells from which DPB the current MS is originating.
void SetMonitorMode(Bool_t bFlagIn=kTRUE)
void SetAmplHistoArgs(std::vector< Int_t > inVec)
CbmMcbm2018PsdPar * fUnpackPar
Settings from parameter file.
static const UInt_t kuNbWfmRanges
UInt_t fuNrOfChannelsPerFee
Number of FEBs per GDPB.
std::vector< TH1 * > fvhHitAmplChan
std::vector< TH2 * > fvhFitHarmonic2Chan
std::vector< TH2 * > fvhFitQaChan
TCanvas * fcSummary
Canvases.
void SetMonitorWfmMode(Bool_t bFlagIn=kTRUE)
std::vector< TH1 * > fvhHitChargeByWfmChan
CbmMcbm2018MonitorAlgoPsd()
static const UInt_t kuBytesPerMessage
Bool_t ProcessTs(const fles::Timeslice &ts)
static const UInt_t kuNbChanPsd
void SetMonitorChanMode(Bool_t bFlagIn=kTRUE)
UInt_t fuCurrentEquipmentId
Index of current MS within the TS.
Bool_t fbDebugMonitorMode
Switch ON the filling waveform fitting histograms.
UInt_t fuCurrDpbIdx
Temp holder until Current equipment ID is properly filled in MS.
Bool_t fbMonitorMode
Control flags.
std::vector< Int_t > fviHistoChargeArgs
~CbmMcbm2018MonitorAlgoPsd()
std::vector< TH2 * > fvhHitLPChanEvo
std::vector< UInt_t > kvuWfmRanges
std::vector< TH2 * > fvhHitZLChanEvo
Channel rate plots.
UInt_t fuHistoryHistoSize
Histograms related variables.
Bool_t ProcessMs(const fles::Timeslice &ts, size_t uMsCompIdx, size_t uMsIdx)
Double_t fdPrevMsTime
Start Time in ns of current MS from its index field in header.
ULong64_t fulCurrentMsIdx
CbmMcbm2018MonitorAlgoPsd operator=(const CbmMcbm2018MonitorAlgoPsd &)
std::vector< Int_t > fviHistoZLArgs
Bool_t fbMonitorFitMode
Switch ON the filling waveforms histograms.
std::vector< TH2 * > fvhFitHarmonic1Chan
void SetHistoryHistoSize(UInt_t inHistorySizeSec=1800)
ULong64_t fulCurrentTsIdx
std::vector< TH1 * > fvhHitZeroLevelChan
void SetChargeHistoArgs(std::vector< Int_t > inVec)
Bool_t fbSpillOn
Channels map.
Bool_t fbMonitorChanMode
Switch ON the filling of a minimal set of histograms.
Bool_t ProcessTs(const fles::Timeslice &ts, size_t)
static const UInt_t kuOffSpillCountLimit
std::vector< TCanvas * > fvcWfmsChan
UInt_t fuNrOfFeePerGdpb
gDPB ID to index map
std::chrono::steady_clock::time_point ftStartTimeUnix
CbmMcbm2018MonitorAlgoPsd(const CbmMcbm2018MonitorAlgoPsd &)
Double_t fdMsTime
Time in ns of current TS from the index of the first MS first component.
TCanvas * fcWfmsAllChannels
void AddMsComponentToList(size_t component, UShort_t usDetectorId)
UInt_t fuCurrentSpillPlot
const UInt_t kuPsdChanMap[kuNbChanPsd]
std::map< UInt_t, UInt_t > fGdpbIdIndexMap
Total number of GDPBs in the system.
TH2 * fhReadMsgsCntPerMsEvo
Double_t fdStartTimeSpill
Bool_t fbMonitorWfmMode
Switch ON the filling channelwise histograms.
static const Int_t kiMaxNbFlibLinks
Number of channels per GDPB.
Bool_t ResetHistograms(Bool_t bResetTime=kTRUE)
UInt_t fuCountsLastSecond
TH2 * fhReadEvtsCntPerMsEvo
std::vector< TH1 * > fv3hHitWfmFlattenedChan