CbmRoot
CbmMcbm2018UnpackerAlgoHodo Class Reference

#include <CbmMcbm2018UnpackerAlgoHodo.h>

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

Public Member Functions

 CbmMcbm2018UnpackerAlgoHodo ()
 
 ~CbmMcbm2018UnpackerAlgoHodo ()
 
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 ResetHistograms ()
 
void SetMonitorMode (Bool_t bFlagIn=kTRUE)
 
void SetTimeOffsetNs (Double_t dOffsetIn=0.0)
 
void SetTimeOffsetNsAsic (UInt_t uAsicIdx, Double_t dOffsetIn=0.0)
 
void SetVectCapInc (Double_t dIncFact)
 
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< CbmStsDigi > & 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< CbmStsDigifDigiVect
 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 ProcessHitInfo (const stsxyter::Message &mess, const UShort_t &usElinkIdx, const UInt_t &uAsicIdx, const UInt_t &uMsIdx)
 
void ProcessTsMsbInfo (const stsxyter::Message &mess, UInt_t uMessIdx=0, UInt_t uMsIdx=0)
 
void ProcessEpochInfo (const stsxyter::Message &mess)
 
void ProcessStatusInfo (const stsxyter::Message &mess)
 
 CbmMcbm2018UnpackerAlgoHodo (const CbmMcbm2018UnpackerAlgoHodo &)
 
CbmMcbm2018UnpackerAlgoHodo operator= (const CbmMcbm2018UnpackerAlgoHodo &)
 

Private Attributes

Bool_t fbMonitorMode
 Control flags. More...
 
Bool_t fbDebugMonitorMode
 Switch ON the filling of a minimal set of histograms. More...
 
std::vector< Bool_t > fvbMaskedComponents
 Switch ON the filling of a additional set of histograms. More...
 
CbmMcbm2018HodoParfUnpackPar
 Settings from parameter file. More...
 
UInt_t fuNbModules
 
std::vector< Int_t > fviModAddress
 Total number of STS modules in the setup. More...
 
UInt_t fuNrOfDpbs
 STS address for the first strip of each module. More...
 
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 FEBs with StsXyter ASICs. More...
 
std::vector< std::vector< std::vector< Int_t > > > fviFebModuleIdx
 Number of StsXyter ASICs. More...
 
std::vector< std::vector< std::vector< Double_t > > > fvdFebAdcGain
 Idx of the STS module for each FEB, [ NbDpb ][ NbCrobPerDpb ][ NbFebsPerCrob ], -1 if inactive. More...
 
std::vector< std::vector< std::vector< Double_t > > > fvdFebAdcOffs
 ADC gain in e-/b, [ NbDpb ][ NbCrobPerDpb ][ NbFebsPerCrob ]. More...
 
std::vector< Int_t > fviFebAddress
 ADC offset in e-, [ NbDpb ][ NbCrobPerDpb ][ NbFebsPerCrob ]. More...
 
std::vector< Int_t > fviFebModule
 STS address for each FEB, [ NbDpb * NbCrobPerDpb * NbFebsPerCrob ]. More...
 
Double_t fdTimeOffsetNs
 Module for each FEB, [ NbDpb * NbCrobPerDpb * NbFebsPerCrob ]. More...
 
std::vector< Double_t > fvdTimeOffsetNsAsics
 
ULong64_t fulCurrentTsIdx
 
ULong64_t fulCurrentMsIdx
 
Double_t fdTsStartTime
 
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...
 
std::map< stsxyter::MessType, UInt_t > fmMsgCounter
 
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
 
std::vector< UInt_t > fvuCurrentTsMsbCycle
 Current TS MSB for each DPB. More...
 
Double_t fdStartTime
 
Double_t fdStartTimeMsSz
 
std::chrono::steady_clock::time_point ftStartTimeUnix
 
std::vector< stsxyter::FinalHitfvmHitsInMs
 Hits time-sorting. More...
 
TH1 * fhDigisTimeInRun
 All hits (time in bins, ADC in bins, asic, channel) in last MS, sorted with "<" operator. More...
 
TH1 * fhVectorSize = nullptr
 
TH1 * fhVectorCapacity = nullptr
 
size_t fuTsMaxVectorSize = 0
 
Double_t fdCapacityIncFactor = 1.1
 

Static Private Attributes

static const Int_t kiMaxNbFlibLinks = 32
 Constants. More...
 

Detailed Description

Definition at line 36 of file CbmMcbm2018UnpackerAlgoHodo.h.

Constructor & Destructor Documentation

◆ CbmMcbm2018UnpackerAlgoHodo() [1/2]

CbmMcbm2018UnpackerAlgoHodo::CbmMcbm2018UnpackerAlgoHodo ( )

Definition at line 29 of file CbmMcbm2018UnpackerAlgoHodo.cxx.

◆ ~CbmMcbm2018UnpackerAlgoHodo()

CbmMcbm2018UnpackerAlgoHodo::~CbmMcbm2018UnpackerAlgoHodo ( )

Clear buffers

Definition at line 76 of file CbmMcbm2018UnpackerAlgoHodo.cxx.

References fvmHitsInMs.

◆ CbmMcbm2018UnpackerAlgoHodo() [2/2]

CbmMcbm2018UnpackerAlgoHodo::CbmMcbm2018UnpackerAlgoHodo ( const CbmMcbm2018UnpackerAlgoHodo )
private

Member Function Documentation

◆ AddCanvasToVector()

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

Definition at line 87 of file CbmStar2019Algo.h.

◆ AddHistoToVector()

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

For monitor algos.

Definition at line 80 of file CbmStar2019Algo.h.

◆ AddMsComponentToList()

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

Check for duplicates and ignore if it is the case

Add to list

Definition at line 258 of file CbmMcbm2018UnpackerAlgoHodo.cxx.

References CbmStar2019Algo< CbmStsDigi >::fvMsComponentsList.

Referenced by CbmMcbm2018UnpackerTaskHodo::AddMsComponentToList().

◆ CheckParameterValidity()

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

Map of parameter name and type.

Definition at line 147 of file CbmStar2019Algo.h.

◆ ClearErrorVector()

void CbmStar2019Algo< CbmStsDigi >::ClearErrorVector ( )
inlineinherited

Definition at line 98 of file CbmStar2019Algo.h.

◆ ClearVector()

void CbmStar2019Algo< CbmStsDigi >::ClearVector ( )
inlineinherited

For unpacker algos.

Definition at line 96 of file CbmStar2019Algo.h.

◆ CreateHistograms()

Bool_t CbmMcbm2018UnpackerAlgoHodo::CreateHistograms ( )

◆ FillHistograms()

Bool_t CbmMcbm2018UnpackerAlgoHodo::FillHistograms ( )

◆ Finish()

void CbmMcbm2018UnpackerAlgoHodo::Finish ( )
virtual

Printout Goodbye message and stats

Write Output histos

Implements CbmStar2019Algo< CbmStsDigi >.

Definition at line 94 of file CbmMcbm2018UnpackerAlgoHodo.cxx.

◆ GetCanvasVector()

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

Definition at line 91 of file CbmStar2019Algo.h.

◆ GetErrorVector()

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

Definition at line 99 of file CbmStar2019Algo.h.

◆ GetHistoVector()

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

Definition at line 84 of file CbmStar2019Algo.h.

◆ GetParameter()

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

Definition at line 75 of file CbmStar2019Algo.h.

◆ GetParList()

TList * CbmMcbm2018UnpackerAlgoHodo::GetParList ( )
virtual

◆ GetVector()

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

Definition at line 97 of file CbmStar2019Algo.h.

◆ Init()

Bool_t CbmMcbm2018UnpackerAlgoHodo::Init ( )
virtual

Implements CbmStar2019Algo< CbmStsDigi >.

Definition at line 88 of file CbmMcbm2018UnpackerAlgoHodo.cxx.

◆ InitContainers()

Bool_t CbmMcbm2018UnpackerAlgoHodo::InitContainers ( )
virtual

◆ InitParameters()

Bool_t CbmMcbm2018UnpackerAlgoHodo::InitParameters ( )

! FIXME: 1) Geometry is using front/back while we are using P/N !!!! => Assuming that front facing modules have connectors on right side +> Volker warns that the front side should be electrons one so P 2) No accessor/setter to change only the side field of an STS address => hardcode the shift +> The big is unused in the current scheme: the side is encoded in the Digi channel

Definition at line 126 of file CbmMcbm2018UnpackerAlgoHodo.cxx.

References fDpbIdIndexMap, fuNbFebs, fuNbModules, fuNbStsXyters, fUnpackPar, fuNrOfDpbs, fvbCrobActiveFlag, fvdFebAdcGain, fvdFebAdcOffs, fvdTimeOffsetNsAsics, fviFebAddress, fviFebModule, fviFebModuleIdx, fviModAddress, fvuCurrentTsMsbCycle, fvulCurrentTsMsb, CbmMcbm2018HodoPar::GetDpbId(), CbmMcbm2018HodoPar::GetFebAdcGain(), CbmMcbm2018HodoPar::GetFebAdcOffset(), CbmMcbm2018HodoPar::GetFebModuleIdx(), CbmMcbm2018HodoPar::GetModuleAddress(), CbmMcbm2018HodoPar::GetNbCrobsPerDpb(), CbmMcbm2018HodoPar::GetNbFebsPerCrob(), CbmMcbm2018HodoPar::GetNbOfModules(), CbmMcbm2018HodoPar::GetNrOfAsics(), CbmMcbm2018HodoPar::GetNrOfDpbs(), CbmMcbm2018HodoPar::GetNrOfFebs(), and CbmMcbm2018HodoPar::IsCrobActive().

Referenced by ReInitContainers().

◆ operator=()

CbmMcbm2018UnpackerAlgoHodo CbmMcbm2018UnpackerAlgoHodo::operator= ( const CbmMcbm2018UnpackerAlgoHodo )
private

◆ ProcessEpochInfo()

void CbmMcbm2018UnpackerAlgoHodo::ProcessEpochInfo ( const stsxyter::Message mess)
private

Definition at line 692 of file CbmMcbm2018UnpackerAlgoHodo.cxx.

Referenced by ProcessMs().

◆ ProcessHitInfo()

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

◆ ProcessMs()

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

◆ ProcessStatusInfo()

void CbmMcbm2018UnpackerAlgoHodo::ProcessStatusInfo ( const stsxyter::Message mess)
private

Definition at line 707 of file CbmMcbm2018UnpackerAlgoHodo.cxx.

Referenced by ProcessMs().

◆ ProcessTs() [1/2]

Bool_t CbmMcbm2018UnpackerAlgoHodo::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

Sort the buffers of hits

Add the hits to the output buffer as Digis

Ignore unmapped Hits

Clear the buffer of hits

Clear buffers to prepare for the next TS

Fill plots if in monitor mode

Implements CbmStar2019Algo< CbmStsDigi >.

Definition at line 273 of file CbmMcbm2018UnpackerAlgoHodo.cxx.

References CbmStar2019Algo< CbmStsDigi >::fbIgnoreOverlapMs, fbMonitorMode, fdCapacityIncFactor, CbmStar2019Algo< CbmStsDigi >::fDigiVect, CbmStar2019Algo< CbmStsDigi >::fdMsSizeInNs, fdTimeOffsetNs, CbmStar2019Algo< CbmStsDigi >::fdTsCoreSizeInNs, CbmStar2019Algo< CbmStsDigi >::fdTsFullSizeInNs, fdTsStartTime, fdTsStopTimeCore, fhVectorCapacity, fhVectorSize, FillHistograms(), fulCurrentTsIdx, fuMsIndex, CbmStar2019Algo< CbmStsDigi >::fuNbCoreMsPerTs, CbmStar2019Algo< CbmStsDigi >::fuNbMsLoop, CbmStar2019Algo< CbmStsDigi >::fuNbOverMsPerTs, fUnpackPar, fuTsMaxVectorSize, fvdTimeOffsetNsAsics, fviFebAddress, fviFebModule, fvmHitsInMs, CbmStar2019Algo< CbmStsDigi >::fvMsComponentsList, CbmMcbm2018HodoPar::GetChannelInModule(), CbmMcbm2018HodoPar::GetNbAsicsPerFeb(), stsxyter::kdClockCycleNs, and ProcessMs().

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

◆ ProcessTs() [2/2]

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

Implements CbmStar2019Algo< CbmStsDigi >.

Definition at line 52 of file CbmMcbm2018UnpackerAlgoHodo.h.

References ProcessTs().

◆ ProcessTsMsbInfo()

void CbmMcbm2018UnpackerAlgoHodo::ProcessTsMsbInfo ( const stsxyter::Message mess,
UInt_t  uMessIdx = 0,
UInt_t  uMsIdx = 0 
)
private

◆ ReInitContainers()

Bool_t CbmMcbm2018UnpackerAlgoHodo::ReInitContainers ( )
virtual

◆ Reset()

void CbmMcbm2018UnpackerAlgoHodo::Reset ( )
virtual

Implements CbmStar2019Algo< CbmStsDigi >.

Definition at line 93 of file CbmMcbm2018UnpackerAlgoHodo.cxx.

◆ ResetHistograms()

Bool_t CbmMcbm2018UnpackerAlgoHodo::ResetHistograms ( )

Definition at line 999 of file CbmMcbm2018UnpackerAlgoHodo.cxx.

References fhDigisTimeInRun.

Referenced by CbmMcbm2018UnpackerTaskHodo::DoUnpack().

◆ SetIgnoreOverlapMs()

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

Control flags.

Definition at line 102 of file CbmStar2019Algo.h.

◆ SetMonitorMode()

void CbmMcbm2018UnpackerAlgoHodo::SetMonitorMode ( Bool_t  bFlagIn = kTRUE)
inline

Definition at line 63 of file CbmMcbm2018UnpackerAlgoHodo.h.

References fbMonitorMode.

Referenced by CbmMcbm2018UnpackerTaskHodo::InitContainers().

◆ SetParameter()

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

Definition at line 74 of file CbmStar2019Algo.h.

◆ SetTimeOffsetNs()

void CbmMcbm2018UnpackerAlgoHodo::SetTimeOffsetNs ( Double_t  dOffsetIn = 0.0)
inline

◆ SetTimeOffsetNsAsic()

void CbmMcbm2018UnpackerAlgoHodo::SetTimeOffsetNsAsic ( UInt_t  uAsicIdx,
Double_t  dOffsetIn = 0.0 
)

◆ SetVectCapInc()

void CbmMcbm2018UnpackerAlgoHodo::SetVectCapInc ( Double_t  dIncFact)
inline

Definition at line 71 of file CbmMcbm2018UnpackerAlgoHodo.h.

References fdCapacityIncFactor.

Member Data Documentation

◆ fbDebugMonitorMode

Bool_t CbmMcbm2018UnpackerAlgoHodo::fbDebugMonitorMode
private

Switch ON the filling of a minimal set of histograms.

Definition at line 80 of file CbmMcbm2018UnpackerAlgoHodo.h.

◆ fbIgnoreOverlapMs

Bool_t CbmStar2019Algo< CbmStsDigi >::fbIgnoreOverlapMs
protectedinherited

Definition at line 116 of file CbmStar2019Algo.h.

◆ fbMonitorMode

Bool_t CbmMcbm2018UnpackerAlgoHodo::fbMonitorMode
private

Control flags.

Definition at line 78 of file CbmMcbm2018UnpackerAlgoHodo.h.

Referenced by ProcessTs(), and SetMonitorMode().

◆ fdCapacityIncFactor

Double_t CbmMcbm2018UnpackerAlgoHodo::fdCapacityIncFactor = 1.1
private

Definition at line 162 of file CbmMcbm2018UnpackerAlgoHodo.h.

Referenced by ProcessTs(), and SetVectCapInc().

◆ fDigiVect

std::vector<CbmStsDigi > CbmStar2019Algo< CbmStsDigi >::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< CbmStsDigi >::fdMsSizeInNs
protectedinherited

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

Definition at line 117 of file CbmStar2019Algo.h.

◆ fdMsTime

Double_t CbmMcbm2018UnpackerAlgoHodo::fdMsTime
private

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

Definition at line 123 of file CbmMcbm2018UnpackerAlgoHodo.h.

◆ fDpbIdIndexMap

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

Total number of STS DPBs in system.

Definition at line 91 of file CbmMcbm2018UnpackerAlgoHodo.h.

Referenced by InitParameters(), and ProcessMs().

◆ fdStartTime

Double_t CbmMcbm2018UnpackerAlgoHodo::fdStartTime
private

Current TS MSB cycle for DPB Starting state book-keeping

Definition at line 141 of file CbmMcbm2018UnpackerAlgoHodo.h.

Referenced by ProcessHitInfo().

◆ fdStartTimeMsSz

Double_t CbmMcbm2018UnpackerAlgoHodo::fdStartTimeMsSz
private

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

Definition at line 143 of file CbmMcbm2018UnpackerAlgoHodo.h.

◆ fdTimeOffsetNs

Double_t CbmMcbm2018UnpackerAlgoHodo::fdTimeOffsetNs
private

Module for each FEB, [ NbDpb * NbCrobPerDpb * NbFebsPerCrob ].

User settings: Data correction parameters

Definition at line 108 of file CbmMcbm2018UnpackerAlgoHodo.h.

Referenced by ProcessTs(), and SetTimeOffsetNs().

◆ fdTsCoreSizeInNs

Double_t CbmStar2019Algo< CbmStsDigi >::fdTsCoreSizeInNs
protectedinherited

Size of a single MS, [nanoseconds].

Definition at line 119 of file CbmStar2019Algo.h.

◆ fdTsFullSizeInNs

Double_t CbmStar2019Algo< CbmStsDigi >::fdTsFullSizeInNs
protectedinherited

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

Definition at line 121 of file CbmStar2019Algo.h.

◆ fdTsStartTime

Double_t CbmMcbm2018UnpackerAlgoHodo::fdTsStartTime
private

Definition at line 119 of file CbmMcbm2018UnpackerAlgoHodo.h.

Referenced by ProcessTs().

◆ fdTsStopTimeCore

Double_t CbmMcbm2018UnpackerAlgoHodo::fdTsStopTimeCore
private

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

Definition at line 121 of file CbmMcbm2018UnpackerAlgoHodo.h.

Referenced by ProcessTs().

◆ fErrVect

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

Definition at line 141 of file CbmStar2019Algo.h.

◆ fhDigisTimeInRun

TH1* CbmMcbm2018UnpackerAlgoHodo::fhDigisTimeInRun
private

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

Histograms

Definition at line 152 of file CbmMcbm2018UnpackerAlgoHodo.h.

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

◆ fhVectorCapacity

TH1* CbmMcbm2018UnpackerAlgoHodo::fhVectorCapacity = nullptr
private

Definition at line 160 of file CbmMcbm2018UnpackerAlgoHodo.h.

Referenced by CreateHistograms(), and ProcessTs().

◆ fhVectorSize

TH1* CbmMcbm2018UnpackerAlgoHodo::fhVectorSize = nullptr
private

Definition at line 159 of file CbmMcbm2018UnpackerAlgoHodo.h.

Referenced by CreateHistograms(), and ProcessTs().

◆ fiBinSizeDatePlots

Int_t CbmMcbm2018UnpackerAlgoHodo::fiBinSizeDatePlots
private

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

Definition at line 135 of file CbmMcbm2018UnpackerAlgoHodo.h.

◆ fiRunStartDateTimeSec

Int_t CbmMcbm2018UnpackerAlgoHodo::fiRunStartDateTimeSec
private

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

Definition at line 134 of file CbmMcbm2018UnpackerAlgoHodo.h.

◆ fmMsgCounter

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

Index of current MS within the TS Current data properties

Definition at line 126 of file CbmMcbm2018UnpackerAlgoHodo.h.

Referenced by ProcessMs().

◆ fParameterMap

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

For any algo.

Definition at line 145 of file CbmStar2019Algo.h.

◆ fParCList

TList* CbmStar2019Algo< CbmStsDigi >::fParCList
protectedinherited

Parameter management.

Definition at line 108 of file CbmStar2019Algo.h.

◆ ftStartTimeUnix

std::chrono::steady_clock::time_point CbmMcbm2018UnpackerAlgoHodo::ftStartTimeUnix
private

Time of first microslice, used as reference for evolution plots

Definition at line 145 of file CbmMcbm2018UnpackerAlgoHodo.h.

◆ fuCurrDpbId

UInt_t CbmMcbm2018UnpackerAlgoHodo::fuCurrDpbId
private

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

Definition at line 130 of file CbmMcbm2018UnpackerAlgoHodo.h.

Referenced by ProcessMs().

◆ fuCurrDpbIdx

UInt_t CbmMcbm2018UnpackerAlgoHodo::fuCurrDpbIdx
private

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

Definition at line 132 of file CbmMcbm2018UnpackerAlgoHodo.h.

Referenced by ProcessHitInfo(), ProcessMs(), and ProcessTsMsbInfo().

◆ fuCurrentEquipmentId

UInt_t CbmMcbm2018UnpackerAlgoHodo::fuCurrentEquipmentId
private

Definition at line 128 of file CbmMcbm2018UnpackerAlgoHodo.h.

Referenced by ProcessMs().

◆ fulCurrentMsIdx

ULong64_t CbmMcbm2018UnpackerAlgoHodo::fulCurrentMsIdx
private

Definition at line 117 of file CbmMcbm2018UnpackerAlgoHodo.h.

Referenced by ProcessMs(), and ProcessTsMsbInfo().

◆ fulCurrentTsIdx

ULong64_t CbmMcbm2018UnpackerAlgoHodo::fulCurrentTsIdx
private

Running indices TS/MS info

Definition at line 116 of file CbmMcbm2018UnpackerAlgoHodo.h.

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

◆ fuMsIndex

UInt_t CbmMcbm2018UnpackerAlgoHodo::fuMsIndex
private

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

Definition at line 124 of file CbmMcbm2018UnpackerAlgoHodo.h.

Referenced by ProcessTs().

◆ fuNbCoreMsPerTs

size_t CbmStar2019Algo< CbmStsDigi >::fuNbCoreMsPerTs
protectedinherited

Definition at line 112 of file CbmStar2019Algo.h.

◆ fuNbFebs

UInt_t CbmMcbm2018UnpackerAlgoHodo::fuNbFebs
private

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

Definition at line 94 of file CbmMcbm2018UnpackerAlgoHodo.h.

Referenced by InitParameters().

◆ fuNbModules

UInt_t CbmMcbm2018UnpackerAlgoHodo::fuNbModules
private

Readout chain dimensions and mapping

Definition at line 86 of file CbmMcbm2018UnpackerAlgoHodo.h.

Referenced by InitParameters().

◆ fuNbMsLoop

size_t CbmStar2019Algo< CbmStsDigi >::fuNbMsLoop
protectedinherited

Definition at line 114 of file CbmStar2019Algo.h.

◆ fuNbOverMsPerTs

size_t CbmStar2019Algo< CbmStsDigi >::fuNbOverMsPerTs
protectedinherited

Definition at line 113 of file CbmStar2019Algo.h.

◆ fuNbStsXyters

UInt_t CbmMcbm2018UnpackerAlgoHodo::fuNbStsXyters
private

Number of FEBs with StsXyter ASICs.

Definition at line 95 of file CbmMcbm2018UnpackerAlgoHodo.h.

Referenced by InitParameters().

◆ fUnpackPar

CbmMcbm2018HodoPar* CbmMcbm2018UnpackerAlgoHodo::fUnpackPar
private

Settings from parameter file.

Definition at line 84 of file CbmMcbm2018UnpackerAlgoHodo.h.

Referenced by GetParList(), InitParameters(), ProcessHitInfo(), ProcessMs(), ProcessTs(), and ReInitContainers().

◆ fuNrOfDpbs

UInt_t CbmMcbm2018UnpackerAlgoHodo::fuNrOfDpbs
private

STS address for the first strip of each module.

Definition at line 89 of file CbmMcbm2018UnpackerAlgoHodo.h.

Referenced by InitParameters().

◆ fuTsMaxVectorSize

size_t CbmMcbm2018UnpackerAlgoHodo::fuTsMaxVectorSize = 0
private

Definition at line 161 of file CbmMcbm2018UnpackerAlgoHodo.h.

Referenced by ProcessTs().

◆ fvbCrobActiveFlag

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

Map of DPB Identifier to DPB index.

Definition at line 93 of file CbmMcbm2018UnpackerAlgoHodo.h.

Referenced by InitParameters().

◆ fvbMaskedComponents

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

Switch ON the filling of a additional set of histograms.

Definition at line 81 of file CbmMcbm2018UnpackerAlgoHodo.h.

Referenced by ProcessMs().

◆ fvdFebAdcGain

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

Idx of the STS module for each FEB, [ NbDpb ][ NbCrobPerDpb ][ NbFebsPerCrob ], -1 if inactive.

Definition at line 99 of file CbmMcbm2018UnpackerAlgoHodo.h.

Referenced by InitParameters().

◆ fvdFebAdcOffs

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

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

Definition at line 101 of file CbmMcbm2018UnpackerAlgoHodo.h.

Referenced by InitParameters().

◆ fvdTimeOffsetNsAsics

std::vector<Double_t> CbmMcbm2018UnpackerAlgoHodo::fvdTimeOffsetNsAsics
private

Definition at line 109 of file CbmMcbm2018UnpackerAlgoHodo.h.

Referenced by InitParameters(), ProcessTs(), and SetTimeOffsetNsAsic().

◆ fviFebAddress

std::vector<Int_t> CbmMcbm2018UnpackerAlgoHodo::fviFebAddress
private

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

Definition at line 103 of file CbmMcbm2018UnpackerAlgoHodo.h.

Referenced by InitParameters(), and ProcessTs().

◆ fviFebModule

std::vector<Int_t> CbmMcbm2018UnpackerAlgoHodo::fviFebModule
private

STS address for each FEB, [ NbDpb * NbCrobPerDpb * NbFebsPerCrob ].

Definition at line 105 of file CbmMcbm2018UnpackerAlgoHodo.h.

Referenced by InitParameters(), and ProcessTs().

◆ fviFebModuleIdx

std::vector<std::vector<std::vector<Int_t> > > CbmMcbm2018UnpackerAlgoHodo::fviFebModuleIdx
private

Number of StsXyter ASICs.

Definition at line 97 of file CbmMcbm2018UnpackerAlgoHodo.h.

Referenced by InitParameters().

◆ fviModAddress

std::vector<Int_t> CbmMcbm2018UnpackerAlgoHodo::fviModAddress
private

Total number of STS modules in the setup.

Definition at line 88 of file CbmMcbm2018UnpackerAlgoHodo.h.

Referenced by InitParameters().

◆ fvmHitsInMs

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

Referenced by ProcessHitInfo(), ProcessTs(), and ~CbmMcbm2018UnpackerAlgoHodo().

◆ fvMsComponentsList

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

Parameters related to FLES containers.

Definition at line 111 of file CbmStar2019Algo.h.

◆ fvpAllCanvasPointers

std::vector<std::pair<TCanvas*, std::string> > CbmStar2019Algo< CbmStsDigi >::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< CbmStsDigi >::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.

◆ fvuCurrentTsMsbCycle

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

Current TS MSB for each DPB.

Definition at line 138 of file CbmMcbm2018UnpackerAlgoHodo.h.

Referenced by InitParameters(), ProcessHitInfo(), ProcessMs(), and ProcessTsMsbInfo().

◆ fvulCurrentTsMsb

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

Bin size in s for the plots with date as X axis Data format control

Definition at line 137 of file CbmMcbm2018UnpackerAlgoHodo.h.

Referenced by InitParameters(), ProcessHitInfo(), ProcessMs(), and ProcessTsMsbInfo().

◆ kiMaxNbFlibLinks

const Int_t CbmMcbm2018UnpackerAlgoHodo::kiMaxNbFlibLinks = 32
staticprivate

Constants.

Definition at line 112 of file CbmMcbm2018UnpackerAlgoHodo.h.


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