CbmRoot
|
#include <CbmMcbm2018Source.h>
Public Member Functions | |
CbmMcbm2018Source () | |
CbmMcbm2018Source (const CbmMcbm2018Source &source)=delete | |
CbmMcbm2018Source & | operator= (const CbmMcbm2018Source &)=delete |
virtual | ~CbmMcbm2018Source () |
Bool_t | Init () |
Int_t | ReadEvent (UInt_t) |
Source_Type | GetSourceType () |
virtual void | SetParUnpackers () |
virtual Bool_t | InitUnpackers () |
virtual Bool_t | ReInitUnpackers () |
virtual Bool_t | SpecifyRunId () |
void | Close () |
void | Reset () |
void | SetFileName (TString name) |
void | SetInputDir (TString name) |
void | SetHostName (TString name) |
void | AddUnpacker (CbmMcbmUnpack *unpacker, Int_t flibId, ECbmModuleId) |
void | AddFile (const char *name) |
UInt_t | GetTsCount () |
UInt_t | GetNofTSSinceLastTS () |
void | SetDataReductionMuch (UInt_t uTsReduction=15) |
void | UnpackSingleSpill (Int_t iSpillIdx, UInt_t uSpillStart=1) |
void | UnpackSelectSpills (Int_t iSpillIdxStart, Int_t iSpillIdxStop, UInt_t uSpillStart=1) |
void | LoadTsListSpillBreakBegin (std::vector< ULong64_t > vTsBeg) |
void | LoadTsListSpillBreakEnd (std::vector< ULong64_t > vTsEnd) |
void | LoadTsListSpillBreakMiddle (std::vector< ULong64_t > vTsMid) |
void | SetSubscriberHwm (UInt_t val=1) |
void | SetWriteOutputFlag (Bool_t bFlagIn) |
Private Member Functions | |
Bool_t | CheckTimeslice (const fles::Timeslice &ts) |
void | PrintMicroSliceDescriptor (const fles::MicrosliceDescriptor &mdsc) |
Int_t | FillBuffer () |
Private Attributes | |
TString | fFileName |
TString | fDirName |
TList | fInputFileList |
List of input files. | |
TString | fHost |
std::multimap< Int_t, CbmMcbmUnpack * > | fUnpackers |
std::unordered_set< CbmMcbmUnpack * > | fUnpackersToRun |
List pairs of system ID and unpacker pointer (unpacker can appear multiple times) | |
UInt_t | fTSNumber |
List of all unpackers for which at least one matching container was found. | |
UInt_t | fTSCounter |
ULong64_t | fTSLength = 0 |
ULong64_t | fTSOverlappLength = 0 |
TStopwatch | fTimer |
TH1I * | fHistoMissedTS |
TProfile * | fHistoMissedTSEvo |
Int_t | fNofTSSinceLastTS |
UInt_t | fuTsReduction |
Int_t | fiUnpSpillIdxStart = -1 |
Int_t | fiUnpSpillIdxStop = -1 |
>= 0 means unpack only from this spill | |
UInt_t | fuFlagSpillStart = 0 |
>= 0 means unpack only up to this spill (included) | |
UInt_t | fuSpillBegTs = 0 |
0 = Break begin, 1 = Break middle, 2 = Break end | |
UInt_t | fuSpillEndTs = 0 |
std::vector< ULong64_t > | fvuSpillBreakBegTs = {} |
std::vector< ULong64_t > | fvuSpillBreakEndTs = {} |
std::vector< ULong64_t > | fvuSpillBreakMidTs = {} |
std::unique_ptr< fles::TimesliceSource > | fSource |
UInt_t | fuSubscriberHwm |
Bool_t | fbWriteOutput |
Output ClonesArray. | |
TClonesArray * | fTimeSliceMetaDataArray |
If ON the output TClonesArray of meta-data is written to disk. | |
Definition at line 38 of file CbmMcbm2018Source.h.
CbmMcbm2018Source::CbmMcbm2018Source | ( | ) |
Definition at line 36 of file CbmMcbm2018Source.cxx.
|
delete |
|
virtual |
Definition at line 58 of file CbmMcbm2018Source.cxx.
|
inline |
Definition at line 76 of file CbmMcbm2018Source.h.
References fInputFileList.
|
inline |
Definition at line 71 of file CbmMcbm2018Source.h.
References fUnpackers.
|
private |
Definition at line 243 of file CbmMcbm2018Source.cxx.
void CbmMcbm2018Source::Close | ( | ) |
Definition at line 253 of file CbmMcbm2018Source.cxx.
References fUnpackersToRun.
|
private |
Get range of all unpackers matching this system ID <= Trick for STS + MUCH
Compute and store the timeslice and microslices properties
Single spill or spills range unpacking
Jump all TS until reaching the first TS in the spill we want to unpack
Stop when reaching the first TS in the next spill
Apply TS throttling as set by user (default = 1 => no throttling)
Save the TimeSlice meta-data for access by higher level tasks
Definition at line 273 of file CbmMcbm2018Source.cxx.
References fHistoMissedTS, fHistoMissedTSEvo, fiUnpSpillIdxStart, fNofTSSinceLastTS, fSource, fTimeSliceMetaDataArray, fTSCounter, fTSLength, fTSNumber, fTSOverlappLength, fUnpackers, fUnpackersToRun, fuSpillBegTs, fuSpillEndTs, and fuTsReduction.
Referenced by ReadEvent().
|
inline |
Definition at line 79 of file CbmMcbm2018Source.h.
References fNofTSSinceLastTS.
|
inline |
Definition at line 50 of file CbmMcbm2018Source.h.
|
inline |
Definition at line 78 of file CbmMcbm2018Source.h.
References fTSCounter.
Bool_t CbmMcbm2018Source::Init | ( | ) |
Initialize the Multisubscriber (This restores the original behavior after modifications needed to make the MQ version
Build list of unpackers without multiples from unpacker dealing with 2 or more detectors
Prepare output of TS meta-data
Single spill or spills range unpacking => Obtain the start and stop TS indices for the TS loop from user supplied vectors => Three possibilities linked to output of CbmMcbmSpillFindAlgo, choice controlled by fuFlagSpillStart
0 = Break begin
1 = Break middle
2 = Break end
Definition at line 60 of file CbmMcbm2018Source.cxx.
References fbWriteOutput, fDirName, fFileName, fHistoMissedTS, fHistoMissedTSEvo, fHost, fInputFileList, fiUnpSpillIdxStart, fiUnpSpillIdxStop, fSource, fTimeSliceMetaDataArray, fuFlagSpillStart, fUnpackers, fUnpackersToRun, fuSpillBegTs, fuSpillEndTs, fuSubscriberHwm, fvuSpillBreakBegTs, fvuSpillBreakEndTs, and fvuSpillBreakMidTs.
|
virtual |
Definition at line 200 of file CbmMcbm2018Source.cxx.
References fUnpackersToRun.
|
inline |
Definition at line 97 of file CbmMcbm2018Source.h.
References fvuSpillBreakBegTs.
|
inline |
Definition at line 101 of file CbmMcbm2018Source.h.
References fvuSpillBreakEndTs.
|
inline |
Definition at line 105 of file CbmMcbm2018Source.h.
References fvuSpillBreakMidTs.
|
delete |
|
private |
Definition at line 229 of file CbmMcbm2018Source.cxx.
Int_t CbmMcbm2018Source::ReadEvent | ( | UInt_t | ) |
Definition at line 220 of file CbmMcbm2018Source.cxx.
References FillBuffer().
|
virtual |
Definition at line 210 of file CbmMcbm2018Source.cxx.
References fUnpackersToRun.
void CbmMcbm2018Source::Reset | ( | ) |
Definition at line 265 of file CbmMcbm2018Source.cxx.
References fTimeSliceMetaDataArray, and fUnpackers.
|
inline |
Definition at line 81 of file CbmMcbm2018Source.h.
References fuTsReduction.
|
inline |
Definition at line 63 of file CbmMcbm2018Source.h.
References fFileName, and fInputFileList.
|
inline |
Definition at line 69 of file CbmMcbm2018Source.h.
References fHost.
|
inline |
Definition at line 68 of file CbmMcbm2018Source.h.
References fDirName.
|
virtual |
Definition at line 192 of file CbmMcbm2018Source.cxx.
References fUnpackersToRun.
|
inline |
Definition at line 110 of file CbmMcbm2018Source.h.
References fuSubscriberHwm.
|
inline |
Definition at line 112 of file CbmMcbm2018Source.h.
References fbWriteOutput.
|
inlinevirtual |
Definition at line 58 of file CbmMcbm2018Source.h.
|
inline |
Definition at line 90 of file CbmMcbm2018Source.h.
References fiUnpSpillIdxStart, fiUnpSpillIdxStop, and fuFlagSpillStart.
|
inline |
Definition at line 83 of file CbmMcbm2018Source.h.
References fiUnpSpillIdxStart, fiUnpSpillIdxStop, and fuFlagSpillStart.
|
private |
Output ClonesArray.
Definition at line 157 of file CbmMcbm2018Source.h.
Referenced by Init(), and SetWriteOutputFlag().
|
private |
Definition at line 116 of file CbmMcbm2018Source.h.
Referenced by Init(), and SetInputDir().
|
private |
Definition at line 115 of file CbmMcbm2018Source.h.
Referenced by Init(), and SetFileName().
|
private |
Definition at line 131 of file CbmMcbm2018Source.h.
Referenced by FillBuffer(), and Init().
|
private |
Definition at line 132 of file CbmMcbm2018Source.h.
Referenced by FillBuffer(), and Init().
|
private |
Definition at line 118 of file CbmMcbm2018Source.h.
Referenced by Init(), and SetHostName().
|
private |
List of input files.
Definition at line 117 of file CbmMcbm2018Source.h.
Referenced by AddFile(), Init(), and SetFileName().
|
private |
Definition at line 137 of file CbmMcbm2018Source.h.
Referenced by FillBuffer(), Init(), UnpackSelectSpills(), and UnpackSingleSpill().
|
private |
>= 0 means unpack only from this spill
Definition at line 138 of file CbmMcbm2018Source.h.
Referenced by Init(), UnpackSelectSpills(), and UnpackSingleSpill().
|
private |
Definition at line 133 of file CbmMcbm2018Source.h.
Referenced by FillBuffer(), and GetNofTSSinceLastTS().
|
private |
Definition at line 147 of file CbmMcbm2018Source.h.
Referenced by FillBuffer(), and Init().
|
private |
Definition at line 129 of file CbmMcbm2018Source.h.
|
private |
If ON the output TClonesArray of meta-data is written to disk.
Definition at line 158 of file CbmMcbm2018Source.h.
Referenced by FillBuffer(), Init(), and Reset().
|
private |
Definition at line 126 of file CbmMcbm2018Source.h.
Referenced by FillBuffer(), and GetTsCount().
|
private |
Definition at line 127 of file CbmMcbm2018Source.h.
Referenced by FillBuffer().
|
private |
List of all unpackers for which at least one matching container was found.
Definition at line 125 of file CbmMcbm2018Source.h.
Referenced by FillBuffer().
|
private |
Definition at line 128 of file CbmMcbm2018Source.h.
Referenced by FillBuffer().
|
private |
>= 0 means unpack only up to this spill (included)
Definition at line 139 of file CbmMcbm2018Source.h.
Referenced by Init(), UnpackSelectSpills(), and UnpackSingleSpill().
|
private |
Definition at line 121 of file CbmMcbm2018Source.h.
Referenced by AddUnpacker(), FillBuffer(), Init(), and Reset().
|
private |
List pairs of system ID and unpacker pointer (unpacker can appear multiple times)
Definition at line 123 of file CbmMcbm2018Source.h.
Referenced by Close(), FillBuffer(), Init(), InitUnpackers(), ReInitUnpackers(), and SetParUnpackers().
|
private |
0 = Break begin, 1 = Break middle, 2 = Break end
Definition at line 140 of file CbmMcbm2018Source.h.
Referenced by FillBuffer(), and Init().
|
private |
Definition at line 141 of file CbmMcbm2018Source.h.
Referenced by FillBuffer(), and Init().
|
private |
Definition at line 149 of file CbmMcbm2018Source.h.
Referenced by Init(), and SetSubscriberHwm().
|
private |
Definition at line 135 of file CbmMcbm2018Source.h.
Referenced by FillBuffer(), and SetDataReductionMuch().
|
private |
Definition at line 143 of file CbmMcbm2018Source.h.
Referenced by Init(), and LoadTsListSpillBreakBegin().
|
private |
Definition at line 144 of file CbmMcbm2018Source.h.
Referenced by Init(), and LoadTsListSpillBreakEnd().
|
private |
Definition at line 145 of file CbmMcbm2018Source.h.
Referenced by Init(), and LoadTsListSpillBreakMiddle().