CbmRoot
CbmMcbm2018MonitorMuchLite Class Reference

#include <CbmMcbm2018MonitorMuchLite.h>

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

Public Member Functions

 CbmMcbm2018MonitorMuchLite ()
 
virtual ~CbmMcbm2018MonitorMuchLite ()
 
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 SaveHistos (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 SetMuchMode (Bool_t bMuchMode=kTRUE)
 
void UseDaqBuffer (Bool_t)
 
void SetBinningFwFlag (Bool_t bEnable=kTRUE)
 => Quick and dirty hack for binning FW!!! More...
 

Private Member Functions

Bool_t InitMuchParameters ()
 
void CreateHistograms ()
 
Bool_t ProcessMuchMs (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 ResetMuchHistos ()
 
void SaveMuchHistos (TString sFileName="")
 
Bool_t ScanForNoisyChannels (Double_t dNoiseThreshold=1e3)
 ---------------------------------------------------------------—/// More...
 
 CbmMcbm2018MonitorMuchLite (const CbmMcbm2018MonitorMuchLite &)
 
CbmMcbm2018MonitorMuchLite operator= (const CbmMcbm2018MonitorMuchLite &)
 

Private Attributes

Bool_t fbMuchMode
 
std::vector< Bool_t > fvbMaskedComponents
 
Bool_t fbBinningFw = kFALSE
 => Quick and dirty hack for binning FW!!! More...
 
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 **‍/ More...
 
UInt_t fuNrOfDpbs
 
std::map< UInt_t, UInt_t > fDpbIdIndexMap
 Total number of STS DPBs in system. More...
 
std::vector< std::vector< Bool_t > > fvbCrobActiveFlag
 Map of DPB Identifier to DPB index. More...
 
UInt_t fuNbFebs
 Array to hold the active flag for all CROBs, [ NbDpb ][ NbCrobPerDpb ]. More...
 
UInt_t fuNbStsXyters
 Number of StsXyter ASICs. More...
 
TString fsHistoFileFullname
 
Bool_t fbPrintMessages
 Task configuration values. More...
 
stsxyter::MessagePrintMask fPrintMessCtrl
 
ULong64_t fulCurrentTsIdx
 TS/MS info. More...
 
ULong64_t fulCurrentMsIdx
 
std::map< stsxyter::MessType, UInt_t > fmMsgCounter
 Current data properties. More...
 
UInt_t fuCurrentEquipmentId
 
UInt_t fuCurrDpbId
 Current equipment ID, tells from which DPB the current MS is originating. More...
 
UInt_t fuCurrDpbIdx
 Temp holder until Current equipment ID is properly filled in MS. More...
 
Int_t fiRunStartDateTimeSec
 Index of the DPB from which the MS currently unpacked is coming. More...
 
Int_t fiBinSizeDatePlots
 Start of run time since "epoch" in s, for the plots with date as X axis. More...
 
std::vector< ULong64_t > fvulCurrentTsMsb
 Bin size in s for the plots with date as X axis. More...
 
std::vector< UInt_t > fvuCurrentTsMsbCycle
 Current TS MSB for each DPB. More...
 
std::vector< UInt_t > fvuInitialHeaderDone
 Current TS MSB cycle for DPB. More...
 
std::vector< UInt_t > fvuInitialTsMsbCycleHeader
 Flag set after seeing MS header in 1st MS for DPB. More...
 
std::vector< UInt_t > fvuElinkLastTsHit
 TS MSB cycle from MS header in 1st MS for DPB. More...
 
std::vector< std::vector< ULong64_t > > fvulChanLastHitTime
 
std::vector< std::vector< Double_t > > fvdChanLastHitTime
 Last hit time in bins for each Channel. More...
 
std::vector< Double_t > fvdPrevMsTime
 Last hit time in ns for each Channel. More...
 
std::vector< Double_t > fvdMsTime
 Header time of previous MS per link. More...
 
std::vector< std::vector< std::vector< UInt_t > > > fvuChanNbHitsInMs
 Header time of each MS. More...
 
std::vector< std::vector< std::vector< Double_t > > > fvdChanLastHitTimeInMs
 Number of hits in each MS for each Channel. More...
 
std::vector< std::vector< std::vector< UShort_t > > > fvusChanLastHitAdcInMs
 Last hit time in bins in each MS for each Channel. More...
 
Long64_t prevtime_new
 Last hit ADC in bins in each MS for each Channel. More...
 
Long64_t prevTime
 
UInt_t prevAsic
 
UInt_t prevChan
 
Double_t fdStartTime
 
Double_t fdStartTimeMsSz
 
std::chrono::steady_clock::time_point ftStartTimeUnix
 
std::vector< stsxyter::FinalHitfvmHitsInMs
 Hits time-sorting. More...
 
std::vector< std::vector< stsxyter::FinalHit > > fvmAsicHitsInMs
 All hits (time in bins, ADC in bins, asic, channel) in last TS, sorted with "<" operator. More...
 
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. More...
 
UInt_t fuMaxNbMicroslices
 
Int_t fiTimeIntervalRateUpdate
 Mean Rate per channel plots. More...
 
std::vector< Int_t > fviFebTimeSecLastRateUpdate
 
std::vector< Int_t > fviFebCountsSinceLastRateUpdate
 
std::vector< std::vector< Double_t > > fvdFebChanCountsSinceLastRateUpdate
 
UInt_t Counter
 Rate evolution histos. More...
 
UInt_t Counter1
 
CbmHistManagerfHM
 Coincidences in sorted hits. More...
 
TH1 * fhMuchMessType
 Histogram manager. More...
 
TH1 * fhMuchSysMessType
 
TH1 * fhMuchFebChanAdcRaw_combined
 
TH2 * fhMuchMessTypePerDpb
 
TH2 * fhMuchSysMessTypePerDpb
 
TH2 * fhStatusMessType
 
TH2 * fhMsStatusFieldType
 
TH2 * fhMuchHitsElinkPerDpb
 
TH1 * fhRate
 
TH1 * fhRateAdcCut
 
TH1 * fhFEBcount = nullptr
 
std::vector< TH2 * > fHistPadDistr
 Plots per FEB-8. More...
 
std::vector< TH2 * > fRealHistPadDistr
 
std::vector< TH1 * > fhMuchFebChanCntRaw
 
std::vector< TH1 * > fhMuchFebSpill = {}
 
std::vector< TH2 * > fhMuchFebADC = {}
 
std::vector< TH2 * > fhMuchFebChanAdcRaw
 
std::vector< TProfile * > fhMuchFebChanAdcRawProf
 
std::vector< TH2 * > fhMuchFebChanRawTs
 
std::vector< TH2 * > fhMuchChannelTime = {}
 
std::vector< TH2 * > fhMuchFebChanHitRateEvo
 
std::vector< TProfile * > fhMuchFebChanHitRateProf
 
std::vector< TH1 * > fhMuchFebHitRateEvo
 
std::vector< TH1 * > fhMuchFebHitRateEvo_mskch
 
std::vector< TH1 * > fhMuchFebHitRateEvo_mskch_adccut
 
std::vector< TH1 * > fhMuchFebHitRateEvo_WithoutDupli
 
std::vector< std::vector< Double_t > > fdMuchFebChanLastTimeForDist
 
std::vector< TH2 * > fhMuchFebChanDistT
 
std::vector< TProfile * > fhMuchFebDuplicateHitProf
 
TH2 * fhDpbMsErrors = nullptr
 Binning FW error flag. More...
 
TCanvas * fcMsSizeAll
 
TH1 * fhMsSz [kiMaxNbFlibLinks]
 
TProfile * fhMsSzTime [kiMaxNbFlibLinks]
 

Static Private Attributes

static const Int_t kiMaxNbFlibLinks = 32
 Number of StsXyter ASICs. More...
 
static const UInt_t kuBytesPerMessage = 4
 

Detailed Description

Definition at line 36 of file CbmMcbm2018MonitorMuchLite.h.

Constructor & Destructor Documentation

◆ CbmMcbm2018MonitorMuchLite() [1/2]

CbmMcbm2018MonitorMuchLite::CbmMcbm2018MonitorMuchLite ( )

Definition at line 49 of file CbmMcbm2018MonitorMuchLite.cxx.

◆ ~CbmMcbm2018MonitorMuchLite()

CbmMcbm2018MonitorMuchLite::~CbmMcbm2018MonitorMuchLite ( )
virtual

Definition at line 155 of file CbmMcbm2018MonitorMuchLite.cxx.

◆ CbmMcbm2018MonitorMuchLite() [2/2]

CbmMcbm2018MonitorMuchLite::CbmMcbm2018MonitorMuchLite ( const CbmMcbm2018MonitorMuchLite )
private

Member Function Documentation

◆ AddMsComponentToList()

void CbmMcbm2018MonitorMuchLite::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 324 of file CbmMcbm2018MonitorMuchLite.cxx.

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

◆ CreateHistograms()

void CbmMcbm2018MonitorMuchLite::CreateHistograms ( )
private

Raw Ts Distribution

FEB wise Duplicate Hit profile for each Module (If same hit at same time, same channel and same FEB)

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

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

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 for Mask Channel

Hit rates evo per FEB for Mask Channel with ADC Cut

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

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

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

Create summary Canvases for mCBM 2019

Recovers/Create Ms Size Canvase for CERN 2016

Definition at line 427 of file CbmMcbm2018MonitorMuchLite.cxx.

References fcMsSizeAll, fhDpbMsErrors, fhFEBcount, fHistPadDistr, fhMsStatusFieldType, fhMsSz, fhMsSzTime, fhMuchChannelTime, fhMuchFebADC, fhMuchFebChanAdcRaw, fhMuchFebChanAdcRaw_combined, fhMuchFebChanAdcRawProf, fhMuchFebChanCntRaw, fhMuchFebChanDistT, fhMuchFebChanHitRateEvo, fhMuchFebChanHitRateProf, fhMuchFebChanRawTs, fhMuchFebDuplicateHitProf, fhMuchFebHitRateEvo, fhMuchFebHitRateEvo_mskch, fhMuchFebHitRateEvo_mskch_adccut, fhMuchFebHitRateEvo_WithoutDupli, fhMuchFebSpill, fhMuchHitsElinkPerDpb, fhMuchMessType, fhMuchMessTypePerDpb, fhMuchSysMessType, fhMuchSysMessTypePerDpb, fhRate, fhRateAdcCut, fhStatusMessType, fRealHistPadDistr, fuNbFebs, fuNbStsXyters, fUnpackParMuch, fuNrOfDpbs, CbmMcbm2018MuchPar::GetNbChanPerFeb(), CbmMcbm2018MuchPar::IsFebActive(), kiMaxNbFlibLinks, stsxyter::kuHitNbAdcBins, and stsxyter::kuHitNbTsBins.

Referenced by InitContainers().

◆ DoUnpack()

◆ FillEpochInfo()

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

Definition at line 1539 of file CbmMcbm2018MonitorMuchLite.cxx.

Referenced by ProcessMuchMs().

◆ FillHitInfo()

◆ FillTsMsbInfo()

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

◆ Finish()

void CbmMcbm2018MonitorMuchLite::Finish ( )
virtual

◆ GetMsOverlap()

size_t CbmMcbm2018MonitorMuchLite::GetMsOverlap ( )
inline

Definition at line 58 of file CbmMcbm2018MonitorMuchLite.h.

References fuNbOverMsPerTs.

◆ Init()

Bool_t CbmMcbm2018MonitorMuchLite::Init ( )
virtual

Implements CbmMcbmUnpack.

Definition at line 158 of file CbmMcbm2018MonitorMuchLite.cxx.

◆ InitContainers()

Bool_t CbmMcbm2018MonitorMuchLite::InitContainers ( )
virtual

Reimplemented from CbmMcbmUnpack.

Definition at line 174 of file CbmMcbm2018MonitorMuchLite.cxx.

References CreateHistograms(), and InitMuchParameters().

◆ InitMuchParameters()

◆ operator=()

CbmMcbm2018MonitorMuchLite CbmMcbm2018MonitorMuchLite::operator= ( const CbmMcbm2018MonitorMuchLite )
private

◆ ProcessMuchMs()

Bool_t CbmMcbm2018MonitorMuchLite::ProcessMuchMs ( 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

=> Quick and dirty hack for binning FW!!!

=> Quick and dirty hack for binning FW!!!

Always print status messages... or not?

Definition at line 1083 of file CbmMcbm2018MonitorMuchLite.cxx.

References stsxyter::Dummy, CbmMcbm2018MuchPar::ElinkIdxToAsicIdx(), CbmMcbm2018MuchPar::ElinkIdxToFebIdx(), stsxyter::Empty, stsxyter::EndOfMs, stsxyter::Epoch, fbBinningFw, fbMuchMode, fbPrintMessages, fDpbIdIndexMap, fdStartTimeMsSz, fhDpbMsErrors, fhMsStatusFieldType, fhMsSz, fhMsSzTime, fhMuchFebChanHitRateProf, fhMuchHitsElinkPerDpb, FillEpochInfo(), FillHitInfo(), FillTsMsbInfo(), fiTimeIntervalRateUpdate, fmMsgCounter, FormatMsHeaderPrintout(), fPrintMessCtrl, fuCurrDpbId, fuCurrDpbIdx, fuCurrentEquipmentId, fulCurrentMsIdx, fulCurrentTsIdx, fUnpackParMuch, fvbMaskedComponents, fvdFebChanCountsSinceLastRateUpdate, fvdPrevMsTime, fviFebCountsSinceLastRateUpdate, fviFebTimeSecLastRateUpdate, fvuCurrentTsMsbCycle, fvuInitialHeaderDone, fvuInitialTsMsbCycleHeader, fvulCurrentTsMsb, stsxyter::Message::GetLinkIndex(), stsxyter::Message::GetLinkIndexHitBinning(), stsxyter::Message::GetMessType(), stsxyter::Message::GetMsErrorType(), CbmMcbm2018MuchPar::GetNbAsicsPerCrob(), CbmMcbm2018MuchPar::GetNbChanPerFeb(), CbmMcbm2018MuchPar::GetNbCrobsPerDpb(), CbmMcbm2018MuchPar::GetNbElinkPerCrob(), CbmMcbm2018MuchPar::GetNbFebsPerDpb(), stsxyter::Hit, stsxyter::Message::IsMsErrorFlagOn(), stsxyter::kdClockCycleNs, kiMaxNbFlibLinks, kuBytesPerMessage, stsxyter::kulTsCycleNbBins, stsxyter::kulTsCycleNbBinsBinning, stsxyter::Message::PrintMess(), stsxyter::Status, and stsxyter::TsMsb.

Referenced by DoUnpack().

◆ ReInitContainers()

Bool_t CbmMcbm2018MonitorMuchLite::ReInitContainers ( )
virtual

Reimplemented from CbmMcbmUnpack.

Definition at line 183 of file CbmMcbm2018MonitorMuchLite.cxx.

References InitMuchParameters().

◆ Reset()

void CbmMcbm2018MonitorMuchLite::Reset ( )
virtual

Implements CbmMcbmUnpack.

Definition at line 1544 of file CbmMcbm2018MonitorMuchLite.cxx.

◆ ResetAllHistos()

◆ ResetMuchHistos()

void CbmMcbm2018MonitorMuchLite::ResetMuchHistos ( )
private

◆ SaveAllHistos()

◆ SaveHistos()

void CbmMcbm2018MonitorMuchLite::SaveHistos ( TString  sFileName = "")

◆ SaveMuchHistos()

void CbmMcbm2018MonitorMuchLite::SaveMuchHistos ( TString  sFileName = "")
private

◆ ScanForNoisyChannels()

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

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

Definition at line 1736 of file CbmMcbm2018MonitorMuchLite.cxx.

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

Referenced by DoUnpack().

◆ SetBinningFwFlag()

void CbmMcbm2018MonitorMuchLite::SetBinningFwFlag ( Bool_t  bEnable = kTRUE)
inline

=> Quick and dirty hack for binning FW!!!

Definition at line 89 of file CbmMcbm2018MonitorMuchLite.h.

References fbBinningFw.

◆ SetHistoFileName()

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

Definition at line 65 of file CbmMcbm2018MonitorMuchLite.h.

References fsHistoFileFullname.

◆ SetMsOverlap()

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

Definition at line 57 of file CbmMcbm2018MonitorMuchLite.h.

References fuNbOverMsPerTs.

◆ SetMuchMode()

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

Definition at line 82 of file CbmMcbm2018MonitorMuchLite.h.

References fbMuchMode.

◆ SetNbMsInTs()

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

◆ SetParContainers()

void CbmMcbm2018MonitorMuchLite::SetParContainers ( )
virtual

Implements CbmMcbmUnpack.

Definition at line 167 of file CbmMcbm2018MonitorMuchLite.cxx.

References fUnpackParMuch.

◆ SetPrintMessage()

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

Definition at line 69 of file CbmMcbm2018MonitorMuchLite.h.

References fbPrintMessages, and fPrintMessCtrl.

◆ SetRunStart()

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

Definition at line 1723 of file CbmMcbm2018MonitorMuchLite.cxx.

References fiBinSizeDatePlots, and fiRunStartDateTimeSec.

◆ UseDaqBuffer()

void CbmMcbm2018MonitorMuchLite::UseDaqBuffer ( Bool_t  )
inline

Definition at line 85 of file CbmMcbm2018MonitorMuchLite.h.

Member Data Documentation

◆ Counter

UInt_t CbmMcbm2018MonitorMuchLite::Counter
private

Rate evolution histos.

Definition at line 198 of file CbmMcbm2018MonitorMuchLite.h.

Referenced by FillHitInfo().

◆ Counter1

UInt_t CbmMcbm2018MonitorMuchLite::Counter1
private

Definition at line 199 of file CbmMcbm2018MonitorMuchLite.h.

Referenced by FillHitInfo().

◆ fbBinningFw

Bool_t CbmMcbm2018MonitorMuchLite::fbBinningFw = kFALSE
private

=> Quick and dirty hack for binning FW!!!

Definition at line 97 of file CbmMcbm2018MonitorMuchLite.h.

Referenced by DoUnpack(), FillHitInfo(), FillTsMsbInfo(), InitMuchParameters(), ProcessMuchMs(), and SetBinningFwFlag().

◆ fbIgnoreOverlapMs

Bool_t CbmMcbm2018MonitorMuchLite::fbIgnoreOverlapMs
private

Definition at line 104 of file CbmMcbm2018MonitorMuchLite.h.

Referenced by DoUnpack().

◆ fbMuchMode

Bool_t CbmMcbm2018MonitorMuchLite::fbMuchMode
private

Definition at line 94 of file CbmMcbm2018MonitorMuchLite.h.

Referenced by ProcessMuchMs(), and SetMuchMode().

◆ fbPrintMessages

Bool_t CbmMcbm2018MonitorMuchLite::fbPrintMessages
private

Task configuration values.

Definition at line 125 of file CbmMcbm2018MonitorMuchLite.h.

Referenced by ProcessMuchMs(), and SetPrintMessage().

◆ fcMsSizeAll

TCanvas* CbmMcbm2018MonitorMuchLite::fcMsSizeAll
private

Definition at line 262 of file CbmMcbm2018MonitorMuchLite.h.

Referenced by AddMsComponentToList(), and CreateHistograms().

◆ fdMuchFebChanLastTimeForDist

std::vector<std::vector<Double_t> > CbmMcbm2018MonitorMuchLite::fdMuchFebChanLastTimeForDist
private

Definition at line 253 of file CbmMcbm2018MonitorMuchLite.h.

Referenced by InitMuchParameters().

◆ fDpbIdIndexMap

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

Total number of STS DPBs in system.

Definition at line 109 of file CbmMcbm2018MonitorMuchLite.h.

Referenced by DoUnpack(), InitMuchParameters(), and ProcessMuchMs().

◆ fdStartTime

Double_t CbmMcbm2018MonitorMuchLite::fdStartTime
private

previous channel

Definition at line 173 of file CbmMcbm2018MonitorMuchLite.h.

Referenced by FillHitInfo(), and ResetAllHistos().

◆ fdStartTimeMsSz

Double_t CbmMcbm2018MonitorMuchLite::fdStartTimeMsSz
private

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

Definition at line 175 of file CbmMcbm2018MonitorMuchLite.h.

Referenced by ProcessMuchMs(), and ResetAllHistos().

◆ fhDpbMsErrors

TH2* CbmMcbm2018MonitorMuchLite::fhDpbMsErrors = nullptr
private

Binning FW error flag.

Definition at line 260 of file CbmMcbm2018MonitorMuchLite.h.

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

◆ fhFEBcount

TH1* CbmMcbm2018MonitorMuchLite::fhFEBcount = nullptr
private

◆ fHistPadDistr

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

Plots per FEB-8.

Definition at line 225 of file CbmMcbm2018MonitorMuchLite.h.

Referenced by CreateHistograms().

◆ fHM

CbmHistManager* CbmMcbm2018MonitorMuchLite::fHM
private

Coincidences in sorted hits.

Histograms

Definition at line 207 of file CbmMcbm2018MonitorMuchLite.h.

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

◆ fhMsStatusFieldType

TH2* CbmMcbm2018MonitorMuchLite::fhMsStatusFieldType
private

◆ fhMsSz

TH1* CbmMcbm2018MonitorMuchLite::fhMsSz[kiMaxNbFlibLinks]
private

◆ fhMsSzTime

TProfile* CbmMcbm2018MonitorMuchLite::fhMsSzTime[kiMaxNbFlibLinks]
private

◆ fhMuchChannelTime

std::vector<TH2*> CbmMcbm2018MonitorMuchLite::fhMuchChannelTime = {}
private

◆ fhMuchFebADC

std::vector<TH2*> CbmMcbm2018MonitorMuchLite::fhMuchFebADC = {}
private

◆ fhMuchFebChanAdcRaw

std::vector<TH2*> CbmMcbm2018MonitorMuchLite::fhMuchFebChanAdcRaw
private

Definition at line 233 of file CbmMcbm2018MonitorMuchLite.h.

Referenced by CreateHistograms().

◆ fhMuchFebChanAdcRaw_combined

TH1* CbmMcbm2018MonitorMuchLite::fhMuchFebChanAdcRaw_combined
private

Definition at line 210 of file CbmMcbm2018MonitorMuchLite.h.

Referenced by CreateHistograms().

◆ fhMuchFebChanAdcRawProf

std::vector<TProfile*> CbmMcbm2018MonitorMuchLite::fhMuchFebChanAdcRawProf
private

Definition at line 234 of file CbmMcbm2018MonitorMuchLite.h.

Referenced by CreateHistograms().

◆ fhMuchFebChanCntRaw

std::vector<TH1*> CbmMcbm2018MonitorMuchLite::fhMuchFebChanCntRaw
private

◆ fhMuchFebChanDistT

std::vector<TH2*> CbmMcbm2018MonitorMuchLite::fhMuchFebChanDistT
private

Definition at line 254 of file CbmMcbm2018MonitorMuchLite.h.

Referenced by CreateHistograms().

◆ fhMuchFebChanHitRateEvo

std::vector<TH2*> CbmMcbm2018MonitorMuchLite::fhMuchFebChanHitRateEvo
private

Definition at line 243 of file CbmMcbm2018MonitorMuchLite.h.

Referenced by CreateHistograms().

◆ fhMuchFebChanHitRateProf

std::vector<TProfile*> CbmMcbm2018MonitorMuchLite::fhMuchFebChanHitRateProf
private

◆ fhMuchFebChanRawTs

std::vector<TH2*> CbmMcbm2018MonitorMuchLite::fhMuchFebChanRawTs
private

Definition at line 237 of file CbmMcbm2018MonitorMuchLite.h.

Referenced by CreateHistograms().

◆ fhMuchFebDuplicateHitProf

std::vector<TProfile*> CbmMcbm2018MonitorMuchLite::fhMuchFebDuplicateHitProf
private

Definition at line 257 of file CbmMcbm2018MonitorMuchLite.h.

Referenced by CreateHistograms(), and ResetAllHistos().

◆ fhMuchFebHitRateEvo

std::vector<TH1*> CbmMcbm2018MonitorMuchLite::fhMuchFebHitRateEvo
private

Definition at line 246 of file CbmMcbm2018MonitorMuchLite.h.

Referenced by CreateHistograms().

◆ fhMuchFebHitRateEvo_mskch

std::vector<TH1*> CbmMcbm2018MonitorMuchLite::fhMuchFebHitRateEvo_mskch
private

Definition at line 247 of file CbmMcbm2018MonitorMuchLite.h.

Referenced by CreateHistograms().

◆ fhMuchFebHitRateEvo_mskch_adccut

std::vector<TH1*> CbmMcbm2018MonitorMuchLite::fhMuchFebHitRateEvo_mskch_adccut
private

Definition at line 248 of file CbmMcbm2018MonitorMuchLite.h.

Referenced by CreateHistograms().

◆ fhMuchFebHitRateEvo_WithoutDupli

std::vector<TH1*> CbmMcbm2018MonitorMuchLite::fhMuchFebHitRateEvo_WithoutDupli
private

Definition at line 249 of file CbmMcbm2018MonitorMuchLite.h.

Referenced by CreateHistograms().

◆ fhMuchFebSpill

std::vector<TH1*> CbmMcbm2018MonitorMuchLite::fhMuchFebSpill = {}
private

◆ fhMuchHitsElinkPerDpb

TH2* CbmMcbm2018MonitorMuchLite::fhMuchHitsElinkPerDpb
private

◆ fhMuchMessType

TH1* CbmMcbm2018MonitorMuchLite::fhMuchMessType
private

Histogram manager.

Definition at line 208 of file CbmMcbm2018MonitorMuchLite.h.

Referenced by CreateHistograms().

◆ fhMuchMessTypePerDpb

TH2* CbmMcbm2018MonitorMuchLite::fhMuchMessTypePerDpb
private

Definition at line 211 of file CbmMcbm2018MonitorMuchLite.h.

Referenced by CreateHistograms().

◆ fhMuchSysMessType

TH1* CbmMcbm2018MonitorMuchLite::fhMuchSysMessType
private

Definition at line 209 of file CbmMcbm2018MonitorMuchLite.h.

Referenced by CreateHistograms().

◆ fhMuchSysMessTypePerDpb

TH2* CbmMcbm2018MonitorMuchLite::fhMuchSysMessTypePerDpb
private

Definition at line 212 of file CbmMcbm2018MonitorMuchLite.h.

Referenced by CreateHistograms().

◆ fhRate

TH1* CbmMcbm2018MonitorMuchLite::fhRate
private

Definition at line 217 of file CbmMcbm2018MonitorMuchLite.h.

Referenced by CreateHistograms().

◆ fhRateAdcCut

TH1* CbmMcbm2018MonitorMuchLite::fhRateAdcCut
private

Definition at line 218 of file CbmMcbm2018MonitorMuchLite.h.

Referenced by CreateHistograms().

◆ fhStatusMessType

TH2* CbmMcbm2018MonitorMuchLite::fhStatusMessType
private

Definition at line 213 of file CbmMcbm2018MonitorMuchLite.h.

Referenced by CreateHistograms().

◆ fiBinSizeDatePlots

Int_t CbmMcbm2018MonitorMuchLite::fiBinSizeDatePlots
private

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

Definition at line 141 of file CbmMcbm2018MonitorMuchLite.h.

Referenced by SetRunStart().

◆ fiRunStartDateTimeSec

Int_t CbmMcbm2018MonitorMuchLite::fiRunStartDateTimeSec
private

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

Definition at line 140 of file CbmMcbm2018MonitorMuchLite.h.

Referenced by SetRunStart().

◆ fiTimeIntervalRateUpdate

Int_t CbmMcbm2018MonitorMuchLite::fiTimeIntervalRateUpdate
private

Mean Rate per channel plots.

Definition at line 189 of file CbmMcbm2018MonitorMuchLite.h.

Referenced by ProcessMuchMs().

◆ fmMsgCounter

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

Current data properties.

Definition at line 132 of file CbmMcbm2018MonitorMuchLite.h.

Referenced by Finish(), and ProcessMuchMs().

◆ fPrintMessCtrl

stsxyter::MessagePrintMask CbmMcbm2018MonitorMuchLite::fPrintMessCtrl
private

Definition at line 126 of file CbmMcbm2018MonitorMuchLite.h.

Referenced by ProcessMuchMs(), and SetPrintMessage().

◆ fRealHistPadDistr

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

Definition at line 226 of file CbmMcbm2018MonitorMuchLite.h.

Referenced by CreateHistograms().

◆ fsHistoFileFullname

TString CbmMcbm2018MonitorMuchLite::fsHistoFileFullname
private

Internal Control/status of monitor Histo File name and path

Definition at line 123 of file CbmMcbm2018MonitorMuchLite.h.

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

◆ ftStartTimeUnix

std::chrono::steady_clock::time_point CbmMcbm2018MonitorMuchLite::ftStartTimeUnix
private

Time of first microslice, used as reference for evolution plots

Definition at line 177 of file CbmMcbm2018MonitorMuchLite.h.

◆ fuCurrDpbId

UInt_t CbmMcbm2018MonitorMuchLite::fuCurrDpbId
private

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

Definition at line 136 of file CbmMcbm2018MonitorMuchLite.h.

Referenced by ProcessMuchMs().

◆ fuCurrDpbIdx

UInt_t CbmMcbm2018MonitorMuchLite::fuCurrDpbIdx
private

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

Definition at line 138 of file CbmMcbm2018MonitorMuchLite.h.

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

◆ fuCurrentEquipmentId

UInt_t CbmMcbm2018MonitorMuchLite::fuCurrentEquipmentId
private

Definition at line 134 of file CbmMcbm2018MonitorMuchLite.h.

Referenced by ProcessMuchMs().

◆ fulCurrentMsIdx

ULong64_t CbmMcbm2018MonitorMuchLite::fulCurrentMsIdx
private

Definition at line 130 of file CbmMcbm2018MonitorMuchLite.h.

Referenced by ProcessMuchMs().

◆ fulCurrentTsIdx

ULong64_t CbmMcbm2018MonitorMuchLite::fulCurrentTsIdx
private

TS/MS info.

Definition at line 129 of file CbmMcbm2018MonitorMuchLite.h.

Referenced by DoUnpack(), and ProcessMuchMs().

◆ fuMaxNbMicroslices

UInt_t CbmMcbm2018MonitorMuchLite::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 187 of file CbmMcbm2018MonitorMuchLite.h.

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

◆ fuNbCoreMsPerTs

size_t CbmMcbm2018MonitorMuchLite::fuNbCoreMsPerTs
private

Definition at line 101 of file CbmMcbm2018MonitorMuchLite.h.

Referenced by DoUnpack(), and SetNbMsInTs().

◆ fuNbFebs

UInt_t CbmMcbm2018MonitorMuchLite::fuNbFebs
private

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

Definition at line 112 of file CbmMcbm2018MonitorMuchLite.h.

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

◆ fuNbOverMsPerTs

size_t CbmMcbm2018MonitorMuchLite::fuNbOverMsPerTs
private

Definition at line 102 of file CbmMcbm2018MonitorMuchLite.h.

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

◆ fuNbStsXyters

UInt_t CbmMcbm2018MonitorMuchLite::fuNbStsXyters
private

Number of StsXyter ASICs.

Definition at line 113 of file CbmMcbm2018MonitorMuchLite.h.

Referenced by CreateHistograms(), InitMuchParameters(), and SetNbMsInTs().

◆ fUnpackParMuch

CbmMcbm2018MuchPar* CbmMcbm2018MonitorMuchLite::fUnpackParMuch
private

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

Definition at line 106 of file CbmMcbm2018MonitorMuchLite.h.

Referenced by CreateHistograms(), DoUnpack(), FillHitInfo(), InitMuchParameters(), ProcessMuchMs(), ResetAllHistos(), SaveAllHistos(), ScanForNoisyChannels(), SetNbMsInTs(), and SetParContainers().

◆ fuNrOfDpbs

UInt_t CbmMcbm2018MonitorMuchLite::fuNrOfDpbs
private

Definition at line 107 of file CbmMcbm2018MonitorMuchLite.h.

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

◆ fvbCrobActiveFlag

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

Map of DPB Identifier to DPB index.

Definition at line 111 of file CbmMcbm2018MonitorMuchLite.h.

Referenced by InitMuchParameters().

◆ fvbMaskedComponents

std::vector<Bool_t> CbmMcbm2018MonitorMuchLite::fvbMaskedComponents
private

Definition at line 95 of file CbmMcbm2018MonitorMuchLite.h.

Referenced by ProcessMuchMs().

◆ fvdChanLastHitTime

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

Last hit time in bins for each Channel.

Definition at line 156 of file CbmMcbm2018MonitorMuchLite.h.

Referenced by FillHitInfo(), and InitMuchParameters().

◆ fvdChanLastHitTimeInMs

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

Number of hits in each MS for each Channel.

Definition at line 162 of file CbmMcbm2018MonitorMuchLite.h.

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

◆ fvdFebChanCountsSinceLastRateUpdate

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

Definition at line 192 of file CbmMcbm2018MonitorMuchLite.h.

Referenced by FillHitInfo(), InitMuchParameters(), and ProcessMuchMs().

◆ fvdMsTime

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

Header time of previous MS per link.

Definition at line 158 of file CbmMcbm2018MonitorMuchLite.h.

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

◆ fvdPrevMsTime

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

Last hit time in ns for each Channel.

Definition at line 157 of file CbmMcbm2018MonitorMuchLite.h.

Referenced by InitMuchParameters(), and ProcessMuchMs().

◆ fviFebCountsSinceLastRateUpdate

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

Definition at line 191 of file CbmMcbm2018MonitorMuchLite.h.

Referenced by FillHitInfo(), InitMuchParameters(), and ProcessMuchMs().

◆ fviFebTimeSecLastRateUpdate

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

Definition at line 190 of file CbmMcbm2018MonitorMuchLite.h.

Referenced by InitMuchParameters(), and ProcessMuchMs().

◆ fvmAsicHitsInMs

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

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

Definition at line 183 of file CbmMcbm2018MonitorMuchLite.h.

Referenced by DoUnpack(), and InitMuchParameters().

◆ fvmFebHitsInMs

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

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

Definition at line 185 of file CbmMcbm2018MonitorMuchLite.h.

Referenced by DoUnpack(), and InitMuchParameters().

◆ fvmHitsInMs

std::vector<stsxyter::FinalHit> CbmMcbm2018MonitorMuchLite::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 181 of file CbmMcbm2018MonitorMuchLite.h.

Referenced by DoUnpack(), and FillHitInfo().

◆ fvMsComponentsList

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

Definition at line 100 of file CbmMcbm2018MonitorMuchLite.h.

Referenced by AddMsComponentToList(), and DoUnpack().

◆ fvuChanNbHitsInMs

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

Header time of each MS.

Definition at line 160 of file CbmMcbm2018MonitorMuchLite.h.

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

◆ fvuCurrentTsMsbCycle

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

Current TS MSB for each DPB.

Definition at line 145 of file CbmMcbm2018MonitorMuchLite.h.

Referenced by DoUnpack(), FillHitInfo(), FillTsMsbInfo(), InitMuchParameters(), and ProcessMuchMs().

◆ fvuElinkLastTsHit

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

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

Definition at line 150 of file CbmMcbm2018MonitorMuchLite.h.

Referenced by InitMuchParameters().

◆ fvuInitialHeaderDone

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

Current TS MSB cycle for DPB.

Definition at line 147 of file CbmMcbm2018MonitorMuchLite.h.

Referenced by InitMuchParameters(), and ProcessMuchMs().

◆ fvuInitialTsMsbCycleHeader

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

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

Definition at line 149 of file CbmMcbm2018MonitorMuchLite.h.

Referenced by InitMuchParameters(), and ProcessMuchMs().

◆ fvulChanLastHitTime

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

TS from last hit for DPB Hits comparison

Definition at line 153 of file CbmMcbm2018MonitorMuchLite.h.

Referenced by FillHitInfo(), and InitMuchParameters().

◆ fvulCurrentTsMsb

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

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

Data format control

Definition at line 144 of file CbmMcbm2018MonitorMuchLite.h.

Referenced by DoUnpack(), FillHitInfo(), FillTsMsbInfo(), InitMuchParameters(), and ProcessMuchMs().

◆ fvusChanLastHitAdcInMs

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

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

Definition at line 164 of file CbmMcbm2018MonitorMuchLite.h.

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

◆ kiMaxNbFlibLinks

const Int_t CbmMcbm2018MonitorMuchLite::kiMaxNbFlibLinks = 32
staticprivate

◆ kuBytesPerMessage

const UInt_t CbmMcbm2018MonitorMuchLite::kuBytesPerMessage = 4
staticprivate

Definition at line 119 of file CbmMcbm2018MonitorMuchLite.h.

Referenced by ProcessMuchMs().

◆ prevAsic

UInt_t CbmMcbm2018MonitorMuchLite::prevAsic
private

previous time for consecutive hit time

Definition at line 170 of file CbmMcbm2018MonitorMuchLite.h.

Referenced by FillHitInfo().

◆ prevChan

UInt_t CbmMcbm2018MonitorMuchLite::prevChan
private

previous asic

Definition at line 171 of file CbmMcbm2018MonitorMuchLite.h.

Referenced by FillHitInfo().

◆ prevTime

Long64_t CbmMcbm2018MonitorMuchLite::prevTime
private

previous time for consecutive hit time

Definition at line 169 of file CbmMcbm2018MonitorMuchLite.h.

Referenced by FillHitInfo().

◆ prevtime_new

Long64_t CbmMcbm2018MonitorMuchLite::prevtime_new
private

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

Starting state book-keeping

Definition at line 168 of file CbmMcbm2018MonitorMuchLite.h.

Referenced by FillHitInfo().


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