12#ifndef CbmMcbm2018TofTestFee_H
13#define CbmMcbm2018TofTestFee_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);
66 inline void SelectTestFees(UInt_t uGdpbA, UInt_t uGbtxA, UInt_t uFeeA, UInt_t uGdpbB, UInt_t uGbtxB, UInt_t uFeeB)
81 void UpdateZoomedFit(std::vector<std::vector<TH1*>> phTimeDiff, TH2* phTimeRmsZoom, TH2* phTimeResFit);
TH2 * fhTimeRmsZoomFitPulsFeeFee
std::vector< std::vector< gdpbv100::Message > > fvmEpSupprBuffer
Buffer for suppressed epoch processing.
CbmMcbm2018TofTestFee(const CbmMcbm2018TofTestFee &)
const UInt_t kuNbFeePerGbtx
TH2 * fhTimeMeanPulserFeeA
[ Ch A ][ Ch B ]
std::vector< std::vector< Double_t > > fvdFeeChanMsLastPulserHit
[ fuFeeNr ][ ChanNr ]
std::vector< TH2 * > fvhPulserCountEvoPerFeeGdpb
CbmMcbm2018TofPar * fUnpackPar
std::vector< ULong64_t > fvulGdpbTsMsb
void ResetEvolutionHistograms()
uint64_t fulCurrentTsIndex
virtual void SetNbMsInTs(size_t uCoreMsNb, size_t uOverlapMsNb)
UInt_t ConvertElinkToGet4(UInt_t uElinkIdx)
void FillEpochInfo(gdpbv100::Message)
void UseDaqBuffer(Bool_t)
void PrintSlcInfo(gdpbv100::Message)
UInt_t ConvertGet4ToElink(UInt_t uGet4Idx)
std::vector< UInt_t > fvuPadiToGet4
std::vector< Int_t > fviModuleId
std::vector< size_t > fvMsComponentsList
FLES containers.
UInt_t fuNbFeePlotsPerGdpb
std::vector< UInt_t > fvuStarTrigCmdLast
std::map< UInt_t, UInt_t > fGdpbIdIndexMap
Map of ID to index for the gDPBs.
TH2 * fhTimeRmsPulserFeeB
TH2 * fhTimeResFitPulsFeeFee
ULong64_t fulCurrentEpochTime
Epoch + Epoch Cycle.
TH2 * fhTimeRmsPulserFeeA
UInt_t fuNrOfChannelsPerGet4
Bool_t fbPrintAllHitsEnable
TH2 * fhTimeRmsZoomFitPulsFeeA
TCanvas * fcPulserFeeA
Canvases.
std::vector< TH1 * > fvhMsSzPerLink
const Double_t kdMaxDtPulserPs
UInt_t fuHistoryHistoSizeLong
TString fsHistoFileFullname
/** Ignore Overlap Ms: all fuOverlapMsNb MS at the end of timeslice **/
std::vector< ULong64_t > fvulCurrentEpochFull
Epoch cycle from the Ms Start message and Epoch counter flip.
void SetMsOverlap(size_t uOverlapMsNb=1)
std::chrono::time_point< std::chrono::system_clock > fTimeLastHistoSaving
size_t fuMsAcceptsPercent
OLD, to be cleaned out !!!!!
Double_t fdTsCoreSizeInNs
std::vector< std::vector< TH1 * > > fvhTimeDiffPulserFeeFee
static const UInt_t kuNbTestFee
std::vector< UInt_t > fvuStarTokenLast
Int_t GetArrayIndex(Int_t gdpbId, Int_t get4Id)
void SaveAllHistos(TString sFileName="")
void ProcessEpochCycle(uint64_t ulCycleData)
void PrintGenInfo(gdpbv100::Message)
std::vector< Int_t > fviRpcSide
TH2 * fhChanPulseIntervalFeeB
std::vector< ULong64_t > fvulStarTsMsb
std::vector< std::vector< TH1 * > > fvhTimeDiffPulserFeeA
TH2 * fhTimeMeanPulserFeeB
[ Ch A ][ Ch B ]
std::vector< std::vector< UInt_t > > fvuFeeChanNbHitsLastMs
Buffer for pulser channels.
TH2 * fhTimeResFitPulsFeeB
UInt_t fuRawDataPrintMsgIdx
Bool_t fbPrintAllEpochsEnable
TH2 * fhTimeResFitPulsFeeA
const UInt_t kuNbBinsDt
[ fuFeeNr ][ ChanNr ]
const UInt_t kuNbGbtxPerGdpb
std::vector< int > fviMsgCounter
UInt_t fuHistoryHistoSize
void FillHitInfo(gdpbv100::Message)
std::vector< TProfile * > fvhMsSzTimePerLink
void SetIgnoreMsOverlap(Bool_t bEnaFlag=kTRUE)
std::vector< UInt_t > fvuGet4ToElink
virtual ~CbmMcbm2018TofTestFee()
std::vector< Int_t > fviNrOfRpc
std::vector< ULong64_t > fvulStarTsMid
CbmMcbm2018TofTestFee operator=(const CbmMcbm2018TofTestFee &)
std::vector< UInt_t > fvuElinkToGet4
5 FEE with 8 GET4 each
void FillPattInfo(gdpbv100::Message)
virtual void AddMsComponentToList(size_t component, UShort_t usDetectorId)
std::vector< std::vector< TH1 * > > fvhTimeDiffPulserFeeB
TH2 * fhTimeRmsPulserFeeFee
void SetHistoryHistoSize(UInt_t inHistorySizeSec=1800)
void UpdateZoomedFit(std::vector< std::vector< TH1 * > > phTimeDiff, TH2 *phTimeRmsZoom, TH2 *phTimeResFit)
Double_t fdFitZoomWidthPs
std::vector< UInt_t > fvuStarDaqCmdLast
UInt_t fuNrOfChannelsPerGdpb
UInt_t fuRawDataPrintMsgNb
std::vector< ULong64_t > fvulCurrentEpoch
void SetFitZoomWidthPs(Double_t inZoomWidth=1000.0)
virtual Bool_t DoUnpack(const fles::Timeslice &ts, size_t component)
Double_t fdLastRmsUpdateTime
std::vector< ULong64_t > fvulStarTsFullLast
std::vector< ULong64_t > fvulGdpbTsLsb
void PrintSysInfo(gdpbv100::Message)
std::vector< ULong64_t > fvulCurrentEpochCycle
std::vector< ULong64_t > fvulGdpbTsFullLast
TH2 * fhChanPulseIntervalFeeA
void SelectTestFees(UInt_t uGdpbA, UInt_t uGbtxA, UInt_t uFeeA, UInt_t uGdpbB, UInt_t uGbtxB, UInt_t uFeeB)
UInt_t fuNrOfChannelsPerFee
TH2 * fhTimeMeanPulserFeeFee
[ Ch FEE A ][ Ch FEE B ]
std::vector< UInt_t > fvuGet4ToPadi
std::vector< Int_t > fviRpcType
Bool_t ReInitContainers()
void FillStarTrigInfo(gdpbv100::Message)
void SetMsLimitLevel(size_t uAcceptBoundaryPct=100)
static const UInt_t kuNbGet4PerGbtx
TH2 * fhTimeRmsZoomFitPulsFeeB
void SetHistoFileName(TString sFileName="data/HistosTofFeeTest.root")
std::vector< Bool_t > fvbFirstEpochSeen