CbmRoot
CbmMcbm2018MonitorMuch.h
Go to the documentation of this file.
1 // -----------------------------------------------------------------------------
2 // ----- -----
3 // ----- CbmMcbm2018MonitorMuch -----
4 // ----- Created 11/05/18 by P.-A. Loizeau -----
5 // ----- Modified 07/12/18 by Ajit Kumar -----
6 // ----- -----
7 // -----------------------------------------------------------------------------
8 
9 #ifndef CBMMCBM2018MONITORMUCH_H
10 #define CBMMCBM2018MONITORMUCH_H
11 
12 #ifndef __CINT__
13 #include "Timeslice.hpp"
14 #endif
15 
16 // Data
17 #include "StsXyterFinalHit.h"
18 #include "StsXyterMessage.h"
19 
20 // CbmRoot
21 #include "CbmHistManager.h"
22 #include "CbmMcbmUnpack.h"
23 
24 // C++11
25 #include <chrono>
26 
27 // C/C++
28 #include <map>
29 #include <set>
30 #include <vector>
31 
32 class CbmMcbm2018MuchPar;
33 class CbmCern2017UnpackParSts;
34 
36 public:
38  virtual ~CbmMcbm2018MonitorMuch();
39 
40  virtual Bool_t Init();
41 #ifndef __CINT__
42  virtual Bool_t DoUnpack(const fles::Timeslice& ts, size_t component);
43 #endif
44  virtual void Reset();
45 
46  virtual void Finish();
47 
48  void SetParContainers();
49 
50  Bool_t InitContainers();
51 
52  Bool_t ReInitContainers();
53 
54  virtual void AddMsComponentToList(size_t component, UShort_t usDetectorId);
55  virtual void SetNbMsInTs(size_t uCoreMsNb, size_t uOverlapMsNb);
56  void SetMsOverlap(size_t uOverlapMsNb = 1) { fuNbOverMsPerTs = uOverlapMsNb; }
57  size_t GetMsOverlap() { return fuNbOverMsPerTs; }
58 
59  void SetRunStart(Int_t dateIn, Int_t timeIn, Int_t iBinSize = 5);
60 
61  void ResetAllHistos();
62  void SaveAllHistos(TString sFileName = "");
63  void SavePulserHistos(TString sFileName = "");
64  void SetHistoFileName(TString sFileName = "data/SetupHistos.root") {
65  fsHistoFileFullname = sFileName;
66  }
67 
68  void SetPrintMessage(Bool_t bPrintMessOn = kTRUE,
72  fbPrintMessages = bPrintMessOn;
73  fPrintMessCtrl = ctrl;
74  }
75  void SetLongDurationLimits(UInt_t uDurationSeconds = 3600,
76  UInt_t uBinSize = 1);
77  void SetEnableCoincidenceMaps(Bool_t bEnableCoincidenceMapsOn = kTRUE) {
78  fbEnableCoincidenceMaps = bEnableCoincidenceMapsOn;
79  }
80  void SetCoincidenceBorder(Double_t dCenterPos, Double_t dBorderVal);
81  void SetFebChanCoincidenceLimitNs(Double_t dLimitIn) {
82  fdFebChanCoincidenceLimit = dLimitIn;
83  }
84  void UseNoiseLimitsSmx2LogicError(Bool_t bUseNoise = kTRUE) {
85  fbSmx2ErrorUseNoiseLevels = bUseNoise;
86  }
87 
88  void SetMuchMode(Bool_t bMuchMode = kTRUE) { fbMuchMode = bMuchMode; }
89 
90  // void SetTimeBin( size_t uTimeBin );
92  Bool_t) {}; //Virtual function in Mother Class, Need to update accordingly. VS
93 private:
94  // Parameters
95  // Control flags
96  Bool_t fbMuchMode;
97  // FLES containers
98  std::vector<size_t> fvMsComponentsList;
99  size_t fuNbCoreMsPerTs;
101  Bool_t
103  // Unpacking and mapping
105  UInt_t fuNrOfDpbs;
106  std::map<UInt_t, UInt_t>
108  std::vector<std::vector<Bool_t>>
110  UInt_t fuNbFebs;
111  UInt_t fuNbStsXyters;
112  std::vector<std::vector<std::vector<Double_t>>>
114  std::vector<std::vector<std::vector<Double_t>>>
116 
117  // Constants
118  static const Int_t kiMaxNbFlibLinks = 32;
119  static const UInt_t kuBytesPerMessage = 4;
120 
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<Double_t>>
156  //std::vector< std::vector< Double_t > > fvdChanLastHitTime; //! Last hit time in ns for each Channel
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
169  Long64_t prevtime;
170  //Double_t fdStartTime; /** Time of first valid hit (TS_MSB available), used as reference for evolution plots**/
171  Double_t
173  std::chrono::steady_clock::time_point
176  std::vector<stsxyter::FinalHit>
179  std::vector<std::vector<stsxyter::FinalHit>>
181  std::vector<std::vector<stsxyter::FinalHit>>
183  UInt_t fuMaxNbMicroslices;
187  std::vector<Int_t> fviFebTimeSecLastRateUpdate;
189  std::vector<std::vector<Double_t>> fvdFebChanCountsSinceLastRateUpdate;
195  UInt_t Counter;
196  UInt_t Counter1;
198  Double_t fdCoincCenter; // ns
199  Double_t fdCoincBorder; // ns, +/-
200  Double_t fdCoincMin; // ns
201  Double_t fdCoincMax; // ns
202 
213 
214  TH1* fhRate;
216  // std::vector<TH1 *> fhStsFebChanRateEvo;
217 
219  // UInt_t kuNbAsicPerFeb = 8;
220 
221  std::vector<TH2*> fHistPadDistr;
222  std::vector<TH2*> fRealHistPadDistr;
223 
225  std::vector<TH1*> fhStsFebChanCntRaw;
226  std::vector<TH1*> fhStsFebChanCntRawGood;
227  std::vector<TH2*> fhStsFebChanAdcRaw;
228  std::vector<TProfile*> fhStsFebChanAdcRawProf;
229  std::vector<TH2*> fhStsFebChanAdcCal;
230  std::vector<TProfile*> fhStsFebChanAdcCalProf;
231  std::vector<TH2*> fhStsFebChanRawTs;
232  std::vector<TH2*> fhStsFebChanMissEvt;
233  std::vector<TH2*> fhStsFebChanMissEvtEvo;
234  std::vector<TH2*> fhStsFebAsicMissEvtEvo;
235  std::vector<TH1*> fhStsFebMissEvtEvo;
236  std::vector<TH2*> fhStsFebChanHitRateEvo;
237  std::vector<TProfile*> fhStsFebChanHitRateProf;
238  std::vector<TH2*> fhStsFebAsicHitRateEvo;
239  std::vector<TH1*> fhStsFebHitRateEvo;
240  std::vector<TH1*> fhStsFebHitRateEvo_mskch;
242  std::vector<TH2*> fhStsFebChanHitRateEvoLong;
243  std::vector<TH2*> fhStsFebAsicHitRateEvoLong;
244  std::vector<TH1*> fhStsFebHitRateEvoLong;
245  std::vector<std::vector<Double_t>> fdStsFebChanLastTimeForDist;
246  std::vector<TH2*> fhStsFebChanDistT;
247  std::vector<std::vector<TH1*>> fhStsFebChanDtCoinc;
248  std::vector<std::vector<TH2*>> fhStsFebChanCoinc;
249 
252  static const UInt_t kuSmxErrCoincWinNbHits = 11;
253  constexpr static const Double_t kdSmxErrCoincWinBeg =
254  0; //ns, true for time sorted hits!
256  constexpr static const Double_t kdSmxErrCoincWinMainM07 = 320; //ns
257  constexpr static const Double_t kdSmxErrCoincWinMainM08 = 380; //ns
258  constexpr static const Double_t kdSmxErrCoincWinMainM09 = 450; //ns
259  constexpr static const Double_t kdSmxErrCoincWinMainM10 = 510; //ns
260  constexpr static const Double_t kdSmxErrCoincWinMainM11 = 570; //ns
262  constexpr static const Double_t kdSmxErrCoincWinNoiseM07 = 390; //ns
263  constexpr static const Double_t kdSmxErrCoincWinNoiseM08 = 460; //ns
264  constexpr static const Double_t kdSmxErrCoincWinNoiseM09 = 540; //ns
265  constexpr static const Double_t kdSmxErrCoincWinNoiseM10 = 600; //ns
266  constexpr static const Double_t kdSmxErrCoincWinNoiseM11 = 660; //ns
273  std::vector<std::vector<std::vector<Double_t>>>
275  std::vector<std::vector<UInt_t>>
277  std::vector<std::vector<UInt_t>>
279  std::vector<std::vector<UInt_t>>
281  std::vector<std::vector<UInt_t>>
283  std::vector<std::vector<UInt_t>>
285  std::vector<std::vector<UInt_t>> fvuSmxErrIdxLastHit;
288  Bool_t
289  SmxErrCheckCoinc(UInt_t uFebIdx, UInt_t uAsicIdx, Double_t dNewHitTime);
291  std::vector<TProfile*> fhStsFebSmxErrRatioEvo;
292  std::vector<TProfile2D*> fhStsFebSmxErrRatioEvoAsic;
293  std::vector<TProfile*> fhStsFebSmxErrRatioCopyEvo;
294  std::vector<TProfile2D*> fhStsFebSmxErrRatioCopyEvoAsic;
295  std::vector<TProfile*> fhStsFebSmxErrRatioCopySameAdcEvo;
296  std::vector<TProfile2D*> fhStsFebSmxErrRatioCopySameAdcEvoAsic;
297 
298 
299  TCanvas* fcMsSizeAll;
302  /*
304  Double_t fdStartTs; //! Last hits in each ASIC
305  std::vector< stsxyter::FinalHit > fvmLastHitAsic; //! Last hits in each ASIC
306  std::vector<TH2 *> fhStsTimeDiffPerAsic;
307  std::vector< std::vector<TH1 *> > fhStsTimeDiffPerAsicPair;
308  std::vector< std::vector<TH1 *> > fhStsTimeDiffClkPerAsicPair;
309  std::vector< std::vector<TH2 *> > fhStsTimeDiffEvoPerAsicPair;
310  std::vector< std::vector<TProfile *> > fhStsTimeDiffEvoPerAsicPairProf;
311  std::vector< std::vector<TProfile *> > fhStsRawTimeDiffEvoPerAsicPairProf;
312  std::vector< std::vector<TH2 *> > fhStsTsLsbMatchPerAsicPair;
313  std::vector< std::vector<TH2 *> > fhStsTsMsbMatchPerAsicPair;
314  std::vector<TH1 *> fhStsIntervalAsic;
315  std::vector<TH1 *> fhStsIntervalLongAsic;
316 
317  static const UInt_t kuNbValuesForTimeDiffMean = 100;
318  constexpr static const double kdPulserPeriod = 154000; /// ns
319  constexpr static const double kdTimeDiffToMeanMargin = 50;
320  std::vector< std::vector< std::vector< Double_t > > > fvdLastTimeDiffValuesAsicPair;
321  std::vector< std::vector< UInt_t > > fvuLastTimeDiffSlotAsicPair;
322  std::vector< std::vector< Double_t > > fvdMeanTimeDiffAsicPair;
323 
324  void UpdatePairMeanValue( UInt_t uAsicA, UInt_t uAsicB, Double_t dNewValue );
325 */
326 
327  // Methods later going into Algo
328  Bool_t InitStsParameters();
329  void CreateHistograms();
330  Bool_t ProcessStsMs(const fles::Timeslice& ts, size_t uMsComp, UInt_t uMsIdx);
331 
332  void FillHitInfo(stsxyter::Message mess,
333  const UShort_t& usElinkIdx,
334  const UInt_t& uAsicIdx,
335  const UInt_t& uMsIdx);
336  void
337  FillTsMsbInfo(stsxyter::Message mess, UInt_t uMessIdx = 0, UInt_t uMsIdx = 0);
338  void FillEpochInfo(stsxyter::Message mess);
339 
341  void SaveStsHistos(TString sFileName = "");
342  Bool_t ScanForNoisyChannels(Double_t dNoiseThreshold = 1e3);
343 
346 
347  ClassDef(CbmMcbm2018MonitorMuch, 1)
348 };
349 
350 #endif // CBMMCBM2018MONITORMUCH_H
CbmMcbm2018MonitorMuch::DoUnpack
virtual Bool_t DoUnpack(const fles::Timeslice &ts, size_t component)
Definition: CbmMcbm2018MonitorMuch.cxx:1197
CbmMcbm2018MonitorMuch::fhStsFebChanRawTs
std::vector< TH2 * > fhStsFebChanRawTs
Definition: CbmMcbm2018MonitorMuch.h:231
CbmMcbm2018MonitorMuch::ResetStsHistos
void ResetStsHistos()
CbmMcbm2018MonitorMuch::fviFebCountsSinceLastRateUpdate
std::vector< Int_t > fviFebCountsSinceLastRateUpdate
Definition: CbmMcbm2018MonitorMuch.h:188
CbmMcbm2018MonitorMuch::fvmHitsInMs
std::vector< stsxyter::FinalHit > fvmHitsInMs
Hits time-sorting.
Definition: CbmMcbm2018MonitorMuch.h:178
CbmMcbm2018MonitorMuch::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: CbmMcbm2018MonitorMuch.h:180
CbmMcbm2018MonitorMuch::fuLongHistoBinSizeSec
UInt_t fuLongHistoBinSizeSec
Definition: CbmMcbm2018MonitorMuch.h:193
CbmMcbm2018MonitorMuch::FillEpochInfo
void FillEpochInfo(stsxyter::Message mess)
Definition: CbmMcbm2018MonitorMuch.cxx:1924
CbmMcbm2018MonitorMuch::kdSmxErrCoincWinNoiseM09
constexpr static const Double_t kdSmxErrCoincWinNoiseM09
Definition: CbmMcbm2018MonitorMuch.h:264
CbmMcbm2018MonitorMuch::fvdFebAdcGain
std::vector< std::vector< std::vector< Double_t > > > fvdFebAdcGain
Number of StsXyter ASICs.
Definition: CbmMcbm2018MonitorMuch.h:113
CbmMcbm2018MonitorMuch::fhStsFebAsicHitRateEvoLong
std::vector< TH2 * > fhStsFebAsicHitRateEvoLong
Definition: CbmMcbm2018MonitorMuch.h:243
CbmMcbm2018MonitorMuch::fhStsFebChanAdcRaw
std::vector< TH2 * > fhStsFebChanAdcRaw
Definition: CbmMcbm2018MonitorMuch.h:227
stsxyter::MessagePrintMask::msg_print_Hex
@ msg_print_Hex
CbmMcbm2018MonitorMuch::CreateHistograms
void CreateHistograms()
Definition: CbmMcbm2018MonitorMuch.cxx:449
CbmMcbm2018MonitorMuch::AddMsComponentToList
virtual void AddMsComponentToList(size_t component, UShort_t usDetectorId)
Definition: CbmMcbm2018MonitorMuch.cxx:338
CbmMcbm2018MonitorMuch::fhStsHitsElinkPerDpb
TH2 * fhStsHitsElinkPerDpb
Definition: CbmMcbm2018MonitorMuch.h:212
CbmMcbm2018MonitorMuch::InitStsParameters
Bool_t InitStsParameters()
Definition: CbmMcbm2018MonitorMuch.cxx:212
CbmMcbm2018MonitorMuch::fhStsFebSmxErrRatioEvo
std::vector< TProfile * > fhStsFebSmxErrRatioEvo
Histograms.
Definition: CbmMcbm2018MonitorMuch.h:291
CbmMcbm2018MonitorMuch::kiMaxNbFlibLinks
static const Int_t kiMaxNbFlibLinks
ADC offset in e-, [ NbDpb ][ NbCrobPerDpb ][ NbFebsPerCrob ].
Definition: CbmMcbm2018MonitorMuch.h:118
CbmMcbm2018MonitorMuch::fvusChanLastHitAdcInMs
std::vector< std::vector< std::vector< UShort_t > > > fvusChanLastHitAdcInMs
Last hit time in bins in each MS for each Channel.
Definition: CbmMcbm2018MonitorMuch.h:164
CbmMcbm2018MonitorMuch::fhStsFebChanAdcRawProf
std::vector< TProfile * > fhStsFebChanAdcRawProf
Definition: CbmMcbm2018MonitorMuch.h:228
CbmMcbm2018MonitorMuch::fhStsSysMessTypePerDpb
TH2 * fhStsSysMessTypePerDpb
Definition: CbmMcbm2018MonitorMuch.h:209
CbmMcbm2018MonitorMuch::fulCurrentTsIdx
ULong64_t fulCurrentTsIdx
TS/MS info.
Definition: CbmMcbm2018MonitorMuch.h:129
CbmMcbm2018MonitorMuch::Init
virtual Bool_t Init()
Definition: CbmMcbm2018MonitorMuch.cxx:180
CbmMcbm2018MonitorMuch::fuCurrDpbIdx
UInt_t fuCurrDpbIdx
Temp holder until Current equipment ID is properly filled in MS.
Definition: CbmMcbm2018MonitorMuch.h:138
CbmMcbm2018MonitorMuch::ResetAllHistos
void ResetAllHistos()
Definition: CbmMcbm2018MonitorMuch.cxx:2065
CbmMcbm2018MonitorMuch::fbMuchMode
Bool_t fbMuchMode
Definition: CbmMcbm2018MonitorMuch.h:92
CbmMcbm2018MonitorMuch::fcMsSizeAll
TCanvas * fcMsSizeAll
Definition: CbmMcbm2018MonitorMuch.h:299
CbmMcbm2018MonitorMuch::SetParContainers
void SetParContainers()
Definition: CbmMcbm2018MonitorMuch.cxx:189
CbmMcbm2018MonitorMuch::Reset
virtual void Reset()
Definition: CbmMcbm2018MonitorMuch.cxx:1929
CbmMcbm2018MonitorMuch::fbSmx2ErrorUseNoiseLevels
Bool_t fbSmx2ErrorUseNoiseLevels
SXM 2.0 logic error detection and tagging, 1 eLink case.
Definition: CbmMcbm2018MonitorMuch.h:251
CbmMcbm2018MonitorMuch::kdSmxErrCoincWinNoiseM07
constexpr static const Double_t kdSmxErrCoincWinNoiseM07
Coincidence windows 99.9% tagging (up to 0.1% of corruption not detected)
Definition: CbmMcbm2018MonitorMuch.h:262
CbmMcbm2018MonitorMuch::Counter
UInt_t Counter
Definition: CbmMcbm2018MonitorMuch.h:195
CbmMcbm2018MonitorMuch::fbLongHistoEnable
Bool_t fbLongHistoEnable
Rate evolution histos.
Definition: CbmMcbm2018MonitorMuch.h:191
stsxyter::Message
Definition: StsXyterMessage.h:165
CbmMcbm2018MonitorMuch::fhPulserStatusMessType
TH2 * fhPulserStatusMessType
Definition: CbmMcbm2018MonitorMuch.h:210
CbmMcbm2018MonitorMuch::kuBytesPerMessage
static const UInt_t kuBytesPerMessage
Definition: CbmMcbm2018MonitorMuch.h:119
CbmMcbm2018MonitorMuch::fhStsFebAsicMissEvtEvo
std::vector< TH2 * > fhStsFebAsicMissEvtEvo
Definition: CbmMcbm2018MonitorMuch.h:234
CbmMcbmUnpack.h
CbmMcbm2018MonitorMuch::fdSmxErrCoincWinM08
Double_t fdSmxErrCoincWinM08
Definition: CbmMcbm2018MonitorMuch.h:269
CbmMcbm2018MonitorMuch::fdSmxErrCoincWinM11
Double_t fdSmxErrCoincWinM11
Definition: CbmMcbm2018MonitorMuch.h:272
CbmMcbm2018MonitorMuch::CbmMcbm2018MonitorMuch
CbmMcbm2018MonitorMuch(const CbmMcbm2018MonitorMuch &)
CbmMcbm2018MonitorMuch::kdSmxErrCoincWinMainM09
constexpr static const Double_t kdSmxErrCoincWinMainM09
Definition: CbmMcbm2018MonitorMuch.h:258
CbmMcbm2018MonitorMuch::fvdChanLastHitTime
std::vector< std::vector< Double_t > > fvdChanLastHitTime
Last hit time in bins for each Channel.
Definition: CbmMcbm2018MonitorMuch.h:155
CbmMcbm2018MonitorMuch::fdCoincBorder
Double_t fdCoincBorder
Definition: CbmMcbm2018MonitorMuch.h:199
CbmMcbm2018MonitorMuch::fhStsFebChanMissEvtEvo
std::vector< TH2 * > fhStsFebChanMissEvtEvo
Definition: CbmMcbm2018MonitorMuch.h:233
CbmMcbm2018MonitorMuch::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: CbmMcbm2018MonitorMuch.h:182
CbmMcbm2018MonitorMuch::fhStsMessTypePerDpb
TH2 * fhStsMessTypePerDpb
Definition: CbmMcbm2018MonitorMuch.h:208
CbmMcbm2018MonitorMuch::fvuSmxErrIdxFirstHitM07
std::vector< std::vector< UInt_t > > fvuSmxErrIdxFirstHitM07
[ NbFebs ][ NbSmxPerFeb ][ kuSmxErrCoincWinNbHits ]
Definition: CbmMcbm2018MonitorMuch.h:276
CbmMcbm2018MonitorMuch::fdStartTimeMsSz
Double_t fdStartTimeMsSz
Definition: CbmMcbm2018MonitorMuch.h:172
CbmMcbm2018MonitorMuch::fhStsFebHitRateEvo_mskch_adccut
std::vector< TH1 * > fhStsFebHitRateEvo_mskch_adccut
Definition: CbmMcbm2018MonitorMuch.h:241
CbmMcbm2018MonitorMuch::SetLongDurationLimits
void SetLongDurationLimits(UInt_t uDurationSeconds=3600, UInt_t uBinSize=1)
Definition: CbmMcbm2018MonitorMuch.cxx:2146
CbmMcbm2018MonitorMuch::fdSmxErrCoincWinM07
Double_t fdSmxErrCoincWinM07
Tagging variables.
Definition: CbmMcbm2018MonitorMuch.h:268
CbmMcbm2018MonitorMuch::fRealHistPadDistr
std::vector< TH2 * > fRealHistPadDistr
Definition: CbmMcbm2018MonitorMuch.h:222
CbmMcbm2018MonitorMuch::fdStsFebChanLastTimeForDist
std::vector< std::vector< Double_t > > fdStsFebChanLastTimeForDist
Definition: CbmMcbm2018MonitorMuch.h:245
CbmMcbm2018MonitorMuch::fiRunStartDateTimeSec
Int_t fiRunStartDateTimeSec
Index of the DPB from which the MS currently unpacked is coming.
Definition: CbmMcbm2018MonitorMuch.h:140
CbmMcbm2018MonitorMuch::InitContainers
Bool_t InitContainers()
Definition: CbmMcbm2018MonitorMuch.cxx:197
CbmMcbm2018MonitorMuch::fiBinSizeDatePlots
Int_t fiBinSizeDatePlots
Start of run time since "epoch" in s, for the plots with date as X axis.
Definition: CbmMcbm2018MonitorMuch.h:141
CbmMcbm2018MonitorMuch::fsHistoFileFullname
TString fsHistoFileFullname
Definition: CbmMcbm2018MonitorMuch.h:123
CbmMcbm2018MonitorMuch::fvuInitialHeaderDone
std::vector< UInt_t > fvuInitialHeaderDone
Current TS MSB cycle for DPB.
Definition: CbmMcbm2018MonitorMuch.h:147
CbmMcbm2018MonitorMuch::fhRateAdcCut
TH1 * fhRateAdcCut
Definition: CbmMcbm2018MonitorMuch.h:215
CbmMcbm2018MonitorMuch::fbIgnoreOverlapMs
Bool_t fbIgnoreOverlapMs
Definition: CbmMcbm2018MonitorMuch.h:102
CbmMcbm2018MonitorMuch::fhStsFebSmxErrRatioCopyEvoAsic
std::vector< TProfile2D * > fhStsFebSmxErrRatioCopyEvoAsic
Definition: CbmMcbm2018MonitorMuch.h:294
CbmMcbm2018MonitorMuch::UseNoiseLimitsSmx2LogicError
void UseNoiseLimitsSmx2LogicError(Bool_t bUseNoise=kTRUE)
Definition: CbmMcbm2018MonitorMuch.h:84
CbmMcbm2018MonitorMuch::fbPrintMessages
Bool_t fbPrintMessages
Task configuration values.
Definition: CbmMcbm2018MonitorMuch.h:125
CbmMcbm2018MonitorMuch::fhStsFebSmxErrRatioCopySameAdcEvoAsic
std::vector< TProfile2D * > fhStsFebSmxErrRatioCopySameAdcEvoAsic
Definition: CbmMcbm2018MonitorMuch.h:296
CbmMcbm2018MonitorMuch::fhStsFebChanCntRaw
std::vector< TH1 * > fhStsFebChanCntRaw
Definition: CbmMcbm2018MonitorMuch.h:225
CbmMcbm2018MonitorMuch::fHM
CbmHistManager * fHM
Histograms.
Definition: CbmMcbm2018MonitorMuch.h:204
CbmHistManager.h
Histogram manager.
CbmMcbm2018MonitorMuch::CbmMcbm2018MonitorMuch
CbmMcbm2018MonitorMuch()
Definition: CbmMcbm2018MonitorMuch.cxx:46
CbmMcbm2018MonitorMuch::fuLongHistoNbSeconds
UInt_t fuLongHistoNbSeconds
Definition: CbmMcbm2018MonitorMuch.h:192
CbmMcbm2018MonitorMuch::fuNbFebs
UInt_t fuNbFebs
Array to hold the active flag for all CROBs, [ NbDpb ][ NbCrobPerDpb ].
Definition: CbmMcbm2018MonitorMuch.h:110
CbmMcbm2018MonitorMuch::fvdPrevMsTime
std::vector< Double_t > fvdPrevMsTime
Last hit time in ns for each Channel.
Definition: CbmMcbm2018MonitorMuch.h:157
CbmMcbm2018MonitorMuch::fhMsSz
TH1 * fhMsSz[kiMaxNbFlibLinks]
Definition: CbmMcbm2018MonitorMuch.h:300
CbmMcbm2018MonitorMuch::kuSmxErrCoincWinNbHits
static const UInt_t kuSmxErrCoincWinNbHits
Definition: CbmMcbm2018MonitorMuch.h:252
CbmMcbm2018MonitorMuch::fhStsFebChanCntRawGood
std::vector< TH1 * > fhStsFebChanCntRawGood
Definition: CbmMcbm2018MonitorMuch.h:226
CbmMcbm2018MonitorMuch::kdSmxErrCoincWinMainM10
constexpr static const Double_t kdSmxErrCoincWinMainM10
Definition: CbmMcbm2018MonitorMuch.h:259
CbmMcbm2018MonitorMuch::UseDaqBuffer
void UseDaqBuffer(Bool_t)
Definition: CbmMcbm2018MonitorMuch.h:91
CbmMcbm2018MonitorMuch::fvdSmxErrTimeLastHits
std::vector< std::vector< std::vector< Double_t > > > fvdSmxErrTimeLastHits
Definition: CbmMcbm2018MonitorMuch.h:274
CbmMcbm2018MonitorMuch::SaveAllHistos
void SaveAllHistos(TString sFileName="")
Definition: CbmMcbm2018MonitorMuch.cxx:1953
CbmMcbm2018MonitorMuch::kdSmxErrCoincWinBeg
constexpr static const Double_t kdSmxErrCoincWinBeg
Definition: CbmMcbm2018MonitorMuch.h:253
CbmMcbm2018MonitorMuch::fhStsFebSmxErrRatioEvoAsic
std::vector< TProfile2D * > fhStsFebSmxErrRatioEvoAsic
Definition: CbmMcbm2018MonitorMuch.h:292
CbmMcbm2018MonitorMuch::fuLongHistoBinNb
UInt_t fuLongHistoBinNb
Definition: CbmMcbm2018MonitorMuch.h:194
CbmMcbm2018MonitorMuch::fvbCrobActiveFlag
std::vector< std::vector< Bool_t > > fvbCrobActiveFlag
Map of DPB Identifier to DPB index.
Definition: CbmMcbm2018MonitorMuch.h:109
CbmMcbm2018MonitorMuch::fiTimeIntervalRateUpdate
Int_t fiTimeIntervalRateUpdate
Mean Rate per channel plots.
Definition: CbmMcbm2018MonitorMuch.h:186
CbmMcbm2018MonitorMuch::SmxErrCheckCoinc
Bool_t SmxErrCheckCoinc(UInt_t uFebIdx, UInt_t uAsicIdx, Double_t dNewHitTime)
Definition: CbmMcbm2018MonitorMuch.cxx:2195
CbmMcbm2018MonitorMuch::fdStartTime
Long64_t fdStartTime
Last hit ADC in bins in each MS for each Channel.
Definition: CbmMcbm2018MonitorMuch.h:168
CbmMcbm2018MonitorMuch::fhStsFebChanCoinc
std::vector< std::vector< TH2 * > > fhStsFebChanCoinc
Definition: CbmMcbm2018MonitorMuch.h:248
CbmMcbm2018MonitorMuch::SetMsOverlap
void SetMsOverlap(size_t uOverlapMsNb=1)
Definition: CbmMcbm2018MonitorMuch.h:56
CbmMcbm2018MonitorMuch::kdSmxErrCoincWinNoiseM11
constexpr static const Double_t kdSmxErrCoincWinNoiseM11
Definition: CbmMcbm2018MonitorMuch.h:266
CbmHistManager
Histogram manager.
Definition: CbmHistManager.h:41
CbmMcbm2018MonitorMuch::fvuSmxErrIdxLastHit
std::vector< std::vector< UInt_t > > fvuSmxErrIdxLastHit
[ NbFebs ][ NbSmxPerFeb ]
Definition: CbmMcbm2018MonitorMuch.h:285
CbmMcbm2018MonitorMuch::fhStsFebChanMissEvt
std::vector< TH2 * > fhStsFebChanMissEvt
Definition: CbmMcbm2018MonitorMuch.h:232
CbmMcbm2018MonitorMuch::fhStsFebChanAdcCal
std::vector< TH2 * > fhStsFebChanAdcCal
Definition: CbmMcbm2018MonitorMuch.h:229
CbmMcbm2018MonitorMuch::fhStsFebMissEvtEvo
std::vector< TH1 * > fhStsFebMissEvtEvo
Definition: CbmMcbm2018MonitorMuch.h:235
CbmMcbm2018MonitorMuch::FillTsMsbInfo
void FillTsMsbInfo(stsxyter::Message mess, UInt_t uMessIdx=0, UInt_t uMsIdx=0)
Definition: CbmMcbm2018MonitorMuch.cxx:1858
CbmMcbm2018MonitorMuch::fbEnableCoincidenceMaps
Bool_t fbEnableCoincidenceMaps
Definition: CbmMcbm2018MonitorMuch.h:127
CbmMcbm2018MonitorMuch::fdCoincMax
Double_t fdCoincMax
Definition: CbmMcbm2018MonitorMuch.h:201
CbmMcbm2018MonitorMuch::fhStsSysMessType
TH1 * fhStsSysMessType
Definition: CbmMcbm2018MonitorMuch.h:206
CbmMcbm2018MonitorMuch::fviFebTimeSecLastRateUpdate
std::vector< Int_t > fviFebTimeSecLastRateUpdate
Definition: CbmMcbm2018MonitorMuch.h:187
CbmMcbm2018MonitorMuch::fmMsgCounter
std::map< stsxyter::MessType, UInt_t > fmMsgCounter
Current data properties.
Definition: CbmMcbm2018MonitorMuch.h:132
CbmMcbm2018MonitorMuch::fvulCurrentTsMsb
std::vector< ULong64_t > fvulCurrentTsMsb
Bin size in s for the plots with date as X axis.
Definition: CbmMcbm2018MonitorMuch.h:144
CbmMcbm2018MonitorMuch::fhStsFebChanHitRateEvo
std::vector< TH2 * > fhStsFebChanHitRateEvo
Definition: CbmMcbm2018MonitorMuch.h:236
stsxyter::MessagePrintMask
MessagePrintMask
Printout control.
Definition: StsXyterMessage.h:44
CbmMcbm2018MonitorMuch::fdSmxErrCoincWinM10
Double_t fdSmxErrCoincWinM10
Definition: CbmMcbm2018MonitorMuch.h:271
CbmMcbm2018MonitorMuch::operator=
CbmMcbm2018MonitorMuch operator=(const CbmMcbm2018MonitorMuch &)
CbmMcbm2018MonitorMuch::FillHitInfo
void FillHitInfo(stsxyter::Message mess, const UShort_t &usElinkIdx, const UInt_t &uAsicIdx, const UInt_t &uMsIdx)
Definition: CbmMcbm2018MonitorMuch.cxx:1702
CbmMcbm2018MonitorMuch::fvuSmxErrIdxFirstHitM08
std::vector< std::vector< UInt_t > > fvuSmxErrIdxFirstHitM08
[ NbFebs ][ NbSmxPerFeb ]
Definition: CbmMcbm2018MonitorMuch.h:278
CbmMcbm2018MonitorMuch::SavePulserHistos
void SavePulserHistos(TString sFileName="")
CbmMcbm2018MonitorMuch::fUnpackParMuch
CbmMcbm2018MuchPar * fUnpackParMuch
/‍** Ignore Overlap Ms: all fuOverlapMsNb MS at the end of timeslice **‍/
Definition: CbmMcbm2018MonitorMuch.h:104
StsXyterMessage.h
CbmMcbm2018MonitorMuch
Definition: CbmMcbm2018MonitorMuch.h:35
CbmMcbm2018MonitorMuch::fPrintMessCtrl
stsxyter::MessagePrintMask fPrintMessCtrl
Definition: CbmMcbm2018MonitorMuch.h:126
CbmMcbm2018MonitorMuch::Finish
virtual void Finish()
Definition: CbmMcbm2018MonitorMuch.cxx:1931
CbmMcbm2018MonitorMuch::fuNbOverMsPerTs
size_t fuNbOverMsPerTs
Definition: CbmMcbm2018MonitorMuch.h:100
CbmMcbm2018MonitorMuch::SetEnableCoincidenceMaps
void SetEnableCoincidenceMaps(Bool_t bEnableCoincidenceMapsOn=kTRUE)
Definition: CbmMcbm2018MonitorMuch.h:77
CbmMcbm2018MonitorMuch::SetHistoFileName
void SetHistoFileName(TString sFileName="data/SetupHistos.root")
Definition: CbmMcbm2018MonitorMuch.h:64
CbmMcbm2018MonitorMuch::fhStsFebChanHitRateProf
std::vector< TProfile * > fhStsFebChanHitRateProf
Definition: CbmMcbm2018MonitorMuch.h:237
CbmMcbm2018MonitorMuch::fvuSmxErrIdxFirstHitM09
std::vector< std::vector< UInt_t > > fvuSmxErrIdxFirstHitM09
[ NbFebs ][ NbSmxPerFeb ]
Definition: CbmMcbm2018MonitorMuch.h:280
CbmMcbm2018MonitorMuch::SaveStsHistos
void SaveStsHistos(TString sFileName="")
CbmMcbm2018MonitorMuch::ProcessStsMs
Bool_t ProcessStsMs(const fles::Timeslice &ts, size_t uMsComp, UInt_t uMsIdx)
Definition: CbmMcbm2018MonitorMuch.cxx:1488
CbmMcbm2018MonitorMuch::fhStsFebSmxErrRatioCopyEvo
std::vector< TProfile * > fhStsFebSmxErrRatioCopyEvo
Definition: CbmMcbm2018MonitorMuch.h:293
CbmMcbm2018MonitorMuch::SetMuchMode
void SetMuchMode(Bool_t bMuchMode=kTRUE)
Definition: CbmMcbm2018MonitorMuch.h:88
CbmMcbm2018MonitorMuch::ReInitContainers
Bool_t ReInitContainers()
Definition: CbmMcbm2018MonitorMuch.cxx:206
CbmMcbm2018MuchPar
Definition: CbmMcbm2018MuchPar.h:19
CbmMcbm2018MonitorMuch::~CbmMcbm2018MonitorMuch
virtual ~CbmMcbm2018MonitorMuch()
Definition: CbmMcbm2018MonitorMuch.cxx:178
CbmMcbm2018MonitorMuch::SetRunStart
void SetRunStart(Int_t dateIn, Int_t timeIn, Int_t iBinSize=5)
Definition: CbmMcbm2018MonitorMuch.cxx:2135
CbmMcbm2018MonitorMuch::fvdMsTime
std::vector< Double_t > fvdMsTime
Header time of previous MS per link.
Definition: CbmMcbm2018MonitorMuch.h:158
CbmMcbm2018MonitorMuch::fhStsFebAsicHitRateEvo
std::vector< TH2 * > fhStsFebAsicHitRateEvo
Definition: CbmMcbm2018MonitorMuch.h:238
CbmMcbm2018MonitorMuch::fvuSmxErrIdxFirstHitM11
std::vector< std::vector< UInt_t > > fvuSmxErrIdxFirstHitM11
[ NbFebs ][ NbSmxPerFeb ]
Definition: CbmMcbm2018MonitorMuch.h:284
CbmMcbm2018MonitorMuch::fvdFebChanCountsSinceLastRateUpdate
std::vector< std::vector< Double_t > > fvdFebChanCountsSinceLastRateUpdate
Definition: CbmMcbm2018MonitorMuch.h:189
CbmMcbm2018MonitorMuch::fhStsFebChanHitRateEvoLong
std::vector< TH2 * > fhStsFebChanHitRateEvoLong
Definition: CbmMcbm2018MonitorMuch.h:242
CbmMcbm2018MonitorMuch::fuNbCoreMsPerTs
size_t fuNbCoreMsPerTs
Definition: CbmMcbm2018MonitorMuch.h:99
CbmMcbm2018MonitorMuch::fhStsFebChanAdcRaw_combined
TH1 * fhStsFebChanAdcRaw_combined
Definition: CbmMcbm2018MonitorMuch.h:207
CbmMcbm2018MonitorMuch::fuCurrDpbId
UInt_t fuCurrDpbId
Current equipment ID, tells from which DPB the current MS is originating.
Definition: CbmMcbm2018MonitorMuch.h:136
CbmMcbm2018MonitorMuch::fdFebChanCoincidenceLimit
Double_t fdFebChanCoincidenceLimit
Definition: CbmMcbm2018MonitorMuch.h:224
CbmMcbm2018MonitorMuch::prevtime
Long64_t prevtime
Definition: CbmMcbm2018MonitorMuch.h:169
CbmMcbm2018MonitorMuch::fvdFebAdcOffs
std::vector< std::vector< std::vector< Double_t > > > fvdFebAdcOffs
ADC gain in e-/b, [ NbDpb ][ NbCrobPerDpb ][ NbFebsPerCrob ].
Definition: CbmMcbm2018MonitorMuch.h:115
stsxyter::MessagePrintMask::msg_print_Human
@ msg_print_Human
CbmMcbm2018MonitorMuch::fuNrOfDpbs
UInt_t fuNrOfDpbs
Definition: CbmMcbm2018MonitorMuch.h:105
CbmMcbm2018MonitorMuch::fvMsComponentsList
std::vector< size_t > fvMsComponentsList
Definition: CbmMcbm2018MonitorMuch.h:98
CbmMcbm2018MonitorMuch::ftStartTimeUnix
std::chrono::steady_clock::time_point ftStartTimeUnix
Definition: CbmMcbm2018MonitorMuch.h:174
CbmMcbm2018MonitorMuch::fhPulserMsStatusFieldType
TH2 * fhPulserMsStatusFieldType
Definition: CbmMcbm2018MonitorMuch.h:211
CbmMcbm2018MonitorMuch::fhStsMessType
TH1 * fhStsMessType
Histogram manager.
Definition: CbmMcbm2018MonitorMuch.h:205
CbmMcbm2018MonitorMuch::SetNbMsInTs
virtual void SetNbMsInTs(size_t uCoreMsNb, size_t uOverlapMsNb)
Definition: CbmMcbm2018MonitorMuch.cxx:396
CbmMcbm2018MonitorMuch::fdCoincMin
Double_t fdCoincMin
Definition: CbmMcbm2018MonitorMuch.h:200
CbmMcbm2018MonitorMuch::fhStsFebChanAdcCalProf
std::vector< TProfile * > fhStsFebChanAdcCalProf
Definition: CbmMcbm2018MonitorMuch.h:230
StsXyterFinalHit.h
CbmMcbm2018MonitorMuch::fuCurrentEquipmentId
UInt_t fuCurrentEquipmentId
Definition: CbmMcbm2018MonitorMuch.h:134
CbmMcbm2018MonitorMuch::fhStsFebHitRateEvo
std::vector< TH1 * > fhStsFebHitRateEvo
Definition: CbmMcbm2018MonitorMuch.h:239
CbmMcbm2018MonitorMuch::fuNbStsXyters
UInt_t fuNbStsXyters
Number of StsXyter ASICs.
Definition: CbmMcbm2018MonitorMuch.h:111
CbmMcbm2018MonitorMuch::fvuElinkLastTsHit
std::vector< UInt_t > fvuElinkLastTsHit
TS MSB cycle from MS header in 1st MS for DPB.
Definition: CbmMcbm2018MonitorMuch.h:150
CbmMcbm2018MonitorMuch::SetPrintMessage
void SetPrintMessage(Bool_t bPrintMessOn=kTRUE, stsxyter::MessagePrintMask ctrl=stsxyter::MessagePrintMask::msg_print_Hex|stsxyter::MessagePrintMask::msg_print_Human)
Definition: CbmMcbm2018MonitorMuch.h:68
CbmMcbm2018MonitorMuch::fhRate
TH1 * fhRate
Definition: CbmMcbm2018MonitorMuch.h:214
CbmMcbm2018MonitorMuch::kdSmxErrCoincWinMainM11
constexpr static const Double_t kdSmxErrCoincWinMainM11
Definition: CbmMcbm2018MonitorMuch.h:260
CbmMcbm2018MonitorMuch::fhStsFebHitRateEvo_mskch
std::vector< TH1 * > fhStsFebHitRateEvo_mskch
Definition: CbmMcbm2018MonitorMuch.h:240
CbmMcbm2018MonitorMuch::fvuInitialTsMsbCycleHeader
std::vector< UInt_t > fvuInitialTsMsbCycleHeader
Flag set after seeing MS header in 1st MS for DPB.
Definition: CbmMcbm2018MonitorMuch.h:149
CbmMcbm2018MonitorMuch::fhStsFebHitRateEvoLong
std::vector< TH1 * > fhStsFebHitRateEvoLong
Definition: CbmMcbm2018MonitorMuch.h:244
CbmMcbm2018MonitorMuch::fhStsFebChanDistT
std::vector< TH2 * > fhStsFebChanDistT
Definition: CbmMcbm2018MonitorMuch.h:246
CbmMcbm2018MonitorMuch::Counter1
UInt_t Counter1
Definition: CbmMcbm2018MonitorMuch.h:196
CbmMcbm2018MonitorMuch::kdSmxErrCoincWinNoiseM08
constexpr static const Double_t kdSmxErrCoincWinNoiseM08
Definition: CbmMcbm2018MonitorMuch.h:263
CbmMcbm2018MonitorMuch::fhMsSzTime
TProfile * fhMsSzTime[kiMaxNbFlibLinks]
Definition: CbmMcbm2018MonitorMuch.h:301
CbmMcbm2018MonitorMuch::fvdChanLastHitTimeInMs
std::vector< std::vector< std::vector< Double_t > > > fvdChanLastHitTimeInMs
Number of hits in each MS for each Channel.
Definition: CbmMcbm2018MonitorMuch.h:162
CbmMcbm2018MonitorMuch::ScanForNoisyChannels
Bool_t ScanForNoisyChannels(Double_t dNoiseThreshold=1e3)
---------------------------------------------------------------—///
Definition: CbmMcbm2018MonitorMuch.cxx:2294
CbmMcbm2018MonitorMuch::fhStsFebChanDtCoinc
std::vector< std::vector< TH1 * > > fhStsFebChanDtCoinc
Definition: CbmMcbm2018MonitorMuch.h:247
CbmMcbm2018MonitorMuch::fvuChanNbHitsInMs
std::vector< std::vector< std::vector< UInt_t > > > fvuChanNbHitsInMs
Header time of each MS.
Definition: CbmMcbm2018MonitorMuch.h:160
CbmMcbm2018MonitorMuch::fDpbIdIndexMap
std::map< UInt_t, UInt_t > fDpbIdIndexMap
Total number of STS DPBs in system.
Definition: CbmMcbm2018MonitorMuch.h:107
CbmMcbm2018MonitorMuch::fvulChanLastHitTime
std::vector< std::vector< ULong64_t > > fvulChanLastHitTime
Definition: CbmMcbm2018MonitorMuch.h:153
CbmMcbm2018MonitorMuch::kdSmxErrCoincWinNoiseM10
constexpr static const Double_t kdSmxErrCoincWinNoiseM10
Definition: CbmMcbm2018MonitorMuch.h:265
CbmMcbm2018MonitorMuch::SetFebChanCoincidenceLimitNs
void SetFebChanCoincidenceLimitNs(Double_t dLimitIn)
Definition: CbmMcbm2018MonitorMuch.h:81
CbmMcbmUnpack
Definition: CbmMcbmUnpack.h:15
CbmMcbm2018MonitorMuch::SmxErrInitializeVariables
void SmxErrInitializeVariables()
Methods.
Definition: CbmMcbm2018MonitorMuch.cxx:2155
CbmMcbm2018MonitorMuch::fulCurrentMsIdx
ULong64_t fulCurrentMsIdx
Definition: CbmMcbm2018MonitorMuch.h:130
CbmMcbm2018MonitorMuch::fhStsFebSmxErrRatioCopySameAdcEvo
std::vector< TProfile * > fhStsFebSmxErrRatioCopySameAdcEvo
Definition: CbmMcbm2018MonitorMuch.h:295
CbmMcbm2018MonitorMuch::GetMsOverlap
size_t GetMsOverlap()
Definition: CbmMcbm2018MonitorMuch.h:57
CbmMcbm2018MonitorMuch::fvuSmxErrIdxFirstHitM10
std::vector< std::vector< UInt_t > > fvuSmxErrIdxFirstHitM10
[ NbFebs ][ NbSmxPerFeb ]
Definition: CbmMcbm2018MonitorMuch.h:282
CbmMcbm2018MonitorMuch::SetCoincidenceBorder
void SetCoincidenceBorder(Double_t dCenterPos, Double_t dBorderVal)
Definition: CbmMcbm2018MonitorMuch.cxx:441
CbmMcbm2018MonitorMuch::fuMaxNbMicroslices
UInt_t fuMaxNbMicroslices
Definition: CbmMcbm2018MonitorMuch.h:184
CbmMcbm2018MonitorMuch::fdSmxErrCoincWinM09
Double_t fdSmxErrCoincWinM09
Definition: CbmMcbm2018MonitorMuch.h:270
CbmMcbm2018MonitorMuch::fvuCurrentTsMsbCycle
std::vector< UInt_t > fvuCurrentTsMsbCycle
Current TS MSB for each DPB.
Definition: CbmMcbm2018MonitorMuch.h:145
CbmMcbm2018MonitorMuch::fHistPadDistr
std::vector< TH2 * > fHistPadDistr
Plots per FEB-8.
Definition: CbmMcbm2018MonitorMuch.h:221
CbmMcbm2018MonitorMuch::kdSmxErrCoincWinMainM07
constexpr static const Double_t kdSmxErrCoincWinMainM07
Coincidence windows for 99.0% tagging (up to 1% of corruption not detected)
Definition: CbmMcbm2018MonitorMuch.h:256
CbmMcbm2018MonitorMuch::fdCoincCenter
Double_t fdCoincCenter
Coincidences in sorted hits.
Definition: CbmMcbm2018MonitorMuch.h:198
CbmMcbm2018MonitorMuch::kdSmxErrCoincWinMainM08
constexpr static const Double_t kdSmxErrCoincWinMainM08
Definition: CbmMcbm2018MonitorMuch.h:257