Go to the documentation of this file.
8 #ifndef CBMMCBM2018MONITORMCBMSYNC_H
9 #define CBMMCBM2018MONITORMCBMSYNC_H
11 #include "Timeslice.hpp"
39 virtual Bool_t
Init();
41 virtual Bool_t
DoUnpack(
const fles::Timeslice& ts,
size_t component);
57 virtual void SetNbMsInTs(
size_t uCoreMsNb,
size_t uOverlapMsNb);
104 std::map<UInt_t, UInt_t>
151 std::vector<std::vector<stsxyter::FinalHit>>
153 std::vector<std::vector<stsxyter::FinalHit>>
159 Bool_t
ProcessStsMs(
const fles::Timeslice& ts,
size_t uMsComp, UInt_t uMsIdx);
202 Bool_t
ProcessTofMs(
const fles::Timeslice& ts,
size_t uMsComp, UInt_t uMsIdx);
250 #endif // CBMMCBM2018MONITORMCBMSYNC_H
void CreateStsHistograms()
All hits (time in bins, ADC in bins, asic, channel) in last TS, sorted with "<" operator.
Int_t fiBinSizeDatePlots
Start of run time since "epoch" in s, for the plots with date as X axis.
std::vector< std::vector< stsxyter::FinalHit > > fvmStsSdpbHitsInTs
All hits (time in bins, ADC in bins, asic, channel) in last TS, sorted with "<" operator.
std::vector< TH1 * > fvhHitsTimeEvoSpillA
void FillStsHitInfo(stsxyter::Message mess, const UInt_t &uMsIdx)
std::vector< std::vector< gdpbv100::FullMessage > > fvmTofGdpbHitsInTs
void CreateMcbmHistograms()
TH2 * fhMcbmStsTimeDiffToMuchVsAdc
void SetStsTofOffsetNs(Double_t dOffsetIn=0.0)
ULong64_t fulTofCurrentEpochTime
std::vector< int > fviTofMsgCounter
void SetSpillLimits(Double_t dSpillA, Double_t dSpillB, Double_t dSpillC)
std::vector< TH2 * > fvhMcbmTimeDiffToDiamondEvoSpillB
void UseDaqBuffer(Bool_t)
std::vector< std::vector< gdpbv100::FullMessage > > fvmTofGdpbHitsInMs
Buffer for system sync check.
Bool_t ReInitContainers()
void AddMsComponentToListSts(size_t component)
std::map< stsxyter::MessType, UInt_t > fmMsgCounter
virtual void AddMsComponentToList(size_t component, UShort_t usDetectorId)
stsxyter::MessagePrintMask fPrintMessCtrlSts
void CreateTofHistograms()
Processing methods.
CbmMcbm2018TofPar * fUnpackParTof
Unpacking and mapping parameters for TOF.
std::vector< TH2 * > fvhMcbmTimeDiffToDiamondWideEvoDpb
UInt_t fuTotalNrOfDpb
Global parameters.
std::vector< std::vector< gdpbv100::Message > > fvmTofEpSupprBuffer
Buffer for suppressed epoch processing.
std::vector< TH2 * > fvhMcbmTimeDiffToMuchEvoSpillB
std::vector< TH2 * > fvhMcbmTimeDiffToDiamondEvoSpillA
CbmMcbm2018MonitorMcbmSync()
std::vector< TH2 * > fvhMcbmTimeDiffToMuchEvoSpillA
void SetMuchTofOffsetNs(Double_t dOffsetIn=0.0)
void SetDiamondDpbIdx(UInt_t uIdx=2)
std::vector< ULong64_t > fvulTofCurrentEpochFull
std::vector< TH1 * > fvhHitsTimeEvoSpillB
TH2 * fhMcbmTimeDiffToDiamondTs
TH2 * fhMcbmTimeDiffToDiamond
Double_t fdMuchTofOffsetNs
std::vector< UInt_t > fvuStsCurrentTsMsbCycle
Current TS MSB for each DPB.
MessagePrintMask
Printout control.
std::vector< ULong64_t > fvulTofCurrentEpoch
void SetIgnoreMsOverlap(Bool_t bIgnoreOver=kTRUE)
TH2 * fhMcbmTimeDiffToMuchWide
TH2 * fhMcbmTimeDiffToMuch
std::vector< ULong64_t > fvulStsCurrentTsMsb
Bin size in s for the plots with date as X axis.
UInt_t fuCurrentEquipmentId
UInt_t fuMuchDpbIdx
Map of DPB Identifier to DPB index.
ULong64_t fulCurrentTsIdx
std::vector< size_t > fvMsComponentsListTof
uint64_t fulTofCurrentTsIndex
Running indices.
ULong64_t fulCurrentMsIdx
void SetHistoFileName(TString sFileName="data/SetupHistos.root")
void FillTofEpochCycle(uint64_t ulCycleData)
TH2 * fhMcbmTimeDiffToDiamondWide
virtual void SetNbMsInTs(size_t uCoreMsNb, size_t uOverlapMsNb)
void SetMuchDpbIdx(UInt_t uIdx=1)
std::map< UInt_t, UInt_t > fmStsDpbIdIndexMap
Total number of Sts DPBs in system.
void SavePulserHistos(TString sFileName="")
UInt_t fuCurrDpbId
Current equipment ID, tells from which DPB the current MS is originating.
void AddMsComponentToListTof(size_t component)
void FillTofEpochInfo(gdpbv100::Message)
std::map< UInt_t, UInt_t > fmTofDpbIdIndexMap
Total number of GDPBs in the system.
TH2 * fhMcbmTimeDiffToMuchTs
std::vector< size_t > fvMsComponentsListSts
Double_t fdStsTofOffsetNs
TString fsHistoFileFullname
std::vector< TH2 * > fvhMcbmTimeDiffToDiamondEvoDpb
void SaveAllHistos(TString sFileName="")
static const UInt_t kuTofBytesPerMessage
TODO => move to the message class!!
void FillTofHitInfo(gdpbv100::Message)
Int_t fiRunStartDateTimeSec
Index of the DPB from which the MS currently unpacked is coming.
void FillStsEpochInfo(stsxyter::Message mess)
static const UInt_t kuStsBytesPerMessage
TH2 * fhMcbmStsTimeDiffToMuchTsVsAdc
Bool_t ProcessStsMs(const fles::Timeslice &ts, size_t uMsComp, UInt_t uMsIdx)
void SetTsLevelAna(Bool_t bInFLag=kTRUE)
UInt_t fuCurrDpbIdx
Temp holder until Current equipment ID is properly filled in MS.
virtual Bool_t DoUnpack(const fles::Timeslice &ts, size_t component)
TH2 * fhMcbmStsTimeDiffToMuchWideVsAdc
std::vector< TH2 * > fvhMcbmTimeDiffToDiamondTsEvoDpb
void FillStsTsMsbInfo(stsxyter::Message mess, UInt_t uMessIdx=0, UInt_t uMsIdx=0)
virtual ~CbmMcbm2018MonitorMcbmSync()
std::vector< std::vector< stsxyter::FinalHit > > fvmStsSdpbHitsInMs
Current TS MSB cycle for DPB.
CbmMcbm2018StsPar * fUnpackParSts
CbmMcbm2018MonitorMcbmSync(const CbmMcbm2018MonitorMcbmSync &)
void SetUseBestPair(Bool_t bInFLag=kTRUE)
CbmMcbm2018MonitorMcbmSync operator=(const CbmMcbm2018MonitorMcbmSync &)
std::vector< ULong64_t > fvulTofCurrentEpochCycle
Bool_t ProcessTofMs(const fles::Timeslice &ts, size_t uMsComp, UInt_t uMsIdx)
void SetMsOverlap(size_t uOverlapMsNb=1)