CbmRoot
|
#include <CbmStsUnpackAlgoLegacy.h>
Public Member Functions | |
CbmStsUnpackAlgoLegacy () | |
~CbmStsUnpackAlgoLegacy () | |
CbmStsUnpackAlgoLegacy (const CbmStsUnpackAlgoLegacy &)=delete | |
Copy constructor - not implemented. | |
CbmStsUnpackAlgoLegacy & | operator= (const CbmStsUnpackAlgoLegacy &)=delete |
Assignment operator - not implemented. | |
virtual bool | init () |
virtual void | reset () |
bool | InitParameters () |
void | SetTimeOffsetNs (double dOffsetIn=0.0) |
virtual void | MaskNoisyChannel (const uint32_t uFeb, const uint32_t uChan, const bool bMasked=true) |
Mask a Noisy Channel. | |
void | SetMonitor (std::shared_ptr< CbmStsUnpackMonitor > monitor) |
Set a predefined monitor. | |
void | SetMinAdcCut (uint32_t value) |
Set the minimum adc cut value. | |
void | SetMinAdcCut (uint32_t febid, uint32_t value) |
void | SetAsicTimeOffsetVec (std::vector< double > value) |
Set the time offset per Asic. | |
void | SetWalkMap (const std::map< uint32_t, CbmStsParModule > &mapIn) |
Enable/Disable time-walk correction. | |
void | SetDuplicatesRejection (bool bIn=true, bool bDiffAdc=true) |
Enable/Disable the duplicate digis rejection, without or with same ADC checks. | |
void | SetFwBinning (bool useFwBinning) |
Enable/Disable firmware binning (switch only supported by older implementations) | |
virtual std::vector< std::pair< std::string, std::shared_ptr< FairParGenericSet > > > * | GetParContainerRequest (std::string geoTag, std::uint32_t runId) |
Get the requested parameter containers. To be defined in the derived classes! Return the required parameter containers together with the paths to the ascii files to. | |
Protected Member Functions | |
bool | unpack (const fles::Timeslice *ts, std::uint16_t icomp, UInt_t imslice) |
Unpack a given microslice. To be implemented in the derived unpacker algos. | |
virtual void | finish () |
Finish function for this algorithm base clase. | |
Protected Attributes | |
std::shared_ptr< CbmStsUnpackMonitor > | fMonitor = nullptr |
Potential (online) monitor for the unpacking process. | |
uint32_t | fdAdcCut = 0 |
Minimum adc cut to store a hit. | |
std::map< uint32_t, uint32_t > | fdAdcCut_perFeb |
Minimum adc cut per Feb to store a hit. | |
std::vector< double > | fvdTimeOffsetNsAsics = {} |
Time offsets per Asic??? | |
bool | fbUseTimeWalkCorrection = false |
Enable/Disable time-walk correction. | |
std::map< uint32_t, std::vector< std::vector< double > > > | fWalkLookup = {} |
Per-ASIC's sensors Time-Walk correction mapping. | |
bool | fbRejectDuplicateDigis = false |
Enables the rejection of duplicate digis. | |
bool | fbDupliWithoutAdc = true |
If rejecting duplicate digis, enables rejection even if ADC differs. | |
bool | fbUseFwBinning = true |
Enables firmware binning (some implementations ignore this) | |
Private Member Functions | |
void | InitDpbIdIndexMap () |
Map of DPB Identifier to DPB index. | |
bool | initParSet (FairParGenericSet *parset) |
ADC offset in e-, [ NbDpb * NbCrobPerDpb * NbFebsPerCrob ]. | |
bool | initParSet (CbmMcbm2018StsPar *parset) |
Initialize the parameters from CbmMcbm2018StsPar. | |
void | InitInternalStatus () |
void | InitTempVectors (std::vector< int32_t > *viModuleType, std::vector< int32_t > *viModAddress, std::vector< std::vector< std::vector< int32_t > > > *viFebModuleIdx, std::vector< std::vector< bool > > *vbCrobActiveFlag, std::vector< std::vector< std::vector< int32_t > > > *viFebModuleSide) |
void | PrintActiveCrobs (const std::vector< std::vector< bool > > &vbCrobActiveFlag) |
void | PrintAddressMaps (const std::vector< std::vector< std::vector< int32_t > > > &viFebModuleIdx, const std::vector< std::vector< std::vector< int32_t > > > &viFebModuleSide) |
void | AddHitsToDigiVect (std::vector< stsxyter::FinalHit > *vmHitsIn, std::vector< CbmStsDigi > *vDigiVectOut) |
Add the hits to the output buffer as Digis. | |
uint64_t | GetFullTimeStamp (const uint16_t usRawTs) |
Get full time stamp from raw time stamp. | |
void | ProcessHitInfo (const stsxyter::Message &mess) |
TS MSB cycle of last hit message for each channel, [ AsicIdx ][ Chan ]. | |
void | ProcessTsMsbInfo (const stsxyter::Message &mess, uint32_t uMessIdx=0, uint32_t uMsIdx=0) |
void | ProcessEpochInfo (const stsxyter::Message &mess) |
void | ProcessStatusInfo (const stsxyter::Message &mess, uint32_t uIdx) |
void | ProcessErrorInfo (const stsxyter::Message &mess) |
void | RefreshTsMsbFields (const size_t uMsIdx) |
void | LoopMsMessages (const uint8_t *msContent, const uint32_t uSize, const size_t uMsIdx) |
Private Attributes | |
std::vector< bool > | fvbMaskedComponents |
Control flags. | |
CbmMcbm2018StsPar * | fUnpackPar |
Settings from parameter file. | |
uint32_t | fuNbFebs |
std::map< uint32_t, uint32_t > | fDpbIdIndexMap |
Number of FEBs with StsXyter ASICs. | |
std::vector< std::vector< std::vector< int32_t > > > | fviFebType |
std::vector< bool > | fvbFebPulser |
FEB type, [ NbDpb ][ NbCrobPerDpb ][ NbFebsPerCrob ], 0 = A, 1 = B, -1 if inactive. | |
std::vector< int32_t > | fviFebAddress |
Pulser flag for each FEB, [ NbDpb * NbCrobPerDpb * NbFebsPerCrob ]. | |
std::vector< int32_t > | fviFebSide |
STS address for each FEB, [ NbDpb * NbCrobPerDpb * NbFebsPerCrob ]. | |
std::vector< double > | fvdFebAdcGain |
Module side for each FEB, [ NbDpb * NbCrobPerDpb * NbFebsPerCrob ]. | |
std::vector< double > | fvdFebAdcOffs |
ADC gain in e-/b, [ NbDpb * NbCrobPerDpb * NbFebsPerCrob ]. | |
double | fdTimeOffsetNs |
User settings: Data correction parameters. | |
bool | fbUseChannelMask |
std::vector< std::vector< bool > > | fvvbMaskedChannels |
uint64_t | fulCurrentMsIdx |
Vector of channel masks, [ NbFeb ][ NbCHanInFeb ], used only if fbUseChannelMask is true. | |
uint32_t | fuCurrDpbIdx |
Current data properties. | |
std::vector< uint64_t > | fvulCurrentTsMsb |
std::vector< uint32_t > | fvuCurrentTsMsbCycle |
Current TS MSB for each DPB. | |
double | fdStartTime |
double | fdStartTimeMsSz |
std::chrono::steady_clock::time_point | ftStartTimeUnix |
std::vector< stsxyter::FinalHit > | fvmHitsInMs |
Hits time-sorting. | |
std::vector< std::vector< uint16_t > > | fvvusLastTsChan |
std::vector< std::vector< uint16_t > > | fvvusLastAdcChan |
TS of last hit message for each channel, [ AsicIdx ][ Chan ]. | |
std::vector< std::vector< uint32_t > > | fvvuLastTsMsbChan |
ADC of last hit message for each channel, [ AsicIdx ][ Chan ]. | |
std::vector< std::vector< uint16_t > > | fvvusLastTsMsbCycleChan |
TS MSB of last hit message for each channel, [ AsicIdx ][ Chan ]. | |
Static Private Attributes | |
static const uint32_t | kuMaxTsMsbDiffDuplicates = 8 |
All hits (time in bins, ADC in bins, asic, channel) in last MS, sorted with "<" operator. | |
Definition at line 25 of file CbmStsUnpackAlgoLegacy.h.
CbmStsUnpackAlgoLegacy::CbmStsUnpackAlgoLegacy | ( | ) |
Definition at line 29 of file CbmStsUnpackAlgoLegacy.cxx.
CbmStsUnpackAlgoLegacy::~CbmStsUnpackAlgoLegacy | ( | ) |
Clear buffers
Definition at line 59 of file CbmStsUnpackAlgoLegacy.cxx.
References fUnpackPar, and fvmHitsInMs.
|
delete |
Copy constructor - not implemented.
|
private |
Add the hits to the output buffer as Digis.
FIXME: see issue #1549 N side: 0-1023 => 0-1023 P side: 0-1023 => 2047-1024
Catch the pulser digis and either save them to their own output or drop them
Definition at line 340 of file CbmStsUnpackAlgoLegacy.cxx.
References fdTimeOffsetNs, fUnpackPar, fvbFebPulser, fvdFebAdcGain, fvdFebAdcOffs, CbmStsUnpackAlgoBase::fvdTimeOffsetNsAsics, fviFebAddress, fviFebSide, CbmMcbm2018StsPar::GetNbAsicsPerFeb(), CbmMcbm2018StsPar::GetNbChanPerAsic(), CbmMcbm2018StsPar::GetNbChanPerFeb(), and stsxyter::kdClockCycleNs.
Referenced by unpack().
|
inlineprotectedvirtualinherited |
Finish function for this algorithm base clase.
Definition at line 108 of file CbmStsUnpackAlgoBase.h.
References CbmStsUnpackAlgoBase::fMonitor.
|
private |
Get full time stamp from raw time stamp.
Definition at line 749 of file CbmStsUnpackAlgoLegacy.cxx.
References CbmStsUnpackAlgoBase::fbUseFwBinning, fuCurrDpbIdx, fvuCurrentTsMsbCycle, fvulCurrentTsMsb, stsxyter::kuHitNbTsBins, stsxyter::kuHitNbTsBinsBinning, and stsxyter::kulTsCycleNbBinsBinning.
Referenced by ProcessHitInfo(), and ProcessStatusInfo().
|
virtualinherited |
Get the requested parameter containers. To be defined in the derived classes! Return the required parameter containers together with the paths to the ascii files to.
[in] | std::string | geoTag as used in CbmSetup |
[in] | std::uint32_t | runId for runwise defined parameters |
Definition at line 13 of file CbmStsUnpackAlgoBase.cxx.
|
virtual |
Definition at line 67 of file CbmStsUnpackAlgoLegacy.cxx.
|
private |
Map of DPB Identifier to DPB index.
Definition at line 225 of file CbmStsUnpackAlgoLegacy.cxx.
References fDpbIdIndexMap, fUnpackPar, CbmMcbm2018StsPar::GetDpbId(), and CbmMcbm2018StsPar::GetNrOfDpbs().
Referenced by InitParameters().
|
private |
Definition at line 316 of file CbmStsUnpackAlgoLegacy.cxx.
References fUnpackPar, fvuCurrentTsMsbCycle, fvulCurrentTsMsb, fvvuLastTsMsbChan, fvvusLastAdcChan, fvvusLastTsChan, fvvusLastTsMsbCycleChan, CbmMcbm2018StsPar::GetNbChanPerAsic(), CbmMcbm2018StsPar::GetNrOfAsics(), and CbmMcbm2018StsPar::GetNrOfDpbs().
Referenced by InitParameters().
bool CbmStsUnpackAlgoLegacy::InitParameters | ( | ) |
! FIXME: 1) Geometry is using front/back while we are using P/N !!!! => Assuming that front facing modules have connectors on right side +> Volker warns that the front side should be electrons one so N 2) No accessor/setter to change only the side field of an STS address => hardcode the shift +> The bit is unused in the current scheme: the side is encoded in the Digi channel
! FIXME: 1) Geometry is using front/back while we are using P/N !!!! => Assuming that front facing modules have connectors on right side +> Volker warns that the front side should be electrons one so N 2) No accessor/setter to change only the side field of an STS address => hardcode the shift +> The bit is unused in the current scheme: the side is encoded in the Digi channel
Definition at line 102 of file CbmStsUnpackAlgoLegacy.cxx.
References fuNbFebs, fUnpackPar, fvbFebPulser, fvdFebAdcGain, fvdFebAdcOffs, CbmStsUnpackAlgoBase::fvdTimeOffsetNsAsics, fviFebAddress, fviFebSide, fviFebType, CbmMcbm2018StsPar::GetFebAdcGain(), CbmMcbm2018StsPar::GetFebAdcOffset(), CbmMcbm2018StsPar::GetNbCrobsPerDpb(), CbmMcbm2018StsPar::GetNbFebsPerCrob(), CbmMcbm2018StsPar::GetNbOfModules(), CbmMcbm2018StsPar::GetNrOfAsics(), CbmMcbm2018StsPar::GetNrOfDpbs(), CbmMcbm2018StsPar::GetNrOfFebs(), InitDpbIdIndexMap(), InitInternalStatus(), InitTempVectors(), CbmMcbm2018StsPar::IsFebPulser(), PrintActiveCrobs(), and PrintAddressMaps().
Referenced by initParSet().
|
private |
Initialize the parameters from CbmMcbm2018StsPar.
parset |
Definition at line 91 of file CbmStsUnpackAlgoLegacy.cxx.
References CbmStsUnpackAlgoBase::fMonitor, fUnpackPar, and InitParameters().
|
private |
ADC offset in e-, [ NbDpb * NbCrobPerDpb * NbFebsPerCrob ].
Handles the distribution of the hidden derived classes to their explicit functions.
parset |
Definition at line 78 of file CbmStsUnpackAlgoLegacy.cxx.
References initParSet().
Referenced by initParSet().
|
private |
Definition at line 236 of file CbmStsUnpackAlgoLegacy.cxx.
References fUnpackPar, CbmMcbm2018StsPar::GetFebModuleIdx(), CbmMcbm2018StsPar::GetFebModuleSide(), CbmMcbm2018StsPar::GetModuleAddress(), CbmMcbm2018StsPar::GetModuleType(), CbmMcbm2018StsPar::GetNbCrobsPerDpb(), CbmMcbm2018StsPar::GetNbFebsPerCrob(), CbmMcbm2018StsPar::GetNbOfModules(), CbmMcbm2018StsPar::GetNrOfDpbs(), and CbmMcbm2018StsPar::IsCrobActive().
Referenced by InitParameters().
|
private |
Get message type
Definition at line 505 of file CbmStsUnpackAlgoLegacy.cxx.
References stsxyter::Dummy, stsxyter::Empty, stsxyter::EndOfMs, stsxyter::Epoch, CbmStsUnpackAlgoBase::fMonitor, fuCurrDpbIdx, stsxyter::Message::GetMessType(), stsxyter::Hit, ProcessEpochInfo(), ProcessErrorInfo(), ProcessHitInfo(), ProcessStatusInfo(), ProcessTsMsbInfo(), stsxyter::Status, and stsxyter::TsMsb.
Referenced by unpack().
|
virtual |
Mask a Noisy Channel.
uFeb | |
uChan | |
bMasked |
Reimplemented from CbmStsUnpackAlgoBase.
Definition at line 784 of file CbmStsUnpackAlgoLegacy.cxx.
References fbUseChannelMask, fuNbFebs, fUnpackPar, fvvbMaskedChannels, and CbmMcbm2018StsPar::GetNbChanPerFeb().
|
delete |
Assignment operator - not implemented.
|
private |
Definition at line 273 of file CbmStsUnpackAlgoLegacy.cxx.
References fUnpackPar, CbmMcbm2018StsPar::GetNbCrobsPerDpb(), and CbmMcbm2018StsPar::GetNrOfDpbs().
Referenced by InitParameters().
|
private |
Definition at line 285 of file CbmStsUnpackAlgoLegacy.cxx.
References fUnpackPar, fvdFebAdcGain, fvdFebAdcOffs, fviFebAddress, fviFebType, CbmMcbm2018StsPar::GetNbCrobsPerDpb(), CbmMcbm2018StsPar::GetNbFebsPerCrob(), and CbmMcbm2018StsPar::GetNrOfDpbs().
Referenced by InitParameters().
|
private |
Definition at line 706 of file CbmStsUnpackAlgoLegacy.cxx.
Referenced by LoopMsMessages().
|
private |
Definition at line 770 of file CbmStsUnpackAlgoLegacy.cxx.
References CbmStsUnpackAlgoBase::fMonitor, fuCurrDpbIdx, fulCurrentMsIdx, stsxyter::Message::GetMsErrorType(), stsxyter::Message::IsMsErrorFlagOn(), and kSts.
Referenced by LoopMsMessages().
|
private |
TS MSB cycle of last hit message for each channel, [ AsicIdx ][ Chan ].
Duplicate hits rejection
FIXME: add plots to check what is done in this rejection
Store hit for output only if it is mapped to a module!!!
Store only if masking is disabled or if channeld is not masked 2D vector is safe as always right size if masking enabled
If EM flag ON, store a corresponding error message with the next flag after all other possible status flags set
Definition at line 567 of file CbmStsUnpackAlgoLegacy.cxx.
References CbmMcbm2018StsPar::ElinkIdxToAsicIdx(), CbmMcbm2018StsPar::ElinkIdxToFebIdx(), CbmStsUnpackAlgoBase::fbDupliWithoutAdc, CbmStsUnpackAlgoBase::fbRejectDuplicateDigis, fbUseChannelMask, CbmStsUnpackAlgoBase::fbUseFwBinning, CbmStsUnpackAlgoBase::fdAdcCut, fdStartTime, CbmStsUnpackAlgoBase::fMonitor, fuCurrDpbIdx, fUnpackPar, fvdFebAdcGain, fvdFebAdcOffs, fviFebAddress, fviFebType, fvmHitsInMs, fvuCurrentTsMsbCycle, fvulCurrentTsMsb, fvvbMaskedChannels, fvvuLastTsMsbChan, fvvusLastAdcChan, fvvusLastTsChan, fvvusLastTsMsbCycleChan, GetFullTimeStamp(), stsxyter::Message::GetHitAdc(), stsxyter::Message::GetHitChannel(), stsxyter::Message::GetHitTimeBinning(), stsxyter::Message::GetHitTimeFull(), stsxyter::Message::GetLinkIndex(), stsxyter::Message::GetLinkIndexHitBinning(), CbmMcbm2018StsPar::GetNbAsicsPerCrob(), CbmMcbm2018StsPar::GetNbAsicsPerFeb(), CbmMcbm2018StsPar::GetNbChanPerAsic(), CbmMcbm2018StsPar::GetNbCrobsPerDpb(), CbmMcbm2018StsPar::GetNbElinkPerCrob(), stsxyter::Message::IsHitMissedEvts(), stsxyter::kdClockCycleNs, kSts, kuMaxTsMsbDiffDuplicates, and stsxyter::kusLenStatStatus.
Referenced by LoopMsMessages().
|
private |
Compute the Full time stamp
Convert the time in bins to Hit time in ns
Definition at line 714 of file CbmStsUnpackAlgoLegacy.cxx.
References CbmMcbm2018StsPar::ElinkIdxToAsicIdx(), CbmMcbm2018StsPar::ElinkIdxToFebIdx(), CbmStsUnpackAlgoBase::fMonitor, fuCurrDpbIdx, fulCurrentMsIdx, fUnpackPar, fviFebType, stsxyter::Message::GetData(), GetFullTimeStamp(), CbmMcbm2018StsPar::GetNbAsicsPerCrob(), CbmMcbm2018StsPar::GetNbCrobsPerDpb(), CbmMcbm2018StsPar::GetNbElinkPerCrob(), stsxyter::Message::GetStatusLink(), stsxyter::Message::GetStatusStatus(), stsxyter::kdClockCycleNs, kSts, stsxyter::msg_print_Human, and stsxyter::Message::PrintMess().
Referenced by LoopMsMessages().
|
private |
Case where we reach a normal cycle edge
First TS_MSB in MS may jump if TS dropped by DAQ
case with cycle et edge of 2 MS
Msg 1 and 2 will be same TS_MSB if data in 1st bin
New FW introduced TS_MSB suppression + large TS_MSB => warning only if value not increasing
Catch case where previous MS ended up on a TS MSB cycle as it is then already updated from the MS index
Definition at line 655 of file CbmStsUnpackAlgoLegacy.cxx.
References CbmStsUnpackAlgoBase::fbUseFwBinning, CbmStsUnpackAlgoBase::fMonitor, fuCurrDpbIdx, fulCurrentMsIdx, fvuCurrentTsMsbCycle, fvulCurrentTsMsb, stsxyter::Message::GetTsMsbVal(), and stsxyter::Message::GetTsMsbValBinning().
Referenced by LoopMsMessages().
|
private |
Definition at line 468 of file CbmStsUnpackAlgoLegacy.cxx.
References CbmStsUnpackAlgoBase::fbUseFwBinning, fuCurrDpbIdx, fulCurrentMsIdx, fvuCurrentTsMsbCycle, fvulCurrentTsMsb, stsxyter::kdClockCycleNs, stsxyter::kulTsCycleNbBins, and stsxyter::kulTsCycleNbBinsBinning.
Referenced by unpack().
|
virtual |
Definition at line 74 of file CbmStsUnpackAlgoLegacy.cxx.
|
inlineinherited |
Set the time offset per Asic.
Definition at line 65 of file CbmStsUnpackAlgoBase.h.
References CbmStsUnpackAlgoBase::fvdTimeOffsetNsAsics.
|
inlineinherited |
Enable/Disable the duplicate digis rejection, without or with same ADC checks.
Definition at line 71 of file CbmStsUnpackAlgoBase.h.
References CbmStsUnpackAlgoBase::fbDupliWithoutAdc, and CbmStsUnpackAlgoBase::fbRejectDuplicateDigis.
|
inlineinherited |
Enable/Disable firmware binning (switch only supported by older implementations)
Definition at line 78 of file CbmStsUnpackAlgoBase.h.
References CbmStsUnpackAlgoBase::fbUseFwBinning.
|
inlineinherited |
Definition at line 62 of file CbmStsUnpackAlgoBase.h.
References CbmStsUnpackAlgoBase::fdAdcCut_perFeb.
|
inlineinherited |
Set the minimum adc cut value.
[in] | value |
Definition at line 60 of file CbmStsUnpackAlgoBase.h.
References CbmStsUnpackAlgoBase::fdAdcCut.
|
inlineinherited |
Set a predefined monitor.
monitor | predefined unpacking monitor |
Definition at line 57 of file CbmStsUnpackAlgoBase.h.
References CbmStsUnpackAlgoBase::fMonitor.
|
inline |
Definition at line 43 of file CbmStsUnpackAlgoLegacy.h.
References fdTimeOffsetNs.
|
inherited |
Enable/Disable time-walk correction.
Definition at line 26 of file CbmStsUnpackAlgoBase.cxx.
References CbmStsUnpackAlgoBase::fbUseTimeWalkCorrection, and CbmStsUnpackAlgoBase::fWalkLookup.
|
protected |
Unpack a given microslice. To be implemented in the derived unpacker algos.
ts | timeslice pointer |
icomp | index to the component to be unpacked |
imslice | index of the microslice to be unpacked |
Ignore First TS as first MS is typically corrupt
Check if this sDPB ID was declared in parameter file and stop there if not
If first TS being analyzed, we are probably detecting STS/MUCH boards with same sysid => Do not report the MS as bad, just ignore it
Clear the buffer of hits
Definition at line 378 of file CbmStsUnpackAlgoLegacy.cxx.
References AddHitsToDigiVect(), fDpbIdIndexMap, fdStartTimeMsSz, CbmStsUnpackAlgoBase::fMonitor, fuCurrDpbIdx, fulCurrentMsIdx, fvbMaskedComponents, fvmHitsInMs, LoopMsMessages(), and RefreshTsMsbFields().
|
protectedinherited |
If rejecting duplicate digis, enables rejection even if ADC differs.
Definition at line 137 of file CbmStsUnpackAlgoBase.h.
Referenced by ProcessHitInfo(), CbmStsUnpackAlgo::processHitInfo(), and CbmStsUnpackAlgoBase::SetDuplicatesRejection().
|
protectedinherited |
Enables the rejection of duplicate digis.
Definition at line 134 of file CbmStsUnpackAlgoBase.h.
Referenced by ProcessHitInfo(), CbmStsUnpackAlgo::processHitInfo(), and CbmStsUnpackAlgoBase::SetDuplicatesRejection().
|
private |
Definition at line 113 of file CbmStsUnpackAlgoLegacy.h.
Referenced by MaskNoisyChannel(), and ProcessHitInfo().
|
protectedinherited |
Enables firmware binning (some implementations ignore this)
Definition at line 140 of file CbmStsUnpackAlgoBase.h.
Referenced by GetFullTimeStamp(), CbmStsUnpackAlgo::init(), ProcessHitInfo(), ProcessTsMsbInfo(), RefreshTsMsbFields(), and CbmStsUnpackAlgoBase::SetFwBinning().
|
protectedinherited |
Enable/Disable time-walk correction.
Definition at line 128 of file CbmStsUnpackAlgoBase.h.
Referenced by CbmStsUnpackAlgo::processHitInfo(), and CbmStsUnpackAlgoBase::SetWalkMap().
|
protectedinherited |
Minimum adc cut to store a hit.
Definition at line 119 of file CbmStsUnpackAlgoBase.h.
Referenced by CbmStsUnpackAlgo::initParSet(), ProcessHitInfo(), and CbmStsUnpackAlgoBase::SetMinAdcCut().
|
protectedinherited |
Minimum adc cut per Feb to store a hit.
Definition at line 122 of file CbmStsUnpackAlgoBase.h.
Referenced by CbmStsUnpackAlgo::initParSet(), and CbmStsUnpackAlgoBase::SetMinAdcCut().
|
private |
Number of FEBs with StsXyter ASICs.
Definition at line 68 of file CbmStsUnpackAlgoLegacy.h.
Referenced by InitDpbIdIndexMap(), and unpack().
|
private |
Current TS MSB cycle for DPB Starting state book-keeping
Definition at line 127 of file CbmStsUnpackAlgoLegacy.h.
Referenced by ProcessHitInfo().
|
private |
Time of first valid hit (TS_MSB available), used as reference for evolution plots
Definition at line 128 of file CbmStsUnpackAlgoLegacy.h.
Referenced by unpack().
|
private |
User settings: Data correction parameters.
Definition at line 112 of file CbmStsUnpackAlgoLegacy.h.
Referenced by AddHitsToDigiVect(), and SetTimeOffsetNs().
|
protectedinherited |
Potential (online) monitor for the unpacking process.
Definition at line 116 of file CbmStsUnpackAlgoBase.h.
Referenced by CbmStsUnpackAlgoBase::finish(), CbmStsUnpackAlgo::initParSet(), initParSet(), LoopMsMessages(), CbmStsUnpackAlgo::loopMsMessages(), ProcessErrorInfo(), CbmStsUnpackAlgo::processErrorInfo(), ProcessHitInfo(), CbmStsUnpackAlgo::processHitInfo(), ProcessStatusInfo(), CbmStsUnpackAlgo::processStatusInfo(), ProcessTsMsbInfo(), CbmStsUnpackAlgo::processTsMsbInfo(), CbmStsUnpackAlgo::SetMonitor(), CbmStsUnpackAlgoBase::SetMonitor(), CbmStsUnpackAlgo::unpack(), and unpack().
|
private |
Time of first microslice, used as reference for evolution plots
Definition at line 130 of file CbmStsUnpackAlgoLegacy.h.
|
private |
Current data properties.
Definition at line 122 of file CbmStsUnpackAlgoLegacy.h.
Referenced by GetFullTimeStamp(), LoopMsMessages(), ProcessErrorInfo(), ProcessHitInfo(), ProcessStatusInfo(), ProcessTsMsbInfo(), RefreshTsMsbFields(), and unpack().
|
private |
Vector of channel masks, [ NbFeb ][ NbCHanInFeb ], used only if fbUseChannelMask is true.
Running indices TS/MS info
Definition at line 119 of file CbmStsUnpackAlgoLegacy.h.
Referenced by ProcessErrorInfo(), ProcessStatusInfo(), ProcessTsMsbInfo(), RefreshTsMsbFields(), and unpack().
|
private |
Readout chain dimensions and mapping
Definition at line 67 of file CbmStsUnpackAlgoLegacy.h.
Referenced by InitParameters(), and MaskNoisyChannel().
|
private |
Settings from parameter file.
Definition at line 65 of file CbmStsUnpackAlgoLegacy.h.
Referenced by AddHitsToDigiVect(), InitDpbIdIndexMap(), InitInternalStatus(), InitParameters(), initParSet(), InitTempVectors(), MaskNoisyChannel(), PrintActiveCrobs(), PrintAddressMaps(), ProcessHitInfo(), ProcessStatusInfo(), and ~CbmStsUnpackAlgoLegacy().
|
private |
FEB type, [ NbDpb ][ NbCrobPerDpb ][ NbFebsPerCrob ], 0 = A, 1 = B, -1 if inactive.
Definition at line 73 of file CbmStsUnpackAlgoLegacy.h.
Referenced by AddHitsToDigiVect(), and InitParameters().
|
private |
|
private |
Module side for each FEB, [ NbDpb * NbCrobPerDpb * NbFebsPerCrob ].
Definition at line 76 of file CbmStsUnpackAlgoLegacy.h.
Referenced by AddHitsToDigiVect(), InitParameters(), PrintAddressMaps(), and ProcessHitInfo().
|
private |
ADC gain in e-/b, [ NbDpb * NbCrobPerDpb * NbFebsPerCrob ].
Definition at line 77 of file CbmStsUnpackAlgoLegacy.h.
Referenced by AddHitsToDigiVect(), InitParameters(), PrintAddressMaps(), and ProcessHitInfo().
|
protectedinherited |
Time offsets per Asic???
Definition at line 125 of file CbmStsUnpackAlgoBase.h.
Referenced by AddHitsToDigiVect(), InitParameters(), CbmStsUnpackAlgo::initParSet(), CbmStsUnpackAlgo::processHitInfo(), and CbmStsUnpackAlgoBase::SetAsicTimeOffsetVec().
|
private |
Pulser flag for each FEB, [ NbDpb * NbCrobPerDpb * NbFebsPerCrob ].
Definition at line 74 of file CbmStsUnpackAlgoLegacy.h.
Referenced by AddHitsToDigiVect(), InitParameters(), PrintAddressMaps(), and ProcessHitInfo().
|
private |
STS address for each FEB, [ NbDpb * NbCrobPerDpb * NbFebsPerCrob ].
Definition at line 75 of file CbmStsUnpackAlgoLegacy.h.
Referenced by AddHitsToDigiVect(), and InitParameters().
|
private |
Definition at line 72 of file CbmStsUnpackAlgoLegacy.h.
Referenced by InitParameters(), PrintAddressMaps(), ProcessHitInfo(), and ProcessStatusInfo().
|
private |
Hits time-sorting.
Time of run Start from UNIX system, used as reference for long evolution plots against reception time
Definition at line 134 of file CbmStsUnpackAlgoLegacy.h.
Referenced by ProcessHitInfo(), unpack(), and ~CbmStsUnpackAlgoLegacy().
|
private |
Current TS MSB for each DPB.
Definition at line 125 of file CbmStsUnpackAlgoLegacy.h.
Referenced by GetFullTimeStamp(), InitInternalStatus(), ProcessHitInfo(), ProcessTsMsbInfo(), and RefreshTsMsbFields().
|
private |
Index of the DPB from which the MS currently unpacked is coming Data format control
Definition at line 124 of file CbmStsUnpackAlgoLegacy.h.
Referenced by GetFullTimeStamp(), InitInternalStatus(), ProcessHitInfo(), ProcessTsMsbInfo(), and RefreshTsMsbFields().
|
private |
Definition at line 115 of file CbmStsUnpackAlgoLegacy.h.
Referenced by MaskNoisyChannel(), and ProcessHitInfo().
|
private |
ADC of last hit message for each channel, [ AsicIdx ][ Chan ].
Definition at line 142 of file CbmStsUnpackAlgoLegacy.h.
Referenced by InitInternalStatus(), and ProcessHitInfo().
|
private |
TS of last hit message for each channel, [ AsicIdx ][ Chan ].
Definition at line 140 of file CbmStsUnpackAlgoLegacy.h.
Referenced by InitInternalStatus(), and ProcessHitInfo().
|
private |
Definition at line 138 of file CbmStsUnpackAlgoLegacy.h.
Referenced by InitInternalStatus(), and ProcessHitInfo().
|
private |
TS MSB of last hit message for each channel, [ AsicIdx ][ Chan ].
Definition at line 144 of file CbmStsUnpackAlgoLegacy.h.
Referenced by InitInternalStatus(), and ProcessHitInfo().
|
protectedinherited |
Per-ASIC's sensors Time-Walk correction mapping.
Definition at line 131 of file CbmStsUnpackAlgoBase.h.
Referenced by CbmStsUnpackAlgo::processHitInfo(), and CbmStsUnpackAlgoBase::SetWalkMap().
|
staticprivate |
All hits (time in bins, ADC in bins, asic, channel) in last MS, sorted with "<" operator.
Duplicate hits suppression
Definition at line 137 of file CbmStsUnpackAlgoLegacy.h.
Referenced by ProcessHitInfo().