CbmRoot
|
#include <CbmMcbm2018UnpackerAlgoRich.h>
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< CbmRichDigi > | fDigiVect |
Vector of pointers to canvases + optional folder name. More... | |
std::vector< CbmErrorMessage > | fErrVect |
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 |
CbmMcbm2018RichPar * | fUnpackPar |
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< CbmMcbmRichEdge > | fRisingEdgesBuf |
std::vector< CbmMcbmRichEdge > | fFallingEdgesBuf |
Exclude from ROOT dictionnary due to missing empty constructor!! More... | |
Definition at line 44 of file CbmMcbm2018UnpackerAlgoRich.h.
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.
CTS | ch 0 re = AC0R (stands for ms A, Cts, ch 0, Rising edge) CTS | ch 2 fe
TDC Z | ch 0 re = AZ0R (stands for ms A, tdc Z, ch 0, Rising edge)) | ch X re | ch X fe
CTS | ch 0 re CTS | ch 2 fe
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.
|
virtual |
Definition at line 112 of file CbmMcbm2018UnpackerAlgoRich.cxx.
References CbmStar2019Algo< CbmRichDigi >::fParCList, and fUnpackPar.
|
inlineinherited |
Definition at line 87 of file CbmStar2019Algo.h.
|
inlineinherited |
For monitor algos.
Definition at line 80 of file CbmStar2019Algo.h.
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().
|
inlineprotectedinherited |
Map of parameter name and type.
Definition at line 147 of file CbmStar2019Algo.h.
CbmMcbm2018UnpackerAlgoRich::ClassDef | ( | CbmMcbm2018UnpackerAlgoRich | , |
1 | |||
) |
|
inlineinherited |
Definition at line 98 of file CbmStar2019Algo.h.
|
inlineinherited |
For unpacker algos.
Definition at line 96 of file CbmStar2019Algo.h.
Bool_t CbmMcbm2018UnpackerAlgoRich::CreateHistograms | ( | ) |
Exclude from ROOT dictionnary due to missing empty constructor!!
Map of hits over T0 detector and same vs time in run
Definition at line 1537 of file CbmMcbm2018UnpackerAlgoRich.cxx.
References CbmStar2019Algo< CbmRichDigi >::AddCanvasToVector(), CbmStar2019Algo< CbmRichDigi >::AddHistoToVector(), fbDebugMonitorMode, fcTot2d, fhChnlSize, fhEventErrors, fhEventSize, fhSubEventSize, fhSubSubEventSize, fhTdcErrors, fhVectorCapacity, fhVectorSize, fMapFEE, fUnpackPar, CbmMcbm2018RichPar::GetAddress(), CbmMcbm2018RichPar::GetNaddresses(), GetTotH1(), and GetTotH2().
Referenced by CbmMcbm2018UnpackerTaskRich::InitContainers().
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().
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().
|
inline |
Definition at line 84 of file CbmMcbm2018UnpackerAlgoRich.h.
References fbDoToTCorr.
Referenced by CbmMcbm2018UnpackerTaskRich::DoTotCorr().
|
private |
Write Errors to Histograms
Definition at line 1821 of file CbmMcbm2018UnpackerAlgoRich.cxx.
References ctsHeader, ctsTrailer, fbMonitorMode, fhEventErrors, fhTdcErrors, fMapFEE, mtsError, subEventError, tdcHeader, and tdcTrailer.
Referenced by ProcessMs(), ProcessSKIPsubevent(), and ProcessTDCword().
|
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().
|
private |
Definition at line 1936 of file CbmMcbm2018UnpackerAlgoRich.cxx.
References fTDCAlignmentErrorPositions, i, and mRichSupport::SwapBytes().
Referenced by ProcessTRBsubevent().
|
virtual |
Implements CbmStar2019Algo< CbmRichDigi >.
Definition at line 126 of file CbmMcbm2018UnpackerAlgoRich.cxx.
|
inlineinherited |
Definition at line 91 of file CbmStar2019Algo.h.
|
inlineinherited |
Definition at line 99 of file CbmStar2019Algo.h.
|
inlineinherited |
Definition at line 84 of file CbmStar2019Algo.h.
|
inlinevirtualinherited |
Definition at line 75 of file CbmStar2019Algo.h.
|
virtual |
Implements CbmStar2019Algo< CbmRichDigi >.
Definition at line 147 of file CbmMcbm2018UnpackerAlgoRich.cxx.
References CbmStar2019Algo< CbmRichDigi >::fParCList, and fUnpackPar.
Referenced by CbmMcbm2018UnpackerTaskRich::SetParContainers().
|
inlineprivate |
Definition at line 159 of file CbmMcbm2018UnpackerAlgoRich.h.
Referenced by WriteOutputDigi().
TH1D * CbmMcbm2018UnpackerAlgoRich::GetTotH1 | ( | Int_t | fpgaID, |
Int_t | channel | ||
) |
Definition at line 1743 of file CbmMcbm2018UnpackerAlgoRich.cxx.
References CbmStar2019Algo< CbmRichDigi >::AddHistoToVector(), and fhTotMap.
Referenced by CreateHistograms(), and ProcessFallingEdge().
TH2D * CbmMcbm2018UnpackerAlgoRich::GetTotH2 | ( | Int_t | fpgaID | ) |
Definition at line 1757 of file CbmMcbm2018UnpackerAlgoRich.cxx.
References CbmStar2019Algo< CbmRichDigi >::AddHistoToVector(), and fhTot2dMap.
Referenced by CreateHistograms(), and ProcessFallingEdge().
|
inlineinherited |
Definition at line 97 of file CbmStar2019Algo.h.
|
virtual |
Implements CbmStar2019Algo< CbmRichDigi >.
Definition at line 117 of file CbmMcbm2018UnpackerAlgoRich.cxx.
Referenced by CbmMcbm2018UnpackerAlgoRich().
|
virtual |
Implements CbmStar2019Algo< CbmRichDigi >.
Definition at line 128 of file CbmMcbm2018UnpackerAlgoRich.cxx.
References ReInitContainers().
Referenced by CbmMcbm2018UnpackerTaskRich::InitContainers().
Bool_t CbmMcbm2018UnpackerAlgoRich::InitParameters | ( | ) |
Definition at line 155 of file CbmMcbm2018UnpackerAlgoRich.cxx.
References InitStorage().
Referenced by ReInitContainers().
|
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().
|
private |
Definition at line 743 of file CbmMcbm2018UnpackerAlgoRich.cxx.
References fChnlMsgCnt, fGwordCnt, mRichSupport::GetWordHexRepr(), ProcessTRBsubsubevent(), and mRichSupport::SwapBytes().
Referenced by ProcessTRBevent().
|
private |
Definition at line 1403 of file CbmMcbm2018UnpackerAlgoRich.cxx.
References fbMonitorMode, fCurMSidx, fFallingEdgesBuf, fRisingEdgesBuf, GetTotH1(), GetTotH2(), TOTMAX, TOTMIN, and WriteOutputDigi().
Referenced by ProcessTimestampWord().
|
private |
|
virtual |
Probably corrupted MS, stop there and skip remaining data
Implements CbmStar2019Algo< CbmRichDigi >.
Definition at line 308 of file CbmMcbm2018UnpackerAlgoRich.cxx.
References ErrorMsg(), fbDebugMonitorMode, CbmStar2019Algo< CbmRichDigi >::fDigiVect, fGwordCnt, fhEventSize, fSkipMs, mRichSupport::GetWordHexRepr(), mtsError, ProcessTRBevent(), and mRichSupport::SwapBytes().
Referenced by ProcessTs().
|
private |
Definition at line 1388 of file CbmMcbm2018UnpackerAlgoRich.cxx.
References fRisingEdgesBuf.
Referenced by ProcessTimestampWord().
|
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().
|
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().
|
private |
Process specifically a TIMESTAMP type of word
Probably corrupted MS, stop there and skip remaining data
Definition at line 1254 of file CbmMcbm2018UnpackerAlgoRich.cxx.
References EPOCH, FALLINGEDGEID, fbMonitorMode, fChnlMsgCnt, fCurEpochCounter, fGwordCnt, fLastCh0_re_time, fLastCTSch0_re_time, fLastCTSch2_fe_time, fLastCTSch2_re_time, fPrevLastCh0_re_time, fPrevLastCTSch0_re_time, fPrevLastCTSch2_fe_time, fPrevLastCTSch2_re_time, fSkipMs, fSubSubEvId, fTrbState, fUnpackPar, CbmMcbm2018RichPar::GetAddressIdx(), mRichSupport::GetWordHexRepr(), ProcessFallingEdge(), ProcessRisingEdge(), and RISINGEDGEID.
Referenced by ProcessTDCword().
|
private |
Including header
Escape bad MS before doing anything
Escape bad MS before doing anything
Definition at line 434 of file CbmMcbm2018UnpackerAlgoRich.cxx.
References fbDebugMonitorMode, fGwordCnt, fhSubEventSize, fLastFeeOnHub, fSkipMs, fSubSubEvId, mRichSupport::GetHexRepresentation(), mRichSupport::GetWordHexRepr(), ProcessCTSsubevent(), ProcessSKIPsubevent(), ProcessTRBeventHeader(), ProcessTRBsubevent(), and mRichSupport::SwapBytes().
Referenced by ProcessMs().
|
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().
|
private |
Probably corrupted MS, stop there and skip remaining data
Probably corrupted MS, stop there and skip remaining data
Definition at line 829 of file CbmMcbm2018UnpackerAlgoRich.cxx.
References fbDebugMonitorMode, fChnlMsgCnt, fGwordCnt, fhChnlSize, fhSubSubEventSize, findTDCAlignmentError(), fLastFeeOnHub, fSkipMs, fSubSubEvId, fTDCAlignmentErrorPositions, fTdcWordCorrectionCnt, fTdcWordCorrectionGlobalCnt, mRichSupport::GetHexRepresentation(), mRichSupport::GetWordHexRepr(), i, ProcessTRBsubsubevent(), and mRichSupport::SwapBytes().
Referenced by ProcessTRBevent().
|
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().
|
virtual |
Implements CbmStar2019Algo< CbmRichDigi >.
Definition at line 193 of file CbmMcbm2018UnpackerAlgoRich.cxx.
Referenced by CbmMcbm2018UnpackerTaskRich::DoUnpack().
|
virtual |
Ignore First TS as first MS is typically corrupt
If no RICH component, do nothing!
If multiple RICH components, fail the run
On first TS, extract the TS parameters from header (by definition stable over time)
Ignore overlap ms if flag set by user
Sort the buffers of hits due to the time offsets applied
Implements CbmStar2019Algo< CbmRichDigi >.
Definition at line 206 of file CbmMcbm2018UnpackerAlgoRich.cxx.
References DebugMs(), fbDebugMonitorMode, CbmStar2019Algo< CbmRichDigi >::fbIgnoreOverlapMs, fbMonitorMode, fCurMSid, fCurMSidx, fdCapacityIncFactor, CbmStar2019Algo< CbmRichDigi >::fDigiVect, CbmStar2019Algo< CbmRichDigi >::fdMsSizeInNs, CbmStar2019Algo< CbmRichDigi >::fdTsCoreSizeInNs, CbmStar2019Algo< CbmRichDigi >::fdTsFullSizeInNs, fhVectorCapacity, fhVectorSize, FinalizeTs(), fRawDataMode, fTScounter, CbmStar2019Algo< CbmRichDigi >::fuNbCoreMsPerTs, CbmStar2019Algo< CbmRichDigi >::fuNbMsLoop, CbmStar2019Algo< CbmRichDigi >::fuNbOverMsPerTs, fuTsMaxVectorSize, CbmStar2019Algo< CbmRichDigi >::fvMsComponentsList, and ProcessMs().
|
virtual |
Implements CbmStar2019Algo< CbmRichDigi >.
Definition at line 135 of file CbmMcbm2018UnpackerAlgoRich.cxx.
References CbmStar2019Algo< CbmRichDigi >::fParCList, fUnpackPar, and InitParameters().
Referenced by InitContainers(), and CbmMcbm2018UnpackerTaskRich::ReInitContainers().
|
virtual |
Implements CbmStar2019Algo< CbmRichDigi >.
Definition at line 124 of file CbmMcbm2018UnpackerAlgoRich.cxx.
Bool_t CbmMcbm2018UnpackerAlgoRich::ResetHistograms | ( | ) |
Definition at line 1931 of file CbmMcbm2018UnpackerAlgoRich.cxx.
Referenced by CbmMcbm2018UnpackerTaskRich::DoUnpack().
|
inlineinherited |
Control flags.
Definition at line 102 of file CbmStar2019Algo.h.
|
inline |
Definition at line 78 of file CbmMcbm2018UnpackerAlgoRich.h.
References fbMonitorMode.
Referenced by CbmMcbm2018UnpackerTaskRich::InitContainers().
|
inlinevirtualinherited |
Definition at line 74 of file CbmStar2019Algo.h.
|
inline |
Definition at line 86 of file CbmMcbm2018UnpackerAlgoRich.h.
References fRawDataMode.
|
inline |
Definition at line 80 of file CbmMcbm2018UnpackerAlgoRich.h.
References fdTimeOffsetNs.
Referenced by CbmMcbm2018UnpackerTaskRich::SetTimeOffsetNs().
|
inline |
Definition at line 379 of file CbmMcbm2018UnpackerAlgoRich.h.
References fdCapacityIncFactor.
|
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().
|
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().
|
private |
User setting: kTRUE activates ToT correction from Parameterfile.
Definition at line 184 of file CbmMcbm2018UnpackerAlgoRich.h.
Referenced by DoTotCorr(), and WriteOutputDigi().
|
protectedinherited |
Definition at line 116 of file CbmStar2019Algo.h.
|
private |
Control flags.
Definition at line 170 of file CbmMcbm2018UnpackerAlgoRich.h.
Referenced by ErrorMsg(), ProcessFallingEdge(), ProcessTimestampWord(), ProcessTs(), and SetMonitorMode().
std::array<unsigned int, 33> CbmMcbm2018UnpackerAlgoRich::fChnlMsgCnt |
Definition at line 367 of file CbmMcbm2018UnpackerAlgoRich.h.
Referenced by ProcessCTSsubevent(), ProcessTimestampWord(), and ProcessTRBsubevent().
std::vector<TCanvas*> CbmMcbm2018UnpackerAlgoRich::fcTot2d |
Definition at line 348 of file CbmMcbm2018UnpackerAlgoRich.h.
Referenced by CreateHistograms().
|
private |
Current epoch value
Definition at line 233 of file CbmMcbm2018UnpackerAlgoRich.h.
Referenced by ProcessTDCword(), ProcessTimestampWord(), and ProcessTRBsubsubevent().
|
private |
Current microslice ID
Definition at line 212 of file CbmMcbm2018UnpackerAlgoRich.h.
Referenced by ProcessTs().
|
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().
|
private |
Definition at line 190 of file CbmMcbm2018UnpackerAlgoRich.h.
Double_t CbmMcbm2018UnpackerAlgoRich::fdCapacityIncFactor = 1.1 |
Definition at line 377 of file CbmMcbm2018UnpackerAlgoRich.h.
Referenced by ProcessTs(), and SetVectCapInc().
bool CbmMcbm2018UnpackerAlgoRich::fDebugPrint = 0 |
Definition at line 369 of file CbmMcbm2018UnpackerAlgoRich.h.
Referenced by ProcessTDCword().
|
protectedinherited |
Vector of pointers to canvases + optional folder name.
For unpacker algos
Definition at line 140 of file CbmStar2019Algo.h.
|
protectedinherited |
/** Ignore Overlap Ms: all fuOverlapMsNb MS at the end of timeslice **/
Definition at line 117 of file CbmStar2019Algo.h.
|
private |
User settings: Data correction parameters.
Definition at line 188 of file CbmMcbm2018UnpackerAlgoRich.h.
Referenced by SetTimeOffsetNs(), and WriteOutputDigi().
|
protectedinherited |
Size of a single MS, [nanoseconds].
Definition at line 119 of file CbmStar2019Algo.h.
|
protectedinherited |
Total size of the core MS in a TS, [nanoseconds].
Definition at line 121 of file CbmStar2019Algo.h.
|
private |
Definition at line 177 of file CbmMcbm2018UnpackerAlgoRich.h.
|
private |
Definition at line 181 of file CbmMcbm2018UnpackerAlgoRich.h.
|
protectedinherited |
Definition at line 141 of file CbmStar2019Algo.h.
|
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().
|
private |
Global word counter within current microslice
Definition at line 223 of file CbmMcbm2018UnpackerAlgoRich.h.
Referenced by ProcessCTSsubevent(), ProcessMs(), ProcessSKIPsubevent(), ProcessTDCword(), ProcessTimestampWord(), ProcessTRBevent(), ProcessTRBeventHeader(), and ProcessTRBsubevent().
TH2* CbmMcbm2018UnpackerAlgoRich::fhChnlSize = nullptr |
Definition at line 365 of file CbmMcbm2018UnpackerAlgoRich.h.
Referenced by CreateHistograms(), and ProcessTRBsubevent().
TH2D* CbmMcbm2018UnpackerAlgoRich::fhChnlWords = nullptr |
Definition at line 360 of file CbmMcbm2018UnpackerAlgoRich.h.
TH2D* CbmMcbm2018UnpackerAlgoRich::fhDiRICHWords = nullptr |
Definition at line 359 of file CbmMcbm2018UnpackerAlgoRich.h.
TH2D* CbmMcbm2018UnpackerAlgoRich::fhEventErrors = nullptr |
Definition at line 357 of file CbmMcbm2018UnpackerAlgoRich.h.
Referenced by CreateHistograms(), and ErrorMsg().
TH1* CbmMcbm2018UnpackerAlgoRich::fhEventSize = nullptr |
Definition at line 362 of file CbmMcbm2018UnpackerAlgoRich.h.
Referenced by CreateHistograms(), and ProcessMs().
TH2* CbmMcbm2018UnpackerAlgoRich::fhSubEventSize = nullptr |
Definition at line 363 of file CbmMcbm2018UnpackerAlgoRich.h.
Referenced by CreateHistograms(), and ProcessTRBevent().
TH2* CbmMcbm2018UnpackerAlgoRich::fhSubSubEventSize = nullptr |
Definition at line 364 of file CbmMcbm2018UnpackerAlgoRich.h.
Referenced by CreateHistograms(), and ProcessTRBsubevent().
TH2D* CbmMcbm2018UnpackerAlgoRich::fhTdcErrors = nullptr |
Definition at line 356 of file CbmMcbm2018UnpackerAlgoRich.h.
Referenced by CreateHistograms(), and ErrorMsg().
std::vector<TH2D*> CbmMcbm2018UnpackerAlgoRich::fhTDCre_corrected1 |
Definition at line 344 of file CbmMcbm2018UnpackerAlgoRich.h.
std::vector<TH2D*> CbmMcbm2018UnpackerAlgoRich::fhTDCre_corrected2 |
Definition at line 346 of file CbmMcbm2018UnpackerAlgoRich.h.
std::map<Int_t, TH2D*> CbmMcbm2018UnpackerAlgoRich::fhTot2dMap |
Definition at line 374 of file CbmMcbm2018UnpackerAlgoRich.h.
Referenced by GetTotH2().
std::map<Int_t, std::map<Int_t, TH1D*> > CbmMcbm2018UnpackerAlgoRich::fhTotMap |
Definition at line 372 of file CbmMcbm2018UnpackerAlgoRich.h.
Referenced by GetTotH1().
TH1* CbmMcbm2018UnpackerAlgoRich::fhVectorCapacity = nullptr |
Definition at line 351 of file CbmMcbm2018UnpackerAlgoRich.h.
Referenced by CreateHistograms(), and ProcessTs().
TH1* CbmMcbm2018UnpackerAlgoRich::fhVectorSize = nullptr |
Definition at line 350 of file CbmMcbm2018UnpackerAlgoRich.h.
Referenced by CreateHistograms(), and ProcessTs().
|
private |
Flag indicating that we are in the subsubevent
Definition at line 228 of file CbmMcbm2018UnpackerAlgoRich.h.
Referenced by ProcessTDCword(), and ProcessTRBsubsubevent().
|
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().
|
private |
Full time of the last rising edge from ch 0 of CTS
Definition at line 257 of file CbmMcbm2018UnpackerAlgoRich.h.
Referenced by ProcessTimestampWord().
|
private |
Full time of the last falling edge from ch 2 of CTS
Definition at line 267 of file CbmMcbm2018UnpackerAlgoRich.h.
Referenced by ProcessTimestampWord().
|
private |
Full time of the last rising edge from ch 2 of CTS
Definition at line 262 of file CbmMcbm2018UnpackerAlgoRich.h.
Referenced by ProcessTimestampWord().
|
private |
Flag to mark the last DiRICH on a Hub
Definition at line 243 of file CbmMcbm2018UnpackerAlgoRich.h.
Referenced by ProcessTRBevent(), and ProcessTRBsubevent().
std::map<uint16_t, uint16_t> CbmMcbm2018UnpackerAlgoRich::fMapFEE |
Definition at line 370 of file CbmMcbm2018UnpackerAlgoRich.h.
Referenced by CreateHistograms(), and ErrorMsg().
|
protectedinherited |
For any algo.
Definition at line 145 of file CbmStar2019Algo.h.
|
protectedinherited |
Parameter management.
Definition at line 108 of file CbmStar2019Algo.h.
|
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().
|
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().
|
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().
|
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().
|
private |
Switch ON the filling of a additional set of histograms.
Definition at line 175 of file CbmMcbm2018UnpackerAlgoRich.h.
Referenced by ProcessTs(), and SetRawDataMode().
|
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().
|
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().
|
private |
Definition at line 251 of file CbmMcbm2018UnpackerAlgoRich.h.
Referenced by ProcessTDCword().
|
private |
Definition at line 186 of file CbmMcbm2018UnpackerAlgoRich.h.
Referenced by ProcessMs(), ProcessTDCword(), ProcessTimestampWord(), ProcessTRBevent(), ProcessTRBeventHeader(), ProcessTRBsubevent(), and ProcessTRBsubsubevent().
|
private |
Current subsubevent ID
Definition at line 238 of file CbmMcbm2018UnpackerAlgoRich.h.
Referenced by ProcessTDCword(), ProcessTimestampWord(), ProcessTRBevent(), and ProcessTRBsubevent().
|
private |
Definition at line 245 of file CbmMcbm2018UnpackerAlgoRich.h.
Referenced by findTDCAlignmentError(), ProcessTRBsubevent(), and ProcessTRBsubsubevent().
|
private |
Definition at line 247 of file CbmMcbm2018UnpackerAlgoRich.h.
Referenced by ProcessTRBsubevent(), and ProcessTRBsubsubevent().
|
private |
Definition at line 249 of file CbmMcbm2018UnpackerAlgoRich.h.
Referenced by ProcessTRBsubevent().
|
private |
flag for an error in the datastream
Definition at line 179 of file CbmMcbm2018UnpackerAlgoRich.h.
Referenced by ProcessTDCword(), ProcessTimestampWord(), and ProcessTRBsubsubevent().
|
private |
Counter of processed timeslices
Definition at line 207 of file CbmMcbm2018UnpackerAlgoRich.h.
Referenced by ProcessTs().
|
protectedinherited |
Definition at line 112 of file CbmStar2019Algo.h.
|
protectedinherited |
Definition at line 114 of file CbmStar2019Algo.h.
|
protectedinherited |
Definition at line 113 of file CbmStar2019Algo.h.
|
private |
Unpacker parameters object
Definition at line 202 of file CbmMcbm2018UnpackerAlgoRich.h.
Referenced by CreateHistograms(), GetParList(), InitStorage(), ProcessTimestampWord(), ReInitContainers(), WriteOutputDigi(), and ~CbmMcbm2018UnpackerAlgoRich().
size_t CbmMcbm2018UnpackerAlgoRich::fuTsMaxVectorSize = 0 |
Definition at line 376 of file CbmMcbm2018UnpackerAlgoRich.h.
Referenced by ProcessTs().
|
protectedinherited |
Parameters related to FLES containers.
Definition at line 111 of file CbmStar2019Algo.h.
|
protectedinherited |
Vector of pointers to histograms + optional folder name.
Definition at line 137 of file CbmStar2019Algo.h.
|
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.