CbmRoot
Loading...
Searching...
No Matches
CbmMcbm2018MonitorMuch Class Reference

#include <CbmMcbm2018MonitorMuch.h>

Inheritance diagram for CbmMcbm2018MonitorMuch:
[legend]
Collaboration diagram for CbmMcbm2018MonitorMuch:
[legend]

Public Member Functions

 CbmMcbm2018MonitorMuch ()
 
virtual ~CbmMcbm2018MonitorMuch ()
 
virtual Bool_t Init ()
 
virtual Bool_t DoUnpack (const fles::Timeslice &ts, size_t component)
 
virtual void Reset ()
 
virtual void Finish ()
 
void SetParContainers ()
 
Bool_t InitContainers ()
 
Bool_t ReInitContainers ()
 
virtual void AddMsComponentToList (size_t component, UShort_t usDetectorId)
 
virtual void SetNbMsInTs (size_t uCoreMsNb, size_t uOverlapMsNb)
 
void SetMsOverlap (size_t uOverlapMsNb=1)
 
size_t GetMsOverlap ()
 
void SetRunStart (Int_t dateIn, Int_t timeIn, Int_t iBinSize=5)
 
void ResetAllHistos ()
 
void SaveAllHistos (TString sFileName="")
 
void SavePulserHistos (TString sFileName="")
 
void SetHistoFileName (TString sFileName="data/SetupHistos.root")
 
void SetPrintMessage (Bool_t bPrintMessOn=kTRUE, stsxyter::MessagePrintMask ctrl=stsxyter::MessagePrintMask::msg_print_Hex|stsxyter::MessagePrintMask::msg_print_Human)
 
void SetLongDurationLimits (UInt_t uDurationSeconds=3600, UInt_t uBinSize=1)
 
void SetEnableCoincidenceMaps (Bool_t bEnableCoincidenceMapsOn=kTRUE)
 
void SetCoincidenceBorder (Double_t dCenterPos, Double_t dBorderVal)
 
void SetFebChanCoincidenceLimitNs (Double_t dLimitIn)
 
void UseNoiseLimitsSmx2LogicError (Bool_t bUseNoise=kTRUE)
 
void SetMuchMode (Bool_t bMuchMode=kTRUE)
 
void UseDaqBuffer (Bool_t)
 

Private Member Functions

void SmxErrInitializeVariables ()
 Methods.
 
Bool_t SmxErrCheckCoinc (UInt_t uFebIdx, UInt_t uAsicIdx, Double_t dNewHitTime)
 
Bool_t InitStsParameters ()
 
void CreateHistograms ()
 
Bool_t ProcessStsMs (const fles::Timeslice &ts, size_t uMsComp, UInt_t uMsIdx)
 
void FillHitInfo (stsxyter::Message mess, const UShort_t &usElinkIdx, const UInt_t &uAsicIdx, const UInt_t &uMsIdx)
 
void FillTsMsbInfo (stsxyter::Message mess, UInt_t uMessIdx=0, UInt_t uMsIdx=0)
 
void FillEpochInfo (stsxyter::Message mess)
 
void ResetStsHistos ()
 
void SaveStsHistos (TString sFileName="")
 
Bool_t ScanForNoisyChannels (Double_t dNoiseThreshold=1e3)
 ---------------------------------------------------------------—///
 
 CbmMcbm2018MonitorMuch (const CbmMcbm2018MonitorMuch &)
 
CbmMcbm2018MonitorMuch operator= (const CbmMcbm2018MonitorMuch &)
 

Private Attributes

Bool_t fbMuchMode
 
std::vector< size_t > fvMsComponentsList
 
size_t fuNbCoreMsPerTs
 
size_t fuNbOverMsPerTs
 
Bool_t fbIgnoreOverlapMs
 
CbmMcbm2018MuchParfUnpackParMuch
 /‍** Ignore Overlap Ms: all fuOverlapMsNb MS at the end of timeslice **‍/
 
UInt_t fuNrOfDpbs
 
std::map< UInt_t, UInt_t > fDpbIdIndexMap
 Total number of STS DPBs in system.
 
std::vector< std::vector< Bool_t > > fvbCrobActiveFlag
 Map of DPB Identifier to DPB index.
 
UInt_t fuNbFebs
 Array to hold the active flag for all CROBs, [ NbDpb ][ NbCrobPerDpb ].
 
UInt_t fuNbStsXyters
 Number of StsXyter ASICs.
 
std::vector< std::vector< std::vector< Double_t > > > fvdFebAdcGain
 Number of StsXyter ASICs.
 
std::vector< std::vector< std::vector< Double_t > > > fvdFebAdcOffs
 ADC gain in e-/b, [ NbDpb ][ NbCrobPerDpb ][ NbFebsPerCrob ].
 
TString fsHistoFileFullname
 
Bool_t fbPrintMessages
 Task configuration values.
 
stsxyter::MessagePrintMask fPrintMessCtrl
 
Bool_t fbEnableCoincidenceMaps
 
ULong64_t fulCurrentTsIdx
 TS/MS info.
 
ULong64_t fulCurrentMsIdx
 
std::map< stsxyter::MessType, UInt_t > fmMsgCounter
 Current data properties.
 
UInt_t fuCurrentEquipmentId
 
UInt_t fuCurrDpbId
 Current equipment ID, tells from which DPB the current MS is originating.
 
UInt_t fuCurrDpbIdx
 Temp holder until Current equipment ID is properly filled in MS.
 
Int_t fiRunStartDateTimeSec
 Index of the DPB from which the MS currently unpacked is coming.
 
Int_t fiBinSizeDatePlots
 Start of run time since "epoch" in s, for the plots with date as X axis.
 
std::vector< ULong64_t > fvulCurrentTsMsb
 Bin size in s for the plots with date as X axis.
 
std::vector< UInt_t > fvuCurrentTsMsbCycle
 Current TS MSB for each DPB.
 
std::vector< UInt_t > fvuInitialHeaderDone
 Current TS MSB cycle for DPB.
 
std::vector< UInt_t > fvuInitialTsMsbCycleHeader
 Flag set after seeing MS header in 1st MS for DPB.
 
std::vector< UInt_t > fvuElinkLastTsHit
 TS MSB cycle from MS header in 1st MS for DPB.
 
std::vector< std::vector< ULong64_t > > fvulChanLastHitTime
 
std::vector< std::vector< Double_t > > fvdChanLastHitTime
 Last hit time in bins for each Channel.
 
std::vector< Double_t > fvdPrevMsTime
 Last hit time in ns for each Channel.
 
std::vector< Double_t > fvdMsTime
 Header time of previous MS per link.
 
std::vector< std::vector< std::vector< UInt_t > > > fvuChanNbHitsInMs
 Header time of each MS.
 
std::vector< std::vector< std::vector< Double_t > > > fvdChanLastHitTimeInMs
 Number of hits in each MS for each Channel.
 
std::vector< std::vector< std::vector< UShort_t > > > fvusChanLastHitAdcInMs
 Last hit time in bins in each MS for each Channel.
 
Long64_t fdStartTime
 Last hit ADC in bins in each MS for each Channel.
 
Long64_t prevtime
 
Double_t fdStartTimeMsSz
 
std::chrono::steady_clock::time_point ftStartTimeUnix
 
std::vector< stsxyter::FinalHitfvmHitsInMs
 Hits time-sorting.
 
std::vector< std::vector< stsxyter::FinalHit > > fvmAsicHitsInMs
 All hits (time in bins, ADC in bins, asic, channel) in last TS, sorted with "<" operator.
 
std::vector< std::vector< stsxyter::FinalHit > > fvmFebHitsInMs
 All hits (time in bins, ADC in bins, asic, channel) in last TS, per ASIC, sorted with "<" operator.
 
UInt_t fuMaxNbMicroslices
 
Int_t fiTimeIntervalRateUpdate
 Mean Rate per channel plots.
 
std::vector< Int_t > fviFebTimeSecLastRateUpdate
 
std::vector< Int_t > fviFebCountsSinceLastRateUpdate
 
std::vector< std::vector< Double_t > > fvdFebChanCountsSinceLastRateUpdate
 
Bool_t fbLongHistoEnable
 Rate evolution histos.
 
UInt_t fuLongHistoNbSeconds
 
UInt_t fuLongHistoBinSizeSec
 
UInt_t fuLongHistoBinNb
 
UInt_t Counter
 
UInt_t Counter1
 
Double_t fdCoincCenter
 Coincidences in sorted hits.
 
Double_t fdCoincBorder
 
Double_t fdCoincMin
 
Double_t fdCoincMax
 
CbmHistManagerfHM
 Histograms.
 
TH1 * fhStsMessType
 Histogram manager.
 
TH1 * fhStsSysMessType
 
TH1 * fhStsFebChanAdcRaw_combined
 
TH2 * fhStsMessTypePerDpb
 
TH2 * fhStsSysMessTypePerDpb
 
TH2 * fhPulserStatusMessType
 
TH2 * fhPulserMsStatusFieldType
 
TH2 * fhStsHitsElinkPerDpb
 
TH1 * fhRate
 
TH1 * fhRateAdcCut
 
std::vector< TH2 * > fHistPadDistr
 Plots per FEB-8.
 
std::vector< TH2 * > fRealHistPadDistr
 
Double_t fdFebChanCoincidenceLimit
 
std::vector< TH1 * > fhStsFebChanCntRaw
 
std::vector< TH1 * > fhStsFebChanCntRawGood
 
std::vector< TH2 * > fhStsFebChanAdcRaw
 
std::vector< TProfile * > fhStsFebChanAdcRawProf
 
std::vector< TH2 * > fhStsFebChanAdcCal
 
std::vector< TProfile * > fhStsFebChanAdcCalProf
 
std::vector< TH2 * > fhStsFebChanRawTs
 
std::vector< TH2 * > fhStsFebChanMissEvt
 
std::vector< TH2 * > fhStsFebChanMissEvtEvo
 
std::vector< TH2 * > fhStsFebAsicMissEvtEvo
 
std::vector< TH1 * > fhStsFebMissEvtEvo
 
std::vector< TH2 * > fhStsFebChanHitRateEvo
 
std::vector< TProfile * > fhStsFebChanHitRateProf
 
std::vector< TH2 * > fhStsFebAsicHitRateEvo
 
std::vector< TH1 * > fhStsFebHitRateEvo
 
std::vector< TH1 * > fhStsFebHitRateEvo_mskch
 
std::vector< TH1 * > fhStsFebHitRateEvo_mskch_adccut
 
std::vector< TH2 * > fhStsFebChanHitRateEvoLong
 
std::vector< TH2 * > fhStsFebAsicHitRateEvoLong
 
std::vector< TH1 * > fhStsFebHitRateEvoLong
 
std::vector< std::vector< Double_t > > fdStsFebChanLastTimeForDist
 
std::vector< TH2 * > fhStsFebChanDistT
 
std::vector< std::vector< TH1 * > > fhStsFebChanDtCoinc
 
std::vector< std::vector< TH2 * > > fhStsFebChanCoinc
 
Bool_t fbSmx2ErrorUseNoiseLevels
 SXM 2.0 logic error detection and tagging, 1 eLink case.
 
Double_t fdSmxErrCoincWinM07
 Tagging variables.
 
Double_t fdSmxErrCoincWinM08
 
Double_t fdSmxErrCoincWinM09
 
Double_t fdSmxErrCoincWinM10
 
Double_t fdSmxErrCoincWinM11
 
std::vector< std::vector< std::vector< Double_t > > > fvdSmxErrTimeLastHits
 
std::vector< std::vector< UInt_t > > fvuSmxErrIdxFirstHitM07
 [ NbFebs ][ NbSmxPerFeb ][ kuSmxErrCoincWinNbHits ]
 
std::vector< std::vector< UInt_t > > fvuSmxErrIdxFirstHitM08
 [ NbFebs ][ NbSmxPerFeb ]
 
std::vector< std::vector< UInt_t > > fvuSmxErrIdxFirstHitM09
 [ NbFebs ][ NbSmxPerFeb ]
 
std::vector< std::vector< UInt_t > > fvuSmxErrIdxFirstHitM10
 [ NbFebs ][ NbSmxPerFeb ]
 
std::vector< std::vector< UInt_t > > fvuSmxErrIdxFirstHitM11
 [ NbFebs ][ NbSmxPerFeb ]
 
std::vector< std::vector< UInt_t > > fvuSmxErrIdxLastHit
 [ NbFebs ][ NbSmxPerFeb ]
 
std::vector< TProfile * > fhStsFebSmxErrRatioEvo
 Histograms.
 
std::vector< TProfile2D * > fhStsFebSmxErrRatioEvoAsic
 
std::vector< TProfile * > fhStsFebSmxErrRatioCopyEvo
 
std::vector< TProfile2D * > fhStsFebSmxErrRatioCopyEvoAsic
 
std::vector< TProfile * > fhStsFebSmxErrRatioCopySameAdcEvo
 
std::vector< TProfile2D * > fhStsFebSmxErrRatioCopySameAdcEvoAsic
 
TCanvas * fcMsSizeAll
 
TH1 * fhMsSz [kiMaxNbFlibLinks]
 
TProfile * fhMsSzTime [kiMaxNbFlibLinks]
 

Static Private Attributes

static const Int_t kiMaxNbFlibLinks = 32
 ADC offset in e-, [ NbDpb ][ NbCrobPerDpb ][ NbFebsPerCrob ].
 
static const UInt_t kuBytesPerMessage = 4
 
static const UInt_t kuSmxErrCoincWinNbHits = 11
 
static constexpr const Double_t kdSmxErrCoincWinBeg = 0
 
static constexpr const Double_t kdSmxErrCoincWinMainM07 = 320
 Coincidence windows for 99.0% tagging (up to 1% of corruption not detected)
 
static constexpr const Double_t kdSmxErrCoincWinMainM08 = 380
 
static constexpr const Double_t kdSmxErrCoincWinMainM09 = 450
 
static constexpr const Double_t kdSmxErrCoincWinMainM10 = 510
 
static constexpr const Double_t kdSmxErrCoincWinMainM11 = 570
 
static constexpr const Double_t kdSmxErrCoincWinNoiseM07 = 390
 Coincidence windows 99.9% tagging (up to 0.1% of corruption not detected)
 
static constexpr const Double_t kdSmxErrCoincWinNoiseM08 = 460
 
static constexpr const Double_t kdSmxErrCoincWinNoiseM09 = 540
 
static constexpr const Double_t kdSmxErrCoincWinNoiseM10 = 600
 
static constexpr const Double_t kdSmxErrCoincWinNoiseM11 = 660
 

Detailed Description

Definition at line 39 of file CbmMcbm2018MonitorMuch.h.

Constructor & Destructor Documentation

◆ CbmMcbm2018MonitorMuch() [1/2]

CbmMcbm2018MonitorMuch::CbmMcbm2018MonitorMuch ( )

Definition at line 51 of file CbmMcbm2018MonitorMuch.cxx.

◆ ~CbmMcbm2018MonitorMuch()

CbmMcbm2018MonitorMuch::~CbmMcbm2018MonitorMuch ( )
virtual

Definition at line 185 of file CbmMcbm2018MonitorMuch.cxx.

◆ CbmMcbm2018MonitorMuch() [2/2]

CbmMcbm2018MonitorMuch::CbmMcbm2018MonitorMuch ( const CbmMcbm2018MonitorMuch & )
private

Member Function Documentation

◆ AddMsComponentToList()

void CbmMcbm2018MonitorMuch::AddMsComponentToList ( size_t component,
UShort_t usDetectorId )
virtual

Check for duplicates and ignore if it is the case

Check if this does not go above hardcoded limits

Add to list

Create MS size monitoring histos

Implements CbmMcbmUnpack.

Definition at line 334 of file CbmMcbm2018MonitorMuch.cxx.

References CbmHistManager::Add(), fcMsSizeAll, fHM, fhMsSz, fhMsSzTime, fvMsComponentsList, and kiMaxNbFlibLinks.

◆ CreateHistograms()

void CbmMcbm2018MonitorMuch::CreateHistograms ( )
private

Raw Ts Distribution

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++///

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++/// FEB-8 plots All histos per FEB: with channels or ASIC as axis!!

Channel counts

Raw Adc Distribution

Raw Adc Distribution profile

Cal Adc Distribution

Cal Adc Distribution profile

Raw Ts Distribution

Missed event flag

Missed event flag counts evolution

Missed event flag counts evolution

Missed event flag counts evolution

Hit rates evo per channel

Hit rates profile per channel

Hit rates evo per StsXyter

Hit rates evo per FEB

Hit rates evo per FEB

Hit rates evo per FEB

Hit rates evo per channel, 1 minute bins, 24h

Hit rates evo per channel, 1 minute bins, 24h

Hit rates evo per FEB, 1 minute bins, 24h

Distance between hits on same channel

Channels coincidences between FEBs

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++///

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++/// --------------— SXM 2.0 Logic Error Tagging -----------------—///

Evo of ratio MS with SMX Error over all MS

Evo of ratio MS with SMX Error per ASIC

Evo of ratio MS with hit copies over all MS

Evo of ratio MS with hit copies per ASIC

Evo of ratio MS with hit copies over all MS

Evo of ratio MS with hit copies per ASIC

---------------------------------------------------------------—/// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++///

Create summary Canvases for CERN 2017

Recovers/Create Ms Size Canvase for CERN 2016

Definition at line 430 of file CbmMcbm2018MonitorMuch.cxx.

References fcMsSizeAll, fHistPadDistr, fhMsSz, fhMsSzTime, fhPulserMsStatusFieldType, fhPulserStatusMessType, fhRate, fhRateAdcCut, fhStsFebAsicHitRateEvo, fhStsFebAsicHitRateEvoLong, fhStsFebAsicMissEvtEvo, fhStsFebChanAdcCal, fhStsFebChanAdcCalProf, fhStsFebChanAdcRaw, fhStsFebChanAdcRaw_combined, fhStsFebChanAdcRawProf, fhStsFebChanCntRaw, fhStsFebChanCntRawGood, fhStsFebChanCoinc, fhStsFebChanDistT, fhStsFebChanDtCoinc, fhStsFebChanHitRateEvo, fhStsFebChanHitRateEvoLong, fhStsFebChanHitRateProf, fhStsFebChanMissEvt, fhStsFebChanMissEvtEvo, fhStsFebChanRawTs, fhStsFebHitRateEvo, fhStsFebHitRateEvo_mskch, fhStsFebHitRateEvo_mskch_adccut, fhStsFebHitRateEvoLong, fhStsFebMissEvtEvo, fhStsFebSmxErrRatioCopyEvo, fhStsFebSmxErrRatioCopyEvoAsic, fhStsFebSmxErrRatioCopySameAdcEvo, fhStsFebSmxErrRatioCopySameAdcEvoAsic, fhStsFebSmxErrRatioEvo, fhStsFebSmxErrRatioEvoAsic, fhStsHitsElinkPerDpb, fhStsMessType, fhStsMessTypePerDpb, fhStsSysMessType, fhStsSysMessTypePerDpb, fRealHistPadDistr, fuLongHistoBinNb, fuNbFebs, fuNbStsXyters, fUnpackParMuch, fuNrOfDpbs, CbmMcbm2018MuchPar::GetNbAsicsPerFeb(), CbmMcbm2018MuchPar::GetNbChanPerFeb(), CbmMcbm2018MuchPar::IsFebActive(), kiMaxNbFlibLinks, stsxyter::kuHitNbAdcBins, and stsxyter::kuHitNbTsBins.

Referenced by InitContainers().

◆ DoUnpack()

Bool_t CbmMcbm2018MonitorMuch::DoUnpack ( const fles::Timeslice & ts,
size_t component )
virtual

Pulses time difference calculation and plotting

--------------— SXM 2.0 Logic Error Tagging -----------------—///

---------------------------------------------------------------—///

--------------— SXM 2.0 Logic Error Tagging -----------------—/// Check if hit copy

---------------------------------------------------------------—///

Data in vector are not needed anymore as all possible matches are already checked

--------------— SXM 2.0 Logic Error Tagging -----------------—///

---------------------------------------------------------------—///

Time distance between hits on same channel

Module P-N coincidences

Check if we have a channel coincidence

If out of coincidence, later hits will also be out => break the HitB loop

Data in vector are not needed anymore as all possible matches are already checked

Implements CbmMcbmUnpack.

Definition at line 1016 of file CbmMcbm2018MonitorMuch.cxx.

References bMcbm2018ResetMuch, bMcbm2018ScanNoisyMuch, bMcbm2018WriteMuch, fbEnableCoincidenceMaps, fbIgnoreOverlapMs, fdFebChanCoincidenceLimit, fdStartTimeMsSz, fdStsFebChanLastTimeForDist, fhStsFebChanCntRawGood, fhStsFebChanCoinc, fhStsFebChanDistT, fhStsFebChanDtCoinc, fhStsFebSmxErrRatioCopyEvo, fhStsFebSmxErrRatioCopyEvoAsic, fhStsFebSmxErrRatioCopySameAdcEvo, fhStsFebSmxErrRatioCopySameAdcEvoAsic, fhStsFebSmxErrRatioEvo, fhStsFebSmxErrRatioEvoAsic, fsHistoFileFullname, fuCurrDpbIdx, fulCurrentTsIdx, fuMaxNbMicroslices, fuNbCoreMsPerTs, fuNbFebs, fuNbOverMsPerTs, fuNbStsXyters, fUnpackParMuch, fuNrOfDpbs, fvdMsTime, fvmAsicHitsInMs, fvmFebHitsInMs, fvmHitsInMs, fvMsComponentsList, fvuCurrentTsMsbCycle, fvulCurrentTsMsb, CbmMcbm2018MuchPar::GetNbAsicsPerFeb(), CbmMcbm2018MuchPar::GetNbChanPerAsic(), stsxyter::kdClockCycleNs, stsxyter::kuHitNbTsBins, stsxyter::kulTsCycleNbBins, ProcessStsMs(), ResetAllHistos(), SaveAllHistos(), ScanForNoisyChannels(), and SmxErrCheckCoinc().

◆ FillEpochInfo()

void CbmMcbm2018MonitorMuch::FillEpochInfo ( stsxyter::Message mess)
private

Definition at line 1669 of file CbmMcbm2018MonitorMuch.cxx.

Referenced by ProcessStsMs().

◆ FillHitInfo()

void CbmMcbm2018MonitorMuch::FillHitInfo ( stsxyter::Message mess,
const UShort_t & usElinkIdx,
const UInt_t & uAsicIdx,
const UInt_t & uMsIdx )
private

Cheat needed only for modules with FEB at bottom of module or the Test module

Definition at line 1460 of file CbmMcbm2018MonitorMuch.cxx.

References Counter, Counter1, fdStartTime, fHistPadDistr, fhRate, fhRateAdcCut, fhStsFebAsicHitRateEvo, fhStsFebAsicHitRateEvoLong, fhStsFebAsicMissEvtEvo, fhStsFebChanAdcCal, fhStsFebChanAdcCalProf, fhStsFebChanAdcRaw, fhStsFebChanAdcRaw_combined, fhStsFebChanAdcRawProf, fhStsFebChanCntRaw, fhStsFebChanHitRateEvo, fhStsFebChanHitRateEvoLong, fhStsFebChanMissEvt, fhStsFebChanMissEvtEvo, fhStsFebChanRawTs, fhStsFebHitRateEvo, fhStsFebHitRateEvo_mskch, fhStsFebHitRateEvo_mskch_adccut, fhStsFebHitRateEvoLong, fhStsFebMissEvtEvo, fRealHistPadDistr, fuCurrDpbIdx, fUnpackParMuch, fvdChanLastHitTime, fvdChanLastHitTimeInMs, fvdFebAdcGain, fvdFebAdcOffs, fvdFebChanCountsSinceLastRateUpdate, fviFebCountsSinceLastRateUpdate, fvmHitsInMs, fvuChanNbHitsInMs, fvuCurrentTsMsbCycle, fvulChanLastHitTime, fvulCurrentTsMsb, fvusChanLastHitAdcInMs, CbmMcbm2018MuchPar::GetFebId(), stsxyter::Message::GetHitAdc(), stsxyter::Message::GetHitChannel(), stsxyter::Message::GetHitTime(), CbmMcbm2018MuchPar::GetModule(), CbmMcbm2018MuchPar::GetNbAsicsPerFeb(), CbmMcbm2018MuchPar::GetNbChanPerAsic(), CbmMcbm2018MuchPar::GetNbElinkPerCrob(), CbmMcbm2018MuchPar::GetPadXA(), CbmMcbm2018MuchPar::GetPadYA(), CbmMcbm2018MuchPar::GetRealPadSize(), CbmMcbm2018MuchPar::GetRealX(), stsxyter::Message::IsHitMissedEvts(), stsxyter::kdClockCycleNs, stsxyter::kuHitNbTsBins, stsxyter::kulTsCycleNbBins, and prevtime.

Referenced by ProcessStsMs().

◆ FillTsMsbInfo()

void CbmMcbm2018MonitorMuch::FillTsMsbInfo ( stsxyter::Message mess,
UInt_t uMessIdx = 0,
UInt_t uMsIdx = 0 )
private

◆ Finish()

void CbmMcbm2018MonitorMuch::Finish ( )
virtual

◆ GetMsOverlap()

size_t CbmMcbm2018MonitorMuch::GetMsOverlap ( )
inline

Definition at line 61 of file CbmMcbm2018MonitorMuch.h.

References fuNbOverMsPerTs.

◆ Init()

Bool_t CbmMcbm2018MonitorMuch::Init ( )
virtual

Implements CbmMcbmUnpack.

Definition at line 187 of file CbmMcbm2018MonitorMuch.cxx.

◆ InitContainers()

Bool_t CbmMcbm2018MonitorMuch::InitContainers ( )
virtual

Reimplemented from CbmMcbmUnpack.

Definition at line 204 of file CbmMcbm2018MonitorMuch.cxx.

References CreateHistograms(), and InitStsParameters().

◆ InitStsParameters()

◆ operator=()

CbmMcbm2018MonitorMuch CbmMcbm2018MonitorMuch::operator= ( const CbmMcbm2018MonitorMuch & )
private

◆ ProcessStsMs()

Bool_t CbmMcbm2018MonitorMuch::ProcessStsMs ( const fles::Timeslice & ts,
size_t uMsComp,
UInt_t uMsIdx )
private

Plots in [X/s] update

"new second"

Ignore first interval is not clue how late the data taking was started

Jump empty FEBs without looping over channels

Check Flags field of MS header

Check the current TS_MSb cycle and correct it if wrong

Always print status messages... or not?

Definition at line 1269 of file CbmMcbm2018MonitorMuch.cxx.

References stsxyter::Dummy, CbmMcbm2018MuchPar::ElinkIdxToAsicIdx(), CbmMcbm2018MuchPar::ElinkIdxToFebIdx(), stsxyter::Empty, stsxyter::Epoch, fbMuchMode, fbPrintMessages, fDpbIdIndexMap, fdStartTimeMsSz, fhMsSz, fhMsSzTime, fhPulserMsStatusFieldType, fhPulserStatusMessType, fhStsFebChanHitRateProf, fhStsHitsElinkPerDpb, fhStsMessType, fhStsMessTypePerDpb, FillEpochInfo(), FillHitInfo(), FillTsMsbInfo(), fiTimeIntervalRateUpdate, fmMsgCounter, fPrintMessCtrl, fuCurrDpbId, fuCurrDpbIdx, fuCurrentEquipmentId, fulCurrentMsIdx, fulCurrentTsIdx, fUnpackParMuch, fvdFebChanCountsSinceLastRateUpdate, fvdPrevMsTime, fviFebCountsSinceLastRateUpdate, fviFebTimeSecLastRateUpdate, fvuCurrentTsMsbCycle, fvuInitialHeaderDone, fvuInitialTsMsbCycleHeader, fvulCurrentTsMsb, stsxyter::Message::GetLinkIndex(), stsxyter::Message::GetMessType(), CbmMcbm2018MuchPar::GetNbAsicsPerCrob(), CbmMcbm2018MuchPar::GetNbChanPerFeb(), CbmMcbm2018MuchPar::GetNbCrobsPerDpb(), CbmMcbm2018MuchPar::GetNbElinkPerCrob(), CbmMcbm2018MuchPar::GetNbFebsPerDpb(), stsxyter::Message::GetStatusLink(), stsxyter::Message::GetStatusStatus(), stsxyter::Hit, stsxyter::kdClockCycleNs, kiMaxNbFlibLinks, kuBytesPerMessage, stsxyter::kulTsCycleNbBins, stsxyter::Message::PrintMess(), stsxyter::Status, and stsxyter::TsMsb.

Referenced by DoUnpack().

◆ ReInitContainers()

Bool_t CbmMcbm2018MonitorMuch::ReInitContainers ( )
virtual

Reimplemented from CbmMcbmUnpack.

Definition at line 214 of file CbmMcbm2018MonitorMuch.cxx.

References InitStsParameters().

◆ Reset()

void CbmMcbm2018MonitorMuch::Reset ( )
virtual

Implements CbmMcbmUnpack.

Definition at line 1675 of file CbmMcbm2018MonitorMuch.cxx.

◆ ResetAllHistos()

◆ ResetStsHistos()

void CbmMcbm2018MonitorMuch::ResetStsHistos ( )
private

◆ SaveAllHistos()

void CbmMcbm2018MonitorMuch::SaveAllHistos ( TString sFileName = "")

Save old global file and folder pointer to avoid messing with FairRoot

--------------— SXM 2.0 Logic Error Tagging -----------------—///

---------------------------------------------------------------—///

Restore old global file and folder pointer to avoid messing with FairRoot

Definition at line 1695 of file CbmMcbm2018MonitorMuch.cxx.

References CbmHistManager::Exists(), fHistPadDistr, fHM, fhPulserMsStatusFieldType, fhPulserStatusMessType, fhRate, fhRateAdcCut, fhStsFebAsicHitRateEvo, fhStsFebAsicHitRateEvoLong, fhStsFebAsicMissEvtEvo, fhStsFebChanAdcCal, fhStsFebChanAdcCalProf, fhStsFebChanAdcRaw, fhStsFebChanAdcRaw_combined, fhStsFebChanAdcRawProf, fhStsFebChanCntRaw, fhStsFebChanCntRawGood, fhStsFebChanCoinc, fhStsFebChanDistT, fhStsFebChanDtCoinc, fhStsFebChanHitRateEvo, fhStsFebChanHitRateEvoLong, fhStsFebChanHitRateProf, fhStsFebChanMissEvt, fhStsFebChanMissEvtEvo, fhStsFebChanRawTs, fhStsFebHitRateEvo, fhStsFebHitRateEvo_mskch, fhStsFebHitRateEvo_mskch_adccut, fhStsFebHitRateEvoLong, fhStsFebMissEvtEvo, fhStsFebSmxErrRatioCopyEvo, fhStsFebSmxErrRatioCopyEvoAsic, fhStsFebSmxErrRatioCopySameAdcEvo, fhStsFebSmxErrRatioCopySameAdcEvoAsic, fhStsFebSmxErrRatioEvo, fhStsFebSmxErrRatioEvoAsic, fhStsHitsElinkPerDpb, fhStsMessType, fhStsMessTypePerDpb, fhStsSysMessType, fhStsSysMessTypePerDpb, fRealHistPadDistr, fuNbFebs, fUnpackParMuch, CbmHistManager::H1(), CbmMcbm2018MuchPar::IsFebActive(), kiMaxNbFlibLinks, and CbmHistManager::P1().

Referenced by DoUnpack(), and Finish().

◆ SavePulserHistos()

void CbmMcbm2018MonitorMuch::SavePulserHistos ( TString sFileName = "")

◆ SaveStsHistos()

void CbmMcbm2018MonitorMuch::SaveStsHistos ( TString sFileName = "")
private

◆ ScanForNoisyChannels()

Bool_t CbmMcbm2018MonitorMuch::ScanForNoisyChannels ( Double_t dNoiseThreshold = 1e3)
private

---------------------------------------------------------------—///

Definition at line 2011 of file CbmMcbm2018MonitorMuch.cxx.

References fhStsFebChanHitRateProf, fuNbFebs, fUnpackParMuch, CbmMcbm2018MuchPar::GetNbAsicsPerFeb(), CbmMcbm2018MuchPar::GetNbChanPerAsic(), and CbmMcbm2018MuchPar::IsFebActive().

Referenced by DoUnpack().

◆ SetCoincidenceBorder()

void CbmMcbm2018MonitorMuch::SetCoincidenceBorder ( Double_t dCenterPos,
Double_t dBorderVal )

Definition at line 422 of file CbmMcbm2018MonitorMuch.cxx.

References fdCoincBorder, fdCoincCenter, fdCoincMax, and fdCoincMin.

◆ SetEnableCoincidenceMaps()

void CbmMcbm2018MonitorMuch::SetEnableCoincidenceMaps ( Bool_t bEnableCoincidenceMapsOn = kTRUE)
inline

Definition at line 78 of file CbmMcbm2018MonitorMuch.h.

References fbEnableCoincidenceMaps.

◆ SetFebChanCoincidenceLimitNs()

void CbmMcbm2018MonitorMuch::SetFebChanCoincidenceLimitNs ( Double_t dLimitIn)
inline

Definition at line 83 of file CbmMcbm2018MonitorMuch.h.

References fdFebChanCoincidenceLimit.

◆ SetHistoFileName()

void CbmMcbm2018MonitorMuch::SetHistoFileName ( TString sFileName = "data/SetupHistos.root")
inline

Definition at line 68 of file CbmMcbm2018MonitorMuch.h.

References fsHistoFileFullname.

◆ SetLongDurationLimits()

void CbmMcbm2018MonitorMuch::SetLongDurationLimits ( UInt_t uDurationSeconds = 3600,
UInt_t uBinSize = 1 )

◆ SetMsOverlap()

void CbmMcbm2018MonitorMuch::SetMsOverlap ( size_t uOverlapMsNb = 1)
inline

Definition at line 60 of file CbmMcbm2018MonitorMuch.h.

References fuNbOverMsPerTs.

◆ SetMuchMode()

void CbmMcbm2018MonitorMuch::SetMuchMode ( Bool_t bMuchMode = kTRUE)
inline

Definition at line 86 of file CbmMcbm2018MonitorMuch.h.

References fbMuchMode.

◆ SetNbMsInTs()

void CbmMcbm2018MonitorMuch::SetNbMsInTs ( size_t uCoreMsNb,
size_t uOverlapMsNb )
virtual

◆ SetParContainers()

void CbmMcbm2018MonitorMuch::SetParContainers ( )
virtual

Implements CbmMcbmUnpack.

Definition at line 197 of file CbmMcbm2018MonitorMuch.cxx.

References fUnpackParMuch.

◆ SetPrintMessage()

void CbmMcbm2018MonitorMuch::SetPrintMessage ( Bool_t bPrintMessOn = kTRUE,
stsxyter::MessagePrintMask ctrl = stsxyter::MessagePrintMask::msg_print_Hex | stsxyter::MessagePrintMask::msg_print_Human )
inline

Definition at line 70 of file CbmMcbm2018MonitorMuch.h.

References fbPrintMessages, and fPrintMessCtrl.

◆ SetRunStart()

void CbmMcbm2018MonitorMuch::SetRunStart ( Int_t dateIn,
Int_t timeIn,
Int_t iBinSize = 5 )

Definition at line 1882 of file CbmMcbm2018MonitorMuch.cxx.

References fiBinSizeDatePlots, and fiRunStartDateTimeSec.

◆ SmxErrCheckCoinc()

Bool_t CbmMcbm2018MonitorMuch::SmxErrCheckCoinc ( UInt_t uFebIdx,
UInt_t uAsicIdx,
Double_t dNewHitTime )
private

1st iteration => Initialize both indices on first slot in array

Exit as we have less hits than needed to trigger the bug

if both indices are 0 => 1st hit in this ASIC

Running loop once the array is full => shift indices for both first and last hit

If we had already at least kuNbHitCoincWinBug hits

Still filling the array => shift only the index for last hit

Exit as we have less hits than needed to trigger the bug

less than kuSmxErrCoincWinNbHits hits

Compute the time difference between 1st and last for each condition

Check conditions and set flag

If we are within at least one of the coincidence windows

Out of all coincidence windows, we are safe!

Definition at line 1939 of file CbmMcbm2018MonitorMuch.cxx.

References fdSmxErrCoincWinM07, fdSmxErrCoincWinM08, fdSmxErrCoincWinM09, fdSmxErrCoincWinM10, fdSmxErrCoincWinM11, fvdSmxErrTimeLastHits, fvuSmxErrIdxFirstHitM07, fvuSmxErrIdxFirstHitM08, fvuSmxErrIdxFirstHitM09, fvuSmxErrIdxFirstHitM10, fvuSmxErrIdxFirstHitM11, fvuSmxErrIdxLastHit, kdSmxErrCoincWinBeg, and kuSmxErrCoincWinNbHits.

Referenced by DoUnpack().

◆ SmxErrInitializeVariables()

void CbmMcbm2018MonitorMuch::SmxErrInitializeVariables ( )
private

◆ UseDaqBuffer()

void CbmMcbm2018MonitorMuch::UseDaqBuffer ( Bool_t )
inline

Definition at line 89 of file CbmMcbm2018MonitorMuch.h.

◆ UseNoiseLimitsSmx2LogicError()

void CbmMcbm2018MonitorMuch::UseNoiseLimitsSmx2LogicError ( Bool_t bUseNoise = kTRUE)
inline

Definition at line 84 of file CbmMcbm2018MonitorMuch.h.

References fbSmx2ErrorUseNoiseLevels.

Member Data Documentation

◆ Counter

UInt_t CbmMcbm2018MonitorMuch::Counter
private

Definition at line 179 of file CbmMcbm2018MonitorMuch.h.

Referenced by FillHitInfo().

◆ Counter1

UInt_t CbmMcbm2018MonitorMuch::Counter1
private

Definition at line 180 of file CbmMcbm2018MonitorMuch.h.

Referenced by FillHitInfo().

◆ fbEnableCoincidenceMaps

Bool_t CbmMcbm2018MonitorMuch::fbEnableCoincidenceMaps
private

Definition at line 122 of file CbmMcbm2018MonitorMuch.h.

Referenced by DoUnpack(), and SetEnableCoincidenceMaps().

◆ fbIgnoreOverlapMs

Bool_t CbmMcbm2018MonitorMuch::fbIgnoreOverlapMs
private

Definition at line 98 of file CbmMcbm2018MonitorMuch.h.

Referenced by DoUnpack().

◆ fbLongHistoEnable

Bool_t CbmMcbm2018MonitorMuch::fbLongHistoEnable
private

Rate evolution histos.

Definition at line 175 of file CbmMcbm2018MonitorMuch.h.

Referenced by SetLongDurationLimits().

◆ fbMuchMode

Bool_t CbmMcbm2018MonitorMuch::fbMuchMode
private

Definition at line 93 of file CbmMcbm2018MonitorMuch.h.

Referenced by ProcessStsMs(), and SetMuchMode().

◆ fbPrintMessages

Bool_t CbmMcbm2018MonitorMuch::fbPrintMessages
private

Task configuration values.

Definition at line 120 of file CbmMcbm2018MonitorMuch.h.

Referenced by ProcessStsMs(), and SetPrintMessage().

◆ fbSmx2ErrorUseNoiseLevels

Bool_t CbmMcbm2018MonitorMuch::fbSmx2ErrorUseNoiseLevels
private

SXM 2.0 logic error detection and tagging, 1 eLink case.

Definition at line 235 of file CbmMcbm2018MonitorMuch.h.

Referenced by SmxErrInitializeVariables(), and UseNoiseLimitsSmx2LogicError().

◆ fcMsSizeAll

TCanvas* CbmMcbm2018MonitorMuch::fcMsSizeAll
private

Definition at line 276 of file CbmMcbm2018MonitorMuch.h.

Referenced by AddMsComponentToList(), and CreateHistograms().

◆ fdCoincBorder

Double_t CbmMcbm2018MonitorMuch::fdCoincBorder
private

Definition at line 183 of file CbmMcbm2018MonitorMuch.h.

Referenced by SetCoincidenceBorder().

◆ fdCoincCenter

Double_t CbmMcbm2018MonitorMuch::fdCoincCenter
private

Coincidences in sorted hits.

Definition at line 182 of file CbmMcbm2018MonitorMuch.h.

Referenced by SetCoincidenceBorder().

◆ fdCoincMax

Double_t CbmMcbm2018MonitorMuch::fdCoincMax
private

Definition at line 185 of file CbmMcbm2018MonitorMuch.h.

Referenced by SetCoincidenceBorder().

◆ fdCoincMin

Double_t CbmMcbm2018MonitorMuch::fdCoincMin
private

Definition at line 184 of file CbmMcbm2018MonitorMuch.h.

Referenced by SetCoincidenceBorder().

◆ fdFebChanCoincidenceLimit

Double_t CbmMcbm2018MonitorMuch::fdFebChanCoincidenceLimit
private

Definition at line 208 of file CbmMcbm2018MonitorMuch.h.

Referenced by DoUnpack(), and SetFebChanCoincidenceLimitNs().

◆ fDpbIdIndexMap

std::map<UInt_t, UInt_t> CbmMcbm2018MonitorMuch::fDpbIdIndexMap
private

Total number of STS DPBs in system.

Definition at line 102 of file CbmMcbm2018MonitorMuch.h.

Referenced by InitStsParameters(), and ProcessStsMs().

◆ fdSmxErrCoincWinM07

Double_t CbmMcbm2018MonitorMuch::fdSmxErrCoincWinM07
private

Tagging variables.

Definition at line 251 of file CbmMcbm2018MonitorMuch.h.

Referenced by SmxErrCheckCoinc(), and SmxErrInitializeVariables().

◆ fdSmxErrCoincWinM08

Double_t CbmMcbm2018MonitorMuch::fdSmxErrCoincWinM08
private

Definition at line 252 of file CbmMcbm2018MonitorMuch.h.

Referenced by SmxErrCheckCoinc(), and SmxErrInitializeVariables().

◆ fdSmxErrCoincWinM09

Double_t CbmMcbm2018MonitorMuch::fdSmxErrCoincWinM09
private

Definition at line 253 of file CbmMcbm2018MonitorMuch.h.

Referenced by SmxErrCheckCoinc(), and SmxErrInitializeVariables().

◆ fdSmxErrCoincWinM10

Double_t CbmMcbm2018MonitorMuch::fdSmxErrCoincWinM10
private

Definition at line 254 of file CbmMcbm2018MonitorMuch.h.

Referenced by SmxErrCheckCoinc(), and SmxErrInitializeVariables().

◆ fdSmxErrCoincWinM11

Double_t CbmMcbm2018MonitorMuch::fdSmxErrCoincWinM11
private

Definition at line 255 of file CbmMcbm2018MonitorMuch.h.

Referenced by SmxErrCheckCoinc(), and SmxErrInitializeVariables().

◆ fdStartTime

Long64_t CbmMcbm2018MonitorMuch::fdStartTime
private

Last hit ADC in bins in each MS for each Channel.

Starting state book-keeping

Definition at line 153 of file CbmMcbm2018MonitorMuch.h.

Referenced by FillHitInfo(), and ResetAllHistos().

◆ fdStartTimeMsSz

Double_t CbmMcbm2018MonitorMuch::fdStartTimeMsSz
private

previous time for consecutive hit time

Definition at line 156 of file CbmMcbm2018MonitorMuch.h.

Referenced by DoUnpack(), ProcessStsMs(), and ResetAllHistos().

◆ fdStsFebChanLastTimeForDist

std::vector<std::vector<Double_t> > CbmMcbm2018MonitorMuch::fdStsFebChanLastTimeForDist
private

Definition at line 229 of file CbmMcbm2018MonitorMuch.h.

Referenced by DoUnpack(), and InitStsParameters().

◆ fHistPadDistr

std::vector<TH2*> CbmMcbm2018MonitorMuch::fHistPadDistr
private

Plots per FEB-8.

Definition at line 205 of file CbmMcbm2018MonitorMuch.h.

Referenced by CreateHistograms(), FillHitInfo(), ResetAllHistos(), and SaveAllHistos().

◆ fHM

CbmHistManager* CbmMcbm2018MonitorMuch::fHM
private

Histograms.

Definition at line 188 of file CbmMcbm2018MonitorMuch.h.

Referenced by AddMsComponentToList(), ResetAllHistos(), and SaveAllHistos().

◆ fhMsSz

TH1* CbmMcbm2018MonitorMuch::fhMsSz[kiMaxNbFlibLinks]
private

Definition at line 277 of file CbmMcbm2018MonitorMuch.h.

Referenced by AddMsComponentToList(), CreateHistograms(), and ProcessStsMs().

◆ fhMsSzTime

TProfile* CbmMcbm2018MonitorMuch::fhMsSzTime[kiMaxNbFlibLinks]
private

Definition at line 278 of file CbmMcbm2018MonitorMuch.h.

Referenced by AddMsComponentToList(), CreateHistograms(), and ProcessStsMs().

◆ fhPulserMsStatusFieldType

TH2* CbmMcbm2018MonitorMuch::fhPulserMsStatusFieldType
private

◆ fhPulserStatusMessType

TH2* CbmMcbm2018MonitorMuch::fhPulserStatusMessType
private

◆ fhRate

TH1* CbmMcbm2018MonitorMuch::fhRate
private

◆ fhRateAdcCut

TH1* CbmMcbm2018MonitorMuch::fhRateAdcCut
private

◆ fhStsFebAsicHitRateEvo

std::vector<TH2*> CbmMcbm2018MonitorMuch::fhStsFebAsicHitRateEvo
private

◆ fhStsFebAsicHitRateEvoLong

std::vector<TH2*> CbmMcbm2018MonitorMuch::fhStsFebAsicHitRateEvoLong
private

◆ fhStsFebAsicMissEvtEvo

std::vector<TH2*> CbmMcbm2018MonitorMuch::fhStsFebAsicMissEvtEvo
private

◆ fhStsFebChanAdcCal

std::vector<TH2*> CbmMcbm2018MonitorMuch::fhStsFebChanAdcCal
private

◆ fhStsFebChanAdcCalProf

std::vector<TProfile*> CbmMcbm2018MonitorMuch::fhStsFebChanAdcCalProf
private

◆ fhStsFebChanAdcRaw

std::vector<TH2*> CbmMcbm2018MonitorMuch::fhStsFebChanAdcRaw
private

◆ fhStsFebChanAdcRaw_combined

TH1* CbmMcbm2018MonitorMuch::fhStsFebChanAdcRaw_combined
private

◆ fhStsFebChanAdcRawProf

std::vector<TProfile*> CbmMcbm2018MonitorMuch::fhStsFebChanAdcRawProf
private

◆ fhStsFebChanCntRaw

std::vector<TH1*> CbmMcbm2018MonitorMuch::fhStsFebChanCntRaw
private

◆ fhStsFebChanCntRawGood

std::vector<TH1*> CbmMcbm2018MonitorMuch::fhStsFebChanCntRawGood
private

◆ fhStsFebChanCoinc

std::vector<std::vector<TH2*> > CbmMcbm2018MonitorMuch::fhStsFebChanCoinc
private

◆ fhStsFebChanDistT

std::vector<TH2*> CbmMcbm2018MonitorMuch::fhStsFebChanDistT
private

◆ fhStsFebChanDtCoinc

std::vector<std::vector<TH1*> > CbmMcbm2018MonitorMuch::fhStsFebChanDtCoinc
private

◆ fhStsFebChanHitRateEvo

std::vector<TH2*> CbmMcbm2018MonitorMuch::fhStsFebChanHitRateEvo
private

◆ fhStsFebChanHitRateEvoLong

std::vector<TH2*> CbmMcbm2018MonitorMuch::fhStsFebChanHitRateEvoLong
private

◆ fhStsFebChanHitRateProf

std::vector<TProfile*> CbmMcbm2018MonitorMuch::fhStsFebChanHitRateProf
private

◆ fhStsFebChanMissEvt

std::vector<TH2*> CbmMcbm2018MonitorMuch::fhStsFebChanMissEvt
private

◆ fhStsFebChanMissEvtEvo

std::vector<TH2*> CbmMcbm2018MonitorMuch::fhStsFebChanMissEvtEvo
private

◆ fhStsFebChanRawTs

std::vector<TH2*> CbmMcbm2018MonitorMuch::fhStsFebChanRawTs
private

◆ fhStsFebHitRateEvo

std::vector<TH1*> CbmMcbm2018MonitorMuch::fhStsFebHitRateEvo
private

◆ fhStsFebHitRateEvo_mskch

std::vector<TH1*> CbmMcbm2018MonitorMuch::fhStsFebHitRateEvo_mskch
private

◆ fhStsFebHitRateEvo_mskch_adccut

std::vector<TH1*> CbmMcbm2018MonitorMuch::fhStsFebHitRateEvo_mskch_adccut
private

◆ fhStsFebHitRateEvoLong

std::vector<TH1*> CbmMcbm2018MonitorMuch::fhStsFebHitRateEvoLong
private

◆ fhStsFebMissEvtEvo

std::vector<TH1*> CbmMcbm2018MonitorMuch::fhStsFebMissEvtEvo
private

◆ fhStsFebSmxErrRatioCopyEvo

std::vector<TProfile*> CbmMcbm2018MonitorMuch::fhStsFebSmxErrRatioCopyEvo
private

◆ fhStsFebSmxErrRatioCopyEvoAsic

std::vector<TProfile2D*> CbmMcbm2018MonitorMuch::fhStsFebSmxErrRatioCopyEvoAsic
private

◆ fhStsFebSmxErrRatioCopySameAdcEvo

std::vector<TProfile*> CbmMcbm2018MonitorMuch::fhStsFebSmxErrRatioCopySameAdcEvo
private

◆ fhStsFebSmxErrRatioCopySameAdcEvoAsic

std::vector<TProfile2D*> CbmMcbm2018MonitorMuch::fhStsFebSmxErrRatioCopySameAdcEvoAsic
private

◆ fhStsFebSmxErrRatioEvo

std::vector<TProfile*> CbmMcbm2018MonitorMuch::fhStsFebSmxErrRatioEvo
private

Histograms.

Definition at line 268 of file CbmMcbm2018MonitorMuch.h.

Referenced by CreateHistograms(), DoUnpack(), ResetAllHistos(), and SaveAllHistos().

◆ fhStsFebSmxErrRatioEvoAsic

std::vector<TProfile2D*> CbmMcbm2018MonitorMuch::fhStsFebSmxErrRatioEvoAsic
private

◆ fhStsHitsElinkPerDpb

TH2* CbmMcbm2018MonitorMuch::fhStsHitsElinkPerDpb
private

◆ fhStsMessType

TH1* CbmMcbm2018MonitorMuch::fhStsMessType
private

Histogram manager.

Definition at line 189 of file CbmMcbm2018MonitorMuch.h.

Referenced by CreateHistograms(), ProcessStsMs(), ResetAllHistos(), and SaveAllHistos().

◆ fhStsMessTypePerDpb

TH2* CbmMcbm2018MonitorMuch::fhStsMessTypePerDpb
private

◆ fhStsSysMessType

TH1* CbmMcbm2018MonitorMuch::fhStsSysMessType
private

Definition at line 190 of file CbmMcbm2018MonitorMuch.h.

Referenced by CreateHistograms(), ResetAllHistos(), and SaveAllHistos().

◆ fhStsSysMessTypePerDpb

TH2* CbmMcbm2018MonitorMuch::fhStsSysMessTypePerDpb
private

Definition at line 193 of file CbmMcbm2018MonitorMuch.h.

Referenced by CreateHistograms(), ResetAllHistos(), and SaveAllHistos().

◆ fiBinSizeDatePlots

Int_t CbmMcbm2018MonitorMuch::fiBinSizeDatePlots
private

Start of run time since "epoch" in s, for the plots with date as X axis.

Definition at line 132 of file CbmMcbm2018MonitorMuch.h.

Referenced by SetRunStart().

◆ fiRunStartDateTimeSec

Int_t CbmMcbm2018MonitorMuch::fiRunStartDateTimeSec
private

Index of the DPB from which the MS currently unpacked is coming.

Definition at line 131 of file CbmMcbm2018MonitorMuch.h.

Referenced by SetRunStart().

◆ fiTimeIntervalRateUpdate

Int_t CbmMcbm2018MonitorMuch::fiTimeIntervalRateUpdate
private

Mean Rate per channel plots.

Definition at line 170 of file CbmMcbm2018MonitorMuch.h.

Referenced by ProcessStsMs().

◆ fmMsgCounter

std::map<stsxyter::MessType, UInt_t> CbmMcbm2018MonitorMuch::fmMsgCounter
private

Current data properties.

Definition at line 127 of file CbmMcbm2018MonitorMuch.h.

Referenced by Finish(), and ProcessStsMs().

◆ fPrintMessCtrl

stsxyter::MessagePrintMask CbmMcbm2018MonitorMuch::fPrintMessCtrl
private

Definition at line 121 of file CbmMcbm2018MonitorMuch.h.

Referenced by ProcessStsMs(), and SetPrintMessage().

◆ fRealHistPadDistr

std::vector<TH2*> CbmMcbm2018MonitorMuch::fRealHistPadDistr
private

◆ fsHistoFileFullname

TString CbmMcbm2018MonitorMuch::fsHistoFileFullname
private

Internal Control/status of monitor Histo File name and path

Definition at line 118 of file CbmMcbm2018MonitorMuch.h.

Referenced by DoUnpack(), Finish(), and SetHistoFileName().

◆ ftStartTimeUnix

std::chrono::steady_clock::time_point CbmMcbm2018MonitorMuch::ftStartTimeUnix
private

Time of first microslice, used as reference for evolution plots

Definition at line 158 of file CbmMcbm2018MonitorMuch.h.

◆ fuCurrDpbId

UInt_t CbmMcbm2018MonitorMuch::fuCurrDpbId
private

Current equipment ID, tells from which DPB the current MS is originating.

Definition at line 129 of file CbmMcbm2018MonitorMuch.h.

Referenced by ProcessStsMs().

◆ fuCurrDpbIdx

UInt_t CbmMcbm2018MonitorMuch::fuCurrDpbIdx
private

Temp holder until Current equipment ID is properly filled in MS.

Definition at line 130 of file CbmMcbm2018MonitorMuch.h.

Referenced by DoUnpack(), FillHitInfo(), FillTsMsbInfo(), and ProcessStsMs().

◆ fuCurrentEquipmentId

UInt_t CbmMcbm2018MonitorMuch::fuCurrentEquipmentId
private

Definition at line 128 of file CbmMcbm2018MonitorMuch.h.

Referenced by ProcessStsMs().

◆ fulCurrentMsIdx

ULong64_t CbmMcbm2018MonitorMuch::fulCurrentMsIdx
private

Definition at line 125 of file CbmMcbm2018MonitorMuch.h.

Referenced by ProcessStsMs().

◆ fulCurrentTsIdx

ULong64_t CbmMcbm2018MonitorMuch::fulCurrentTsIdx
private

TS/MS info.

Definition at line 124 of file CbmMcbm2018MonitorMuch.h.

Referenced by DoUnpack(), and ProcessStsMs().

◆ fuLongHistoBinNb

UInt_t CbmMcbm2018MonitorMuch::fuLongHistoBinNb
private

Definition at line 178 of file CbmMcbm2018MonitorMuch.h.

Referenced by CreateHistograms().

◆ fuLongHistoBinSizeSec

UInt_t CbmMcbm2018MonitorMuch::fuLongHistoBinSizeSec
private

Definition at line 177 of file CbmMcbm2018MonitorMuch.h.

Referenced by SetLongDurationLimits().

◆ fuLongHistoNbSeconds

UInt_t CbmMcbm2018MonitorMuch::fuLongHistoNbSeconds
private

Definition at line 176 of file CbmMcbm2018MonitorMuch.h.

Referenced by SetLongDurationLimits().

◆ fuMaxNbMicroslices

UInt_t CbmMcbm2018MonitorMuch::fuMaxNbMicroslices
private

All hits (time in bins, ADC in bins, asic, channel) in last TS, per FEB, sorted with "<" operator Coincidence histos

Definition at line 168 of file CbmMcbm2018MonitorMuch.h.

Referenced by DoUnpack(), InitStsParameters(), and SetNbMsInTs().

◆ fuNbCoreMsPerTs

size_t CbmMcbm2018MonitorMuch::fuNbCoreMsPerTs
private

Definition at line 96 of file CbmMcbm2018MonitorMuch.h.

Referenced by DoUnpack(), and SetNbMsInTs().

◆ fuNbFebs

UInt_t CbmMcbm2018MonitorMuch::fuNbFebs
private

Array to hold the active flag for all CROBs, [ NbDpb ][ NbCrobPerDpb ].

Definition at line 105 of file CbmMcbm2018MonitorMuch.h.

Referenced by CreateHistograms(), DoUnpack(), InitStsParameters(), ResetAllHistos(), SaveAllHistos(), ScanForNoisyChannels(), and SmxErrInitializeVariables().

◆ fuNbOverMsPerTs

size_t CbmMcbm2018MonitorMuch::fuNbOverMsPerTs
private

Definition at line 97 of file CbmMcbm2018MonitorMuch.h.

Referenced by DoUnpack(), GetMsOverlap(), SetMsOverlap(), and SetNbMsInTs().

◆ fuNbStsXyters

UInt_t CbmMcbm2018MonitorMuch::fuNbStsXyters
private

Number of StsXyter ASICs.

Definition at line 106 of file CbmMcbm2018MonitorMuch.h.

Referenced by CreateHistograms(), DoUnpack(), InitStsParameters(), and SetNbMsInTs().

◆ fUnpackParMuch

CbmMcbm2018MuchPar* CbmMcbm2018MonitorMuch::fUnpackParMuch
private

/‍** Ignore Overlap Ms: all fuOverlapMsNb MS at the end of timeslice **‍/

Definition at line 100 of file CbmMcbm2018MonitorMuch.h.

Referenced by CreateHistograms(), DoUnpack(), FillHitInfo(), InitStsParameters(), ProcessStsMs(), ResetAllHistos(), SaveAllHistos(), ScanForNoisyChannels(), SetNbMsInTs(), SetParContainers(), and SmxErrInitializeVariables().

◆ fuNrOfDpbs

UInt_t CbmMcbm2018MonitorMuch::fuNrOfDpbs
private

Definition at line 101 of file CbmMcbm2018MonitorMuch.h.

Referenced by CreateHistograms(), DoUnpack(), and InitStsParameters().

◆ fvbCrobActiveFlag

std::vector<std::vector<Bool_t> > CbmMcbm2018MonitorMuch::fvbCrobActiveFlag
private

Map of DPB Identifier to DPB index.

Definition at line 104 of file CbmMcbm2018MonitorMuch.h.

Referenced by InitStsParameters().

◆ fvdChanLastHitTime

std::vector<std::vector<Double_t> > CbmMcbm2018MonitorMuch::fvdChanLastHitTime
private

Last hit time in bins for each Channel.

Definition at line 142 of file CbmMcbm2018MonitorMuch.h.

Referenced by FillHitInfo(), and InitStsParameters().

◆ fvdChanLastHitTimeInMs

std::vector<std::vector<std::vector<Double_t> > > CbmMcbm2018MonitorMuch::fvdChanLastHitTimeInMs
private

Number of hits in each MS for each Channel.

Definition at line 148 of file CbmMcbm2018MonitorMuch.h.

Referenced by FillHitInfo(), InitStsParameters(), and SetNbMsInTs().

◆ fvdFebAdcGain

std::vector<std::vector<std::vector<Double_t> > > CbmMcbm2018MonitorMuch::fvdFebAdcGain
private

Number of StsXyter ASICs.

Definition at line 108 of file CbmMcbm2018MonitorMuch.h.

Referenced by FillHitInfo(), and InitStsParameters().

◆ fvdFebAdcOffs

std::vector<std::vector<std::vector<Double_t> > > CbmMcbm2018MonitorMuch::fvdFebAdcOffs
private

ADC gain in e-/b, [ NbDpb ][ NbCrobPerDpb ][ NbFebsPerCrob ].

Definition at line 110 of file CbmMcbm2018MonitorMuch.h.

Referenced by FillHitInfo(), and InitStsParameters().

◆ fvdFebChanCountsSinceLastRateUpdate

std::vector<std::vector<Double_t> > CbmMcbm2018MonitorMuch::fvdFebChanCountsSinceLastRateUpdate
private

Definition at line 173 of file CbmMcbm2018MonitorMuch.h.

Referenced by FillHitInfo(), InitStsParameters(), and ProcessStsMs().

◆ fvdMsTime

std::vector<Double_t> CbmMcbm2018MonitorMuch::fvdMsTime
private

Header time of previous MS per link.

Definition at line 145 of file CbmMcbm2018MonitorMuch.h.

Referenced by DoUnpack(), InitStsParameters(), and SetNbMsInTs().

◆ fvdPrevMsTime

std::vector<Double_t> CbmMcbm2018MonitorMuch::fvdPrevMsTime
private

Last hit time in ns for each Channel.

Definition at line 144 of file CbmMcbm2018MonitorMuch.h.

Referenced by InitStsParameters(), and ProcessStsMs().

◆ fvdSmxErrTimeLastHits

std::vector<std::vector<std::vector<Double_t> > > CbmMcbm2018MonitorMuch::fvdSmxErrTimeLastHits
private

Definition at line 257 of file CbmMcbm2018MonitorMuch.h.

Referenced by SmxErrCheckCoinc(), and SmxErrInitializeVariables().

◆ fviFebCountsSinceLastRateUpdate

std::vector<Int_t> CbmMcbm2018MonitorMuch::fviFebCountsSinceLastRateUpdate
private

Definition at line 172 of file CbmMcbm2018MonitorMuch.h.

Referenced by FillHitInfo(), InitStsParameters(), and ProcessStsMs().

◆ fviFebTimeSecLastRateUpdate

std::vector<Int_t> CbmMcbm2018MonitorMuch::fviFebTimeSecLastRateUpdate
private

Definition at line 171 of file CbmMcbm2018MonitorMuch.h.

Referenced by InitStsParameters(), and ProcessStsMs().

◆ fvmAsicHitsInMs

std::vector<std::vector<stsxyter::FinalHit> > CbmMcbm2018MonitorMuch::fvmAsicHitsInMs
private

All hits (time in bins, ADC in bins, asic, channel) in last TS, sorted with "<" operator.

Definition at line 164 of file CbmMcbm2018MonitorMuch.h.

Referenced by DoUnpack(), and InitStsParameters().

◆ fvmFebHitsInMs

std::vector<std::vector<stsxyter::FinalHit> > CbmMcbm2018MonitorMuch::fvmFebHitsInMs
private

All hits (time in bins, ADC in bins, asic, channel) in last TS, per ASIC, sorted with "<" operator.

Definition at line 166 of file CbmMcbm2018MonitorMuch.h.

Referenced by DoUnpack(), and InitStsParameters().

◆ fvmHitsInMs

std::vector<stsxyter::FinalHit> CbmMcbm2018MonitorMuch::fvmHitsInMs
private

Hits time-sorting.

Time of run Start from UNIX system, used as reference for long evolution plots against reception time

Definition at line 162 of file CbmMcbm2018MonitorMuch.h.

Referenced by DoUnpack(), and FillHitInfo().

◆ fvMsComponentsList

std::vector<size_t> CbmMcbm2018MonitorMuch::fvMsComponentsList
private

Definition at line 95 of file CbmMcbm2018MonitorMuch.h.

Referenced by AddMsComponentToList(), and DoUnpack().

◆ fvuChanNbHitsInMs

std::vector<std::vector<std::vector<UInt_t> > > CbmMcbm2018MonitorMuch::fvuChanNbHitsInMs
private

Header time of each MS.

Definition at line 146 of file CbmMcbm2018MonitorMuch.h.

Referenced by FillHitInfo(), InitStsParameters(), and SetNbMsInTs().

◆ fvuCurrentTsMsbCycle

std::vector<UInt_t> CbmMcbm2018MonitorMuch::fvuCurrentTsMsbCycle
private

Current TS MSB for each DPB.

Definition at line 136 of file CbmMcbm2018MonitorMuch.h.

Referenced by DoUnpack(), FillHitInfo(), FillTsMsbInfo(), InitStsParameters(), and ProcessStsMs().

◆ fvuElinkLastTsHit

std::vector<UInt_t> CbmMcbm2018MonitorMuch::fvuElinkLastTsHit
private

TS MSB cycle from MS header in 1st MS for DPB.

Definition at line 139 of file CbmMcbm2018MonitorMuch.h.

Referenced by InitStsParameters().

◆ fvuInitialHeaderDone

std::vector<UInt_t> CbmMcbm2018MonitorMuch::fvuInitialHeaderDone
private

Current TS MSB cycle for DPB.

Definition at line 137 of file CbmMcbm2018MonitorMuch.h.

Referenced by InitStsParameters(), and ProcessStsMs().

◆ fvuInitialTsMsbCycleHeader

std::vector<UInt_t> CbmMcbm2018MonitorMuch::fvuInitialTsMsbCycleHeader
private

Flag set after seeing MS header in 1st MS for DPB.

Definition at line 138 of file CbmMcbm2018MonitorMuch.h.

Referenced by InitStsParameters(), and ProcessStsMs().

◆ fvulChanLastHitTime

std::vector<std::vector<ULong64_t> > CbmMcbm2018MonitorMuch::fvulChanLastHitTime
private

TS from last hit for DPB Hits comparison

Definition at line 141 of file CbmMcbm2018MonitorMuch.h.

Referenced by FillHitInfo(), and InitStsParameters().

◆ fvulCurrentTsMsb

std::vector<ULong64_t> CbmMcbm2018MonitorMuch::fvulCurrentTsMsb
private

Bin size in s for the plots with date as X axis.

Data format control

Definition at line 135 of file CbmMcbm2018MonitorMuch.h.

Referenced by DoUnpack(), FillHitInfo(), FillTsMsbInfo(), InitStsParameters(), and ProcessStsMs().

◆ fvusChanLastHitAdcInMs

std::vector<std::vector<std::vector<UShort_t> > > CbmMcbm2018MonitorMuch::fvusChanLastHitAdcInMs
private

Last hit time in bins in each MS for each Channel.

Definition at line 150 of file CbmMcbm2018MonitorMuch.h.

Referenced by FillHitInfo(), InitStsParameters(), and SetNbMsInTs().

◆ fvuSmxErrIdxFirstHitM07

std::vector<std::vector<UInt_t> > CbmMcbm2018MonitorMuch::fvuSmxErrIdxFirstHitM07
private

[ NbFebs ][ NbSmxPerFeb ][ kuSmxErrCoincWinNbHits ]

Definition at line 258 of file CbmMcbm2018MonitorMuch.h.

Referenced by SmxErrCheckCoinc(), and SmxErrInitializeVariables().

◆ fvuSmxErrIdxFirstHitM08

std::vector<std::vector<UInt_t> > CbmMcbm2018MonitorMuch::fvuSmxErrIdxFirstHitM08
private

[ NbFebs ][ NbSmxPerFeb ]

Definition at line 259 of file CbmMcbm2018MonitorMuch.h.

Referenced by SmxErrCheckCoinc(), and SmxErrInitializeVariables().

◆ fvuSmxErrIdxFirstHitM09

std::vector<std::vector<UInt_t> > CbmMcbm2018MonitorMuch::fvuSmxErrIdxFirstHitM09
private

[ NbFebs ][ NbSmxPerFeb ]

Definition at line 260 of file CbmMcbm2018MonitorMuch.h.

Referenced by SmxErrCheckCoinc(), and SmxErrInitializeVariables().

◆ fvuSmxErrIdxFirstHitM10

std::vector<std::vector<UInt_t> > CbmMcbm2018MonitorMuch::fvuSmxErrIdxFirstHitM10
private

[ NbFebs ][ NbSmxPerFeb ]

Definition at line 261 of file CbmMcbm2018MonitorMuch.h.

Referenced by SmxErrCheckCoinc(), and SmxErrInitializeVariables().

◆ fvuSmxErrIdxFirstHitM11

std::vector<std::vector<UInt_t> > CbmMcbm2018MonitorMuch::fvuSmxErrIdxFirstHitM11
private

[ NbFebs ][ NbSmxPerFeb ]

Definition at line 262 of file CbmMcbm2018MonitorMuch.h.

Referenced by SmxErrCheckCoinc(), and SmxErrInitializeVariables().

◆ fvuSmxErrIdxLastHit

std::vector<std::vector<UInt_t> > CbmMcbm2018MonitorMuch::fvuSmxErrIdxLastHit
private

[ NbFebs ][ NbSmxPerFeb ]

Definition at line 263 of file CbmMcbm2018MonitorMuch.h.

Referenced by SmxErrCheckCoinc(), and SmxErrInitializeVariables().

◆ kdSmxErrCoincWinBeg

const Double_t CbmMcbm2018MonitorMuch::kdSmxErrCoincWinBeg = 0
staticconstexprprivate

Definition at line 237 of file CbmMcbm2018MonitorMuch.h.

Referenced by SmxErrCheckCoinc().

◆ kdSmxErrCoincWinMainM07

const Double_t CbmMcbm2018MonitorMuch::kdSmxErrCoincWinMainM07 = 320
staticconstexprprivate

Coincidence windows for 99.0% tagging (up to 1% of corruption not detected)

Definition at line 239 of file CbmMcbm2018MonitorMuch.h.

◆ kdSmxErrCoincWinMainM08

const Double_t CbmMcbm2018MonitorMuch::kdSmxErrCoincWinMainM08 = 380
staticconstexprprivate

Definition at line 240 of file CbmMcbm2018MonitorMuch.h.

◆ kdSmxErrCoincWinMainM09

const Double_t CbmMcbm2018MonitorMuch::kdSmxErrCoincWinMainM09 = 450
staticconstexprprivate

Definition at line 241 of file CbmMcbm2018MonitorMuch.h.

◆ kdSmxErrCoincWinMainM10

const Double_t CbmMcbm2018MonitorMuch::kdSmxErrCoincWinMainM10 = 510
staticconstexprprivate

Definition at line 242 of file CbmMcbm2018MonitorMuch.h.

◆ kdSmxErrCoincWinMainM11

const Double_t CbmMcbm2018MonitorMuch::kdSmxErrCoincWinMainM11 = 570
staticconstexprprivate

Definition at line 243 of file CbmMcbm2018MonitorMuch.h.

◆ kdSmxErrCoincWinNoiseM07

const Double_t CbmMcbm2018MonitorMuch::kdSmxErrCoincWinNoiseM07 = 390
staticconstexprprivate

Coincidence windows 99.9% tagging (up to 0.1% of corruption not detected)

Definition at line 245 of file CbmMcbm2018MonitorMuch.h.

Referenced by SmxErrInitializeVariables().

◆ kdSmxErrCoincWinNoiseM08

const Double_t CbmMcbm2018MonitorMuch::kdSmxErrCoincWinNoiseM08 = 460
staticconstexprprivate

Definition at line 246 of file CbmMcbm2018MonitorMuch.h.

Referenced by SmxErrInitializeVariables().

◆ kdSmxErrCoincWinNoiseM09

const Double_t CbmMcbm2018MonitorMuch::kdSmxErrCoincWinNoiseM09 = 540
staticconstexprprivate

Definition at line 247 of file CbmMcbm2018MonitorMuch.h.

Referenced by SmxErrInitializeVariables().

◆ kdSmxErrCoincWinNoiseM10

const Double_t CbmMcbm2018MonitorMuch::kdSmxErrCoincWinNoiseM10 = 600
staticconstexprprivate

Definition at line 248 of file CbmMcbm2018MonitorMuch.h.

Referenced by SmxErrInitializeVariables().

◆ kdSmxErrCoincWinNoiseM11

const Double_t CbmMcbm2018MonitorMuch::kdSmxErrCoincWinNoiseM11 = 660
staticconstexprprivate

Definition at line 249 of file CbmMcbm2018MonitorMuch.h.

Referenced by SmxErrInitializeVariables().

◆ kiMaxNbFlibLinks

const Int_t CbmMcbm2018MonitorMuch::kiMaxNbFlibLinks = 32
staticprivate

ADC offset in e-, [ NbDpb ][ NbCrobPerDpb ][ NbFebsPerCrob ].

Definition at line 113 of file CbmMcbm2018MonitorMuch.h.

Referenced by AddMsComponentToList(), CreateHistograms(), InitStsParameters(), ProcessStsMs(), ResetAllHistos(), and SaveAllHistos().

◆ kuBytesPerMessage

const UInt_t CbmMcbm2018MonitorMuch::kuBytesPerMessage = 4
staticprivate

Definition at line 114 of file CbmMcbm2018MonitorMuch.h.

Referenced by ProcessStsMs().

◆ kuSmxErrCoincWinNbHits

const UInt_t CbmMcbm2018MonitorMuch::kuSmxErrCoincWinNbHits = 11
staticprivate

Definition at line 236 of file CbmMcbm2018MonitorMuch.h.

Referenced by SmxErrCheckCoinc(), and SmxErrInitializeVariables().

◆ prevtime

Long64_t CbmMcbm2018MonitorMuch::prevtime
private

Time of first valid hit (TS_MSB available), used as reference for evolution plots

Definition at line 154 of file CbmMcbm2018MonitorMuch.h.

Referenced by FillHitInfo().


The documentation for this class was generated from the following files: