CbmRoot
|
#include <CbmMcbm2018UnpackerAlgoRich2020.h>
Public Member Functions | |
CbmMcbm2018UnpackerAlgoRich2020 () | |
virtual | ~CbmMcbm2018UnpackerAlgoRich2020 () |
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!! | |
Bool_t | ResetHistograms () |
TH1D * | GetTotH1 (Int_t fpgaID, Int_t channel) |
TH2D * | GetTotH2 (Int_t fpgaID) |
void | SetVectCapInc (Double_t dIncFact) |
ClassDef (CbmMcbm2018UnpackerAlgoRich2020, 1) | |
virtual void | SetParameter (std::string) |
virtual std::string | GetParameter (std::string) |
void | AddHistoToVector (TNamed *pointer, std::string sFolder="") |
For monitor algos. | |
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. | |
std::vector< CbmRichDigi > & | GetVector () |
void | ClearErrorVector () |
std::vector< CbmErrorMessage > & | GetErrorVector () |
void | SetIgnoreOverlapMs (Bool_t bFlagIn=kTRUE) |
Control flags. | |
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. | |
Protected Attributes | |
TList * | fParCList |
Parameter management. | |
std::vector< size_t > | fvMsComponentsList |
Parameters related to FLES containers. | |
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 **/ | |
Double_t | fdTsCoreSizeInNs |
Size of a single MS, [nanoseconds]. | |
Double_t | fdTsFullSizeInNs |
Total size of the core MS in a TS, [nanoseconds]. | |
std::vector< std::pair< TNamed *, std::string > > | fvpAllHistoPointers |
Total size of the core MS in a TS, [nanoseconds]. | |
std::vector< std::pair< TCanvas *, std::string > > | fvpAllCanvasPointers |
Vector of pointers to histograms + optional folder name. | |
std::vector< CbmRichDigi > | fDigiVect |
Vector of pointers to canvases + optional folder name. | |
std::vector< CbmErrorMessage > | fErrVect |
std::map< std::string, std::string > | fParameterMap |
For any algo. | |
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. | |
Bool_t | fbDebugMonitorMode |
Switch ON the filling of a minimal set of histograms. | |
Bool_t | fRawDataMode |
Switch ON the filling of a additional set of histograms. | |
Bool_t | fError |
TrbNetState | fTrbState |
flag for an error in the datastream | |
uint32_t | fErrorCorr |
Bool_t | fbDoToTCorr |
User setting: kTRUE activates ToT correction from Parameterfile. | |
Bool_t | fSkipMs |
Double_t | fdTimeOffsetNs |
User settings: Data correction parameters. | |
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!! | |
Definition at line 59 of file CbmMcbm2018UnpackerAlgoRich2020.h.
CbmMcbm2018UnpackerAlgoRich2020::CbmMcbm2018UnpackerAlgoRich2020 | ( | ) |
CbmMcbm2018UnpackerAlgoRich20202020 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 77 of file CbmMcbm2018UnpackerAlgoRich2020.cxx.
References Init().
|
virtual |
Definition at line 117 of file CbmMcbm2018UnpackerAlgoRich2020.cxx.
References CbmStar2019Algo< CbmRichDigi >::fParCList, and fUnpackPar.
|
inlineinherited |
Definition at line 88 of file CbmStar2019Algo.h.
Referenced by CreateHistograms(), and CbmMcbm2018UnpackerAlgoRich::CreateHistograms().
|
inlineinherited |
For monitor algos.
Definition at line 83 of file CbmStar2019Algo.h.
Referenced by CreateHistograms(), CbmMcbm2018UnpackerAlgoRich::CreateHistograms(), GetTotH1(), CbmMcbm2018UnpackerAlgoRich::GetTotH1(), GetTotH2(), and CbmMcbm2018UnpackerAlgoRich::GetTotH2().
void CbmMcbm2018UnpackerAlgoRich2020::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 180 of file CbmMcbm2018UnpackerAlgoRich2020.cxx.
References fRICHcompIdx, and CbmStar2019Algo< CbmRichDigi >::fvMsComponentsList.
Referenced by CbmMcbm2018UnpackerTaskRich2020::AddMsComponentToList().
|
inlineprotectedinherited |
Map of parameter name and type.
Definition at line 140 of file CbmStar2019Algo.h.
CbmMcbm2018UnpackerAlgoRich2020::ClassDef | ( | CbmMcbm2018UnpackerAlgoRich2020 | , |
1 | ) |
|
inlineinherited |
Definition at line 97 of file CbmStar2019Algo.h.
|
inlineinherited |
For unpacker algos.
Definition at line 95 of file CbmStar2019Algo.h.
Bool_t CbmMcbm2018UnpackerAlgoRich2020::CreateHistograms | ( | ) |
Exclude from ROOT dictionnary due to missing empty constructor!!
Map of hits over Bmon detector and same vs time in run
Definition at line 1487 of file CbmMcbm2018UnpackerAlgoRich2020.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 CbmMcbm2018UnpackerTaskRich2020::InitContainers().
Int_t CbmMcbm2018UnpackerAlgoRich2020::Debug | ( | const uint8_t * | ptr, |
const size_t | size ) |
Definition at line 1690 of file CbmMcbm2018UnpackerAlgoRich2020.cxx.
References size().
Bool_t CbmMcbm2018UnpackerAlgoRich2020::DebugMs | ( | const fles::Timeslice & | ts, |
size_t | uMsCompIdx, | ||
size_t | uMsIdx ) |
Definition at line 1677 of file CbmMcbm2018UnpackerAlgoRich2020.cxx.
Referenced by ProcessTs().
|
inline |
Definition at line 96 of file CbmMcbm2018UnpackerAlgoRich2020.h.
References fbDoToTCorr.
Referenced by CbmMcbm2018UnpackerTaskRich2020::DoTotCorr().
|
private |
Write Errors to Histograms
Definition at line 1726 of file CbmMcbm2018UnpackerAlgoRich2020.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 1451 of file CbmMcbm2018UnpackerAlgoRich2020.cxx.
References fFallingEdgesBuf, and fRisingEdgesBuf.
Referenced by ProcessTs().
|
private |
Definition at line 1833 of file CbmMcbm2018UnpackerAlgoRich2020.cxx.
References fTDCAlignmentErrorPositions, size(), and mRichSupport::SwapBytes().
Referenced by ProcessTRBsubevent().
|
virtual |
Implements CbmStar2019Algo< CbmRichDigi >.
Definition at line 133 of file CbmMcbm2018UnpackerAlgoRich2020.cxx.
|
inlineinherited |
Definition at line 92 of file CbmStar2019Algo.h.
|
inlineinherited |
Definition at line 98 of file CbmStar2019Algo.h.
|
inlineinherited |
Definition at line 87 of file CbmStar2019Algo.h.
|
inlinevirtualinherited |
Definition at line 80 of file CbmStar2019Algo.h.
|
virtual |
Implements CbmStar2019Algo< CbmRichDigi >.
Definition at line 155 of file CbmMcbm2018UnpackerAlgoRich2020.cxx.
References CbmStar2019Algo< CbmRichDigi >::fParCList, and fUnpackPar.
Referenced by CbmMcbm2018UnpackerTaskRich2020::SetParContainers().
|
inlineprivate |
Definition at line 163 of file CbmMcbm2018UnpackerAlgoRich2020.h.
Referenced by WriteOutputDigi().
TH1D * CbmMcbm2018UnpackerAlgoRich2020::GetTotH1 | ( | Int_t | fpgaID, |
Int_t | channel ) |
Definition at line 1647 of file CbmMcbm2018UnpackerAlgoRich2020.cxx.
References CbmStar2019Algo< CbmRichDigi >::AddHistoToVector(), and fhTotMap.
Referenced by CreateHistograms(), and ProcessFallingEdge().
TH2D * CbmMcbm2018UnpackerAlgoRich2020::GetTotH2 | ( | Int_t | fpgaID | ) |
Definition at line 1662 of file CbmMcbm2018UnpackerAlgoRich2020.cxx.
References CbmStar2019Algo< CbmRichDigi >::AddHistoToVector(), and fhTot2dMap.
Referenced by CreateHistograms(), and ProcessFallingEdge().
|
inlineinherited |
Definition at line 96 of file CbmStar2019Algo.h.
|
virtual |
Implements CbmStar2019Algo< CbmRichDigi >.
Definition at line 123 of file CbmMcbm2018UnpackerAlgoRich2020.cxx.
Referenced by CbmMcbm2018UnpackerAlgoRich2020().
|
virtual |
Implements CbmStar2019Algo< CbmRichDigi >.
Definition at line 135 of file CbmMcbm2018UnpackerAlgoRich2020.cxx.
References ReInitContainers().
Referenced by CbmMcbm2018UnpackerTaskRich2020::InitContainers().
Bool_t CbmMcbm2018UnpackerAlgoRich2020::InitParameters | ( | ) |
Definition at line 164 of file CbmMcbm2018UnpackerAlgoRich2020.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 170 of file CbmMcbm2018UnpackerAlgoRich2020.cxx.
References fLastCh0_re_time, fPrevLastCh0_re_time, fUnpackPar, and CbmMcbm2018RichPar::GetNaddresses().
Referenced by InitParameters().
|
private |
Definition at line 732 of file CbmMcbm2018UnpackerAlgoRich2020.cxx.
References fChnlMsgCnt, fGwordCnt, mRichSupport::GetWordHexRepr(), ProcessTRBsubsubevent(), size(), and mRichSupport::SwapBytes().
Referenced by ProcessTRBevent().
|
private |
Definition at line 1362 of file CbmMcbm2018UnpackerAlgoRich2020.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 CbmMcbm2018UnpackerAlgoRich2020.cxx.
References ErrorMsg(), fbDebugMonitorMode, CbmStar2019Algo< CbmRichDigi >::fDigiVect, fGwordCnt, fhEventSize, fSkipMs, mRichSupport::GetWordHexRepr(), mtsError, ProcessTRBevent(), size(), and mRichSupport::SwapBytes().
Referenced by ProcessTs().
|
private |
Definition at line 1348 of file CbmMcbm2018UnpackerAlgoRich2020.cxx.
References fRisingEdgesBuf.
Referenced by ProcessTimestampWord().
|
private |
Including header - ? Return number of processed bytes
Definition at line 690 of file CbmMcbm2018UnpackerAlgoRich2020.cxx.
References ErrorMsg(), fGwordCnt, mRichSupport::GetWordHexRepr(), size(), subEventError, and mRichSupport::SwapBytes().
Referenced by ProcessTRBevent().
|
private |
Process a word written out by the TDC - TIMESTEMP, HEADER, TRAILER, DEBUG, EPOCH, ...
Definition at line 1038 of file CbmMcbm2018UnpackerAlgoRich2020.cxx.
References EPOCH, ErrorMsg(), fCurEpochCounter, fDebugPrint, fGwordCnt, fInSubSubEvent, fSkipCnt, fSkipMs, fSubSubEvId, fTrbState, mRichSupport::GetWordHexRepr(), HEADER, IDLE, ProcessTimestampWord(), size(), 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 1213 of file CbmMcbm2018UnpackerAlgoRich2020.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 433 of file CbmMcbm2018UnpackerAlgoRich2020.cxx.
References fbDebugMonitorMode, fGwordCnt, fhSubEventSize, fLastFeeOnHub, fSkipMs, fSubSubEvId, mRichSupport::GetHexRepresentation(), mRichSupport::GetWordHexRepr(), ProcessCTSsubevent(), ProcessSKIPsubevent(), ProcessTRBeventHeader(), ProcessTRBsubevent(), size(), 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 597 of file CbmMcbm2018UnpackerAlgoRich2020.cxx.
References fGwordCnt, fSkipMs, mRichSupport::GetHexRepresentation(), mRichSupport::GetWordHexRepr(), size(), 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 816 of file CbmMcbm2018UnpackerAlgoRich2020.cxx.
References fbDebugMonitorMode, fChnlMsgCnt, fGwordCnt, fhChnlSize, fhSubSubEventSize, findTDCAlignmentError(), fLastFeeOnHub, fSkipMs, fSubSubEvId, fTDCAlignmentErrorPositions, fTdcWordCorrectionCnt, fTdcWordCorrectionGlobalCnt, mRichSupport::GetHexRepresentation(), mRichSupport::GetWordHexRepr(), ProcessTRBsubsubevent(), size(), 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 960 of file CbmMcbm2018UnpackerAlgoRich2020.cxx.
References fCurEpochCounter, fInSubSubEvent, fSkipMs, fTDCAlignmentErrorPositions, fTdcWordCorrectionCnt, fTrbState, IDLE, ProcessTDCword(), size(), and mRichSupport::SwapBytes().
Referenced by ProcessCTSsubevent(), and ProcessTRBsubevent().
|
virtual |
Implements CbmStar2019Algo< CbmRichDigi >.
Definition at line 200 of file CbmMcbm2018UnpackerAlgoRich2020.cxx.
Referenced by CbmMcbm2018UnpackerTaskRich2020::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 214 of file CbmMcbm2018UnpackerAlgoRich2020.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 143 of file CbmMcbm2018UnpackerAlgoRich2020.cxx.
References CbmStar2019Algo< CbmRichDigi >::fParCList, fUnpackPar, and InitParameters().
Referenced by InitContainers(), and CbmMcbm2018UnpackerTaskRich2020::ReInitContainers().
|
virtual |
Implements CbmStar2019Algo< CbmRichDigi >.
Definition at line 131 of file CbmMcbm2018UnpackerAlgoRich2020.cxx.
Bool_t CbmMcbm2018UnpackerAlgoRich2020::ResetHistograms | ( | ) |
Definition at line 1827 of file CbmMcbm2018UnpackerAlgoRich2020.cxx.
Referenced by CbmMcbm2018UnpackerTaskRich2020::DoUnpack().
|
inlineinherited |
Control flags.
Definition at line 101 of file CbmStar2019Algo.h.
|
inline |
Definition at line 92 of file CbmMcbm2018UnpackerAlgoRich2020.h.
References fbMonitorMode.
Referenced by CbmMcbm2018UnpackerTaskRich2020::InitContainers().
|
inlinevirtualinherited |
Definition at line 79 of file CbmStar2019Algo.h.
|
inline |
Definition at line 98 of file CbmMcbm2018UnpackerAlgoRich2020.h.
References fRawDataMode.
|
inline |
Definition at line 94 of file CbmMcbm2018UnpackerAlgoRich2020.h.
References fdTimeOffsetNs.
Referenced by CbmMcbm2018UnpackerTaskRich2020::SetTimeOffsetNs().
|
inline |
Definition at line 380 of file CbmMcbm2018UnpackerAlgoRich2020.h.
References fdCapacityIncFactor.
|
private |
Write a gidi object into the output collection
Definition at line 1420 of file CbmMcbm2018UnpackerAlgoRich2020.cxx.
References fbDoToTCorr, CbmStar2019Algo< CbmRichDigi >::fDigiVect, fdTimeOffsetNs, fUnpackPar, GetPixelUID(), and CbmMcbm2018RichPar::GetToTshift().
Referenced by ProcessFallingEdge().
|
private |
Switch ON the filling of a minimal set of histograms.
Definition at line 176 of file CbmMcbm2018UnpackerAlgoRich2020.h.
Referenced by CreateHistograms(), ProcessMs(), ProcessTRBevent(), ProcessTRBsubevent(), and ProcessTs().
|
private |
User setting: kTRUE activates ToT correction from Parameterfile.
Definition at line 187 of file CbmMcbm2018UnpackerAlgoRich2020.h.
Referenced by DoTotCorr(), and WriteOutputDigi().
|
protectedinherited |
Definition at line 112 of file CbmStar2019Algo.h.
Referenced by ProcessTs(), and CbmMcbm2018UnpackerAlgoRich::ProcessTs().
|
private |
Control flags.
Definition at line 174 of file CbmMcbm2018UnpackerAlgoRich2020.h.
Referenced by ErrorMsg(), ProcessFallingEdge(), ProcessTimestampWord(), ProcessTs(), and SetMonitorMode().
std::array<unsigned int, 33> CbmMcbm2018UnpackerAlgoRich2020::fChnlMsgCnt |
Definition at line 368 of file CbmMcbm2018UnpackerAlgoRich2020.h.
Referenced by ProcessCTSsubevent(), ProcessTimestampWord(), and ProcessTRBsubevent().
std::vector<TCanvas*> CbmMcbm2018UnpackerAlgoRich2020::fcTot2d |
Definition at line 349 of file CbmMcbm2018UnpackerAlgoRich2020.h.
Referenced by CreateHistograms().
|
private |
Current epoch value
Definition at line 236 of file CbmMcbm2018UnpackerAlgoRich2020.h.
Referenced by ProcessTDCword(), ProcessTimestampWord(), and ProcessTRBsubsubevent().
|
private |
Current microslice ID
Definition at line 215 of file CbmMcbm2018UnpackerAlgoRich2020.h.
Referenced by ProcessTs().
|
private |
Current microslice index from the microslice descriptor CBM reference time //TODO clearify
Definition at line 221 of file CbmMcbm2018UnpackerAlgoRich2020.h.
Referenced by ProcessFallingEdge(), and ProcessTs().
|
private |
Definition at line 193 of file CbmMcbm2018UnpackerAlgoRich2020.h.
Double_t CbmMcbm2018UnpackerAlgoRich2020::fdCapacityIncFactor = 1.1 |
Definition at line 378 of file CbmMcbm2018UnpackerAlgoRich2020.h.
Referenced by ProcessTs(), and SetVectCapInc().
bool CbmMcbm2018UnpackerAlgoRich2020::fDebugPrint = 0 |
Definition at line 370 of file CbmMcbm2018UnpackerAlgoRich2020.h.
Referenced by ProcessTDCword().
|
protectedinherited |
Vector of pointers to canvases + optional folder name.
For unpacker algos
Definition at line 134 of file CbmStar2019Algo.h.
Referenced by ProcessMs(), ProcessTs(), CbmMcbm2018UnpackerAlgoRich::ProcessTs(), WriteOutputDigi(), and CbmMcbm2018UnpackerAlgoRich::WriteOutputDigi().
|
protectedinherited |
/** Ignore Overlap Ms: all fuOverlapMsNb MS at the end of timeslice **/
Definition at line 113 of file CbmStar2019Algo.h.
Referenced by ProcessTs(), and CbmMcbm2018UnpackerAlgoRich::ProcessTs().
|
private |
User settings: Data correction parameters.
Definition at line 191 of file CbmMcbm2018UnpackerAlgoRich2020.h.
Referenced by SetTimeOffsetNs(), and WriteOutputDigi().
|
protectedinherited |
Size of a single MS, [nanoseconds].
Definition at line 114 of file CbmStar2019Algo.h.
Referenced by ProcessTs(), and CbmMcbm2018UnpackerAlgoRich::ProcessTs().
|
protectedinherited |
Total size of the core MS in a TS, [nanoseconds].
Definition at line 115 of file CbmStar2019Algo.h.
Referenced by ProcessTs(), and CbmMcbm2018UnpackerAlgoRich::ProcessTs().
|
private |
Definition at line 180 of file CbmMcbm2018UnpackerAlgoRich2020.h.
|
private |
Definition at line 184 of file CbmMcbm2018UnpackerAlgoRich2020.h.
|
protectedinherited |
Definition at line 135 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 313 of file CbmMcbm2018UnpackerAlgoRich2020.h.
Referenced by FinalizeTs(), and ProcessFallingEdge().
|
private |
Global word counter within current microslice
Definition at line 226 of file CbmMcbm2018UnpackerAlgoRich2020.h.
Referenced by ProcessCTSsubevent(), ProcessMs(), ProcessSKIPsubevent(), ProcessTDCword(), ProcessTimestampWord(), ProcessTRBevent(), ProcessTRBeventHeader(), and ProcessTRBsubevent().
TH2* CbmMcbm2018UnpackerAlgoRich2020::fhChnlSize = nullptr |
Definition at line 366 of file CbmMcbm2018UnpackerAlgoRich2020.h.
Referenced by CreateHistograms(), and ProcessTRBsubevent().
TH2D* CbmMcbm2018UnpackerAlgoRich2020::fhChnlWords = nullptr |
Definition at line 361 of file CbmMcbm2018UnpackerAlgoRich2020.h.
TH2D* CbmMcbm2018UnpackerAlgoRich2020::fhDiRICHWords = nullptr |
Definition at line 360 of file CbmMcbm2018UnpackerAlgoRich2020.h.
TH2D* CbmMcbm2018UnpackerAlgoRich2020::fhEventErrors = nullptr |
Definition at line 358 of file CbmMcbm2018UnpackerAlgoRich2020.h.
Referenced by CreateHistograms(), and ErrorMsg().
TH1* CbmMcbm2018UnpackerAlgoRich2020::fhEventSize = nullptr |
Definition at line 363 of file CbmMcbm2018UnpackerAlgoRich2020.h.
Referenced by CreateHistograms(), and ProcessMs().
TH2* CbmMcbm2018UnpackerAlgoRich2020::fhSubEventSize = nullptr |
Definition at line 364 of file CbmMcbm2018UnpackerAlgoRich2020.h.
Referenced by CreateHistograms(), and ProcessTRBevent().
TH2* CbmMcbm2018UnpackerAlgoRich2020::fhSubSubEventSize = nullptr |
Definition at line 365 of file CbmMcbm2018UnpackerAlgoRich2020.h.
Referenced by CreateHistograms(), and ProcessTRBsubevent().
TH2D* CbmMcbm2018UnpackerAlgoRich2020::fhTdcErrors = nullptr |
Definition at line 357 of file CbmMcbm2018UnpackerAlgoRich2020.h.
Referenced by CreateHistograms(), and ErrorMsg().
std::vector<TH2D*> CbmMcbm2018UnpackerAlgoRich2020::fhTDCre_corrected1 |
Definition at line 345 of file CbmMcbm2018UnpackerAlgoRich2020.h.
std::vector<TH2D*> CbmMcbm2018UnpackerAlgoRich2020::fhTDCre_corrected2 |
Definition at line 347 of file CbmMcbm2018UnpackerAlgoRich2020.h.
std::map<Int_t, TH2D*> CbmMcbm2018UnpackerAlgoRich2020::fhTot2dMap |
Definition at line 375 of file CbmMcbm2018UnpackerAlgoRich2020.h.
Referenced by GetTotH2().
std::map<Int_t, std::map<Int_t, TH1D*> > CbmMcbm2018UnpackerAlgoRich2020::fhTotMap |
Definition at line 373 of file CbmMcbm2018UnpackerAlgoRich2020.h.
Referenced by GetTotH1().
TH1* CbmMcbm2018UnpackerAlgoRich2020::fhVectorCapacity = nullptr |
Definition at line 352 of file CbmMcbm2018UnpackerAlgoRich2020.h.
Referenced by CreateHistograms(), and ProcessTs().
TH1* CbmMcbm2018UnpackerAlgoRich2020::fhVectorSize = nullptr |
Definition at line 351 of file CbmMcbm2018UnpackerAlgoRich2020.h.
Referenced by CreateHistograms(), and ProcessTs().
|
private |
Flag indicating that we are in the subsubevent
Definition at line 231 of file CbmMcbm2018UnpackerAlgoRich2020.h.
Referenced by ProcessTDCword(), and ProcessTRBsubsubevent().
|
private |
Full time of the last rising edge from ch 0 of each TDC
Definition at line 290 of file CbmMcbm2018UnpackerAlgoRich2020.h.
Referenced by InitStorage(), and ProcessTimestampWord().
|
private |
Full time of the last rising edge from ch 0 of CTS
Definition at line 260 of file CbmMcbm2018UnpackerAlgoRich2020.h.
Referenced by ProcessTimestampWord().
|
private |
Full time of the last falling edge from ch 2 of CTS
Definition at line 270 of file CbmMcbm2018UnpackerAlgoRich2020.h.
Referenced by ProcessTimestampWord().
|
private |
Full time of the last rising edge from ch 2 of CTS
Definition at line 265 of file CbmMcbm2018UnpackerAlgoRich2020.h.
Referenced by ProcessTimestampWord().
|
private |
Flag to mark the last DiRICH on a Hub
Definition at line 246 of file CbmMcbm2018UnpackerAlgoRich2020.h.
Referenced by ProcessTRBevent(), and ProcessTRBsubevent().
std::map<uint16_t, uint16_t> CbmMcbm2018UnpackerAlgoRich2020::fMapFEE |
Definition at line 371 of file CbmMcbm2018UnpackerAlgoRich2020.h.
Referenced by CreateHistograms(), and ErrorMsg().
|
protectedinherited |
For any algo.
Definition at line 138 of file CbmStar2019Algo.h.
|
protectedinherited |
Parameter management.
Definition at line 105 of file CbmStar2019Algo.h.
Referenced by GetParList(), CbmMcbm2018UnpackerAlgoRich::GetParList(), ReInitContainers(), CbmMcbm2018UnpackerAlgoRich::ReInitContainers(), CbmMcbm2018UnpackerAlgoRich::~CbmMcbm2018UnpackerAlgoRich(), and ~CbmMcbm2018UnpackerAlgoRich2020().
|
private |
Full time of the previous last rising edge from ch 0 of each TDC (from the previous microslice)
Definition at line 295 of file CbmMcbm2018UnpackerAlgoRich2020.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 275 of file CbmMcbm2018UnpackerAlgoRich2020.h.
Referenced by ProcessTimestampWord().
|
private |
Full time of the last falling edge from ch 2 of CTS from the previous microslice
Definition at line 285 of file CbmMcbm2018UnpackerAlgoRich2020.h.
Referenced by ProcessTimestampWord().
|
private |
Full time of the last rising edge from ch 2 of CTS from the previous microslice
Definition at line 280 of file CbmMcbm2018UnpackerAlgoRich2020.h.
Referenced by ProcessTimestampWord().
|
private |
Switch ON the filling of a additional set of histograms.
Definition at line 178 of file CbmMcbm2018UnpackerAlgoRich2020.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 200 of file CbmMcbm2018UnpackerAlgoRich2020.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 308 of file CbmMcbm2018UnpackerAlgoRich2020.h.
Referenced by FinalizeTs(), ProcessFallingEdge(), and ProcessRisingEdge().
|
private |
Definition at line 254 of file CbmMcbm2018UnpackerAlgoRich2020.h.
Referenced by ProcessTDCword().
|
private |
Definition at line 189 of file CbmMcbm2018UnpackerAlgoRich2020.h.
Referenced by ProcessMs(), ProcessTDCword(), ProcessTimestampWord(), ProcessTRBevent(), ProcessTRBeventHeader(), ProcessTRBsubevent(), and ProcessTRBsubsubevent().
|
private |
Current subsubevent ID
Definition at line 241 of file CbmMcbm2018UnpackerAlgoRich2020.h.
Referenced by ProcessTDCword(), ProcessTimestampWord(), ProcessTRBevent(), and ProcessTRBsubevent().
|
private |
Definition at line 248 of file CbmMcbm2018UnpackerAlgoRich2020.h.
Referenced by findTDCAlignmentError(), ProcessTRBsubevent(), and ProcessTRBsubsubevent().
|
private |
Definition at line 250 of file CbmMcbm2018UnpackerAlgoRich2020.h.
Referenced by ProcessTRBsubevent(), and ProcessTRBsubsubevent().
|
private |
Definition at line 252 of file CbmMcbm2018UnpackerAlgoRich2020.h.
Referenced by ProcessTRBsubevent().
|
private |
flag for an error in the datastream
Definition at line 182 of file CbmMcbm2018UnpackerAlgoRich2020.h.
Referenced by ProcessTDCword(), ProcessTimestampWord(), and ProcessTRBsubsubevent().
|
private |
Counter of processed timeslices
Definition at line 210 of file CbmMcbm2018UnpackerAlgoRich2020.h.
Referenced by ProcessTs().
|
protectedinherited |
Definition at line 109 of file CbmStar2019Algo.h.
Referenced by ProcessTs(), and CbmMcbm2018UnpackerAlgoRich::ProcessTs().
|
protectedinherited |
Definition at line 111 of file CbmStar2019Algo.h.
Referenced by ProcessTs(), and CbmMcbm2018UnpackerAlgoRich::ProcessTs().
|
protectedinherited |
Definition at line 110 of file CbmStar2019Algo.h.
Referenced by ProcessTs(), and CbmMcbm2018UnpackerAlgoRich::ProcessTs().
|
private |
Unpacker parameters object
Definition at line 205 of file CbmMcbm2018UnpackerAlgoRich2020.h.
Referenced by CreateHistograms(), GetParList(), InitStorage(), ProcessTimestampWord(), ReInitContainers(), WriteOutputDigi(), and ~CbmMcbm2018UnpackerAlgoRich2020().
size_t CbmMcbm2018UnpackerAlgoRich2020::fuTsMaxVectorSize = 0 |
Definition at line 377 of file CbmMcbm2018UnpackerAlgoRich2020.h.
Referenced by ProcessTs().
|
protectedinherited |
Parameters related to FLES containers.
Definition at line 108 of file CbmStar2019Algo.h.
Referenced by AddMsComponentToList(), CbmMcbm2018UnpackerAlgoRich::AddMsComponentToList(), ProcessTs(), and CbmMcbm2018UnpackerAlgoRich::ProcessTs().
|
protectedinherited |
Vector of pointers to histograms + optional folder name.
Definition at line 131 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 129 of file CbmStar2019Algo.h.