Go to the documentation of this file.
8 #ifndef CbmStar2019EventBuilderEtofAlgo_H
9 #define CbmStar2019EventBuilderEtofAlgo_H
36 virtual Bool_t
Init();
46 Bool_t
ProcessTs(
const fles::Timeslice& ts);
47 Bool_t
ProcessTs(
const fles::Timeslice& ts,
size_t ) {
50 Bool_t
ProcessMs(
const fles::Timeslice& ts,
size_t uMsCompIdx,
size_t uMsIdx);
145 std::vector<ULong64_t>
151 std::vector<std::vector<gdpbv100::FullMessage>>
153 std::vector<std::vector<gdpbv100::FullMessage>>
155 std::vector<std::vector<CbmTofStarTrigger2019>>
189 std::vector<std::bitset<kuNbAsicPerGdpb>>
191 std::vector<std::bitset<kuNbAsicPerGdpb>>
193 std::vector<std::bitset<kuNbAsicPerGdpb>>
195 std::vector<std::vector<std::pair<uint64_t,
196 std::bitset<kuNbAsicPerGdpb>>>>
250 std::pair<uint64_t, std::bitset<kuNbAsicPerGdpb>> statusIn);
std::vector< ULong64_t > fvulCurrentEpochCycle
void SetDebugMonitorMode(Bool_t bFlagIn=kTRUE)
std::vector< ULong64_t > fvulCurrentEpoch
Current time references for each GDPB: merged epoch marker, epoch cycle, full epoch [fuNrOfGdpbs].
TCanvas * fcTimeToTrigRaw
extra monitor for debug
std::vector< Double_t > fdStarTriggerDeadtime
std::vector< ULong64_t > fvulGdpbTsLsb
[sector]
TH2 * fhRawTriggersStats
extra monitor for debug
Bool_t fbDebugMonitorMode
Switch ON the filling of a minimal set of histograms.
std::vector< std::bitset< kuNbAsicPerGdpb > > fvbGdpbLastEnablePattern
[sector][asic] Exclude from dictionnary
std::vector< ULong64_t > fvulCurrentEpochFull
Epoch cycle from the Ms Start message and Epoch counter flip.
std::map< UInt_t, UInt_t > fGdpbIdIndexMap
CbmStar2019EventBuilderEtofAlgo operator=(const CbmStar2019EventBuilderEtofAlgo &)
TCanvas * fcMessDistMs
All sectors, extra monitor for debug.
void ProcessHit(gdpbv100::Message mess, uint64_t ulCurEpochGdpbGet4)
TProfile * fhEventSizeDistributionInTs
extra monitor for debug
Bool_t ReInitContainers()
std::vector< Int_t > fviRpcSide
static const UInt_t kuMaxNbErrorsPerGdpbPerEvent
Switch ON the readout and insertion of STATUS pattern message (default is true)
Bool_t fbEpochAfterCandWinFound
[sector]
std::vector< ULong64_t > fvulStarTsMsb
[sector]
TH1 * fhEventSizeDistribution
void ProcessEpoch(gdpbv100::Message mess)
void AddMsComponentToList(size_t component, UShort_t usDetectorId)
std::vector< TH1 * > fvhTriggerDistributionInTs
[sector], extra monitor for debug
std::vector< ULong64_t > fvulStarTsFullLastCore
[sector]
TH2 * fhRawTriggersStatsSel
extra monitor for debug
UInt_t fuNrOfChannelsPerFee
Bool_t fbTriggerAfterCandWinFound
TCanvas * fcTrigDistMs
All sectors.
Bool_t fbMonitorMode
Control flags.
Bool_t ProcessMs(const fles::Timeslice &ts, size_t uMsCompIdx, size_t uMsIdx)
Bool_t CreateHistograms()
std::vector< Double_t > fvdMessCandidateTimeStop
[sector]
std::vector< UInt_t > fvuStarDaqCmdLast
[sector]
std::vector< Int_t > fviRpcType
UInt_t fuMinTotPulser
[sector]
std::vector< std::vector< gdpbv100::Message > > fvvmEpSupprBuffer
Epoch + Epoch Cycle.
std::vector< Double_t > fvdTrigCandidateTimeStart
[sector]
TCanvas * fcTimeToTrigSel
All sectors.
CbmStar2019EventBuilderEtofAlgo()
std::vector< UInt_t > fvuStarDaqCmdLastCore
[sector]
static const uint32_t kuNbMsgPerPattern
ASIC status monitoring.
std::vector< ULong64_t > fvulGdpbTsFullLastCore
[sector]
std::vector< CbmTofStarSubevent2019 > & GetEventBuffer()
std::vector< UInt_t > fvuStarTrigCmdLastCore
[sector]
std::vector< std::vector< std::pair< uint64_t, std::bitset< kuNbAsicPerGdpb > > > > fvSectorStatusPattern
[sector][asic] Exclude from dictionnary
TCanvas * fcEventBuildStats
All sectors, extra monitor for debug.
void StoreMessageInBuffer(gdpbv100::FullMessage fullMess, uint32_t uGdpbNr)
std::vector< Double_t > fdStarTriggerWinSize
[sector]
std::vector< UInt_t > fvuStarTokenLast
[sector]
Double_t fdAllowedTriggersSpread
Event window limits.
void ProcessPattern(gdpbv100::Message mess, uint64_t ulCurEpochGdpbGet4)
std::vector< std::bitset< kuNbAsicPerGdpb > > fvbGdpbLastResyncPattern
[sector][asic] Exclude from dictionnary
std::vector< TH2 * > fvhHitsTimeToTriggerRawPulser
[sector]
std::vector< UInt_t > fvuStarTrigCmdLast
[sector]
void ProcessSlCtrl(gdpbv100::Message mess, uint64_t ulCurEpochGdpbGet4)
std::vector< ULong64_t > fvulStarTsFullLast
[sector]
UInt_t fuNrOfChannelsPerGdpb
std::vector< TH1 * > fvhHitsTimeToTriggerRaw
[sector][Update]<time, [asic]> Exclude from dictionnary
void UpdateStatusPatternCurrGdpb()
void SetPulserTotLimits(UInt_t uMin, UInt_t uMax)
std::vector< TH1 * > fvhTriggerDistributionInMs
[sector], extra monitor for debug
std::vector< CbmTofStarSubevent2019 > fvEventsBuffer
[sector]
std::vector< TH1 * > fvhTriggerDt
[sector], extra monitor for debug
std::vector< std::vector< gdpbv100::FullMessage > > fvvBufferMessages
[sector], buffer to make sure GET4 errors 0-12 are always transmitted
std::vector< Double_t > fdStarTriggerDelay
[sector]
Double_t fdTsStopTimeCore
Bool_t fbTriggerFoundA
Event buffer.
std::vector< std::vector< gdpbv100::FullMessage > > fvvBufferMajorAsicErrors
[sector]
Bool_t ProcessTs(const fles::Timeslice &ts)
TProfile * fhEventSizeEvolution
TH1 * fhEventNbDistributionInTs
ULong64_t fulCurrentTsIndex
Running indices.
TH2 * fhMissingTriggersEvolution
extra monitor for debug
gdpbv100::FullMessage CreateStatusMessage(uint16_t uGdpbId, uint32_t uIndex, std::pair< uint64_t, std::bitset< kuNbAsicPerGdpb >> statusIn)
void ProcessStarTrigger(gdpbv100::Message mess)
TH2 * fhRawTriggersStatsOver
extra monitor for debug
std::vector< UInt_t > fvuStarTokenLastCore
[sector]
CbmStar2019EventBuilderEtofAlgo(const CbmStar2019EventBuilderEtofAlgo &)
std::vector< Double_t > fvdTrigCandidateTimeStop
[sector]
std::vector< std::bitset< kuNbAsicPerGdpb > > fvbGdpbLastMissmatchPattern
static const uint32_t kuNbAsicPerGdpb
std::vector< ULong64_t > fvulGdpbTsFullLast
[sector]
std::vector< ULong64_t > fvulGdpbTsMsb
CbmStar2019TofPar * fUnpackPar
Correspond to ~6000 error messages max per event, leaving 2000 for hits and epoch.
std::vector< TH1 * > fvhMessDistributionInMs
[sector], extra monitor for debug
void SetStoreLostEventMsg(Bool_t bFlagIn=kTRUE)
Bool_t ProcessTs(const fles::Timeslice &ts, size_t)
Bool_t fbAddStatusToEvent
Switch ON the insertion of the LostEvent messages from GET4s with the critical errors (default is fal...
TH2 * fhRawTriggersStatsCore
extra monitor for debug
void ProcessSysMess(gdpbv100::Message mess, uint64_t ulCurEpochGdpbGet4)
std::vector< TH2 * > fvhHitsTimeToTriggerSelVsTrig
[sector], extra monitor for debug
UInt_t fuNrOfGbtx
Detector Mapping.
void SetMonitorMode(Bool_t bFlagIn=kTRUE)
UInt_t fuNrOfChannelsPerGet4
~CbmStar2019EventBuilderEtofAlgo()
void SetAddStatusToEvent(Bool_t bFlagIn=kTRUE)
TH1 * fhEventNbPerTs
[sector], extra monitor for debug
std::vector< ULong64_t > fvulStarTsMid
[sector]
std::vector< TH1 * > fvhHitsTimeToTriggerSel
[sector], extra monitor for debug
std::vector< Int_t > fviModuleId
std::vector< TH2 * > fvhHitsTimeToTriggerSelVsDaq
[sector]
Bool_t fbStoreLostEventMsg
Switch ON the filling of a additional set of histograms.
std::vector< Int_t > fviNrOfRpc
std::vector< Double_t > fvdMessCandidateTimeStart
[sector]
void ProcessEpSupprBuffer(uint32_t uGdpbNr)
std::vector< std::vector< CbmTofStarTrigger2019 > > fvvBufferTriggers
[sector]
void ProcessEpochCycle(uint64_t ulCycleData)
All sectors, extra monitor for debug.