CbmRoot
CbmMcbm2018MonitorDataRates Class Reference

#include <CbmMcbm2018MonitorDataRates.h>

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

Public Member Functions

 CbmMcbm2018MonitorDataRates ()
 
virtual ~CbmMcbm2018MonitorDataRates ()
 
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 ()
 
void SetMsLimitLevel (size_t uAcceptBoundaryPct=100)
 
size_t GetMsLimitLevel ()
 
virtual void AddMsComponentToList (size_t component, UShort_t usDetectorId)
 
virtual void SetNbMsInTs (size_t uCoreMsNb, size_t uOverlapMsNb)
 
void SetIgnoreOverlapMs (Bool_t bEnaFlag=kTRUE)
 
void SetMsOverlap (size_t uOverlapMsNb=1)
 
size_t GetMsOverlap ()
 
void SetHistoFilename (TString sNameIn)
 
void SetHistoryHistoSize (UInt_t inHistorySizeSec=1800)
 
void AddEqIdChannelNumber (UInt_t uEqId, UInt_t uNbCh)
 
void SaveAllHistos (TString sFileName="")
 
void ResetAllHistos ()
 
void ResetEvolutionHistograms ()
 
void UseDaqBuffer (Bool_t)
 

Private Member Functions

void CreateHistograms ()
 
 CbmMcbm2018MonitorDataRates (const CbmMcbm2018MonitorDataRates &)
 
CbmMcbm2018MonitorDataRates operator= (const CbmMcbm2018MonitorDataRates &)
 

Private Attributes

std::vector< size_t > fvMsComponentsList
 FLES containers. More...
 
size_t fuNbCoreMsPerTs
 
size_t fuNbOverMsPerTs
 
Bool_t fbIgnoreOverlapMs
 
size_t fuMsAcceptsPercent
 /‍** Ignore Overlap Ms: all fuOverlapMsNb MS at the end of timeslice **‍/ More...
 
size_t fuTotalMsNb
 
size_t fuOverlapMsNb
 
size_t fuCoreMs
 
Double_t fdMsSizeInNs
 
Double_t fdTsCoreSizeInNs
 
TString fsHistoFilename
 
UInt_t fuNbFlimLinks
 
std::map< UInt_t, UInt_t > fmChannelsPerEqId
 Parameters. More...
 
uint64_t fulCurrentTsIndex
 
size_t fuCurrentMs
 
size_t fuCurrentMsSysId
 
Double_t fdMsIndex
 
Int_t fiEquipmentId
 
Double_t fdStartTimeMsSz
 Histograms and histogram control variables. More...
 
UInt_t fuHistoryHistoSize
 
std::vector< UInt_t > fvuTsSzLink
 
TCanvas * fcDataRateTimeAll
 
TCanvas * fcTsSizeAll
 
TCanvas * fcTsSizeTimeAll
 
TCanvas * fcMsSizeAll
 
TCanvas * fcMsSizeTimeAll
 
TCanvas * fcMsMessAll
 
TCanvas * fcMsMessTimeAll
 
TCanvas * fcMsDataChAll
 
TCanvas * fcMsDataChTimeAll
 
TH1 * fhDataRateTimeAllLinks
 
std::vector< TH1 * > fvhDataRateTimePerLink
 
std::vector< TH1 * > fvhTsSzPerLink
 
std::vector< TProfile * > fvhTsSzTimePerLink
 
std::vector< TH1 * > fvhMsSzPerLink
 
std::vector< TProfile * > fvhMsSzTimePerLink
 
std::vector< TH1 * > fvhMsMessPerLink
 
std::vector< TProfile * > fvhMsMessTimePerLink
 
std::vector< TH1 * > fvhMsMeanChDataPerLink
 
std::vector< TH1 * > fvhMsMeanChDataTimePerLink
 

Static Private Attributes

static const UInt_t kuSysIdSts = 10
 Constants. More...
 
static const UInt_t kuSysIdRich = 30
 
static const UInt_t kuSysIdMuch = 40
 
static const UInt_t kuSysIdTof = 60
 
static const UInt_t kuSysIdT0 = 90
 
static const UInt_t kuBytesPerMessageSts = 4
 
static const UInt_t kuBytesPerMessageRich = 4
 
static const UInt_t kuBytesPerMessageMuch = 4
 
static const UInt_t kuBytesPerMessageTof = 8
 
static const UInt_t kuBytesPerMessageT0 = 8
 

Detailed Description

Definition at line 30 of file CbmMcbm2018MonitorDataRates.h.

Constructor & Destructor Documentation

◆ CbmMcbm2018MonitorDataRates() [1/2]

CbmMcbm2018MonitorDataRates::CbmMcbm2018MonitorDataRates ( )

Definition at line 45 of file CbmMcbm2018MonitorDataRates.cxx.

◆ ~CbmMcbm2018MonitorDataRates()

CbmMcbm2018MonitorDataRates::~CbmMcbm2018MonitorDataRates ( )
virtual

Definition at line 79 of file CbmMcbm2018MonitorDataRates.cxx.

◆ CbmMcbm2018MonitorDataRates() [2/2]

CbmMcbm2018MonitorDataRates::CbmMcbm2018MonitorDataRates ( const CbmMcbm2018MonitorDataRates )
private

Member Function Documentation

◆ AddEqIdChannelNumber()

void CbmMcbm2018MonitorDataRates::AddEqIdChannelNumber ( UInt_t  uEqId,
UInt_t  uNbCh 
)
inline

Definition at line 67 of file CbmMcbm2018MonitorDataRates.h.

References fmChannelsPerEqId.

◆ AddMsComponentToList()

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

Check for duplicates and ignore if it is the case

Add to list

Logarithmic bining

Parameters are NbDecadesLog, NbStepsDecade, NbSubStepsInStep

Create Data Rate monitoring histo

Create TS size monitoring histos

Cleanup array of log bins

Implements CbmMcbmUnpack.

Definition at line 111 of file CbmMcbm2018MonitorDataRates.cxx.

References fuHistoryHistoSize, fuNbFlimLinks, fvhDataRateTimePerLink, fvhMsMeanChDataPerLink, fvhMsMeanChDataTimePerLink, fvhMsMessPerLink, fvhMsMessTimePerLink, fvhMsSzPerLink, fvhMsSzTimePerLink, fvhTsSzPerLink, fvhTsSzTimePerLink, fvMsComponentsList, and GenerateLogBinArray().

◆ CreateHistograms()

void CbmMcbm2018MonitorDataRates::CreateHistograms ( )
private

Logarithmic bining

Parameters are NbDecadesLog, NbStepsDecade, NbSubStepsInStep

Create Data Rate monitoring histo

Create TS size monitoring histos

Create MS size monitoring histos

Cleanup array of log bins

Create Ms Size Canvas

Definition at line 231 of file CbmMcbm2018MonitorDataRates.cxx.

References fcDataRateTimeAll, fcMsDataChAll, fcMsDataChTimeAll, fcMsMessAll, fcMsMessTimeAll, fcMsSizeAll, fcMsSizeTimeAll, fcTsSizeAll, fcTsSizeTimeAll, fhDataRateTimeAllLinks, fuHistoryHistoSize, fuNbFlimLinks, fvhDataRateTimePerLink, fvhMsMeanChDataPerLink, fvhMsMeanChDataTimePerLink, fvhMsMessPerLink, fvhMsMessTimePerLink, fvhMsSzPerLink, fvhMsSzTimePerLink, fvhTsSzPerLink, fvhTsSzTimePerLink, and GenerateLogBinArray().

Referenced by InitContainers().

◆ DoUnpack()

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

◆ Finish()

void CbmMcbm2018MonitorDataRates::Finish ( )
virtual

Implements CbmMcbmUnpack.

Definition at line 600 of file CbmMcbm2018MonitorDataRates.cxx.

References fsHistoFilename, and SaveAllHistos().

◆ GetMsLimitLevel()

size_t CbmMcbm2018MonitorDataRates::GetMsLimitLevel ( )
inline

Definition at line 52 of file CbmMcbm2018MonitorDataRates.h.

References fuMsAcceptsPercent.

◆ GetMsOverlap()

size_t CbmMcbm2018MonitorDataRates::GetMsOverlap ( )
inline

Definition at line 60 of file CbmMcbm2018MonitorDataRates.h.

References fuOverlapMsNb.

◆ Init()

Bool_t CbmMcbm2018MonitorDataRates::Init ( )
virtual

Implements CbmMcbmUnpack.

Definition at line 81 of file CbmMcbm2018MonitorDataRates.cxx.

◆ InitContainers()

Bool_t CbmMcbm2018MonitorDataRates::InitContainers ( )
virtual

Reimplemented from CbmMcbmUnpack.

Definition at line 96 of file CbmMcbm2018MonitorDataRates.cxx.

References CreateHistograms(), and ReInitContainers().

◆ operator=()

CbmMcbm2018MonitorDataRates CbmMcbm2018MonitorDataRates::operator= ( const CbmMcbm2018MonitorDataRates )
private

◆ ReInitContainers()

Bool_t CbmMcbm2018MonitorDataRates::ReInitContainers ( )
virtual

Reimplemented from CbmMcbmUnpack.

Definition at line 105 of file CbmMcbm2018MonitorDataRates.cxx.

Referenced by InitContainers().

◆ Reset()

void CbmMcbm2018MonitorDataRates::Reset ( )
virtual

Implements CbmMcbmUnpack.

Definition at line 598 of file CbmMcbm2018MonitorDataRates.cxx.

◆ ResetAllHistos()

◆ ResetEvolutionHistograms()

void CbmMcbm2018MonitorDataRates::ResetEvolutionHistograms ( )

◆ SaveAllHistos()

◆ SetHistoFilename()

void CbmMcbm2018MonitorDataRates::SetHistoFilename ( TString  sNameIn)
inline

Definition at line 62 of file CbmMcbm2018MonitorDataRates.h.

References fsHistoFilename.

◆ SetHistoryHistoSize()

void CbmMcbm2018MonitorDataRates::SetHistoryHistoSize ( UInt_t  inHistorySizeSec = 1800)
inline

Definition at line 63 of file CbmMcbm2018MonitorDataRates.h.

References fuHistoryHistoSize.

◆ SetIgnoreOverlapMs()

void CbmMcbm2018MonitorDataRates::SetIgnoreOverlapMs ( Bool_t  bEnaFlag = kTRUE)
inline

Definition at line 56 of file CbmMcbm2018MonitorDataRates.h.

References fbIgnoreOverlapMs.

◆ SetMsLimitLevel()

void CbmMcbm2018MonitorDataRates::SetMsLimitLevel ( size_t  uAcceptBoundaryPct = 100)
inline

Definition at line 49 of file CbmMcbm2018MonitorDataRates.h.

References fuMsAcceptsPercent.

◆ SetMsOverlap()

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

Definition at line 59 of file CbmMcbm2018MonitorDataRates.h.

References fuOverlapMsNb.

◆ SetNbMsInTs()

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

Implements CbmMcbmUnpack.

Definition at line 223 of file CbmMcbm2018MonitorDataRates.cxx.

References fuNbCoreMsPerTs, and fuNbOverMsPerTs.

◆ SetParContainers()

void CbmMcbm2018MonitorDataRates::SetParContainers ( )
virtual

Implements CbmMcbmUnpack.

Definition at line 92 of file CbmMcbm2018MonitorDataRates.cxx.

◆ UseDaqBuffer()

void CbmMcbm2018MonitorDataRates::UseDaqBuffer ( Bool_t  )
inline

Definition at line 74 of file CbmMcbm2018MonitorDataRates.h.

Member Data Documentation

◆ fbIgnoreOverlapMs

Bool_t CbmMcbm2018MonitorDataRates::fbIgnoreOverlapMs
private

Definition at line 82 of file CbmMcbm2018MonitorDataRates.h.

Referenced by DoUnpack(), and SetIgnoreOverlapMs().

◆ fcDataRateTimeAll

TCanvas* CbmMcbm2018MonitorDataRates::fcDataRateTimeAll
private

Definition at line 128 of file CbmMcbm2018MonitorDataRates.h.

Referenced by CreateHistograms().

◆ fcMsDataChAll

TCanvas* CbmMcbm2018MonitorDataRates::fcMsDataChAll
private

Definition at line 135 of file CbmMcbm2018MonitorDataRates.h.

Referenced by CreateHistograms(), and SaveAllHistos().

◆ fcMsDataChTimeAll

TCanvas* CbmMcbm2018MonitorDataRates::fcMsDataChTimeAll
private

Definition at line 136 of file CbmMcbm2018MonitorDataRates.h.

Referenced by CreateHistograms(), and SaveAllHistos().

◆ fcMsMessAll

TCanvas* CbmMcbm2018MonitorDataRates::fcMsMessAll
private

Definition at line 133 of file CbmMcbm2018MonitorDataRates.h.

Referenced by CreateHistograms(), and SaveAllHistos().

◆ fcMsMessTimeAll

TCanvas* CbmMcbm2018MonitorDataRates::fcMsMessTimeAll
private

Definition at line 134 of file CbmMcbm2018MonitorDataRates.h.

Referenced by CreateHistograms(), and SaveAllHistos().

◆ fcMsSizeAll

TCanvas* CbmMcbm2018MonitorDataRates::fcMsSizeAll
private

Definition at line 131 of file CbmMcbm2018MonitorDataRates.h.

Referenced by CreateHistograms(), and SaveAllHistos().

◆ fcMsSizeTimeAll

TCanvas* CbmMcbm2018MonitorDataRates::fcMsSizeTimeAll
private

Definition at line 132 of file CbmMcbm2018MonitorDataRates.h.

Referenced by CreateHistograms(), and SaveAllHistos().

◆ fcTsSizeAll

TCanvas* CbmMcbm2018MonitorDataRates::fcTsSizeAll
private

Definition at line 129 of file CbmMcbm2018MonitorDataRates.h.

Referenced by CreateHistograms().

◆ fcTsSizeTimeAll

TCanvas* CbmMcbm2018MonitorDataRates::fcTsSizeTimeAll
private

Definition at line 130 of file CbmMcbm2018MonitorDataRates.h.

Referenced by CreateHistograms().

◆ fdMsIndex

Double_t CbmMcbm2018MonitorDataRates::fdMsIndex
private

Definition at line 105 of file CbmMcbm2018MonitorDataRates.h.

Referenced by DoUnpack().

◆ fdMsSizeInNs

Double_t CbmMcbm2018MonitorDataRates::fdMsSizeInNs
private

Number of non overlap MS at beginning of TS

Definition at line 91 of file CbmMcbm2018MonitorDataRates.h.

◆ fdStartTimeMsSz

Double_t CbmMcbm2018MonitorDataRates::fdStartTimeMsSz
private

Histograms and histogram control variables.

Definition at line 123 of file CbmMcbm2018MonitorDataRates.h.

Referenced by DoUnpack(), and ResetAllHistos().

◆ fdTsCoreSizeInNs

Double_t CbmMcbm2018MonitorDataRates::fdTsCoreSizeInNs
private

Definition at line 92 of file CbmMcbm2018MonitorDataRates.h.

◆ fhDataRateTimeAllLinks

TH1* CbmMcbm2018MonitorDataRates::fhDataRateTimeAllLinks
private

◆ fiEquipmentId

Int_t CbmMcbm2018MonitorDataRates::fiEquipmentId
private

Definition at line 106 of file CbmMcbm2018MonitorDataRates.h.

Referenced by DoUnpack().

◆ fmChannelsPerEqId

std::map<UInt_t, UInt_t> CbmMcbm2018MonitorDataRates::fmChannelsPerEqId
private

Parameters.

Definition at line 99 of file CbmMcbm2018MonitorDataRates.h.

Referenced by AddEqIdChannelNumber(), and DoUnpack().

◆ fsHistoFilename

TString CbmMcbm2018MonitorDataRates::fsHistoFilename
private

Control Flags

Definition at line 95 of file CbmMcbm2018MonitorDataRates.h.

Referenced by Finish(), and SetHistoFilename().

◆ fuCoreMs

size_t CbmMcbm2018MonitorDataRates::fuCoreMs
private

Overlap Ms: all fuOverlapMsNb MS at the end of timeslice

Definition at line 90 of file CbmMcbm2018MonitorDataRates.h.

◆ fuCurrentMs

size_t CbmMcbm2018MonitorDataRates::fuCurrentMs
private

Definition at line 103 of file CbmMcbm2018MonitorDataRates.h.

Referenced by DoUnpack().

◆ fuCurrentMsSysId

size_t CbmMcbm2018MonitorDataRates::fuCurrentMsSysId
private

Definition at line 104 of file CbmMcbm2018MonitorDataRates.h.

Referenced by DoUnpack().

◆ fuHistoryHistoSize

UInt_t CbmMcbm2018MonitorDataRates::fuHistoryHistoSize
private

Time of first microslice, used as reference for evolution plots

Definition at line 124 of file CbmMcbm2018MonitorDataRates.h.

Referenced by AddMsComponentToList(), CreateHistograms(), DoUnpack(), and SetHistoryHistoSize().

◆ fulCurrentTsIndex

uint64_t CbmMcbm2018MonitorDataRates::fulCurrentTsIndex
private

Running indices

Definition at line 102 of file CbmMcbm2018MonitorDataRates.h.

Referenced by DoUnpack().

◆ fuMsAcceptsPercent

size_t CbmMcbm2018MonitorDataRates::fuMsAcceptsPercent
private

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

OLD, to be cleaned out !!!!!

Definition at line 86 of file CbmMcbm2018MonitorDataRates.h.

Referenced by DoUnpack(), GetMsLimitLevel(), and SetMsLimitLevel().

◆ fuNbCoreMsPerTs

size_t CbmMcbm2018MonitorDataRates::fuNbCoreMsPerTs
private

Definition at line 79 of file CbmMcbm2018MonitorDataRates.h.

Referenced by DoUnpack(), and SetNbMsInTs().

◆ fuNbFlimLinks

UInt_t CbmMcbm2018MonitorDataRates::fuNbFlimLinks
private

◆ fuNbOverMsPerTs

size_t CbmMcbm2018MonitorDataRates::fuNbOverMsPerTs
private

Definition at line 80 of file CbmMcbm2018MonitorDataRates.h.

Referenced by DoUnpack(), and SetNbMsInTs().

◆ fuOverlapMsNb

size_t CbmMcbm2018MonitorDataRates::fuOverlapMsNb
private

Total nb of MS per link in timeslice

Definition at line 89 of file CbmMcbm2018MonitorDataRates.h.

Referenced by GetMsOverlap(), and SetMsOverlap().

◆ fuTotalMsNb

size_t CbmMcbm2018MonitorDataRates::fuTotalMsNb
private

Reject Ms with index inside TS above this, assumes 100 MS per TS

Definition at line 87 of file CbmMcbm2018MonitorDataRates.h.

◆ fvhDataRateTimePerLink

std::vector<TH1*> CbmMcbm2018MonitorDataRates::fvhDataRateTimePerLink
private

◆ fvhMsMeanChDataPerLink

std::vector<TH1*> CbmMcbm2018MonitorDataRates::fvhMsMeanChDataPerLink
private

◆ fvhMsMeanChDataTimePerLink

std::vector<TH1*> CbmMcbm2018MonitorDataRates::fvhMsMeanChDataTimePerLink
private

◆ fvhMsMessPerLink

std::vector<TH1*> CbmMcbm2018MonitorDataRates::fvhMsMessPerLink
private

◆ fvhMsMessTimePerLink

std::vector<TProfile*> CbmMcbm2018MonitorDataRates::fvhMsMessTimePerLink
private

◆ fvhMsSzPerLink

std::vector<TH1*> CbmMcbm2018MonitorDataRates::fvhMsSzPerLink
private

◆ fvhMsSzTimePerLink

std::vector<TProfile*> CbmMcbm2018MonitorDataRates::fvhMsSzTimePerLink
private

◆ fvhTsSzPerLink

std::vector<TH1*> CbmMcbm2018MonitorDataRates::fvhTsSzPerLink
private

◆ fvhTsSzTimePerLink

std::vector<TProfile*> CbmMcbm2018MonitorDataRates::fvhTsSzTimePerLink
private

◆ fvMsComponentsList

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

FLES containers.

Definition at line 78 of file CbmMcbm2018MonitorDataRates.h.

Referenced by AddMsComponentToList(), and DoUnpack().

◆ fvuTsSzLink

std::vector<UInt_t> CbmMcbm2018MonitorDataRates::fvuTsSzLink
private

Size in seconds of the evolution histograms

Definition at line 126 of file CbmMcbm2018MonitorDataRates.h.

Referenced by DoUnpack().

◆ kuBytesPerMessageMuch

const UInt_t CbmMcbm2018MonitorDataRates::kuBytesPerMessageMuch = 4
staticprivate

Definition at line 116 of file CbmMcbm2018MonitorDataRates.h.

Referenced by DoUnpack().

◆ kuBytesPerMessageRich

const UInt_t CbmMcbm2018MonitorDataRates::kuBytesPerMessageRich = 4
staticprivate

Definition at line 115 of file CbmMcbm2018MonitorDataRates.h.

Referenced by DoUnpack().

◆ kuBytesPerMessageSts

const UInt_t CbmMcbm2018MonitorDataRates::kuBytesPerMessageSts = 4
staticprivate

Definition at line 114 of file CbmMcbm2018MonitorDataRates.h.

Referenced by DoUnpack().

◆ kuBytesPerMessageT0

const UInt_t CbmMcbm2018MonitorDataRates::kuBytesPerMessageT0 = 8
staticprivate

Definition at line 118 of file CbmMcbm2018MonitorDataRates.h.

Referenced by DoUnpack().

◆ kuBytesPerMessageTof

const UInt_t CbmMcbm2018MonitorDataRates::kuBytesPerMessageTof = 8
staticprivate

Definition at line 117 of file CbmMcbm2018MonitorDataRates.h.

Referenced by DoUnpack().

◆ kuSysIdMuch

const UInt_t CbmMcbm2018MonitorDataRates::kuSysIdMuch = 40
staticprivate

Definition at line 111 of file CbmMcbm2018MonitorDataRates.h.

Referenced by DoUnpack().

◆ kuSysIdRich

const UInt_t CbmMcbm2018MonitorDataRates::kuSysIdRich = 30
staticprivate

Definition at line 110 of file CbmMcbm2018MonitorDataRates.h.

Referenced by DoUnpack().

◆ kuSysIdSts

const UInt_t CbmMcbm2018MonitorDataRates::kuSysIdSts = 10
staticprivate

Constants.

Definition at line 109 of file CbmMcbm2018MonitorDataRates.h.

Referenced by DoUnpack().

◆ kuSysIdT0

const UInt_t CbmMcbm2018MonitorDataRates::kuSysIdT0 = 90
staticprivate

Definition at line 113 of file CbmMcbm2018MonitorDataRates.h.

Referenced by DoUnpack().

◆ kuSysIdTof

const UInt_t CbmMcbm2018MonitorDataRates::kuSysIdTof = 60
staticprivate

Definition at line 112 of file CbmMcbm2018MonitorDataRates.h.

Referenced by DoUnpack().


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