CbmRoot
CbmMcbm2018UnpackerTaskSts.h
Go to the documentation of this file.
1 // -----------------------------------------------------------------------------
2 // ----- -----
3 // ----- CbmMcbm2018UnpackerTaskSts -----
4 // ----- Created 26.01.2019 by P.-A. Loizeau -----
5 // ----- -----
6 // -----------------------------------------------------------------------------
7 
8 #ifndef CbmMcbm2018UnpackerTaskSts_H
9 #define CbmMcbm2018UnpackerTaskSts_H
10 
11 #include "Timeslice.hpp"
12 
13 #include "CbmErrorMessage.h"
14 #include "CbmMcbmUnpack.h"
15 #include "CbmStsDigi.h"
16 
18 //class TClonesArray;
19 
20 struct FebChanMask {
21  UInt_t uFeb;
22  UInt_t uChan;
23  Bool_t bMasked;
24 };
25 
27 public:
28  CbmMcbm2018UnpackerTaskSts(UInt_t uNbSdpb = 1);
29 
33 
35 
36  virtual Bool_t Init();
37  virtual Bool_t DoUnpack(const fles::Timeslice& ts, size_t component);
38  virtual void Reset();
39 
40  virtual void Finish();
41 
42  void SetParContainers();
43 
44  Bool_t InitContainers();
45 
46  Bool_t ReInitContainers();
47 
49  void AddMsComponentToList(size_t component, UShort_t usDetectorId);
50  void SetNbMsInTs(size_t /*uCoreMsNb*/, size_t /*uOverlapMsNb*/) {};
51 
52  inline void SetMonitorMode(Bool_t bFlagIn = kTRUE) {
53  fbMonitorMode = bFlagIn;
54  }
55  void SetIgnoreOverlapMs(Bool_t bFlagIn = kTRUE);
56 
57  void SetTimeOffsetNs(Double_t dOffsetIn = 0.0);
58  void SetTimeOffsetNsAsic(UInt_t uAsicIdx, Double_t dOffsetIn = 0.0);
59  void MaskNoisyChannel(UInt_t uFeb, UInt_t uChan, Bool_t bMasked = kTRUE);
60  void SetAdcCut(UInt_t uAdc);
61 
63  void SetBinningFwFlag(Bool_t bEnable = kTRUE);
64 
66  void SetWriteOutputFlag(Bool_t bFlagIn) { fbWriteOutput = bFlagIn; }
67 
68 private:
70  Bool_t
72  Bool_t
74  Bool_t
76 
78  std::vector<FebChanMask> fvChanMasks;
79 
81  uint64_t fulTsCounter;
82 
84  std::vector<CbmStsDigi>* fpvDigiSts = nullptr;
85  std::vector<CbmErrorMessage>* fpvErrorSts = nullptr;
86 
89 
90 
91  ClassDef(CbmMcbm2018UnpackerTaskSts, 2)
92 };
93 
94 #endif
CbmMcbm2018UnpackerTaskSts::operator=
CbmMcbm2018UnpackerTaskSts operator=(const CbmMcbm2018UnpackerTaskSts &)=delete
CbmMcbm2018UnpackerTaskSts::fpvDigiSts
std::vector< CbmStsDigi > * fpvDigiSts
Output vectors.
Definition: CbmMcbm2018UnpackerTaskSts.h:84
CbmMcbm2018UnpackerTaskSts::SetAdcCut
void SetAdcCut(UInt_t uAdc)
Definition: CbmMcbm2018UnpackerTaskSts.cxx:253
CbmMcbm2018UnpackerTaskSts::~CbmMcbm2018UnpackerTaskSts
virtual ~CbmMcbm2018UnpackerTaskSts()
Definition: CbmMcbm2018UnpackerTaskSts.cxx:44
CbmMcbm2018UnpackerTaskSts::fbDebugMonitorMode
Bool_t fbDebugMonitorMode
Switch ON the filling of a minimal set of histograms.
Definition: CbmMcbm2018UnpackerTaskSts.h:73
CbmMcbmUnpack.h
FebChanMask::uFeb
UInt_t uFeb
Definition: CbmMcbm2018UnpackerTaskSts.h:21
CbmMcbm2018UnpackerTaskSts::SetBinningFwFlag
void SetBinningFwFlag(Bool_t bEnable=kTRUE)
=> Quick and dirty hack for binning FW!!!
Definition: CbmMcbm2018UnpackerTaskSts.cxx:257
CbmMcbm2018UnpackerTaskSts::fbMonitorMode
Bool_t fbMonitorMode
Control flags.
Definition: CbmMcbm2018UnpackerTaskSts.h:71
CbmMcbm2018UnpackerTaskSts::SetParContainers
void SetParContainers()
Definition: CbmMcbm2018UnpackerTaskSts.cxx:73
CbmMcbm2018UnpackerTaskSts::ReInitContainers
Bool_t ReInitContainers()
Definition: CbmMcbm2018UnpackerTaskSts.cxx:151
CbmStsDigi.h
FebChanMask
Definition: CbmMcbm2018UnpackerTaskSts.h:20
CbmMcbm2018UnpackerTaskSts::CbmMcbm2018UnpackerTaskSts
CbmMcbm2018UnpackerTaskSts(UInt_t uNbSdpb=1)
Definition: CbmMcbm2018UnpackerTaskSts.cxx:34
CbmErrorMessage.h
CbmMcbm2018UnpackerTaskSts::fUnpackerAlgo
CbmMcbm2018UnpackerAlgoSts * fUnpackerAlgo
Processing algo.
Definition: CbmMcbm2018UnpackerTaskSts.h:88
CbmMcbm2018UnpackerTaskSts::SetMonitorMode
void SetMonitorMode(Bool_t bFlagIn=kTRUE)
Definition: CbmMcbm2018UnpackerTaskSts.h:52
CbmMcbm2018UnpackerTaskSts
Definition: CbmMcbm2018UnpackerTaskSts.h:26
CbmMcbm2018UnpackerTaskSts::SetTimeOffsetNsAsic
void SetTimeOffsetNsAsic(UInt_t uAsicIdx, Double_t dOffsetIn=0.0)
Definition: CbmMcbm2018UnpackerTaskSts.cxx:242
CbmMcbm2018UnpackerTaskSts::MaskNoisyChannel
void MaskNoisyChannel(UInt_t uFeb, UInt_t uChan, Bool_t bMasked=kTRUE)
Definition: CbmMcbm2018UnpackerTaskSts.cxx:247
CbmMcbm2018UnpackerTaskSts::AddMsComponentToList
void AddMsComponentToList(size_t component, UShort_t usDetectorId)
Temp until we change from CbmMcbmUnpack to something else.
Definition: CbmMcbm2018UnpackerTaskSts.cxx:158
CbmMcbm2018UnpackerAlgoSts
Definition: CbmMcbm2018UnpackerAlgoSts.h:37
CbmMcbm2018UnpackerTaskSts::Init
virtual Bool_t Init()
Definition: CbmMcbm2018UnpackerTaskSts.cxx:48
CbmMcbm2018UnpackerTaskSts::fbWriteOutput
Bool_t fbWriteOutput
Switch ON the filling of a additional set of histograms.
Definition: CbmMcbm2018UnpackerTaskSts.h:75
FebChanMask::bMasked
Bool_t bMasked
Definition: CbmMcbm2018UnpackerTaskSts.h:23
FebChanMask::uChan
UInt_t uChan
Definition: CbmMcbm2018UnpackerTaskSts.h:22
CbmMcbm2018UnpackerTaskSts::SetTimeOffsetNs
void SetTimeOffsetNs(Double_t dOffsetIn=0.0)
Definition: CbmMcbm2018UnpackerTaskSts.cxx:238
CbmMcbm2018UnpackerTaskSts::SetNbMsInTs
void SetNbMsInTs(size_t, size_t)
Definition: CbmMcbm2018UnpackerTaskSts.h:50
CbmMcbm2018UnpackerTaskSts::fulTsCounter
uint64_t fulTsCounter
Statistics & first TS rejection.
Definition: CbmMcbm2018UnpackerTaskSts.h:81
CbmMcbm2018UnpackerTaskSts::CbmMcbm2018UnpackerTaskSts
CbmMcbm2018UnpackerTaskSts(const CbmMcbm2018UnpackerTaskSts &)=delete
CbmMcbm2018UnpackerTaskSts::SetIgnoreOverlapMs
void SetIgnoreOverlapMs(Bool_t bFlagIn=kTRUE)
Definition: CbmMcbm2018UnpackerTaskSts.cxx:234
CbmMcbm2018UnpackerTaskSts::SetWriteOutputFlag
void SetWriteOutputFlag(Bool_t bFlagIn)
Task settings.
Definition: CbmMcbm2018UnpackerTaskSts.h:66
CbmMcbm2018UnpackerTaskSts::fpvErrorSts
std::vector< CbmErrorMessage > * fpvErrorSts
Definition: CbmMcbm2018UnpackerTaskSts.h:85
CbmMcbm2018UnpackerTaskSts::DoUnpack
virtual Bool_t DoUnpack(const fles::Timeslice &ts, size_t component)
Definition: CbmMcbm2018UnpackerTaskSts.cxx:163
CbmMcbm2018UnpackerTaskSts::Finish
virtual void Finish()
Definition: CbmMcbm2018UnpackerTaskSts.cxx:199
CbmMcbm2018UnpackerTaskSts::InitContainers
Bool_t InitContainers()
Definition: CbmMcbm2018UnpackerTaskSts.cxx:97
CbmMcbmUnpack
Definition: CbmMcbmUnpack.h:15
CbmMcbm2018UnpackerTaskSts::fvChanMasks
std::vector< FebChanMask > fvChanMasks
If ON the output TClonesArray of digi is written to disk.
Definition: CbmMcbm2018UnpackerTaskSts.h:78
CbmMcbm2018UnpackerTaskSts::Reset
virtual void Reset()
Definition: CbmMcbm2018UnpackerTaskSts.cxx:194