CbmRoot
CbmMcbm2018MonitorMuchLite.h
Go to the documentation of this file.
1 // -----------------------------------------------------------------------------
2 // ----- -----
3 // ----- CbmMcbm2018MonitorMuchLite -----
4 // ----- Created 11/05/18 by P.-A. Loizeau -----
5 // ----- Modified 07/12/18 by Ajit Kumar -----
6 // ----- Modified 05/03/19 by Vikas Singhal -----
7 // ----- -----
8 // -----------------------------------------------------------------------------
9 
10 #ifndef CBMMCBM2018MonitorMuchLite_H
11 #define CBMMCBM2018MonitorMuchLite_H
12 
13 #ifndef __CINT__
14 #include "Timeslice.hpp"
15 #endif
16 
17 // Data
18 #include "StsXyterFinalHit.h"
19 #include "StsXyterMessage.h"
20 
21 // CbmRoot
22 #include "CbmHistManager.h"
23 #include "CbmMcbmUnpack.h"
24 
25 // C++11
26 #include <chrono>
27 
28 // C/C++
29 #include <map>
30 #include <set>
31 #include <vector>
32 
33 class CbmMcbm2018MuchPar;
34 //class CbmCern2017UnpackParSts;
35 
37 public:
40 
41  virtual Bool_t Init();
42 #ifndef __CINT__
43  virtual Bool_t DoUnpack(const fles::Timeslice& ts, size_t component);
44 #endif
45  virtual void Reset();
46 
47  virtual void Finish();
48 
49  void SetParContainers();
50 
51  Bool_t InitContainers();
52 
53  Bool_t ReInitContainers();
54 
55  virtual void AddMsComponentToList(size_t component, UShort_t usDetectorId);
56  virtual void SetNbMsInTs(size_t uCoreMsNb, size_t uOverlapMsNb);
57  void SetMsOverlap(size_t uOverlapMsNb = 1) { fuNbOverMsPerTs = uOverlapMsNb; }
58  size_t GetMsOverlap() { return fuNbOverMsPerTs; }
59 
60  void SetRunStart(Int_t dateIn, Int_t timeIn, Int_t iBinSize = 5);
61 
62  void ResetAllHistos();
63  void SaveAllHistos(TString sFileName = "");
64  void SaveHistos(TString sFileName = "");
65  void SetHistoFileName(TString sFileName = "data/SetupHistos.root") {
66  fsHistoFileFullname = sFileName;
67  }
68 
69  void SetPrintMessage(Bool_t bPrintMessOn = kTRUE,
73  fbPrintMessages = bPrintMessOn;
74  fPrintMessCtrl = ctrl;
75  }
76  //void SetLongDurationLimits( UInt_t uDurationSeconds = 3600, UInt_t uBinSize = 1 );
77  //void SetEnableCoincidenceMaps( Bool_t bEnableCoincidenceMapsOn = kTRUE ) { fbEnableCoincidenceMaps = bEnableCoincidenceMapsOn; }
78  //void SetCoincidenceBorder( Double_t dCenterPos, Double_t dBorderVal );
79  //void SetFebChanCoincidenceLimitNs( Double_t dLimitIn ) { fdFebChanCoincidenceLimit = dLimitIn; }
80  //void UseNoiseLimitsSmx2LogicError( Bool_t bUseNoise = kTRUE ) { fbSmx2ErrorUseNoiseLevels = bUseNoise; }
81 
82  void SetMuchMode(Bool_t bMuchMode = kTRUE) { fbMuchMode = bMuchMode; }
83 
84  // void SetTimeBin( size_t uTimeBin );
86  Bool_t) {}; //Virtual function in Mother Class, Need to update accordingly. VS
87 
89  void SetBinningFwFlag(Bool_t bEnable = kTRUE) { fbBinningFw = bEnable; }
90 
91 private:
92  // Parameters
93  // Control flags
94  Bool_t fbMuchMode;
95  std::vector<Bool_t> fvbMaskedComponents;
97  Bool_t fbBinningFw = kFALSE;
98 
99  // FLES containers
100  std::vector<size_t> fvMsComponentsList;
103  Bool_t
105  // Unpacking and mapping
107  UInt_t fuNrOfDpbs;
108  std::map<UInt_t, UInt_t>
110  std::vector<std::vector<Bool_t>>
112  UInt_t fuNbFebs;
113  UInt_t fuNbStsXyters;
114  //std::vector< std::vector< std::vector< Double_t > > > fvdFebAdcGain; //! ADC gain in e-/b, [ NbDpb ][ NbCrobPerDpb ][ NbFebsPerCrob ]
115  //std::vector< std::vector< std::vector< Double_t > > > fvdFebAdcOffs; //! ADC offset in e-, [ NbDpb ][ NbCrobPerDpb ][ NbFebsPerCrob ]
116 
117  // Constants
118  static const Int_t kiMaxNbFlibLinks = 32;
119  static const UInt_t kuBytesPerMessage = 4;
120 
127  // Bool_t fbEnableCoincidenceMaps;
129  ULong64_t fulCurrentTsIdx;
130  ULong64_t fulCurrentMsIdx;
132  std::map<stsxyter::MessType, UInt_t> fmMsgCounter;
133  UInt_t
135  UInt_t
137  UInt_t
139  Int_t
142 
144  std::vector<ULong64_t> fvulCurrentTsMsb;
145  std::vector<UInt_t> fvuCurrentTsMsbCycle;
146  std::vector<UInt_t>
148  std::vector<UInt_t>
150  std::vector<UInt_t> fvuElinkLastTsHit;
151  std::vector<std::vector<ULong64_t>>
154  //std::vector< std::vector< ULong64_t > > fvdChanLastHitTime; //! Last hit time in ns for each Channel
155  std::vector<std::vector<Double_t>>
157  std::vector<Double_t> fvdPrevMsTime;
158  std::vector<Double_t> fvdMsTime;
159  std::vector<std::vector<std::vector<UInt_t>>>
161  std::vector<std::vector<std::vector<Double_t>>>
163  std::vector<std::vector<std::vector<UShort_t>>>
165  // std::vector< std::vector< std::multiset< stsxyter::FinalHit > > > fvmChanHitsInTs; //! All hits (time & ADC) in bins in last TS for each Channel
167  //Long64_t fdStartTime; /** Time of first valid hit (TS_MSB available), used as reference for evolution plots**/
168  Long64_t prevtime_new;
169  Long64_t prevTime;
170  UInt_t prevAsic;
171  UInt_t prevChan;
172  Double_t
174  Double_t
176  std::chrono::steady_clock::time_point
179  std::vector<stsxyter::FinalHit>
182  std::vector<std::vector<stsxyter::FinalHit>>
184  std::vector<std::vector<stsxyter::FinalHit>>
186  UInt_t fuMaxNbMicroslices;
190  std::vector<Int_t> fviFebTimeSecLastRateUpdate;
192  std::vector<std::vector<Double_t>> fvdFebChanCountsSinceLastRateUpdate;
194  //Bool_t fbLongHistoEnable;
195  //UInt_t fuLongHistoNbSeconds;
196  //UInt_t fuLongHistoBinSizeSec;
197  //UInt_t fuLongHistoBinNb;
198  UInt_t Counter;
199  UInt_t Counter1;
201  //Double_t fdCoincCenter; // ns
202  //Double_t fdCoincBorder; // ns, +/-
203  //Double_t fdCoincMin; // ns
204  //Double_t fdCoincMax; // ns
205 
216 
217  TH1* fhRate;
219  TH1* fhFEBcount = nullptr;
220  // std::vector<TH1 *> fhMuchFebChanRateEvo;
221 
223  //UInt_t kuNbAsicPerFeb = 1;
224 
225  std::vector<TH2*> fHistPadDistr;
226  std::vector<TH2*> fRealHistPadDistr;
227 
228  //Double_t fdFebChanCoincidenceLimit; // ns
229  std::vector<TH1*> fhMuchFebChanCntRaw;
230  std::vector<TH1*> fhMuchFebSpill = {};
231  std::vector<TH2*> fhMuchFebADC = {};
232  //std::vector<TH1 *> fhMuchFebChanCntRawGood;
233  std::vector<TH2*> fhMuchFebChanAdcRaw;
234  std::vector<TProfile*> fhMuchFebChanAdcRawProf;
235  //std::vector<TH2 *> fhMuchFebChanAdcCal;
236  //std::vector<TProfile*> fhMuchFebChanAdcCalProf;
237  std::vector<TH2*> fhMuchFebChanRawTs;
238  std::vector<TH2*> fhMuchChannelTime = {};
239  //std::vector<TH2*> fhMuchFebChanMissEvt;
240  //std::vector<TH2*> fhMuchFebChanMissEvtEvo;
241  //std::vector<TH2*> fhMuchFebAsicMissEvtEvo;
242  //std::vector<TH1*> fhMuchFebMissEvtEvo;
243  std::vector<TH2*> fhMuchFebChanHitRateEvo;
244  std::vector<TProfile*> fhMuchFebChanHitRateProf;
245  //std::vector<TH2*> fhMuchFebAsicHitRateEvo;
246  std::vector<TH1*> fhMuchFebHitRateEvo;
247  std::vector<TH1*> fhMuchFebHitRateEvo_mskch;
250  //std::vector<TH2*> fhMuchFebChanHitRateEvoLong;
251  //std::vector<TH2*> fhMuchFebAsicHitRateEvoLong;
252  //std::vector<TH1*> fhMuchFebHitRateEvoLong;
253  std::vector<std::vector<Double_t>> fdMuchFebChanLastTimeForDist;
254  std::vector<TH2*> fhMuchFebChanDistT;
255  //std::vector< std::vector<TH1*> > fhMuchFebChanDtCoinc;
256  //std::vector< std::vector<TH2*> > fhMuchFebChanCoinc;
257  std::vector<TProfile*> fhMuchFebDuplicateHitProf;
258 
260  TH2* fhDpbMsErrors = nullptr;
261 
262  TCanvas* fcMsSizeAll;
265 
266  // Methods later going into Algo
267  Bool_t InitMuchParameters();
268  void CreateHistograms();
269  Bool_t
270  ProcessMuchMs(const fles::Timeslice& ts, size_t uMsComp, UInt_t uMsIdx);
271 
272  void FillHitInfo(stsxyter::Message mess,
273  const UShort_t& usElinkIdx,
274  const UInt_t& uAsicIdx,
275  const UInt_t& uMsIdx);
276  void
277  FillTsMsbInfo(stsxyter::Message mess, UInt_t uMessIdx = 0, UInt_t uMsIdx = 0);
278  void FillEpochInfo(stsxyter::Message mess);
279 
281  void SaveMuchHistos(TString sFileName = "");
282  Bool_t ScanForNoisyChannels(Double_t dNoiseThreshold = 1e3);
283 
286 
287  ClassDef(CbmMcbm2018MonitorMuchLite, 1)
288 };
289 
290 #endif // CBMMCBM2018MonitorMuchLite_H
CbmMcbm2018MonitorMuchLite::fhRate
TH1 * fhRate
Definition: CbmMcbm2018MonitorMuchLite.h:217
CbmMcbm2018MonitorMuchLite::fRealHistPadDistr
std::vector< TH2 * > fRealHistPadDistr
Definition: CbmMcbm2018MonitorMuchLite.h:226
CbmMcbm2018MonitorMuchLite::fHM
CbmHistManager * fHM
Coincidences in sorted hits.
Definition: CbmMcbm2018MonitorMuchLite.h:207
CbmMcbm2018MonitorMuchLite::ResetAllHistos
void ResetAllHistos()
Definition: CbmMcbm2018MonitorMuchLite.cxx:1659
CbmMcbm2018MonitorMuchLite::fhMuchFebHitRateEvo_mskch
std::vector< TH1 * > fhMuchFebHitRateEvo_mskch
Definition: CbmMcbm2018MonitorMuchLite.h:247
stsxyter::MessagePrintMask::msg_print_Hex
@ msg_print_Hex
CbmMcbm2018MonitorMuchLite::fhMsSzTime
TProfile * fhMsSzTime[kiMaxNbFlibLinks]
Definition: CbmMcbm2018MonitorMuchLite.h:264
CbmMcbm2018MonitorMuchLite::fvmHitsInMs
std::vector< stsxyter::FinalHit > fvmHitsInMs
Hits time-sorting.
Definition: CbmMcbm2018MonitorMuchLite.h:181
CbmMcbm2018MonitorMuchLite::fbPrintMessages
Bool_t fbPrintMessages
Task configuration values.
Definition: CbmMcbm2018MonitorMuchLite.h:125
CbmMcbm2018MonitorMuchLite::fiRunStartDateTimeSec
Int_t fiRunStartDateTimeSec
Index of the DPB from which the MS currently unpacked is coming.
Definition: CbmMcbm2018MonitorMuchLite.h:140
CbmMcbm2018MonitorMuchLite::fhMuchHitsElinkPerDpb
TH2 * fhMuchHitsElinkPerDpb
Definition: CbmMcbm2018MonitorMuchLite.h:215
CbmMcbm2018MonitorMuchLite::fUnpackParMuch
CbmMcbm2018MuchPar * fUnpackParMuch
/‍** Ignore Overlap Ms: all fuOverlapMsNb MS at the end of timeslice **‍/
Definition: CbmMcbm2018MonitorMuchLite.h:106
CbmMcbm2018MonitorMuchLite::Init
virtual Bool_t Init()
Definition: CbmMcbm2018MonitorMuchLite.cxx:158
CbmMcbm2018MonitorMuchLite::fhMsStatusFieldType
TH2 * fhMsStatusFieldType
Definition: CbmMcbm2018MonitorMuchLite.h:214
CbmMcbm2018MonitorMuchLite::fhMuchFebSpill
std::vector< TH1 * > fhMuchFebSpill
Definition: CbmMcbm2018MonitorMuchLite.h:230
CbmMcbm2018MonitorMuchLite::fbBinningFw
Bool_t fbBinningFw
=> Quick and dirty hack for binning FW!!!
Definition: CbmMcbm2018MonitorMuchLite.h:97
CbmMcbm2018MonitorMuchLite::kiMaxNbFlibLinks
static const Int_t kiMaxNbFlibLinks
Number of StsXyter ASICs.
Definition: CbmMcbm2018MonitorMuchLite.h:118
CbmMcbm2018MonitorMuchLite::fdStartTime
Double_t fdStartTime
Definition: CbmMcbm2018MonitorMuchLite.h:173
CbmMcbm2018MonitorMuchLite::prevtime_new
Long64_t prevtime_new
Last hit ADC in bins in each MS for each Channel.
Definition: CbmMcbm2018MonitorMuchLite.h:168
CbmMcbm2018MonitorMuchLite::fuCurrentEquipmentId
UInt_t fuCurrentEquipmentId
Definition: CbmMcbm2018MonitorMuchLite.h:134
CbmMcbm2018MonitorMuchLite::fuNbCoreMsPerTs
size_t fuNbCoreMsPerTs
Definition: CbmMcbm2018MonitorMuchLite.h:101
stsxyter::Message
Definition: StsXyterMessage.h:165
CbmMcbm2018MonitorMuchLite::fhMuchFebADC
std::vector< TH2 * > fhMuchFebADC
Definition: CbmMcbm2018MonitorMuchLite.h:231
CbmMcbmUnpack.h
CbmMcbm2018MonitorMuchLite::fhDpbMsErrors
TH2 * fhDpbMsErrors
Binning FW error flag.
Definition: CbmMcbm2018MonitorMuchLite.h:260
CbmMcbm2018MonitorMuchLite::fvMsComponentsList
std::vector< size_t > fvMsComponentsList
Definition: CbmMcbm2018MonitorMuchLite.h:100
CbmMcbm2018MonitorMuchLite::fvulChanLastHitTime
std::vector< std::vector< ULong64_t > > fvulChanLastHitTime
Definition: CbmMcbm2018MonitorMuchLite.h:153
CbmMcbm2018MonitorMuchLite::fdMuchFebChanLastTimeForDist
std::vector< std::vector< Double_t > > fdMuchFebChanLastTimeForDist
Definition: CbmMcbm2018MonitorMuchLite.h:253
CbmMcbm2018MonitorMuchLite::Reset
virtual void Reset()
Definition: CbmMcbm2018MonitorMuchLite.cxx:1544
CbmMcbm2018MonitorMuchLite::fhMuchFebChanHitRateProf
std::vector< TProfile * > fhMuchFebChanHitRateProf
Definition: CbmMcbm2018MonitorMuchLite.h:244
CbmMcbm2018MonitorMuchLite::fiBinSizeDatePlots
Int_t fiBinSizeDatePlots
Start of run time since "epoch" in s, for the plots with date as X axis.
Definition: CbmMcbm2018MonitorMuchLite.h:141
CbmMcbm2018MonitorMuchLite::fhMuchFebChanAdcRawProf
std::vector< TProfile * > fhMuchFebChanAdcRawProf
Definition: CbmMcbm2018MonitorMuchLite.h:234
CbmMcbm2018MonitorMuchLite::prevTime
Long64_t prevTime
Definition: CbmMcbm2018MonitorMuchLite.h:169
CbmMcbm2018MonitorMuchLite::fvulCurrentTsMsb
std::vector< ULong64_t > fvulCurrentTsMsb
Bin size in s for the plots with date as X axis.
Definition: CbmMcbm2018MonitorMuchLite.h:144
CbmMcbm2018MonitorMuchLite::fuCurrDpbIdx
UInt_t fuCurrDpbIdx
Temp holder until Current equipment ID is properly filled in MS.
Definition: CbmMcbm2018MonitorMuchLite.h:138
CbmMcbm2018MonitorMuchLite::GetMsOverlap
size_t GetMsOverlap()
Definition: CbmMcbm2018MonitorMuchLite.h:58
CbmMcbm2018MonitorMuchLite::fviFebTimeSecLastRateUpdate
std::vector< Int_t > fviFebTimeSecLastRateUpdate
Definition: CbmMcbm2018MonitorMuchLite.h:190
CbmMcbm2018MonitorMuchLite::fbMuchMode
Bool_t fbMuchMode
Definition: CbmMcbm2018MonitorMuchLite.h:94
CbmMcbm2018MonitorMuchLite::fvuInitialTsMsbCycleHeader
std::vector< UInt_t > fvuInitialTsMsbCycleHeader
Flag set after seeing MS header in 1st MS for DPB.
Definition: CbmMcbm2018MonitorMuchLite.h:149
CbmMcbm2018MonitorMuchLite::ReInitContainers
Bool_t ReInitContainers()
Definition: CbmMcbm2018MonitorMuchLite.cxx:183
CbmMcbm2018MonitorMuchLite::SaveAllHistos
void SaveAllHistos(TString sFileName="")
Definition: CbmMcbm2018MonitorMuchLite.cxx:1568
CbmMcbm2018MonitorMuchLite::fvuChanNbHitsInMs
std::vector< std::vector< std::vector< UInt_t > > > fvuChanNbHitsInMs
Header time of each MS.
Definition: CbmMcbm2018MonitorMuchLite.h:160
CbmMcbm2018MonitorMuchLite::fvdFebChanCountsSinceLastRateUpdate
std::vector< std::vector< Double_t > > fvdFebChanCountsSinceLastRateUpdate
Definition: CbmMcbm2018MonitorMuchLite.h:192
CbmMcbm2018MonitorMuchLite::fvuCurrentTsMsbCycle
std::vector< UInt_t > fvuCurrentTsMsbCycle
Current TS MSB for each DPB.
Definition: CbmMcbm2018MonitorMuchLite.h:145
CbmMcbm2018MonitorMuchLite::fuNbFebs
UInt_t fuNbFebs
Array to hold the active flag for all CROBs, [ NbDpb ][ NbCrobPerDpb ].
Definition: CbmMcbm2018MonitorMuchLite.h:112
CbmHistManager.h
Histogram manager.
CbmMcbm2018MonitorMuchLite::fiTimeIntervalRateUpdate
Int_t fiTimeIntervalRateUpdate
Mean Rate per channel plots.
Definition: CbmMcbm2018MonitorMuchLite.h:189
CbmMcbm2018MonitorMuchLite::AddMsComponentToList
virtual void AddMsComponentToList(size_t component, UShort_t usDetectorId)
Definition: CbmMcbm2018MonitorMuchLite.cxx:324
CbmMcbm2018MonitorMuchLite::fvusChanLastHitAdcInMs
std::vector< std::vector< std::vector< UShort_t > > > fvusChanLastHitAdcInMs
Last hit time in bins in each MS for each Channel.
Definition: CbmMcbm2018MonitorMuchLite.h:164
CbmMcbm2018MonitorMuchLite::UseDaqBuffer
void UseDaqBuffer(Bool_t)
Definition: CbmMcbm2018MonitorMuchLite.h:85
CbmMcbm2018MonitorMuchLite::fviFebCountsSinceLastRateUpdate
std::vector< Int_t > fviFebCountsSinceLastRateUpdate
Definition: CbmMcbm2018MonitorMuchLite.h:191
CbmMcbm2018MonitorMuchLite::fhMuchFebChanDistT
std::vector< TH2 * > fhMuchFebChanDistT
Definition: CbmMcbm2018MonitorMuchLite.h:254
CbmMcbm2018MonitorMuchLite::fuMaxNbMicroslices
UInt_t fuMaxNbMicroslices
Definition: CbmMcbm2018MonitorMuchLite.h:187
CbmMcbm2018MonitorMuchLite::fvbMaskedComponents
std::vector< Bool_t > fvbMaskedComponents
Definition: CbmMcbm2018MonitorMuchLite.h:95
CbmMcbm2018MonitorMuchLite::fvmAsicHitsInMs
std::vector< std::vector< stsxyter::FinalHit > > fvmAsicHitsInMs
All hits (time in bins, ADC in bins, asic, channel) in last TS, sorted with "<" operator.
Definition: CbmMcbm2018MonitorMuchLite.h:183
CbmMcbm2018MonitorMuchLite::fuNbStsXyters
UInt_t fuNbStsXyters
Number of StsXyter ASICs.
Definition: CbmMcbm2018MonitorMuchLite.h:113
CbmMcbm2018MonitorMuchLite::FillEpochInfo
void FillEpochInfo(stsxyter::Message mess)
Definition: CbmMcbm2018MonitorMuchLite.cxx:1539
CbmMcbm2018MonitorMuchLite::InitContainers
Bool_t InitContainers()
Definition: CbmMcbm2018MonitorMuchLite.cxx:174
CbmMcbm2018MonitorMuchLite::SaveHistos
void SaveHistos(TString sFileName="")
CbmMcbm2018MonitorMuchLite::operator=
CbmMcbm2018MonitorMuchLite operator=(const CbmMcbm2018MonitorMuchLite &)
CbmMcbm2018MonitorMuchLite::fhMuchFebChanAdcRaw_combined
TH1 * fhMuchFebChanAdcRaw_combined
Definition: CbmMcbm2018MonitorMuchLite.h:210
CbmHistManager
Histogram manager.
Definition: CbmHistManager.h:41
CbmMcbm2018MonitorMuchLite::Counter1
UInt_t Counter1
Definition: CbmMcbm2018MonitorMuchLite.h:199
CbmMcbm2018MonitorMuchLite::fbIgnoreOverlapMs
Bool_t fbIgnoreOverlapMs
Definition: CbmMcbm2018MonitorMuchLite.h:104
CbmMcbm2018MonitorMuchLite::fhFEBcount
TH1 * fhFEBcount
Definition: CbmMcbm2018MonitorMuchLite.h:219
CbmMcbm2018MonitorMuchLite::CbmMcbm2018MonitorMuchLite
CbmMcbm2018MonitorMuchLite()
Definition: CbmMcbm2018MonitorMuchLite.cxx:49
CbmMcbm2018MonitorMuchLite::fhMuchSysMessType
TH1 * fhMuchSysMessType
Definition: CbmMcbm2018MonitorMuchLite.h:209
CbmMcbm2018MonitorMuchLite::SetParContainers
void SetParContainers()
Definition: CbmMcbm2018MonitorMuchLite.cxx:167
CbmMcbm2018MonitorMuchLite::SetMuchMode
void SetMuchMode(Bool_t bMuchMode=kTRUE)
Definition: CbmMcbm2018MonitorMuchLite.h:82
CbmMcbm2018MonitorMuchLite::SetNbMsInTs
virtual void SetNbMsInTs(size_t uCoreMsNb, size_t uOverlapMsNb)
Definition: CbmMcbm2018MonitorMuchLite.cxx:382
CbmMcbm2018MonitorMuchLite::CreateHistograms
void CreateHistograms()
Definition: CbmMcbm2018MonitorMuchLite.cxx:427
CbmMcbm2018MonitorMuchLite::SaveMuchHistos
void SaveMuchHistos(TString sFileName="")
CbmMcbm2018MonitorMuchLite::fhMuchFebDuplicateHitProf
std::vector< TProfile * > fhMuchFebDuplicateHitProf
Definition: CbmMcbm2018MonitorMuchLite.h:257
CbmMcbm2018MonitorMuchLite::fvdPrevMsTime
std::vector< Double_t > fvdPrevMsTime
Last hit time in ns for each Channel.
Definition: CbmMcbm2018MonitorMuchLite.h:157
CbmMcbm2018MonitorMuchLite::fhMuchMessType
TH1 * fhMuchMessType
Histogram manager.
Definition: CbmMcbm2018MonitorMuchLite.h:208
CbmMcbm2018MonitorMuchLite::fulCurrentTsIdx
ULong64_t fulCurrentTsIdx
TS/MS info.
Definition: CbmMcbm2018MonitorMuchLite.h:129
stsxyter::MessagePrintMask
MessagePrintMask
Printout control.
Definition: StsXyterMessage.h:44
CbmMcbm2018MonitorMuchLite::SetMsOverlap
void SetMsOverlap(size_t uOverlapMsNb=1)
Definition: CbmMcbm2018MonitorMuchLite.h:57
CbmMcbm2018MonitorMuchLite::SetBinningFwFlag
void SetBinningFwFlag(Bool_t bEnable=kTRUE)
=> Quick and dirty hack for binning FW!!!
Definition: CbmMcbm2018MonitorMuchLite.h:89
CbmMcbm2018MonitorMuchLite::ResetMuchHistos
void ResetMuchHistos()
CbmMcbm2018MonitorMuchLite::fcMsSizeAll
TCanvas * fcMsSizeAll
Definition: CbmMcbm2018MonitorMuchLite.h:262
CbmMcbm2018MonitorMuchLite::kuBytesPerMessage
static const UInt_t kuBytesPerMessage
Definition: CbmMcbm2018MonitorMuchLite.h:119
CbmMcbm2018MonitorMuchLite::fsHistoFileFullname
TString fsHistoFileFullname
Definition: CbmMcbm2018MonitorMuchLite.h:123
CbmMcbm2018MonitorMuchLite::fvdMsTime
std::vector< Double_t > fvdMsTime
Header time of previous MS per link.
Definition: CbmMcbm2018MonitorMuchLite.h:158
StsXyterMessage.h
CbmMcbm2018MonitorMuchLite::fhMuchFebHitRateEvo_mskch_adccut
std::vector< TH1 * > fhMuchFebHitRateEvo_mskch_adccut
Definition: CbmMcbm2018MonitorMuchLite.h:248
CbmMcbm2018MonitorMuchLite::fhMuchFebHitRateEvo
std::vector< TH1 * > fhMuchFebHitRateEvo
Definition: CbmMcbm2018MonitorMuchLite.h:246
CbmMcbm2018MonitorMuchLite::fhMuchFebChanHitRateEvo
std::vector< TH2 * > fhMuchFebChanHitRateEvo
Definition: CbmMcbm2018MonitorMuchLite.h:243
CbmMcbm2018MonitorMuchLite::fDpbIdIndexMap
std::map< UInt_t, UInt_t > fDpbIdIndexMap
Total number of STS DPBs in system.
Definition: CbmMcbm2018MonitorMuchLite.h:109
CbmMcbm2018MuchPar
Definition: CbmMcbm2018MuchPar.h:19
CbmMcbm2018MonitorMuchLite::SetRunStart
void SetRunStart(Int_t dateIn, Int_t timeIn, Int_t iBinSize=5)
Definition: CbmMcbm2018MonitorMuchLite.cxx:1723
CbmMcbm2018MonitorMuchLite::Counter
UInt_t Counter
Rate evolution histos.
Definition: CbmMcbm2018MonitorMuchLite.h:198
CbmMcbm2018MonitorMuchLite::ftStartTimeUnix
std::chrono::steady_clock::time_point ftStartTimeUnix
Definition: CbmMcbm2018MonitorMuchLite.h:177
CbmMcbm2018MonitorMuchLite::fPrintMessCtrl
stsxyter::MessagePrintMask fPrintMessCtrl
Definition: CbmMcbm2018MonitorMuchLite.h:126
CbmMcbm2018MonitorMuchLite::fvdChanLastHitTime
std::vector< std::vector< Double_t > > fvdChanLastHitTime
Last hit time in bins for each Channel.
Definition: CbmMcbm2018MonitorMuchLite.h:156
CbmMcbm2018MonitorMuchLite::fhMuchFebChanCntRaw
std::vector< TH1 * > fhMuchFebChanCntRaw
Definition: CbmMcbm2018MonitorMuchLite.h:229
CbmMcbm2018MonitorMuchLite::ScanForNoisyChannels
Bool_t ScanForNoisyChannels(Double_t dNoiseThreshold=1e3)
---------------------------------------------------------------—///
Definition: CbmMcbm2018MonitorMuchLite.cxx:1736
CbmMcbm2018MonitorMuchLite::fhStatusMessType
TH2 * fhStatusMessType
Definition: CbmMcbm2018MonitorMuchLite.h:213
CbmMcbm2018MonitorMuchLite::fhMuchSysMessTypePerDpb
TH2 * fhMuchSysMessTypePerDpb
Definition: CbmMcbm2018MonitorMuchLite.h:212
CbmMcbm2018MonitorMuchLite::fulCurrentMsIdx
ULong64_t fulCurrentMsIdx
Definition: CbmMcbm2018MonitorMuchLite.h:130
CbmMcbm2018MonitorMuchLite::fuNbOverMsPerTs
size_t fuNbOverMsPerTs
Definition: CbmMcbm2018MonitorMuchLite.h:102
stsxyter::MessagePrintMask::msg_print_Human
@ msg_print_Human
CbmMcbm2018MonitorMuchLite::fhRateAdcCut
TH1 * fhRateAdcCut
Definition: CbmMcbm2018MonitorMuchLite.h:218
CbmMcbm2018MonitorMuchLite::fmMsgCounter
std::map< stsxyter::MessType, UInt_t > fmMsgCounter
Current data properties.
Definition: CbmMcbm2018MonitorMuchLite.h:132
CbmMcbm2018MonitorMuchLite::fvuInitialHeaderDone
std::vector< UInt_t > fvuInitialHeaderDone
Current TS MSB cycle for DPB.
Definition: CbmMcbm2018MonitorMuchLite.h:147
CbmMcbm2018MonitorMuchLite::fhMuchFebHitRateEvo_WithoutDupli
std::vector< TH1 * > fhMuchFebHitRateEvo_WithoutDupli
Definition: CbmMcbm2018MonitorMuchLite.h:249
CbmMcbm2018MonitorMuchLite::fhMuchChannelTime
std::vector< TH2 * > fhMuchChannelTime
Definition: CbmMcbm2018MonitorMuchLite.h:238
CbmMcbm2018MonitorMuchLite::DoUnpack
virtual Bool_t DoUnpack(const fles::Timeslice &ts, size_t component)
Definition: CbmMcbm2018MonitorMuchLite.cxx:942
StsXyterFinalHit.h
CbmMcbm2018MonitorMuchLite::fvmFebHitsInMs
std::vector< std::vector< stsxyter::FinalHit > > fvmFebHitsInMs
All hits (time in bins, ADC in bins, asic, channel) in last TS, per ASIC, sorted with "<" operator.
Definition: CbmMcbm2018MonitorMuchLite.h:185
CbmMcbm2018MonitorMuchLite::FillTsMsbInfo
void FillTsMsbInfo(stsxyter::Message mess, UInt_t uMessIdx=0, UInt_t uMsIdx=0)
Definition: CbmMcbm2018MonitorMuchLite.cxx:1518
CbmMcbm2018MonitorMuchLite::Finish
virtual void Finish()
Definition: CbmMcbm2018MonitorMuchLite.cxx:1546
CbmMcbm2018MonitorMuchLite::fhMsSz
TH1 * fhMsSz[kiMaxNbFlibLinks]
Definition: CbmMcbm2018MonitorMuchLite.h:263
CbmMcbm2018MonitorMuchLite::fhMuchFebChanRawTs
std::vector< TH2 * > fhMuchFebChanRawTs
Definition: CbmMcbm2018MonitorMuchLite.h:237
CbmMcbm2018MonitorMuchLite::FillHitInfo
void FillHitInfo(stsxyter::Message mess, const UShort_t &usElinkIdx, const UInt_t &uAsicIdx, const UInt_t &uMsIdx)
Definition: CbmMcbm2018MonitorMuchLite.cxx:1346
CbmMcbm2018MonitorMuchLite::fhMuchFebChanAdcRaw
std::vector< TH2 * > fhMuchFebChanAdcRaw
Definition: CbmMcbm2018MonitorMuchLite.h:233
CbmMcbm2018MonitorMuchLite::ProcessMuchMs
Bool_t ProcessMuchMs(const fles::Timeslice &ts, size_t uMsComp, UInt_t uMsIdx)
Definition: CbmMcbm2018MonitorMuchLite.cxx:1083
CbmMcbm2018MonitorMuchLite::CbmMcbm2018MonitorMuchLite
CbmMcbm2018MonitorMuchLite(const CbmMcbm2018MonitorMuchLite &)
CbmMcbm2018MonitorMuchLite::prevAsic
UInt_t prevAsic
Definition: CbmMcbm2018MonitorMuchLite.h:170
CbmMcbm2018MonitorMuchLite::SetPrintMessage
void SetPrintMessage(Bool_t bPrintMessOn=kTRUE, stsxyter::MessagePrintMask ctrl=stsxyter::MessagePrintMask::msg_print_Hex|stsxyter::MessagePrintMask::msg_print_Human)
Definition: CbmMcbm2018MonitorMuchLite.h:69
CbmMcbm2018MonitorMuchLite::fhMuchMessTypePerDpb
TH2 * fhMuchMessTypePerDpb
Definition: CbmMcbm2018MonitorMuchLite.h:211
CbmMcbm2018MonitorMuchLite::fuNrOfDpbs
UInt_t fuNrOfDpbs
Definition: CbmMcbm2018MonitorMuchLite.h:107
CbmMcbm2018MonitorMuchLite::fHistPadDistr
std::vector< TH2 * > fHistPadDistr
Plots per FEB-8.
Definition: CbmMcbm2018MonitorMuchLite.h:225
CbmMcbm2018MonitorMuchLite::InitMuchParameters
Bool_t InitMuchParameters()
Definition: CbmMcbm2018MonitorMuchLite.cxx:190
CbmMcbm2018MonitorMuchLite::fvuElinkLastTsHit
std::vector< UInt_t > fvuElinkLastTsHit
TS MSB cycle from MS header in 1st MS for DPB.
Definition: CbmMcbm2018MonitorMuchLite.h:150
CbmMcbmUnpack
Definition: CbmMcbmUnpack.h:15
CbmMcbm2018MonitorMuchLite
Definition: CbmMcbm2018MonitorMuchLite.h:36
CbmMcbm2018MonitorMuchLite::fuCurrDpbId
UInt_t fuCurrDpbId
Current equipment ID, tells from which DPB the current MS is originating.
Definition: CbmMcbm2018MonitorMuchLite.h:136
CbmMcbm2018MonitorMuchLite::fdStartTimeMsSz
Double_t fdStartTimeMsSz
Definition: CbmMcbm2018MonitorMuchLite.h:175
CbmMcbm2018MonitorMuchLite::fvbCrobActiveFlag
std::vector< std::vector< Bool_t > > fvbCrobActiveFlag
Map of DPB Identifier to DPB index.
Definition: CbmMcbm2018MonitorMuchLite.h:111
CbmMcbm2018MonitorMuchLite::prevChan
UInt_t prevChan
Definition: CbmMcbm2018MonitorMuchLite.h:171
CbmMcbm2018MonitorMuchLite::fvdChanLastHitTimeInMs
std::vector< std::vector< std::vector< Double_t > > > fvdChanLastHitTimeInMs
Number of hits in each MS for each Channel.
Definition: CbmMcbm2018MonitorMuchLite.h:162
CbmMcbm2018MonitorMuchLite::~CbmMcbm2018MonitorMuchLite
virtual ~CbmMcbm2018MonitorMuchLite()
Definition: CbmMcbm2018MonitorMuchLite.cxx:155
CbmMcbm2018MonitorMuchLite::SetHistoFileName
void SetHistoFileName(TString sFileName="data/SetupHistos.root")
Definition: CbmMcbm2018MonitorMuchLite.h:65