CbmRoot
CbmMcbm2018UnpackerAlgoRich Class Reference

#include <CbmMcbm2018UnpackerAlgoRich.h>

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

Public Member Functions

 CbmMcbm2018UnpackerAlgoRich ()
 
virtual ~CbmMcbm2018UnpackerAlgoRich ()
 
virtual Bool_t Init ()
 
virtual void Reset ()
 
virtual void Finish ()
 
virtual Bool_t InitContainers ()
 
virtual Bool_t ReInitContainers ()
 
virtual TList * GetParList ()
 
Bool_t InitParameters ()
 
void AddMsComponentToList (size_t component, UShort_t usDetectorId)
 
virtual Bool_t ProcessTs (const fles::Timeslice &ts)
 
virtual Bool_t ProcessTs (const fles::Timeslice &ts, size_t component)
 
virtual Bool_t ProcessMs (const fles::Timeslice &ts, size_t uMsCompIdx, size_t uMsIdx)
 
Bool_t DebugMs (const fles::Timeslice &ts, size_t uMsCompIdx, size_t uMsIdx)
 
void SetMonitorMode (Bool_t bFlagIn=kTRUE)
 
void SetTimeOffsetNs (Double_t dOffsetIn=0.0)
 
void DoTotCorr (Bool_t bDoToTCorr=kTRUE)
 
void SetRawDataMode (Bool_t bDebug=kFALSE)
 
Int_t Debug (const uint8_t *ptr, const size_t size)
 
Bool_t CreateHistograms ()
 Exclude from ROOT dictionnary due to missing empty constructor!! More...
 
Bool_t ResetHistograms ()
 
TH1D * GetTotH1 (Int_t fpgaID, Int_t channel)
 
TH2D * GetTotH2 (Int_t fpgaID)
 
void SetVectCapInc (Double_t dIncFact)
 
 ClassDef (CbmMcbm2018UnpackerAlgoRich, 1)
 
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< CbmRichDigi > & GetVector ()
 
void ClearErrorVector ()
 
std::vector< CbmErrorMessage > & GetErrorVector ()
 
void SetIgnoreOverlapMs (Bool_t bFlagIn=kTRUE)
 Control flags. More...
 

Public Attributes

std::vector< TH2D * > fhTDCre_corrected1
 
std::vector< TH2D * > fhTDCre_corrected2
 
std::vector< TCanvas * > fcTot2d
 
TH1 * fhVectorSize = nullptr
 
TH1 * fhVectorCapacity = nullptr
 
TH2D * fhTdcErrors = nullptr
 
TH2D * fhEventErrors = nullptr
 
TH2D * fhDiRICHWords = nullptr
 
TH2D * fhChnlWords = nullptr
 
TH1 * fhEventSize = nullptr
 
TH2 * fhSubEventSize = nullptr
 
TH2 * fhSubSubEventSize = nullptr
 
TH2 * fhChnlSize = nullptr
 
std::array< unsigned int, 33 > fChnlMsgCnt
 
bool fDebugPrint = 0
 
std::map< uint16_t, uint16_t > fMapFEE
 
std::map< Int_t, std::map< Int_t, TH1D * > > fhTotMap
 
std::map< Int_t, TH2D * > fhTot2dMap
 
size_t fuTsMaxVectorSize = 0
 
Double_t fdCapacityIncFactor = 1.1
 

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< CbmRichDigifDigiVect
 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 InitStorage ()
 
void ProcessMicroslice (size_t const size, uint8_t const *const ptr)
 
Int_t ProcessTRBevent (size_t const size, uint8_t const *const ptr)
 
Int_t ProcessTRBeventHeader (size_t const size, uint8_t const *const ptr)
 
Int_t ProcessSKIPsubevent (size_t const size, uint8_t const *const ptr)
 
Int_t ProcessCTSsubevent (size_t const size, uint8_t const *const ptr)
 
Int_t ProcessTRBsubevent (size_t const size, uint8_t const *const ptr)
 
Int_t ProcessTRBsubsubevent (size_t const size, uint8_t const *const ptr, Int_t const hubOffset, size_t const hubSize)
 
Int_t ProcessTDCword (uint8_t const *const ptr, Int_t const word, size_t const size)
 
void ProcessTimestampWord (Int_t tdcData)
 
void WriteOutputDigi (Int_t fpgaID, Int_t channel, Double_t time, Double_t tot, uint64_t MSidx)
 
void FinalizeTs ()
 
void ErrorMsg (uint16_t errbits, RichErrorType type, uint16_t tdcAddr=0)
 
Int_t GetPixelUID (Int_t fpgaID, Int_t ch) const
 
void findTDCAlignmentError (uint8_t const *const ptr, size_t const size)
 
void ProcessRisingEdge (Int_t subSubEvId, Int_t channel, Double_t time)
 
void ProcessFallingEdge (Int_t subSubEvId, Int_t channel, Double_t time)
 

Private Attributes

Bool_t fbMonitorMode
 Control flags. More...
 
Bool_t fbDebugMonitorMode
 Switch ON the filling of a minimal set of histograms. More...
 
Bool_t fRawDataMode
 Switch ON the filling of a additional set of histograms. More...
 
Bool_t fError
 
TrbNetState fTrbState
 flag for an error in the datastream More...
 
uint32_t fErrorCorr
 
Bool_t fbDoToTCorr
 User setting: kTRUE activates ToT correction from Parameterfile. More...
 
Bool_t fSkipMs
 
Double_t fdTimeOffsetNs
 User settings: Data correction parameters. More...
 
size_t fDataSize = 0
 
Int_t fRICHcompIdx
 
CbmMcbm2018RichParfUnpackPar
 
uint64_t fTScounter
 
Int_t fCurMSid
 
uint64_t fCurMSidx
 
Int_t fGwordCnt
 
Bool_t fInSubSubEvent
 
UInt_t fCurEpochCounter
 
Int_t fSubSubEvId
 
Bool_t fLastFeeOnHub = false
 
std::vector< Int_t > fTDCAlignmentErrorPositions
 
Int_t fTdcWordCorrectionCnt = 0
 
Int_t fTdcWordCorrectionGlobalCnt = 0
 
Int_t fSkipCnt = 0
 
Double_t fLastCTSch0_re_time
 
Double_t fLastCTSch2_re_time
 
Double_t fLastCTSch2_fe_time
 
Double_t fPrevLastCTSch0_re_time
 
Double_t fPrevLastCTSch2_re_time
 
Double_t fPrevLastCTSch2_fe_time
 
TArrayD fLastCh0_re_time
 
TArrayD fPrevLastCh0_re_time
 
std::vector< CbmMcbmRichEdgefRisingEdgesBuf
 
std::vector< CbmMcbmRichEdgefFallingEdgesBuf
 Exclude from ROOT dictionnary due to missing empty constructor!! More...
 

Detailed Description

Definition at line 44 of file CbmMcbm2018UnpackerAlgoRich.h.

Constructor & Destructor Documentation

◆ CbmMcbm2018UnpackerAlgoRich()

CbmMcbm2018UnpackerAlgoRich::CbmMcbm2018UnpackerAlgoRich ( )

CbmMcbm2018UnpackerAlgoRich E. Ovcharenko, Mar 2019 based on other detectors' classes by P.-A. Loizeau Consider two consequent microslices A and B. Each microslice contains one CTS subevent which contains at least 3 timestamp messages. A microslice may also contain TRB subevents, each containing also one timestamp message from ch0.

Microslice A

CTS | ch 0 re = AC0R (stands for ms A, Cts, ch 0, Rising edge) CTS | ch 2 fe

CTS | ch 2 re = AC2R (stands for ms A, Cts, ch 2, Rising edge)

TDC K | ch 0 re

TDC Z | ch 0 re = AZ0R (stands for ms A, tdc Z, ch 0, Rising edge)) | ch X re | ch X fe

| ...

...

Microslice B (next after A)

CTS | ch 0 re CTS | ch 2 fe

CTS | ch 2 re

TDC L | ch 0 re

TDC Z | ch 0 re | ch Y re = (T - AZ0R) + corr | ch Y fe

| ...

...

corr = -(AC2R-AC0R)

Uncorrected full time in ns of the TIMESTAMP message calculated as T = epoch*2048.*5. + (coarse)*5. - fine*0.005

Full corrected global time is then computed by adding the microslice index from the descriptor to the corrected time:

fullTimeCorr = (T - AZ0R) - (AC2R-AC0R) + MSidx

Definition at line 73 of file CbmMcbm2018UnpackerAlgoRich.cxx.

References IDLE, and Init().

◆ ~CbmMcbm2018UnpackerAlgoRich()

CbmMcbm2018UnpackerAlgoRich::~CbmMcbm2018UnpackerAlgoRich ( )
virtual

Member Function Documentation

◆ AddCanvasToVector()

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

Definition at line 87 of file CbmStar2019Algo.h.

◆ AddHistoToVector()

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

For monitor algos.

Definition at line 80 of file CbmStar2019Algo.h.

◆ AddMsComponentToList()

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

Copied from other detectors without any brain effort...

Copied from other detectors without any brain effort... A little bug-fix added

Check for duplicates and ignore if it is the case

Add to list

Definition at line 171 of file CbmMcbm2018UnpackerAlgoRich.cxx.

References fRICHcompIdx, and CbmStar2019Algo< CbmRichDigi >::fvMsComponentsList.

Referenced by CbmMcbm2018UnpackerTaskRich::AddMsComponentToList().

◆ CheckParameterValidity()

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

Map of parameter name and type.

Definition at line 147 of file CbmStar2019Algo.h.

◆ ClassDef()

CbmMcbm2018UnpackerAlgoRich::ClassDef ( CbmMcbm2018UnpackerAlgoRich  ,
 
)

◆ ClearErrorVector()

void CbmStar2019Algo< CbmRichDigi >::ClearErrorVector
inlineinherited

Definition at line 98 of file CbmStar2019Algo.h.

◆ ClearVector()

void CbmStar2019Algo< CbmRichDigi >::ClearVector
inlineinherited

For unpacker algos.

Definition at line 96 of file CbmStar2019Algo.h.

◆ CreateHistograms()

◆ Debug()

Int_t CbmMcbm2018UnpackerAlgoRich::Debug ( const uint8_t *  ptr,
const size_t  size 
)

Definition at line 1785 of file CbmMcbm2018UnpackerAlgoRich.cxx.

References i.

Referenced by DebugMs().

◆ DebugMs()

Bool_t CbmMcbm2018UnpackerAlgoRich::DebugMs ( const fles::Timeslice &  ts,
size_t  uMsCompIdx,
size_t  uMsIdx 
)

Definition at line 1771 of file CbmMcbm2018UnpackerAlgoRich.cxx.

References Debug().

Referenced by ProcessTs().

◆ DoTotCorr()

void CbmMcbm2018UnpackerAlgoRich::DoTotCorr ( Bool_t  bDoToTCorr = kTRUE)
inline

Definition at line 84 of file CbmMcbm2018UnpackerAlgoRich.h.

References fbDoToTCorr.

Referenced by CbmMcbm2018UnpackerTaskRich::DoTotCorr().

◆ ErrorMsg()

void CbmMcbm2018UnpackerAlgoRich::ErrorMsg ( uint16_t  errbits,
RichErrorType  type,
uint16_t  tdcAddr = 0 
)
private

◆ FinalizeTs()

void CbmMcbm2018UnpackerAlgoRich::FinalizeTs ( )
private

Method which is called at the end of the timeslice processing

Definition at line 1499 of file CbmMcbm2018UnpackerAlgoRich.cxx.

References fFallingEdgesBuf, and fRisingEdgesBuf.

Referenced by ProcessTs().

◆ findTDCAlignmentError()

void CbmMcbm2018UnpackerAlgoRich::findTDCAlignmentError ( uint8_t const *const  ptr,
size_t const  size 
)
private

◆ Finish()

void CbmMcbm2018UnpackerAlgoRich::Finish ( )
virtual

Implements CbmStar2019Algo< CbmRichDigi >.

Definition at line 126 of file CbmMcbm2018UnpackerAlgoRich.cxx.

◆ GetCanvasVector()

std::vector<std::pair<TCanvas*, std::string> > CbmStar2019Algo< CbmRichDigi >::GetCanvasVector
inlineinherited

Definition at line 91 of file CbmStar2019Algo.h.

◆ GetErrorVector()

std::vector<CbmErrorMessage>& CbmStar2019Algo< CbmRichDigi >::GetErrorVector
inlineinherited

Definition at line 99 of file CbmStar2019Algo.h.

◆ GetHistoVector()

std::vector<std::pair<TNamed*, std::string> > CbmStar2019Algo< CbmRichDigi >::GetHistoVector
inlineinherited

Definition at line 84 of file CbmStar2019Algo.h.

◆ GetParameter()

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

Definition at line 75 of file CbmStar2019Algo.h.

◆ GetParList()

TList * CbmMcbm2018UnpackerAlgoRich::GetParList ( )
virtual

◆ GetPixelUID()

Int_t CbmMcbm2018UnpackerAlgoRich::GetPixelUID ( Int_t  fpgaID,
Int_t  ch 
) const
inlineprivate

Definition at line 159 of file CbmMcbm2018UnpackerAlgoRich.h.

Referenced by WriteOutputDigi().

◆ GetTotH1()

TH1D * CbmMcbm2018UnpackerAlgoRich::GetTotH1 ( Int_t  fpgaID,
Int_t  channel 
)

◆ GetTotH2()

TH2D * CbmMcbm2018UnpackerAlgoRich::GetTotH2 ( Int_t  fpgaID)

◆ GetVector()

std::vector<CbmRichDigi >& CbmStar2019Algo< CbmRichDigi >::GetVector
inlineinherited

Definition at line 97 of file CbmStar2019Algo.h.

◆ Init()

Bool_t CbmMcbm2018UnpackerAlgoRich::Init ( )
virtual

◆ InitContainers()

Bool_t CbmMcbm2018UnpackerAlgoRich::InitContainers ( )
virtual

◆ InitParameters()

Bool_t CbmMcbm2018UnpackerAlgoRich::InitParameters ( )

Definition at line 155 of file CbmMcbm2018UnpackerAlgoRich.cxx.

References InitStorage().

Referenced by ReInitContainers().

◆ InitStorage()

void CbmMcbm2018UnpackerAlgoRich::InitStorage ( )
private

Initialize space required for monitoring. This depends on the parameters read from the par file. This method should be called once after parameters import.

Definition at line 160 of file CbmMcbm2018UnpackerAlgoRich.cxx.

References fLastCh0_re_time, fPrevLastCh0_re_time, fUnpackPar, and CbmMcbm2018RichPar::GetNaddresses().

Referenced by InitParameters().

◆ ProcessCTSsubevent()

Int_t CbmMcbm2018UnpackerAlgoRich::ProcessCTSsubevent ( size_t const  size,
uint8_t const *const  ptr 
)
private

◆ ProcessFallingEdge()

void CbmMcbm2018UnpackerAlgoRich::ProcessFallingEdge ( Int_t  subSubEvId,
Int_t  channel,
Double_t  time 
)
private

◆ ProcessMicroslice()

void CbmMcbm2018UnpackerAlgoRich::ProcessMicroslice ( size_t const  size,
uint8_t const *const  ptr 
)
private

◆ ProcessMs()

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

◆ ProcessRisingEdge()

void CbmMcbm2018UnpackerAlgoRich::ProcessRisingEdge ( Int_t  subSubEvId,
Int_t  channel,
Double_t  time 
)
private

Definition at line 1388 of file CbmMcbm2018UnpackerAlgoRich.cxx.

References fRisingEdgesBuf.

Referenced by ProcessTimestampWord().

◆ ProcessSKIPsubevent()

Int_t CbmMcbm2018UnpackerAlgoRich::ProcessSKIPsubevent ( size_t const  size,
uint8_t const *const  ptr 
)
private

Including header - ? Return number of processed bytes

Definition at line 701 of file CbmMcbm2018UnpackerAlgoRich.cxx.

References ErrorMsg(), fGwordCnt, mRichSupport::GetWordHexRepr(), subEventError, and mRichSupport::SwapBytes().

Referenced by ProcessTRBevent().

◆ ProcessTDCword()

Int_t CbmMcbm2018UnpackerAlgoRich::ProcessTDCword ( uint8_t const *const  ptr,
Int_t const  word,
size_t const  size 
)
private

Process a word written out by the TDC - TIMESTEMP, HEADER, TRAILER, DEBUG, EPOCH, ...

Definition at line 1073 of file CbmMcbm2018UnpackerAlgoRich.cxx.

References EPOCH, ErrorMsg(), fCurEpochCounter, fDebugPrint, fGwordCnt, fInSubSubEvent, fSkipCnt, fSkipMs, fSubSubEvId, fTrbState, mRichSupport::GetWordHexRepr(), HEADER, IDLE, ProcessTimestampWord(), TDC, tdcHeader, tdcTrailer, and TRAILER.

Referenced by ProcessTRBsubsubevent().

◆ ProcessTimestampWord()

void CbmMcbm2018UnpackerAlgoRich::ProcessTimestampWord ( Int_t  tdcData)
private

◆ ProcessTRBevent()

Int_t CbmMcbm2018UnpackerAlgoRich::ProcessTRBevent ( size_t const  size,
uint8_t const *const  ptr 
)
private

◆ ProcessTRBeventHeader()

Int_t CbmMcbm2018UnpackerAlgoRich::ProcessTRBeventHeader ( size_t const  size,
uint8_t const *const  ptr 
)
private

Probably corrupted MS, stop there and skip remaining data

Probably corrupted MS, stop there and skip remaining data

Definition at line 608 of file CbmMcbm2018UnpackerAlgoRich.cxx.

References fGwordCnt, fSkipMs, mRichSupport::GetHexRepresentation(), mRichSupport::GetWordHexRepr(), and mRichSupport::SwapBytes().

Referenced by ProcessTRBevent().

◆ ProcessTRBsubevent()

Int_t CbmMcbm2018UnpackerAlgoRich::ProcessTRBsubevent ( size_t const  size,
uint8_t const *const  ptr 
)
private

◆ ProcessTRBsubsubevent()

Int_t CbmMcbm2018UnpackerAlgoRich::ProcessTRBsubsubevent ( size_t const  size,
uint8_t const *const  ptr,
Int_t const  hubOffset,
size_t const  hubSize 
)
private

Including TDC header, but not including TRB subsubevent header Return number of processed bytes

Probably corrupted MS, stop there and skip remaining data

Definition at line 989 of file CbmMcbm2018UnpackerAlgoRich.cxx.

References fCurEpochCounter, fInSubSubEvent, fSkipMs, fTDCAlignmentErrorPositions, fTdcWordCorrectionCnt, fTrbState, IDLE, ProcessTDCword(), and mRichSupport::SwapBytes().

Referenced by ProcessCTSsubevent(), and ProcessTRBsubevent().

◆ ProcessTs() [1/2]

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

◆ ProcessTs() [2/2]

Bool_t CbmMcbm2018UnpackerAlgoRich::ProcessTs ( const fles::Timeslice &  ts,
size_t  component 
)
virtual

◆ ReInitContainers()

Bool_t CbmMcbm2018UnpackerAlgoRich::ReInitContainers ( )
virtual

◆ Reset()

void CbmMcbm2018UnpackerAlgoRich::Reset ( )
virtual

Implements CbmStar2019Algo< CbmRichDigi >.

Definition at line 124 of file CbmMcbm2018UnpackerAlgoRich.cxx.

◆ ResetHistograms()

Bool_t CbmMcbm2018UnpackerAlgoRich::ResetHistograms ( )

◆ SetIgnoreOverlapMs()

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

Control flags.

Definition at line 102 of file CbmStar2019Algo.h.

◆ SetMonitorMode()

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

Definition at line 78 of file CbmMcbm2018UnpackerAlgoRich.h.

References fbMonitorMode.

Referenced by CbmMcbm2018UnpackerTaskRich::InitContainers().

◆ SetParameter()

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

Definition at line 74 of file CbmStar2019Algo.h.

◆ SetRawDataMode()

void CbmMcbm2018UnpackerAlgoRich::SetRawDataMode ( Bool_t  bDebug = kFALSE)
inline

Definition at line 86 of file CbmMcbm2018UnpackerAlgoRich.h.

References fRawDataMode.

◆ SetTimeOffsetNs()

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

◆ SetVectCapInc()

void CbmMcbm2018UnpackerAlgoRich::SetVectCapInc ( Double_t  dIncFact)
inline

Definition at line 379 of file CbmMcbm2018UnpackerAlgoRich.h.

References fdCapacityIncFactor.

◆ WriteOutputDigi()

void CbmMcbm2018UnpackerAlgoRich::WriteOutputDigi ( Int_t  fpgaID,
Int_t  channel,
Double_t  time,
Double_t  tot,
uint64_t  MSidx 
)
private

Write a gidi object into the output collection

Definition at line 1463 of file CbmMcbm2018UnpackerAlgoRich.cxx.

References fbDoToTCorr, CbmStar2019Algo< CbmRichDigi >::fDigiVect, fdTimeOffsetNs, fUnpackPar, GetPixelUID(), CbmMcbm2018RichPar::GetToTshift(), and i.

Referenced by ProcessFallingEdge().

Member Data Documentation

◆ fbDebugMonitorMode

Bool_t CbmMcbm2018UnpackerAlgoRich::fbDebugMonitorMode
private

Switch ON the filling of a minimal set of histograms.

Definition at line 173 of file CbmMcbm2018UnpackerAlgoRich.h.

Referenced by CreateHistograms(), ProcessMs(), ProcessTRBevent(), ProcessTRBsubevent(), and ProcessTs().

◆ fbDoToTCorr

Bool_t CbmMcbm2018UnpackerAlgoRich::fbDoToTCorr
private

User setting: kTRUE activates ToT correction from Parameterfile.

Definition at line 184 of file CbmMcbm2018UnpackerAlgoRich.h.

Referenced by DoTotCorr(), and WriteOutputDigi().

◆ fbIgnoreOverlapMs

Bool_t CbmStar2019Algo< CbmRichDigi >::fbIgnoreOverlapMs
protectedinherited

Definition at line 116 of file CbmStar2019Algo.h.

◆ fbMonitorMode

Bool_t CbmMcbm2018UnpackerAlgoRich::fbMonitorMode
private

Control flags.

Definition at line 170 of file CbmMcbm2018UnpackerAlgoRich.h.

Referenced by ErrorMsg(), ProcessFallingEdge(), ProcessTimestampWord(), ProcessTs(), and SetMonitorMode().

◆ fChnlMsgCnt

std::array<unsigned int, 33> CbmMcbm2018UnpackerAlgoRich::fChnlMsgCnt

◆ fcTot2d

std::vector<TCanvas*> CbmMcbm2018UnpackerAlgoRich::fcTot2d

Definition at line 348 of file CbmMcbm2018UnpackerAlgoRich.h.

Referenced by CreateHistograms().

◆ fCurEpochCounter

UInt_t CbmMcbm2018UnpackerAlgoRich::fCurEpochCounter
private

Current epoch value

Definition at line 233 of file CbmMcbm2018UnpackerAlgoRich.h.

Referenced by ProcessTDCword(), ProcessTimestampWord(), and ProcessTRBsubsubevent().

◆ fCurMSid

Int_t CbmMcbm2018UnpackerAlgoRich::fCurMSid
private

Current microslice ID

Definition at line 212 of file CbmMcbm2018UnpackerAlgoRich.h.

Referenced by ProcessTs().

◆ fCurMSidx

uint64_t CbmMcbm2018UnpackerAlgoRich::fCurMSidx
private

Current microslice index from the microslice descriptor CBM reference time //TODO clearify

Definition at line 218 of file CbmMcbm2018UnpackerAlgoRich.h.

Referenced by ProcessFallingEdge(), and ProcessTs().

◆ fDataSize

size_t CbmMcbm2018UnpackerAlgoRich::fDataSize = 0
private

Definition at line 190 of file CbmMcbm2018UnpackerAlgoRich.h.

◆ fdCapacityIncFactor

Double_t CbmMcbm2018UnpackerAlgoRich::fdCapacityIncFactor = 1.1

Definition at line 377 of file CbmMcbm2018UnpackerAlgoRich.h.

Referenced by ProcessTs(), and SetVectCapInc().

◆ fDebugPrint

bool CbmMcbm2018UnpackerAlgoRich::fDebugPrint = 0

Definition at line 369 of file CbmMcbm2018UnpackerAlgoRich.h.

Referenced by ProcessTDCword().

◆ fDigiVect

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

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

Definition at line 117 of file CbmStar2019Algo.h.

◆ fdTimeOffsetNs

Double_t CbmMcbm2018UnpackerAlgoRich::fdTimeOffsetNs
private

User settings: Data correction parameters.

Definition at line 188 of file CbmMcbm2018UnpackerAlgoRich.h.

Referenced by SetTimeOffsetNs(), and WriteOutputDigi().

◆ fdTsCoreSizeInNs

Double_t CbmStar2019Algo< CbmRichDigi >::fdTsCoreSizeInNs
protectedinherited

Size of a single MS, [nanoseconds].

Definition at line 119 of file CbmStar2019Algo.h.

◆ fdTsFullSizeInNs

Double_t CbmStar2019Algo< CbmRichDigi >::fdTsFullSizeInNs
protectedinherited

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

Definition at line 121 of file CbmStar2019Algo.h.

◆ fError

Bool_t CbmMcbm2018UnpackerAlgoRich::fError
private

Definition at line 177 of file CbmMcbm2018UnpackerAlgoRich.h.

◆ fErrorCorr

uint32_t CbmMcbm2018UnpackerAlgoRich::fErrorCorr
private

Definition at line 181 of file CbmMcbm2018UnpackerAlgoRich.h.

◆ fErrVect

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

Definition at line 141 of file CbmStar2019Algo.h.

◆ fFallingEdgesBuf

std::vector<CbmMcbmRichEdge> CbmMcbm2018UnpackerAlgoRich::fFallingEdgesBuf
private

Exclude from ROOT dictionnary due to missing empty constructor!!

Buffer of falling edges for which corresponding rising edges were not found

Definition at line 312 of file CbmMcbm2018UnpackerAlgoRich.h.

Referenced by FinalizeTs(), and ProcessFallingEdge().

◆ fGwordCnt

Int_t CbmMcbm2018UnpackerAlgoRich::fGwordCnt
private

◆ fhChnlSize

TH2* CbmMcbm2018UnpackerAlgoRich::fhChnlSize = nullptr

Definition at line 365 of file CbmMcbm2018UnpackerAlgoRich.h.

Referenced by CreateHistograms(), and ProcessTRBsubevent().

◆ fhChnlWords

TH2D* CbmMcbm2018UnpackerAlgoRich::fhChnlWords = nullptr

Definition at line 360 of file CbmMcbm2018UnpackerAlgoRich.h.

◆ fhDiRICHWords

TH2D* CbmMcbm2018UnpackerAlgoRich::fhDiRICHWords = nullptr

Definition at line 359 of file CbmMcbm2018UnpackerAlgoRich.h.

◆ fhEventErrors

TH2D* CbmMcbm2018UnpackerAlgoRich::fhEventErrors = nullptr

Definition at line 357 of file CbmMcbm2018UnpackerAlgoRich.h.

Referenced by CreateHistograms(), and ErrorMsg().

◆ fhEventSize

TH1* CbmMcbm2018UnpackerAlgoRich::fhEventSize = nullptr

Definition at line 362 of file CbmMcbm2018UnpackerAlgoRich.h.

Referenced by CreateHistograms(), and ProcessMs().

◆ fhSubEventSize

TH2* CbmMcbm2018UnpackerAlgoRich::fhSubEventSize = nullptr

Definition at line 363 of file CbmMcbm2018UnpackerAlgoRich.h.

Referenced by CreateHistograms(), and ProcessTRBevent().

◆ fhSubSubEventSize

TH2* CbmMcbm2018UnpackerAlgoRich::fhSubSubEventSize = nullptr

Definition at line 364 of file CbmMcbm2018UnpackerAlgoRich.h.

Referenced by CreateHistograms(), and ProcessTRBsubevent().

◆ fhTdcErrors

TH2D* CbmMcbm2018UnpackerAlgoRich::fhTdcErrors = nullptr

Definition at line 356 of file CbmMcbm2018UnpackerAlgoRich.h.

Referenced by CreateHistograms(), and ErrorMsg().

◆ fhTDCre_corrected1

std::vector<TH2D*> CbmMcbm2018UnpackerAlgoRich::fhTDCre_corrected1

Definition at line 344 of file CbmMcbm2018UnpackerAlgoRich.h.

◆ fhTDCre_corrected2

std::vector<TH2D*> CbmMcbm2018UnpackerAlgoRich::fhTDCre_corrected2

Definition at line 346 of file CbmMcbm2018UnpackerAlgoRich.h.

◆ fhTot2dMap

std::map<Int_t, TH2D*> CbmMcbm2018UnpackerAlgoRich::fhTot2dMap

Definition at line 374 of file CbmMcbm2018UnpackerAlgoRich.h.

Referenced by GetTotH2().

◆ fhTotMap

std::map<Int_t, std::map<Int_t, TH1D*> > CbmMcbm2018UnpackerAlgoRich::fhTotMap

Definition at line 372 of file CbmMcbm2018UnpackerAlgoRich.h.

Referenced by GetTotH1().

◆ fhVectorCapacity

TH1* CbmMcbm2018UnpackerAlgoRich::fhVectorCapacity = nullptr

Definition at line 351 of file CbmMcbm2018UnpackerAlgoRich.h.

Referenced by CreateHistograms(), and ProcessTs().

◆ fhVectorSize

TH1* CbmMcbm2018UnpackerAlgoRich::fhVectorSize = nullptr

Definition at line 350 of file CbmMcbm2018UnpackerAlgoRich.h.

Referenced by CreateHistograms(), and ProcessTs().

◆ fInSubSubEvent

Bool_t CbmMcbm2018UnpackerAlgoRich::fInSubSubEvent
private

Flag indicating that we are in the subsubevent

Definition at line 228 of file CbmMcbm2018UnpackerAlgoRich.h.

Referenced by ProcessTDCword(), and ProcessTRBsubsubevent().

◆ fLastCh0_re_time

TArrayD CbmMcbm2018UnpackerAlgoRich::fLastCh0_re_time
private

Full time of the last rising edge from ch 0 of each TDC

Definition at line 287 of file CbmMcbm2018UnpackerAlgoRich.h.

Referenced by InitStorage(), and ProcessTimestampWord().

◆ fLastCTSch0_re_time

Double_t CbmMcbm2018UnpackerAlgoRich::fLastCTSch0_re_time
private

Full time of the last rising edge from ch 0 of CTS

Definition at line 257 of file CbmMcbm2018UnpackerAlgoRich.h.

Referenced by ProcessTimestampWord().

◆ fLastCTSch2_fe_time

Double_t CbmMcbm2018UnpackerAlgoRich::fLastCTSch2_fe_time
private

Full time of the last falling edge from ch 2 of CTS

Definition at line 267 of file CbmMcbm2018UnpackerAlgoRich.h.

Referenced by ProcessTimestampWord().

◆ fLastCTSch2_re_time

Double_t CbmMcbm2018UnpackerAlgoRich::fLastCTSch2_re_time
private

Full time of the last rising edge from ch 2 of CTS

Definition at line 262 of file CbmMcbm2018UnpackerAlgoRich.h.

Referenced by ProcessTimestampWord().

◆ fLastFeeOnHub

Bool_t CbmMcbm2018UnpackerAlgoRich::fLastFeeOnHub = false
private

Flag to mark the last DiRICH on a Hub

Definition at line 243 of file CbmMcbm2018UnpackerAlgoRich.h.

Referenced by ProcessTRBevent(), and ProcessTRBsubevent().

◆ fMapFEE

std::map<uint16_t, uint16_t> CbmMcbm2018UnpackerAlgoRich::fMapFEE

Definition at line 370 of file CbmMcbm2018UnpackerAlgoRich.h.

Referenced by CreateHistograms(), and ErrorMsg().

◆ fParameterMap

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

For any algo.

Definition at line 145 of file CbmStar2019Algo.h.

◆ fParCList

TList* CbmStar2019Algo< CbmRichDigi >::fParCList
protectedinherited

Parameter management.

Definition at line 108 of file CbmStar2019Algo.h.

◆ fPrevLastCh0_re_time

TArrayD CbmMcbm2018UnpackerAlgoRich::fPrevLastCh0_re_time
private

Full time of the previous last rising edge from ch 0 of each TDC (from the previous microslice)

Definition at line 292 of file CbmMcbm2018UnpackerAlgoRich.h.

Referenced by InitStorage(), and ProcessTimestampWord().

◆ fPrevLastCTSch0_re_time

Double_t CbmMcbm2018UnpackerAlgoRich::fPrevLastCTSch0_re_time
private

Full time of the last rising edge from ch 0 of CTS from the previous microslice

Definition at line 272 of file CbmMcbm2018UnpackerAlgoRich.h.

Referenced by ProcessTimestampWord().

◆ fPrevLastCTSch2_fe_time

Double_t CbmMcbm2018UnpackerAlgoRich::fPrevLastCTSch2_fe_time
private

Full time of the last falling edge from ch 2 of CTS from the previous microslice

Definition at line 282 of file CbmMcbm2018UnpackerAlgoRich.h.

Referenced by ProcessTimestampWord().

◆ fPrevLastCTSch2_re_time

Double_t CbmMcbm2018UnpackerAlgoRich::fPrevLastCTSch2_re_time
private

Full time of the last rising edge from ch 2 of CTS from the previous microslice

Definition at line 277 of file CbmMcbm2018UnpackerAlgoRich.h.

Referenced by ProcessTimestampWord().

◆ fRawDataMode

Bool_t CbmMcbm2018UnpackerAlgoRich::fRawDataMode
private

Switch ON the filling of a additional set of histograms.

Definition at line 175 of file CbmMcbm2018UnpackerAlgoRich.h.

Referenced by ProcessTs(), and SetRawDataMode().

◆ fRICHcompIdx

Int_t CbmMcbm2018UnpackerAlgoRich::fRICHcompIdx
private

Bug fix / shortcut, which helps to run correct ProcessTs method. Works only if there is one componentID assigned to the detector.

Definition at line 197 of file CbmMcbm2018UnpackerAlgoRich.h.

Referenced by AddMsComponentToList().

◆ fRisingEdgesBuf

std::vector<CbmMcbmRichEdge> CbmMcbm2018UnpackerAlgoRich::fRisingEdgesBuf
private

Buffer for rising edges. It is filled during unpacking whenever the rising edge is encountered. Afterwards, when a falling edge is encountered, corresponding rising edge is searched here and removed if found.

Definition at line 306 of file CbmMcbm2018UnpackerAlgoRich.h.

Referenced by FinalizeTs(), ProcessFallingEdge(), and ProcessRisingEdge().

◆ fSkipCnt

Int_t CbmMcbm2018UnpackerAlgoRich::fSkipCnt = 0
private

Definition at line 251 of file CbmMcbm2018UnpackerAlgoRich.h.

Referenced by ProcessTDCword().

◆ fSkipMs

Bool_t CbmMcbm2018UnpackerAlgoRich::fSkipMs
private

◆ fSubSubEvId

Int_t CbmMcbm2018UnpackerAlgoRich::fSubSubEvId
private

Current subsubevent ID

Definition at line 238 of file CbmMcbm2018UnpackerAlgoRich.h.

Referenced by ProcessTDCword(), ProcessTimestampWord(), ProcessTRBevent(), and ProcessTRBsubevent().

◆ fTDCAlignmentErrorPositions

std::vector<Int_t> CbmMcbm2018UnpackerAlgoRich::fTDCAlignmentErrorPositions
private

◆ fTdcWordCorrectionCnt

Int_t CbmMcbm2018UnpackerAlgoRich::fTdcWordCorrectionCnt = 0
private

Definition at line 247 of file CbmMcbm2018UnpackerAlgoRich.h.

Referenced by ProcessTRBsubevent(), and ProcessTRBsubsubevent().

◆ fTdcWordCorrectionGlobalCnt

Int_t CbmMcbm2018UnpackerAlgoRich::fTdcWordCorrectionGlobalCnt = 0
private

Definition at line 249 of file CbmMcbm2018UnpackerAlgoRich.h.

Referenced by ProcessTRBsubevent().

◆ fTrbState

TrbNetState CbmMcbm2018UnpackerAlgoRich::fTrbState
private

flag for an error in the datastream

Definition at line 179 of file CbmMcbm2018UnpackerAlgoRich.h.

Referenced by ProcessTDCword(), ProcessTimestampWord(), and ProcessTRBsubsubevent().

◆ fTScounter

uint64_t CbmMcbm2018UnpackerAlgoRich::fTScounter
private

Counter of processed timeslices

Definition at line 207 of file CbmMcbm2018UnpackerAlgoRich.h.

Referenced by ProcessTs().

◆ fuNbCoreMsPerTs

size_t CbmStar2019Algo< CbmRichDigi >::fuNbCoreMsPerTs
protectedinherited

Definition at line 112 of file CbmStar2019Algo.h.

◆ fuNbMsLoop

size_t CbmStar2019Algo< CbmRichDigi >::fuNbMsLoop
protectedinherited

Definition at line 114 of file CbmStar2019Algo.h.

◆ fuNbOverMsPerTs

size_t CbmStar2019Algo< CbmRichDigi >::fuNbOverMsPerTs
protectedinherited

Definition at line 113 of file CbmStar2019Algo.h.

◆ fUnpackPar

CbmMcbm2018RichPar* CbmMcbm2018UnpackerAlgoRich::fUnpackPar
private

◆ fuTsMaxVectorSize

size_t CbmMcbm2018UnpackerAlgoRich::fuTsMaxVectorSize = 0

Definition at line 376 of file CbmMcbm2018UnpackerAlgoRich.h.

Referenced by ProcessTs().

◆ fvMsComponentsList

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

Parameters related to FLES containers.

Definition at line 111 of file CbmStar2019Algo.h.

◆ fvpAllCanvasPointers

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


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