CbmRoot
CbmMcbm2018MonitorAlgoTofPulser Class Reference

#include <CbmMcbm2018MonitorAlgoTofPulser.h>

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

Public Member Functions

 CbmMcbm2018MonitorAlgoTofPulser ()
 
 ~CbmMcbm2018MonitorAlgoTofPulser ()
 
virtual Bool_t Init ()
 
virtual void Reset ()
 
virtual void Finish ()
 
Bool_t InitContainers ()
 
Bool_t ReInitContainers ()
 
TList * GetParList ()
 
Bool_t InitParameters ()
 
Bool_t ProcessTs (const fles::Timeslice &ts)
 
Bool_t ProcessTs (const fles::Timeslice &ts, size_t)
 
Bool_t ProcessMs (const fles::Timeslice &ts, size_t uMsCompIdx, size_t uMsIdx)
 
void AddMsComponentToList (size_t component, UShort_t usDetectorId)
 
Bool_t CreateHistograms ()
 
Bool_t FillHistograms ()
 
Bool_t UpdateStats ()
 
Bool_t ResetHistograms ()
 
void SetGdpbIndex (Int_t iGdpb=-1)
 
void SetUpdateFreqTs (UInt_t uFreq=100)
 
void SetPulserTotLimits (UInt_t uMin, UInt_t uMax)
 
void SetPulserChannel (UInt_t uChan)
 
void SetHistoryHistoSize (UInt_t inHistorySizeSec=1800)
 
virtual void SetParameter (std::string)
 
virtual std::string GetParameter (std::string)
 
void AddHistoToVector (TNamed *pointer, std::string sFolder="")
 For monitor algos. More...
 
std::vector< std::pair< TNamed *, std::string > > GetHistoVector ()
 
void AddCanvasToVector (TCanvas *pointer, std::string sFolder="")
 
std::vector< std::pair< TCanvas *, std::string > > GetCanvasVector ()
 
void ClearVector ()
 For unpacker algos. More...
 
std::vector< CbmTofDigi > & GetVector ()
 
void ClearErrorVector ()
 
std::vector< CbmErrorMessage > & GetErrorVector ()
 
void SetIgnoreOverlapMs (Bool_t bFlagIn=kTRUE)
 Control flags. More...
 

Protected Member Functions

Bool_t CheckParameterValidity (std::string, std::string)
 Map of parameter name and type. More...
 

Protected Attributes

TList * fParCList
 Parameter management. More...
 
std::vector< size_t > fvMsComponentsList
 Parameters related to FLES containers. More...
 
size_t fuNbCoreMsPerTs
 
size_t fuNbOverMsPerTs
 
size_t fuNbMsLoop
 
Bool_t fbIgnoreOverlapMs
 
Double_t fdMsSizeInNs
 /‍** Ignore Overlap Ms: all fuOverlapMsNb MS at the end of timeslice **‍/ More...
 
Double_t fdTsCoreSizeInNs
 Size of a single MS, [nanoseconds]. More...
 
Double_t fdTsFullSizeInNs
 Total size of the core MS in a TS, [nanoseconds]. More...
 
std::vector< std::pair< TNamed *, std::string > > fvpAllHistoPointers
 Total size of the core MS in a TS, [nanoseconds]. More...
 
std::vector< std::pair< TCanvas *, std::string > > fvpAllCanvasPointers
 Vector of pointers to histograms + optional folder name. More...
 
std::vector< CbmTofDigifDigiVect
 Vector of pointers to canvases + optional folder name. More...
 
std::vector< CbmErrorMessagefErrVect
 
std::map< std::string, std::string > fParameterMap
 For any algo. More...
 

Private Member Functions

void ProcessEpochCycle (uint64_t ulCycleData)
 
void ProcessEpoch (gdpbv100::Message mess)
 
void ProcessEpSupprBuffer ()
 
void ProcessHit (gdpbv100::FullMessage mess)
 
 CbmMcbm2018MonitorAlgoTofPulser (const CbmMcbm2018MonitorAlgoTofPulser &)
 
CbmMcbm2018MonitorAlgoTofPulser operator= (const CbmMcbm2018MonitorAlgoTofPulser &)
 

Private Attributes

std::vector< Bool_t > fvbMaskedComponents
 Control flags. More...
 
Int_t fiGdpbIndex
 
UInt_t fuUpdateFreqTs
 
CbmMcbm2018TofParfUnpackPar
 Settings from parameter file. More...
 
UInt_t fuNrOfGdpbs
 
std::map< UInt_t, UInt_t > fGdpbIdIndexMap
 Total number of GDPBs in the system. More...
 
UInt_t fuNrOfFeePerGdpb
 gDPB ID to index map More...
 
UInt_t fuNrOfGet4PerFee
 Number of FEBs per GDPB. More...
 
UInt_t fuNrOfChannelsPerGet4
 Number of GET4s per FEE. More...
 
UInt_t fuNrOfChannelsPerFee
 Number of channels in each GET4. More...
 
UInt_t fuNrOfGet4
 Number of channels in each FEE. More...
 
UInt_t fuNrOfGet4PerGdpb
 Total number of Get4 chips in the system. More...
 
UInt_t fuNrOfChannelsPerGdpb
 Number of GET4s per GDPB. More...
 
UInt_t fuPulserMinTot
 Number of channels per GDPB. More...
 
UInt_t fuPulserMaxTot
 
UInt_t fuPulserChannel
 
ULong64_t fulCurrentTsIdx
 
ULong64_t fulCurrentMsIdx
 
uint32_t fuCurrentMsSysId
 
Double_t fdTsStartTime
 SysId of the current MS in TS (0 to fuTotalMsNb) More...
 
Double_t fdTsStopTimeCore
 Time in ns of current TS from the index of the first MS first component. More...
 
Double_t fdMsTime
 End Time in ns of current TS Core from the index of the first MS first component. More...
 
UInt_t fuMsIndex
 Start Time in ns of current MS from its index field in header. 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...
 
UInt_t fuGet4Id
 Index of the DPB from which the MS currently unpacked is coming. More...
 
UInt_t fuGet4Nr
 running number (0 to fuNrOfGet4PerGdpb) of the Get4 chip of a unique GDPB for current message More...
 
std::vector< ULong64_t > fvulCurrentEpoch
 Data format control: Current time references for each GDPB: merged epoch marker, epoch cycle, full epoch [fuNrOfGdpbs]. More...
 
std::vector< ULong64_t > fvulCurrentEpochCycle
 Current epoch index, per DPB. More...
 
std::vector< ULong64_t > fvulCurrentEpochFull
 Epoch cycle from the Ms Start message and Epoch counter flip. More...
 
std::vector< gdpbv100::MessagefvmEpSupprBuffer
 Epoch + Epoch Cycle. More...
 
std::vector< std::vector< Bool_t > > fvvbFeeHitFound
 Storing the time of the last hit for each MS in each of the FEE. More...
 
std::vector< std::vector< Double_t > > fvvdFeeHits
 [ gDPB ][ FEE ] More...
 
const Double_t kdMaxDtPulserPs = 300e3
 [ gDPB ][ FEE ] More...
 
const UInt_t kuNbBinsDt = 2000
 
Double_t dMinDt
 
Double_t dMaxDt
 
const Double_t kdFitZoomWidthPs = 500.0
 
Double_t fdStartTime
 Starting time and time evolution book-keeping. More...
 
UInt_t fuHistoryHistoSize
 Time of first MS. More...
 
std::vector< std::vector< TH1 * > > fvvhFeePairPulserTimeDiff
 Size in seconds of the evolution histograms. More...
 
TH2 * fhPulserTimeDiffMean
 [ FEE A ][ FEE B ] More...
 
TH2 * fhPulserTimeDiffRms
 
TH2 * fhPulserTimeDiffRmsZoom
 
TH2 * fhPulserRmsGdpbToRefEvo
 
TH2 * fhPulserRmsGbtxToRefEvo
 
TCanvas * fcSummary
 Canvases. More...
 

Static Private Attributes

static const Int_t kiMaxNbFlibLinks = 32
 Constants. More...
 
static const UInt_t kuBytesPerMessage = 8
 

Detailed Description

Definition at line 31 of file CbmMcbm2018MonitorAlgoTofPulser.h.

Constructor & Destructor Documentation

◆ CbmMcbm2018MonitorAlgoTofPulser() [1/2]

CbmMcbm2018MonitorAlgoTofPulser::CbmMcbm2018MonitorAlgoTofPulser ( )

Definition at line 34 of file CbmMcbm2018MonitorAlgoTofPulser.cxx.

◆ ~CbmMcbm2018MonitorAlgoTofPulser()

CbmMcbm2018MonitorAlgoTofPulser::~CbmMcbm2018MonitorAlgoTofPulser ( )

Clear buffers

Definition at line 81 of file CbmMcbm2018MonitorAlgoTofPulser.cxx.

References fvmEpSupprBuffer.

◆ CbmMcbm2018MonitorAlgoTofPulser() [2/2]

CbmMcbm2018MonitorAlgoTofPulser::CbmMcbm2018MonitorAlgoTofPulser ( const CbmMcbm2018MonitorAlgoTofPulser )
private

Member Function Documentation

◆ AddCanvasToVector()

void CbmStar2019Algo< CbmTofDigi >::AddCanvasToVector ( TCanvas *  pointer,
std::string  sFolder = "" 
)
inlineinherited

Definition at line 87 of file CbmStar2019Algo.h.

◆ AddHistoToVector()

void CbmStar2019Algo< CbmTofDigi >::AddHistoToVector ( TNamed *  pointer,
std::string  sFolder = "" 
)
inlineinherited

For monitor algos.

Definition at line 80 of file CbmStar2019Algo.h.

◆ AddMsComponentToList()

void CbmMcbm2018MonitorAlgoTofPulser::AddMsComponentToList ( size_t  component,
UShort_t  usDetectorId 
)

Check for duplicates and ignore if it is the case

Add to list

Definition at line 191 of file CbmMcbm2018MonitorAlgoTofPulser.cxx.

References CbmStar2019Algo< CbmTofDigi >::fvMsComponentsList.

Referenced by CbmMcbm2018MonitorTaskTofPulser::AddMsComponentToList().

◆ CheckParameterValidity()

Bool_t CbmStar2019Algo< CbmTofDigi >::CheckParameterValidity ( std::string  ,
std::string   
)
inlineprotectedinherited

Map of parameter name and type.

Definition at line 147 of file CbmStar2019Algo.h.

◆ ClearErrorVector()

void CbmStar2019Algo< CbmTofDigi >::ClearErrorVector ( )
inlineinherited

Definition at line 98 of file CbmStar2019Algo.h.

◆ ClearVector()

void CbmStar2019Algo< CbmTofDigi >::ClearVector ( )
inlineinherited

For unpacker algos.

Definition at line 96 of file CbmStar2019Algo.h.

◆ CreateHistograms()

Bool_t CbmMcbm2018MonitorAlgoTofPulser::CreateHistograms ( )

Internal plot per FEE pair

Standard

Standard

Preparing histo ranges

Standard

Add pointers to the vector with all histo for access by steering class

Canvases Create summary Canvas

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

Definition at line 527 of file CbmMcbm2018MonitorAlgoTofPulser.cxx.

References CbmStar2019Algo< CbmTofDigi >::AddCanvasToVector(), CbmStar2019Algo< CbmTofDigi >::AddHistoToVector(), dMaxDt, dMinDt, fcSummary, fhPulserRmsGbtxToRefEvo, fhPulserRmsGdpbToRefEvo, fhPulserTimeDiffMean, fhPulserTimeDiffRms, fhPulserTimeDiffRmsZoom, fiGdpbIndex, fuHistoryHistoSize, fuNrOfFeePerGdpb, fuNrOfGdpbs, fvvhFeePairPulserTimeDiff, gdpbv100::kdBinSize, gdpbv100::kdEpochInNs, gdpbv100::kdEpochInPs, gdpbv100::kuEpochInBins, and kuNbBinsDt.

Referenced by CbmMcbm2018MonitorTaskTofPulser::InitContainers().

◆ FillHistograms()

Bool_t CbmMcbm2018MonitorAlgoTofPulser::FillHistograms ( )

Update the Mean and RMS plots only every N TS in last MS => Need to be cleared before loop on pairs as we fill directly the value

If no hits in this FEE in this MS, just go to the next one

If no hits in this FEE in this MS, just go to the next one

Update the Mean and RMS plots only every N TS in last MS

Standard

Read the peak position (bin with max counts) + total nb of entries

Zoom the X axis to +/- ZoomWidth around the peak position

Read integral and check how much we lost due to the zoom (% loss allowed)

Fill new RMS after zoom into summary histo

Restore original axis state

Reset the flag for hit found in MS

Definition at line 682 of file CbmMcbm2018MonitorAlgoTofPulser.cxx.

References fhPulserTimeDiffMean, fhPulserTimeDiffRms, fhPulserTimeDiffRmsZoom, fulCurrentTsIdx, fuMsIndex, CbmStar2019Algo< CbmTofDigi >::fuNbCoreMsPerTs, fuNrOfFeePerGdpb, fuNrOfGdpbs, fuUpdateFreqTs, fvvbFeeHitFound, fvvdFeeHits, fvvhFeePairPulserTimeDiff, GetRMS(), kdFitZoomWidthPs, and kdMaxDtPulserPs.

Referenced by ProcessTs().

◆ Finish()

void CbmMcbm2018MonitorAlgoTofPulser::Finish ( )
virtual

Printout Goodbye message and stats

Write Output histos

Implements CbmStar2019Algo< CbmTofDigi >.

Definition at line 93 of file CbmMcbm2018MonitorAlgoTofPulser.cxx.

◆ GetCanvasVector()

std::vector<std::pair<TCanvas*, std::string> > CbmStar2019Algo< CbmTofDigi >::GetCanvasVector ( )
inlineinherited

Definition at line 91 of file CbmStar2019Algo.h.

◆ GetErrorVector()

std::vector<CbmErrorMessage>& CbmStar2019Algo< CbmTofDigi >::GetErrorVector ( )
inlineinherited

Definition at line 99 of file CbmStar2019Algo.h.

◆ GetHistoVector()

std::vector<std::pair<TNamed*, std::string> > CbmStar2019Algo< CbmTofDigi >::GetHistoVector ( )
inlineinherited

Definition at line 84 of file CbmStar2019Algo.h.

◆ GetParameter()

virtual std::string CbmStar2019Algo< CbmTofDigi >::GetParameter ( std::string  )
inlinevirtualinherited

Definition at line 75 of file CbmStar2019Algo.h.

◆ GetParList()

TList * CbmMcbm2018MonitorAlgoTofPulser::GetParList ( )
virtual

◆ GetVector()

std::vector<CbmTofDigi >& CbmStar2019Algo< CbmTofDigi >::GetVector ( )
inlineinherited

Definition at line 97 of file CbmStar2019Algo.h.

◆ Init()

Bool_t CbmMcbm2018MonitorAlgoTofPulser::Init ( )
virtual

Implements CbmStar2019Algo< CbmTofDigi >.

Definition at line 87 of file CbmMcbm2018MonitorAlgoTofPulser.cxx.

◆ InitContainers()

Bool_t CbmMcbm2018MonitorAlgoTofPulser::InitContainers ( )
virtual

◆ InitParameters()

◆ operator=()

CbmMcbm2018MonitorAlgoTofPulser CbmMcbm2018MonitorAlgoTofPulser::operator= ( const CbmMcbm2018MonitorAlgoTofPulser )
private

◆ ProcessEpoch()

void CbmMcbm2018MonitorAlgoTofPulser::ProcessEpoch ( gdpbv100::Message  mess)
private

◆ ProcessEpochCycle()

void CbmMcbm2018MonitorAlgoTofPulser::ProcessEpochCycle ( uint64_t  ulCycleData)
private

◆ ProcessEpSupprBuffer()

void CbmMcbm2018MonitorAlgoTofPulser::ProcessEpSupprBuffer ( )
private

Data are sorted between epochs, not inside => Epoch level ordering Sorting at lower bin precision level

Compute original epoch index before epoch suppression

Ignore the first epoch as it should never appear (start delay!!)

In Ep. Suppr. Mode, receive following epoch instead of previous

Diamond FEE have straight connection from Get4 to eLink and from PADI to GET4

Store the full message in the proper buffer

Do other actions on it if needed

Should never appear there

Definition at line 428 of file CbmMcbm2018MonitorAlgoTofPulser.cxx.

References CbmMcbm2018TofPar::ElinkIdxToGet4Idx(), fuCurrDpbIdx, fuCurrentMsSysId, fuGet4Id, fuGet4Nr, fUnpackPar, fuNrOfGet4PerGdpb, fvmEpSupprBuffer, fvulCurrentEpoch, fvulCurrentEpochFull, gdpbv100::MSG_EPOCH, gdpbv100::MSG_HIT, gdpbv100::MSG_SLOWC, gdpbv100::MSG_STAR_TRI_A, gdpbv100::MSG_STAR_TRI_B, gdpbv100::MSG_STAR_TRI_C, gdpbv100::MSG_STAR_TRI_D, gdpbv100::MSG_SYST, and ProcessHit().

Referenced by ProcessEpoch().

◆ ProcessHit()

void CbmMcbm2018MonitorAlgoTofPulser::ProcessHit ( gdpbv100::FullMessage  mess)
private

In 32b mode the coarse counter is already computed back to 112 FTS bins => need to hide its contribution from the Finetime => FTS = Fullt TS modulo 112

Definition at line 489 of file CbmMcbm2018MonitorAlgoTofPulser.cxx.

References fuCurrDpbIdx, fuGet4Id, fUnpackPar, fuNrOfChannelsPerGet4, fuNrOfGet4PerFee, fuPulserChannel, fuPulserMaxTot, fuPulserMinTot, fvvbFeeHitFound, fvvdFeeHits, CbmMcbm2018TofPar::Get4ChanToPadiChan(), gdpbv100::FullMessage::GetFullTimeNs(), gdpbv100::Message::getGdpbHit32Tot(), and gdpbv100::Message::getGdpbHitChanId().

Referenced by ProcessEpSupprBuffer().

◆ ProcessMs()

Bool_t CbmMcbm2018MonitorAlgoTofPulser::ProcessMs ( const fles::Timeslice &  ts,
size_t  uMsCompIdx,
size_t  uMsIdx 
)
virtual

Check if this sDPB ID was declared in parameter file and stop there if not

Try to get it from the second message in buffer (first is epoch cycle without gDPB ID) TODO!!!!

Catch the Epoch cycle block which is always the first 64b of the MS

Get message type

Diamond FEE have straight connection from Get4 to eLink and from PADI to GET4

Should never happen!!

Should never happen!!

Ignore all these

Implements CbmStar2019Algo< CbmTofDigi >.

Definition at line 257 of file CbmMcbm2018MonitorAlgoTofPulser.cxx.

References CbmMcbm2018TofPar::ElinkIdxToGet4Idx(), fdMsTime, fdStartTime, fGdpbIdIndexMap, FormatMsHeaderPrintout(), fuCurrDpbId, fuCurrDpbIdx, fuCurrentEquipmentId, fuCurrentMsSysId, fuGet4Id, fuGet4Nr, fulCurrentMsIdx, fulCurrentTsIdx, fUnpackPar, fuNrOfGet4PerGdpb, fvbMaskedComponents, fvmEpSupprBuffer, gdpbv100::Message::getGdpbGenChipId(), gdpbv100::Message::getGdpbHitIs24b(), gdpbv100::Message::getMessageType(), gdpbv100::Message::isStarTrigger(), kuBytesPerMessage, gdpbv100::kuChipIdMergedEpoch, gdpbv100::MSG_EPOCH, gdpbv100::MSG_HIT, gdpbv100::MSG_SLOWC, gdpbv100::MSG_STAR_TRI_A, gdpbv100::MSG_STAR_TRI_B, gdpbv100::MSG_STAR_TRI_C, gdpbv100::MSG_STAR_TRI_D, gdpbv100::MSG_SYST, ProcessEpoch(), and ProcessEpochCycle().

Referenced by ProcessTs().

◆ ProcessTs() [1/2]

Bool_t CbmMcbm2018MonitorAlgoTofPulser::ProcessTs ( const fles::Timeslice &  ts)
virtual

Ignore First TS as first MS is typically corrupt

On first TS, extract the TS parameters from header (by definition stable over time)

Ignore overlap ms if flag set by user

Compute time of TS core end

Loop over core microslices (and overlap ones if chosen)

Loop over registered components

Fill histograms

Implements CbmStar2019Algo< CbmTofDigi >.

Definition at line 208 of file CbmMcbm2018MonitorAlgoTofPulser.cxx.

References CbmStar2019Algo< CbmTofDigi >::fbIgnoreOverlapMs, CbmStar2019Algo< CbmTofDigi >::fdMsSizeInNs, CbmStar2019Algo< CbmTofDigi >::fdTsCoreSizeInNs, CbmStar2019Algo< CbmTofDigi >::fdTsFullSizeInNs, fdTsStartTime, fdTsStopTimeCore, FillHistograms(), fulCurrentTsIdx, fuMsIndex, CbmStar2019Algo< CbmTofDigi >::fuNbCoreMsPerTs, CbmStar2019Algo< CbmTofDigi >::fuNbMsLoop, CbmStar2019Algo< CbmTofDigi >::fuNbOverMsPerTs, CbmStar2019Algo< CbmTofDigi >::fvMsComponentsList, and ProcessMs().

Referenced by CbmMcbm2018MonitorTaskTofPulser::DoUnpack(), and ProcessTs().

◆ ProcessTs() [2/2]

Bool_t CbmMcbm2018MonitorAlgoTofPulser::ProcessTs ( const fles::Timeslice &  ts,
size_t   
)
inlinevirtual

Implements CbmStar2019Algo< CbmTofDigi >.

Definition at line 47 of file CbmMcbm2018MonitorAlgoTofPulser.h.

References ProcessTs().

◆ ReInitContainers()

Bool_t CbmMcbm2018MonitorAlgoTofPulser::ReInitContainers ( )
virtual

◆ Reset()

void CbmMcbm2018MonitorAlgoTofPulser::Reset ( )
virtual

Implements CbmStar2019Algo< CbmTofDigi >.

Definition at line 92 of file CbmMcbm2018MonitorAlgoTofPulser.cxx.

◆ ResetHistograms()

◆ SetGdpbIndex()

void CbmMcbm2018MonitorAlgoTofPulser::SetGdpbIndex ( Int_t  iGdpb = -1)
inline

◆ SetHistoryHistoSize()

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

Definition at line 66 of file CbmMcbm2018MonitorAlgoTofPulser.h.

References fuHistoryHistoSize.

◆ SetIgnoreOverlapMs()

void CbmStar2019Algo< CbmTofDigi >::SetIgnoreOverlapMs ( Bool_t  bFlagIn = kTRUE)
inlineinherited

Control flags.

Definition at line 102 of file CbmStar2019Algo.h.

◆ SetParameter()

virtual void CbmStar2019Algo< CbmTofDigi >::SetParameter ( std::string  )
inlinevirtualinherited

Definition at line 74 of file CbmStar2019Algo.h.

◆ SetPulserChannel()

void CbmMcbm2018MonitorAlgoTofPulser::SetPulserChannel ( UInt_t  uChan)
inline

◆ SetPulserTotLimits()

void CbmMcbm2018MonitorAlgoTofPulser::SetPulserTotLimits ( UInt_t  uMin,
UInt_t  uMax 
)
inline

◆ SetUpdateFreqTs()

void CbmMcbm2018MonitorAlgoTofPulser::SetUpdateFreqTs ( UInt_t  uFreq = 100)
inline

◆ UpdateStats()

Bool_t CbmMcbm2018MonitorAlgoTofPulser::UpdateStats ( )

Standard

Read the peak position (bin with max counts) + total nb of entries

Zoom the X axis to +/- ZoomWidth around the peak position

Read integral and check how much we lost due to the zoom (% loss allowed)

Fill new RMS after zoom into summary histo

Restore original axis state?

Reset the flag for hit found in MS

Definition at line 774 of file CbmMcbm2018MonitorAlgoTofPulser.cxx.

References fhPulserTimeDiffMean, fhPulserTimeDiffRms, fhPulserTimeDiffRmsZoom, fuNrOfFeePerGdpb, fuNrOfGdpbs, fvvbFeeHitFound, fvvhFeePairPulserTimeDiff, GetRMS(), and kdFitZoomWidthPs.

Referenced by CbmMcbm2018MonitorTaskTofPulser::Finish().

Member Data Documentation

◆ dMaxDt

Double_t CbmMcbm2018MonitorAlgoTofPulser::dMaxDt
private

Definition at line 140 of file CbmMcbm2018MonitorAlgoTofPulser.h.

Referenced by CreateHistograms().

◆ dMinDt

Double_t CbmMcbm2018MonitorAlgoTofPulser::dMinDt
private

Definition at line 139 of file CbmMcbm2018MonitorAlgoTofPulser.h.

Referenced by CreateHistograms().

◆ fbIgnoreOverlapMs

Bool_t CbmStar2019Algo< CbmTofDigi >::fbIgnoreOverlapMs
protectedinherited

Definition at line 116 of file CbmStar2019Algo.h.

◆ fcSummary

TCanvas* CbmMcbm2018MonitorAlgoTofPulser::fcSummary
private

Canvases.

Definition at line 157 of file CbmMcbm2018MonitorAlgoTofPulser.h.

Referenced by CreateHistograms().

◆ fDigiVect

std::vector<CbmTofDigi > CbmStar2019Algo< CbmTofDigi >::fDigiVect
protectedinherited

Vector of pointers to canvases + optional folder name.

For unpacker algos

Definition at line 140 of file CbmStar2019Algo.h.

◆ fdMsSizeInNs

Double_t CbmStar2019Algo< CbmTofDigi >::fdMsSizeInNs
protectedinherited

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

Definition at line 117 of file CbmStar2019Algo.h.

◆ fdMsTime

Double_t CbmMcbm2018MonitorAlgoTofPulser::fdMsTime
private

End Time in ns of current TS Core from the index of the first MS first component.

Definition at line 109 of file CbmMcbm2018MonitorAlgoTofPulser.h.

Referenced by ProcessMs().

◆ fdStartTime

Double_t CbmMcbm2018MonitorAlgoTofPulser::fdStartTime
private

Starting time and time evolution book-keeping.

Definition at line 143 of file CbmMcbm2018MonitorAlgoTofPulser.h.

Referenced by ProcessMs(), and ResetHistograms().

◆ fdTsCoreSizeInNs

Double_t CbmStar2019Algo< CbmTofDigi >::fdTsCoreSizeInNs
protectedinherited

Size of a single MS, [nanoseconds].

Definition at line 119 of file CbmStar2019Algo.h.

◆ fdTsFullSizeInNs

Double_t CbmStar2019Algo< CbmTofDigi >::fdTsFullSizeInNs
protectedinherited

Total size of the core MS in a TS, [nanoseconds].

Definition at line 121 of file CbmStar2019Algo.h.

◆ fdTsStartTime

Double_t CbmMcbm2018MonitorAlgoTofPulser::fdTsStartTime
private

SysId of the current MS in TS (0 to fuTotalMsNb)

Definition at line 105 of file CbmMcbm2018MonitorAlgoTofPulser.h.

Referenced by ProcessTs().

◆ fdTsStopTimeCore

Double_t CbmMcbm2018MonitorAlgoTofPulser::fdTsStopTimeCore
private

Time in ns of current TS from the index of the first MS first component.

Definition at line 107 of file CbmMcbm2018MonitorAlgoTofPulser.h.

Referenced by ProcessTs().

◆ fErrVect

std::vector<CbmErrorMessage> CbmStar2019Algo< CbmTofDigi >::fErrVect
protectedinherited

Definition at line 141 of file CbmStar2019Algo.h.

◆ fGdpbIdIndexMap

std::map<UInt_t, UInt_t> CbmMcbm2018MonitorAlgoTofPulser::fGdpbIdIndexMap
private

Total number of GDPBs in the system.

Definition at line 80 of file CbmMcbm2018MonitorAlgoTofPulser.h.

Referenced by InitParameters(), and ProcessMs().

◆ fhPulserRmsGbtxToRefEvo

TH2* CbmMcbm2018MonitorAlgoTofPulser::fhPulserRmsGbtxToRefEvo
private

Definition at line 154 of file CbmMcbm2018MonitorAlgoTofPulser.h.

Referenced by CreateHistograms().

◆ fhPulserRmsGdpbToRefEvo

TH2* CbmMcbm2018MonitorAlgoTofPulser::fhPulserRmsGdpbToRefEvo
private

Definition at line 153 of file CbmMcbm2018MonitorAlgoTofPulser.h.

Referenced by CreateHistograms().

◆ fhPulserTimeDiffMean

TH2* CbmMcbm2018MonitorAlgoTofPulser::fhPulserTimeDiffMean
private

[ FEE A ][ FEE B ]

Definition at line 150 of file CbmMcbm2018MonitorAlgoTofPulser.h.

Referenced by CreateHistograms(), FillHistograms(), ResetHistograms(), and UpdateStats().

◆ fhPulserTimeDiffRms

TH2* CbmMcbm2018MonitorAlgoTofPulser::fhPulserTimeDiffRms
private

◆ fhPulserTimeDiffRmsZoom

TH2* CbmMcbm2018MonitorAlgoTofPulser::fhPulserTimeDiffRmsZoom
private

◆ fiGdpbIndex

Int_t CbmMcbm2018MonitorAlgoTofPulser::fiGdpbIndex
private

◆ fParameterMap

std::map<std::string, std::string> CbmStar2019Algo< CbmTofDigi >::fParameterMap
protectedinherited

For any algo.

Definition at line 145 of file CbmStar2019Algo.h.

◆ fParCList

TList* CbmStar2019Algo< CbmTofDigi >::fParCList
protectedinherited

Parameter management.

Definition at line 108 of file CbmStar2019Algo.h.

◆ fuCurrDpbId

UInt_t CbmMcbm2018MonitorAlgoTofPulser::fuCurrDpbId
private

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

Definition at line 115 of file CbmMcbm2018MonitorAlgoTofPulser.h.

Referenced by ProcessMs().

◆ fuCurrDpbIdx

UInt_t CbmMcbm2018MonitorAlgoTofPulser::fuCurrDpbIdx
private

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

Definition at line 117 of file CbmMcbm2018MonitorAlgoTofPulser.h.

Referenced by ProcessEpoch(), ProcessEpochCycle(), ProcessEpSupprBuffer(), ProcessHit(), and ProcessMs().

◆ fuCurrentEquipmentId

UInt_t CbmMcbm2018MonitorAlgoTofPulser::fuCurrentEquipmentId
private

Index of current MS within the TS Current data properties

Definition at line 113 of file CbmMcbm2018MonitorAlgoTofPulser.h.

Referenced by ProcessMs().

◆ fuCurrentMsSysId

uint32_t CbmMcbm2018MonitorAlgoTofPulser::fuCurrentMsSysId
private

Definition at line 103 of file CbmMcbm2018MonitorAlgoTofPulser.h.

Referenced by ProcessEpSupprBuffer(), and ProcessMs().

◆ fuGet4Id

UInt_t CbmMcbm2018MonitorAlgoTofPulser::fuGet4Id
private

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

Definition at line 119 of file CbmMcbm2018MonitorAlgoTofPulser.h.

Referenced by ProcessEpSupprBuffer(), ProcessHit(), and ProcessMs().

◆ fuGet4Nr

UInt_t CbmMcbm2018MonitorAlgoTofPulser::fuGet4Nr
private

running number (0 to fuNrOfGet4PerGdpb) of the Get4 chip of a unique GDPB for current message

Definition at line 121 of file CbmMcbm2018MonitorAlgoTofPulser.h.

Referenced by ProcessEpSupprBuffer(), and ProcessMs().

◆ fuHistoryHistoSize

UInt_t CbmMcbm2018MonitorAlgoTofPulser::fuHistoryHistoSize
private

Time of first MS.

Definition at line 144 of file CbmMcbm2018MonitorAlgoTofPulser.h.

Referenced by CreateHistograms(), and SetHistoryHistoSize().

◆ fulCurrentMsIdx

ULong64_t CbmMcbm2018MonitorAlgoTofPulser::fulCurrentMsIdx
private

Definition at line 101 of file CbmMcbm2018MonitorAlgoTofPulser.h.

Referenced by ProcessEpochCycle(), and ProcessMs().

◆ fulCurrentTsIdx

ULong64_t CbmMcbm2018MonitorAlgoTofPulser::fulCurrentTsIdx
private

Running indices TS/MS info

Definition at line 100 of file CbmMcbm2018MonitorAlgoTofPulser.h.

Referenced by FillHistograms(), ProcessMs(), and ProcessTs().

◆ fuMsIndex

UInt_t CbmMcbm2018MonitorAlgoTofPulser::fuMsIndex
private

Start Time in ns of current MS from its index field in header.

Definition at line 110 of file CbmMcbm2018MonitorAlgoTofPulser.h.

Referenced by FillHistograms(), and ProcessTs().

◆ fuNbCoreMsPerTs

size_t CbmStar2019Algo< CbmTofDigi >::fuNbCoreMsPerTs
protectedinherited

Definition at line 112 of file CbmStar2019Algo.h.

◆ fuNbMsLoop

size_t CbmStar2019Algo< CbmTofDigi >::fuNbMsLoop
protectedinherited

Definition at line 114 of file CbmStar2019Algo.h.

◆ fuNbOverMsPerTs

size_t CbmStar2019Algo< CbmTofDigi >::fuNbOverMsPerTs
protectedinherited

Definition at line 113 of file CbmStar2019Algo.h.

◆ fUnpackPar

CbmMcbm2018TofPar* CbmMcbm2018MonitorAlgoTofPulser::fUnpackPar
private

Settings from parameter file.

Definition at line 77 of file CbmMcbm2018MonitorAlgoTofPulser.h.

Referenced by GetParList(), InitParameters(), ProcessEpSupprBuffer(), ProcessHit(), ProcessMs(), and ReInitContainers().

◆ fuNrOfChannelsPerFee

UInt_t CbmMcbm2018MonitorAlgoTofPulser::fuNrOfChannelsPerFee
private

Number of channels in each GET4.

Definition at line 84 of file CbmMcbm2018MonitorAlgoTofPulser.h.

Referenced by InitParameters().

◆ fuNrOfChannelsPerGdpb

UInt_t CbmMcbm2018MonitorAlgoTofPulser::fuNrOfChannelsPerGdpb
private

Number of GET4s per GDPB.

Definition at line 87 of file CbmMcbm2018MonitorAlgoTofPulser.h.

Referenced by InitParameters().

◆ fuNrOfChannelsPerGet4

UInt_t CbmMcbm2018MonitorAlgoTofPulser::fuNrOfChannelsPerGet4
private

Number of GET4s per FEE.

Definition at line 83 of file CbmMcbm2018MonitorAlgoTofPulser.h.

Referenced by InitParameters(), and ProcessHit().

◆ fuNrOfFeePerGdpb

UInt_t CbmMcbm2018MonitorAlgoTofPulser::fuNrOfFeePerGdpb
private

gDPB ID to index map

Definition at line 81 of file CbmMcbm2018MonitorAlgoTofPulser.h.

Referenced by CreateHistograms(), FillHistograms(), InitParameters(), ResetHistograms(), and UpdateStats().

◆ fuNrOfGdpbs

UInt_t CbmMcbm2018MonitorAlgoTofPulser::fuNrOfGdpbs
private

Readout chain dimensions and mapping

Definition at line 79 of file CbmMcbm2018MonitorAlgoTofPulser.h.

Referenced by CreateHistograms(), FillHistograms(), InitParameters(), ResetHistograms(), and UpdateStats().

◆ fuNrOfGet4

UInt_t CbmMcbm2018MonitorAlgoTofPulser::fuNrOfGet4
private

Number of channels in each FEE.

Definition at line 85 of file CbmMcbm2018MonitorAlgoTofPulser.h.

Referenced by InitParameters().

◆ fuNrOfGet4PerFee

UInt_t CbmMcbm2018MonitorAlgoTofPulser::fuNrOfGet4PerFee
private

Number of FEBs per GDPB.

Definition at line 82 of file CbmMcbm2018MonitorAlgoTofPulser.h.

Referenced by InitParameters(), and ProcessHit().

◆ fuNrOfGet4PerGdpb

UInt_t CbmMcbm2018MonitorAlgoTofPulser::fuNrOfGet4PerGdpb
private

Total number of Get4 chips in the system.

Definition at line 86 of file CbmMcbm2018MonitorAlgoTofPulser.h.

Referenced by InitParameters(), ProcessEpSupprBuffer(), and ProcessMs().

◆ fuPulserChannel

UInt_t CbmMcbm2018MonitorAlgoTofPulser::fuPulserChannel
private

Definition at line 92 of file CbmMcbm2018MonitorAlgoTofPulser.h.

Referenced by ProcessHit(), and SetPulserChannel().

◆ fuPulserMaxTot

UInt_t CbmMcbm2018MonitorAlgoTofPulser::fuPulserMaxTot
private

Definition at line 91 of file CbmMcbm2018MonitorAlgoTofPulser.h.

Referenced by ProcessHit(), and SetPulserTotLimits().

◆ fuPulserMinTot

UInt_t CbmMcbm2018MonitorAlgoTofPulser::fuPulserMinTot
private

Number of channels per GDPB.

User settings: Data correction parameters

Definition at line 90 of file CbmMcbm2018MonitorAlgoTofPulser.h.

Referenced by ProcessHit(), and SetPulserTotLimits().

◆ fuUpdateFreqTs

UInt_t CbmMcbm2018MonitorAlgoTofPulser::fuUpdateFreqTs
private

Definition at line 74 of file CbmMcbm2018MonitorAlgoTofPulser.h.

Referenced by FillHistograms(), and SetUpdateFreqTs().

◆ fvbMaskedComponents

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

Control flags.

Definition at line 72 of file CbmMcbm2018MonitorAlgoTofPulser.h.

Referenced by ProcessMs().

◆ fvmEpSupprBuffer

std::vector<gdpbv100::Message> CbmMcbm2018MonitorAlgoTofPulser::fvmEpSupprBuffer
private

Epoch + Epoch Cycle.

Buffer for suppressed epoch processing

Definition at line 129 of file CbmMcbm2018MonitorAlgoTofPulser.h.

Referenced by ProcessEpSupprBuffer(), ProcessMs(), and ~CbmMcbm2018MonitorAlgoTofPulser().

◆ fvMsComponentsList

std::vector<size_t> CbmStar2019Algo< CbmTofDigi >::fvMsComponentsList
protectedinherited

Parameters related to FLES containers.

Definition at line 111 of file CbmStar2019Algo.h.

◆ fvpAllCanvasPointers

std::vector<std::pair<TCanvas*, std::string> > CbmStar2019Algo< CbmTofDigi >::fvpAllCanvasPointers
protectedinherited

Vector of pointers to histograms + optional folder name.

Definition at line 137 of file CbmStar2019Algo.h.

◆ fvpAllHistoPointers

std::vector<std::pair<TNamed*, std::string> > CbmStar2019Algo< CbmTofDigi >::fvpAllHistoPointers
protectedinherited

Total size of the core MS in a TS, [nanoseconds].

For monitor algos => Pointers should be filled with TH1*, TH2*, TProfile*, ... ==> To check if object N is of type T, use "T ObjectPointer = dynamic_cast<T>( fvpAllHistoPointers[N].first );" and check for nullptr ==> To get back the original class name use "fvpAllHistoPointers[N].first->ClassName()" which returns a const char * (e.g. "TH1I") ===> Usage example with feeding a THttpServer: ===> #include "TH2.h" ===> std::string sClassName = vHistos[ uHisto ].first.ClassName(); ===> if( !strncmp( sClassName, "TH1", 3 ) ) ===> server->Register( vHistos[ uHisto ].second.data(), dynamic_cast< TH1 * >(vHistos[ uHisto ].first) ); ===> else if( !strncmp( sClassName, "TH2", 3 ) ) ===> server->Register( vHistos[ uHisto ].second.data(), dynamic_cast< TH2 * >(vHistos[ uHisto ].first) );

Definition at line 135 of file CbmStar2019Algo.h.

◆ fvulCurrentEpoch

std::vector<ULong64_t> CbmMcbm2018MonitorAlgoTofPulser::fvulCurrentEpoch
private

Data format control: Current time references for each GDPB: merged epoch marker, epoch cycle, full epoch [fuNrOfGdpbs].

running number (0 to fuNrOfGet4) of the Get4 chip in the system for current message

Definition at line 123 of file CbmMcbm2018MonitorAlgoTofPulser.h.

Referenced by InitParameters(), ProcessEpoch(), and ProcessEpSupprBuffer().

◆ fvulCurrentEpochCycle

std::vector<ULong64_t> CbmMcbm2018MonitorAlgoTofPulser::fvulCurrentEpochCycle
private

Current epoch index, per DPB.

Definition at line 125 of file CbmMcbm2018MonitorAlgoTofPulser.h.

Referenced by InitParameters(), ProcessEpoch(), and ProcessEpochCycle().

◆ fvulCurrentEpochFull

std::vector<ULong64_t> CbmMcbm2018MonitorAlgoTofPulser::fvulCurrentEpochFull
private

Epoch cycle from the Ms Start message and Epoch counter flip.

Definition at line 126 of file CbmMcbm2018MonitorAlgoTofPulser.h.

Referenced by InitParameters(), ProcessEpoch(), and ProcessEpSupprBuffer().

◆ fvvbFeeHitFound

std::vector<std::vector<Bool_t> > CbmMcbm2018MonitorAlgoTofPulser::fvvbFeeHitFound
private

Storing the time of the last hit for each MS in each of the FEE.

Definition at line 132 of file CbmMcbm2018MonitorAlgoTofPulser.h.

Referenced by FillHistograms(), InitParameters(), ProcessHit(), and UpdateStats().

◆ fvvdFeeHits

std::vector<std::vector<Double_t> > CbmMcbm2018MonitorAlgoTofPulser::fvvdFeeHits
private

[ gDPB ][ FEE ]

Definition at line 133 of file CbmMcbm2018MonitorAlgoTofPulser.h.

Referenced by FillHistograms(), InitParameters(), and ProcessHit().

◆ fvvhFeePairPulserTimeDiff

std::vector<std::vector<TH1*> > CbmMcbm2018MonitorAlgoTofPulser::fvvhFeePairPulserTimeDiff
private

Size in seconds of the evolution histograms.

Histograms Pulser dT within gDPB

Definition at line 149 of file CbmMcbm2018MonitorAlgoTofPulser.h.

Referenced by CreateHistograms(), FillHistograms(), ResetHistograms(), and UpdateStats().

◆ kdFitZoomWidthPs

const Double_t CbmMcbm2018MonitorAlgoTofPulser::kdFitZoomWidthPs = 500.0
private

Definition at line 141 of file CbmMcbm2018MonitorAlgoTofPulser.h.

Referenced by FillHistograms(), and UpdateStats().

◆ kdMaxDtPulserPs

const Double_t CbmMcbm2018MonitorAlgoTofPulser::kdMaxDtPulserPs = 300e3
private

[ gDPB ][ FEE ]

Histograms and histogram control variables Default value for nb bins in Pulser time difference histos

Definition at line 137 of file CbmMcbm2018MonitorAlgoTofPulser.h.

Referenced by FillHistograms().

◆ kiMaxNbFlibLinks

const Int_t CbmMcbm2018MonitorAlgoTofPulser::kiMaxNbFlibLinks = 32
staticprivate

Constants.

Definition at line 95 of file CbmMcbm2018MonitorAlgoTofPulser.h.

◆ kuBytesPerMessage

const UInt_t CbmMcbm2018MonitorAlgoTofPulser::kuBytesPerMessage = 8
staticprivate

Definition at line 96 of file CbmMcbm2018MonitorAlgoTofPulser.h.

Referenced by ProcessMs().

◆ kuNbBinsDt

const UInt_t CbmMcbm2018MonitorAlgoTofPulser::kuNbBinsDt = 2000
private

Definition at line 138 of file CbmMcbm2018MonitorAlgoTofPulser.h.

Referenced by CreateHistograms().


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