CbmRoot
CbmMcbm2018MonitorStsSync.h
Go to the documentation of this file.
1 // -----------------------------------------------------------------------------
2 // ----- -----
3 // ----- CbmMcbm2018MonitorStsSync -----
4 // ----- Created 11/05/18 by P.-A. Loizeau -----
5 // ----- -----
6 // -----------------------------------------------------------------------------
7 
8 #ifndef CBMMCBM2018MONITORSTSSYNC_H
9 #define CBMMCBM2018MONITORSTSSYNC_H
10 
11 #include "Timeslice.hpp"
12 
13 // Data
14 #include "StsXyterFinalHit.h"
15 #include "StsXyterMessage.h"
16 
17 // CbmRoot
18 #include "CbmHistManager.h"
19 #include "CbmMcbmUnpack.h"
20 
21 // C++11
22 #include <chrono>
23 
24 // C/C++
25 #include <map>
26 #include <set>
27 #include <vector>
28 
29 class CbmCern2017UnpackParHodo;
30 class CbmCern2017UnpackParSts;
31 
33 public:
36 
37  virtual Bool_t Init();
38 
39  virtual Bool_t DoUnpack(const fles::Timeslice& ts, size_t component);
40 
41  virtual void Reset();
42 
43  virtual void Finish();
44 
45  void SetParContainers();
46 
47  Bool_t InitContainers();
48 
49  Bool_t ReInitContainers();
50 
51  virtual void AddMsComponentToList(size_t component, UShort_t usDetectorId);
52  virtual void SetNbMsInTs(size_t uCoreMsNb, size_t uOverlapMsNb);
53  void SetMsOverlap(size_t uOverlapMsNb = 1) { fuNbOverMsPerTs = uOverlapMsNb; }
54  size_t GetMsOverlap() { return fuNbOverMsPerTs; }
55 
56  void SetRunStart(Int_t dateIn, Int_t timeIn, Int_t iBinSize = 5);
57 
58  void ResetAllHistos();
59  void SaveAllHistos(TString sFileName = "");
60  void SavePulserHistos(TString sFileName = "");
61  void SetHistoFileName(TString sFileName = "data/SetupHistos.root") {
62  fsHistoFileFullname = sFileName;
63  }
64 
65  void SetPrintMessage(Bool_t bPrintMessOn = kTRUE,
69  fbPrintMessages = bPrintMessOn;
70  fPrintMessCtrl = ctrl;
71  }
72  void SetLongDurationLimits(UInt_t uDurationSeconds = 3600,
73  UInt_t uBinSize = 1);
74  void SetCoincidenceBorder(Double_t dCenterPos, Double_t dBorderVal);
75 
76  void UseDaqBuffer(Bool_t) {};
77 
78 private:
79  // Parameters
80  // FLES containers
81  std::vector<size_t> fvMsComponentsList;
82  size_t fuNbCoreMsPerTs;
83  size_t fuNbOverMsPerTs;
84  Bool_t
86  // Unpacking and mapping
87  CbmCern2017UnpackParHodo* fUnpackParHodo;
88  UInt_t fuNrOfDpbs;
89  std::map<UInt_t, UInt_t>
92  UInt_t fuNbStsXyters;
93  UInt_t
95  std::vector<std::vector<UInt_t>>
97 
98  // Constants
99  static const Int_t kiMaxNbFlibLinks = 16;
100  static const UInt_t kuBytesPerMessage = 4;
101 
102  // Internal Control/status of monitor
103  // Histo File name and path
105  // Task configuration values
108  // TS/MS info
109  ULong64_t fulCurrentTsIdx;
110  ULong64_t fulCurrentMsIdx;
111  // Current data properties
112  std::map<stsxyter::MessType, UInt_t> fmMsgCounter;
113  UInt_t
115  UInt_t
117  UInt_t
119  Int_t
122 
123  // Data format control
124  std::vector<ULong64_t> fvulCurrentTsMsb;
125  std::vector<UInt_t> fvuCurrentTsMsbCycle;
126  std::vector<UInt_t>
128  std::vector<UInt_t>
130  std::vector<UInt_t> fvuElinkLastTsHit;
131  // Hits comparison
132  std::vector<std::vector<ULong64_t>>
134  std::vector<std::vector<Double_t>>
136  std::vector<Double_t> fvdMsTime;
137  std::vector<std::vector<std::vector<UInt_t>>>
139  std::vector<std::vector<std::vector<Double_t>>>
141  std::vector<std::vector<std::vector<UShort_t>>>
143  // std::vector< std::vector< std::multiset< stsxyter::FinalHit > > > fvmChanHitsInTs; //! All hits (time & ADC) in bins in last TS for each Channel
144  // Starting state book-keeping
145  Double_t
147  Double_t
149  std::chrono::steady_clock::time_point
152  // Hits time-sorting
153  std::vector<stsxyter::FinalHit>
155  std::vector<std::vector<stsxyter::FinalHit>>
157  // Coincidence histos
159  // Rate evolution histos
164 
165  // Coincidences in sorted hits
166  Double_t fdCoincCenter; // ns
167  Double_t fdCoincBorder; // ns, +/-
168  Double_t fdCoincMin; // ns
169  Double_t fdCoincMax; // ns
170 
171  // Histograms
177  /*
178  TH2* fhStsDpbRawTsMsb;
179  TH2* fhStsDpbRawTsMsbSx;
180  TH2* fhStsDpbRawTsMsbDpb;
181 */
186 
187  std::vector<TH1*> fhPulserChanCntRaw;
188  std::vector<TH1*> fhPulserChanCntRawGood;
189  std::vector<TH2*> fhPulserChanAdcRaw;
190  std::vector<TProfile*> fhPulserChanAdcRawProf;
191  std::vector<TH2*> fhPulserChanRawTs;
192  std::vector<TH2*> fhPulserChanMissEvt;
193  std::vector<TH2*> fhPulserChanMissEvtEvo;
194  std::vector<TH2*> fhPulserChanHitRateEvo;
195  std::vector<TH1*> fhPulserFebRateEvo;
196  std::vector<TH1*> fhPulserFebMissEvtEvo;
197  std::vector<TH2*> fhPulserChanHitRateEvoLong;
198  std::vector<TH1*> fhPulserFebRateEvoLong;
199 
200  TCanvas* fcMsSizeAll;
203 
205  Double_t fdStartTs;
206  std::vector<stsxyter::FinalHit> fvmLastHitAsic;
207  std::vector<TH2*> fhPulserTimeDiffPerAsic;
208  std::vector<std::vector<TH1*>> fhPulserTimeDiffPerAsicPair;
209  std::vector<std::vector<TH1*>> fhPulserTimeDiffClkPerAsicPair;
210  std::vector<std::vector<TH2*>> fhPulserTimeDiffEvoPerAsicPair;
211  std::vector<std::vector<TProfile*>> fhPulserTimeDiffEvoPerAsicPairProf;
212  std::vector<std::vector<TProfile*>>
214  std::vector<std::vector<TH2*>> fhPulserTsLsbMatchPerAsicPair;
215  std::vector<std::vector<TH2*>> fhPulserTsMsbMatchPerAsicPair;
216  std::vector<std::vector<TProfile*>> fhPulserTsLsbDiffEvoPerAsicPairProf;
217  std::vector<std::vector<TProfile*>> fhPulserTsMsbDiffEvoPerAsicPairProf;
218  std::vector<TH1*> fhPulserIntervalAsic;
219  std::vector<TH1*> fhPulserIntervalLongAsic;
220 
221  static const UInt_t kuNbValuesForTimeDiffMean = 100;
222  constexpr static const double kdPulserPeriod = 154000;
223  constexpr static const double kdTimeDiffToMeanMargin = 50;
224  std::vector<std::vector<std::vector<Double_t>>>
226  std::vector<std::vector<UInt_t>> fvuLastTimeDiffSlotAsicPair;
227  std::vector<std::vector<Double_t>> fvdMeanTimeDiffAsicPair;
228 
229  void UpdatePairMeanValue(UInt_t uAsicA, UInt_t uAsicB, Double_t dNewValue);
230 
231  void CreateHistograms();
232 
233  void FillHitInfo(stsxyter::Message mess,
234  const UShort_t& usElinkIdx,
235  const UInt_t& uAsicIdx,
236  const UInt_t& uMsIdx);
237  void
238  FillTsMsbInfo(stsxyter::Message mess, UInt_t uMessIdx = 0, UInt_t uMsIdx = 0);
239  void FillEpochInfo(stsxyter::Message mess);
240 
243 
244  ClassDef(CbmMcbm2018MonitorStsSync, 1)
245 };
246 
247 #endif // CBMMCBM2018MONITORSTSSYNC_H
CbmMcbm2018MonitorStsSync::fiBinSizeDatePlots
Int_t fiBinSizeDatePlots
Start of run time since "epoch" in s, for the plots with date as X axis.
Definition: CbmMcbm2018MonitorStsSync.h:121
CbmMcbm2018MonitorStsSync::fvuLastTimeDiffSlotAsicPair
std::vector< std::vector< UInt_t > > fvuLastTimeDiffSlotAsicPair
Definition: CbmMcbm2018MonitorStsSync.h:226
CbmMcbm2018MonitorStsSync::fhPulserChanCntRawGood
std::vector< TH1 * > fhPulserChanCntRawGood
Definition: CbmMcbm2018MonitorStsSync.h:188
CbmMcbm2018MonitorStsSync::CbmMcbm2018MonitorStsSync
CbmMcbm2018MonitorStsSync(const CbmMcbm2018MonitorStsSync &)
CbmMcbm2018MonitorStsSync::SetParContainers
void SetParContainers()
Definition: CbmMcbm2018MonitorStsSync.cxx:146
CbmMcbm2018MonitorStsSync::fvuCurrentTsMsbCycle
std::vector< UInt_t > fvuCurrentTsMsbCycle
Current TS MSB for each DPB.
Definition: CbmMcbm2018MonitorStsSync.h:125
stsxyter::MessagePrintMask::msg_print_Hex
@ msg_print_Hex
CbmMcbm2018MonitorStsSync::fhPulserMsStatusFieldType
TH2 * fhPulserMsStatusFieldType
Definition: CbmMcbm2018MonitorStsSync.h:185
CbmMcbm2018MonitorStsSync::fuLongHistoBinSizeSec
UInt_t fuLongHistoBinSizeSec
Definition: CbmMcbm2018MonitorStsSync.h:162
CbmMcbm2018MonitorStsSync::FillTsMsbInfo
void FillTsMsbInfo(stsxyter::Message mess, UInt_t uMessIdx=0, UInt_t uMsIdx=0)
Definition: CbmMcbm2018MonitorStsSync.cxx:1695
CbmMcbm2018MonitorStsSync::fuLongHistoNbSeconds
UInt_t fuLongHistoNbSeconds
Definition: CbmMcbm2018MonitorStsSync.h:161
CbmMcbm2018MonitorStsSync::FillEpochInfo
void FillEpochInfo(stsxyter::Message mess)
Definition: CbmMcbm2018MonitorStsSync.cxx:1765
CbmMcbm2018MonitorStsSync::CbmMcbm2018MonitorStsSync
CbmMcbm2018MonitorStsSync()
Definition: CbmMcbm2018MonitorStsSync.cxx:44
CbmMcbm2018MonitorStsSync::fhPulserFebRateEvo
std::vector< TH1 * > fhPulserFebRateEvo
Definition: CbmMcbm2018MonitorStsSync.h:195
CbmMcbm2018MonitorStsSync::fhMsSz
TH1 * fhMsSz[kiMaxNbFlibLinks]
Definition: CbmMcbm2018MonitorStsSync.h:201
CbmMcbm2018MonitorStsSync::SetRunStart
void SetRunStart(Int_t dateIn, Int_t timeIn, Int_t iBinSize=5)
Definition: CbmMcbm2018MonitorStsSync.cxx:2032
CbmMcbm2018MonitorStsSync::fhPulserIntervalLongAsic
std::vector< TH1 * > fhPulserIntervalLongAsic
Definition: CbmMcbm2018MonitorStsSync.h:219
CbmMcbm2018MonitorStsSync::SetCoincidenceBorder
void SetCoincidenceBorder(Double_t dCenterPos, Double_t dBorderVal)
Definition: CbmMcbm2018MonitorStsSync.cxx:370
CbmMcbm2018MonitorStsSync::fhPulserTsLsbDiffEvoPerAsicPairProf
std::vector< std::vector< TProfile * > > fhPulserTsLsbDiffEvoPerAsicPairProf
Definition: CbmMcbm2018MonitorStsSync.h:216
stsxyter::Message
Definition: StsXyterMessage.h:165
CbmMcbmUnpack.h
CbmMcbm2018MonitorStsSync::fvusChanLastHitAdcInMs
std::vector< std::vector< std::vector< UShort_t > > > fvusChanLastHitAdcInMs
Last hit time in bins in each MS for each Channel.
Definition: CbmMcbm2018MonitorStsSync.h:142
CbmMcbm2018MonitorStsSync::fhPulserChanMissEvtEvo
std::vector< TH2 * > fhPulserChanMissEvtEvo
Definition: CbmMcbm2018MonitorStsSync.h:193
CbmMcbm2018MonitorStsSync::fhPulserSysMessTypePerElink
TH2 * fhPulserSysMessTypePerElink
Definition: CbmMcbm2018MonitorStsSync.h:183
CbmMcbm2018MonitorStsSync::kiMaxNbFlibLinks
static const Int_t kiMaxNbFlibLinks
Vector holding for each link the corresponding ASIC index [fuNrOfDpbs * fuNbElinksPerDpb].
Definition: CbmMcbm2018MonitorStsSync.h:99
CbmMcbm2018MonitorStsSync::fdCoincCenter
Double_t fdCoincCenter
Definition: CbmMcbm2018MonitorStsSync.h:166
CbmMcbm2018MonitorStsSync::fmMsgCounter
std::map< stsxyter::MessType, UInt_t > fmMsgCounter
Definition: CbmMcbm2018MonitorStsSync.h:112
CbmMcbm2018MonitorStsSync::fbIgnoreOverlapMs
Bool_t fbIgnoreOverlapMs
Definition: CbmMcbm2018MonitorStsSync.h:85
CbmMcbm2018MonitorStsSync::fPrintMessCtrl
stsxyter::MessagePrintMask fPrintMessCtrl
Definition: CbmMcbm2018MonitorStsSync.h:107
CbmMcbm2018MonitorStsSync::fhPulserChanRawTs
std::vector< TH2 * > fhPulserChanRawTs
Definition: CbmMcbm2018MonitorStsSync.h:191
CbmMcbm2018MonitorStsSync::UseDaqBuffer
void UseDaqBuffer(Bool_t)
Definition: CbmMcbm2018MonitorStsSync.h:76
CbmMcbm2018MonitorStsSync::SetPrintMessage
void SetPrintMessage(Bool_t bPrintMessOn=kTRUE, stsxyter::MessagePrintMask ctrl=stsxyter::MessagePrintMask::msg_print_Hex|stsxyter::MessagePrintMask::msg_print_Human)
Definition: CbmMcbm2018MonitorStsSync.h:65
CbmMcbm2018MonitorStsSync::fhPulserTimeDiffEvoPerAsicPair
std::vector< std::vector< TH2 * > > fhPulserTimeDiffEvoPerAsicPair
Definition: CbmMcbm2018MonitorStsSync.h:210
CbmMcbm2018MonitorStsSync::fvuElinkLastTsHit
std::vector< UInt_t > fvuElinkLastTsHit
TS MSB cycle from MS header in 1st MS for DPB.
Definition: CbmMcbm2018MonitorStsSync.h:130
CbmMcbm2018MonitorStsSync::fuCurrentEquipmentId
UInt_t fuCurrentEquipmentId
Definition: CbmMcbm2018MonitorStsSync.h:114
CbmMcbm2018MonitorStsSync::fuNrOfDpbs
UInt_t fuNrOfDpbs
Definition: CbmMcbm2018MonitorStsSync.h:88
CbmMcbm2018MonitorStsSync::fvuChanNbHitsInMs
std::vector< std::vector< std::vector< UInt_t > > > fvuChanNbHitsInMs
Header time of each MS.
Definition: CbmMcbm2018MonitorStsSync.h:138
CbmMcbm2018MonitorStsSync::fhPulserTimeDiffPerAsic
std::vector< TH2 * > fhPulserTimeDiffPerAsic
Last hits in each ASIC.
Definition: CbmMcbm2018MonitorStsSync.h:207
CbmMcbm2018MonitorStsSync::fvmLastHitAsic
std::vector< stsxyter::FinalHit > fvmLastHitAsic
Last hits in each ASIC.
Definition: CbmMcbm2018MonitorStsSync.h:206
CbmMcbm2018MonitorStsSync
Definition: CbmMcbm2018MonitorStsSync.h:32
CbmMcbm2018MonitorStsSync::fulCurrentMsIdx
ULong64_t fulCurrentMsIdx
Definition: CbmMcbm2018MonitorStsSync.h:110
CbmMcbm2018MonitorStsSync::fhPulserTimeDiffPerAsicPair
std::vector< std::vector< TH1 * > > fhPulserTimeDiffPerAsicPair
Definition: CbmMcbm2018MonitorStsSync.h:208
CbmMcbm2018MonitorStsSync::Init
virtual Bool_t Init()
Definition: CbmMcbm2018MonitorStsSync.cxx:137
CbmMcbm2018MonitorStsSync::Reset
virtual void Reset()
Definition: CbmMcbm2018MonitorStsSync.cxx:1779
CbmMcbm2018MonitorStsSync::fcMsSizeAll
TCanvas * fcMsSizeAll
Definition: CbmMcbm2018MonitorStsSync.h:200
CbmMcbm2018MonitorStsSync::fhPulserChanHitRateEvoLong
std::vector< TH2 * > fhPulserChanHitRateEvoLong
Definition: CbmMcbm2018MonitorStsSync.h:197
CbmHistManager.h
Histogram manager.
CbmMcbm2018MonitorStsSync::fhPulserMessTypePerElink
TH2 * fhPulserMessTypePerElink
Definition: CbmMcbm2018MonitorStsSync.h:182
CbmMcbm2018MonitorStsSync::operator=
CbmMcbm2018MonitorStsSync operator=(const CbmMcbm2018MonitorStsSync &)
CbmMcbm2018MonitorStsSync::fhPulserChanAdcRaw
std::vector< TH2 * > fhPulserChanAdcRaw
Definition: CbmMcbm2018MonitorStsSync.h:189
CbmMcbm2018MonitorStsSync::fhPulserTsMsbMatchPerAsicPair
std::vector< std::vector< TH2 * > > fhPulserTsMsbMatchPerAsicPair
Definition: CbmMcbm2018MonitorStsSync.h:215
CbmMcbm2018MonitorStsSync::fhPulserStatusMessType
TH2 * fhPulserStatusMessType
Definition: CbmMcbm2018MonitorStsSync.h:184
CbmMcbm2018MonitorStsSync::fdCoincBorder
Double_t fdCoincBorder
Definition: CbmMcbm2018MonitorStsSync.h:167
CbmMcbm2018MonitorStsSync::fuMaxNbMicroslices
UInt_t fuMaxNbMicroslices
All hits (time in bins, ADC in bins, asic, channel) in last TS, per ASIC, sorted with "<" operator.
Definition: CbmMcbm2018MonitorStsSync.h:158
CbmMcbm2018MonitorStsSync::kdPulserPeriod
constexpr static const double kdPulserPeriod
Definition: CbmMcbm2018MonitorStsSync.h:222
CbmMcbm2018MonitorStsSync::fhPulserSysMessType
TH1 * fhPulserSysMessType
Definition: CbmMcbm2018MonitorStsSync.h:174
CbmMcbm2018MonitorStsSync::fHM
CbmHistManager * fHM
Definition: CbmMcbm2018MonitorStsSync.h:172
CbmHistManager
Histogram manager.
Definition: CbmHistManager.h:41
CbmMcbm2018MonitorStsSync::fiRunStartDateTimeSec
Int_t fiRunStartDateTimeSec
Index of the DPB from which the MS currently unpacked is coming.
Definition: CbmMcbm2018MonitorStsSync.h:120
CbmMcbm2018MonitorStsSync::fvuInitialHeaderDone
std::vector< UInt_t > fvuInitialHeaderDone
Current TS MSB cycle for DPB.
Definition: CbmMcbm2018MonitorStsSync.h:127
CbmMcbm2018MonitorStsSync::fhPulserMessType
TH1 * fhPulserMessType
Histogram manager.
Definition: CbmMcbm2018MonitorStsSync.h:173
CbmMcbm2018MonitorStsSync::fhPulserIntervalAsic
std::vector< TH1 * > fhPulserIntervalAsic
Definition: CbmMcbm2018MonitorStsSync.h:218
CbmMcbm2018MonitorStsSync::fuCurrDpbIdx
UInt_t fuCurrDpbIdx
Temp holder until Current equipment ID is properly filled in MS.
Definition: CbmMcbm2018MonitorStsSync.h:118
CbmMcbm2018MonitorStsSync::FillHitInfo
void FillHitInfo(stsxyter::Message mess, const UShort_t &usElinkIdx, const UInt_t &uAsicIdx, const UInt_t &uMsIdx)
Definition: CbmMcbm2018MonitorStsSync.cxx:1576
CbmMcbm2018MonitorStsSync::fvuInitialTsMsbCycleHeader
std::vector< UInt_t > fvuInitialTsMsbCycleHeader
Flag set after seeing MS header in 1st MS for DPB.
Definition: CbmMcbm2018MonitorStsSync.h:129
CbmMcbm2018MonitorStsSync::fvdChanLastHitTime
std::vector< std::vector< Double_t > > fvdChanLastHitTime
Last hit time in bins for each Channel.
Definition: CbmMcbm2018MonitorStsSync.h:135
CbmMcbm2018MonitorStsSync::DoUnpack
virtual Bool_t DoUnpack(const fles::Timeslice &ts, size_t component)
Definition: CbmMcbm2018MonitorStsSync.cxx:1237
CbmMcbm2018MonitorStsSync::fuNbChanPerAsic
UInt_t fuNbChanPerAsic
Number of StsXyter ASICs.
Definition: CbmMcbm2018MonitorStsSync.h:94
CbmMcbm2018MonitorStsSync::fbPrintMessages
Bool_t fbPrintMessages
Definition: CbmMcbm2018MonitorStsSync.h:106
CbmMcbm2018MonitorStsSync::SetLongDurationLimits
void SetLongDurationLimits(UInt_t uDurationSeconds=3600, UInt_t uBinSize=1)
Definition: CbmMcbm2018MonitorStsSync.cxx:2043
CbmMcbm2018MonitorStsSync::SetNbMsInTs
virtual void SetNbMsInTs(size_t uCoreMsNb, size_t uOverlapMsNb)
Definition: CbmMcbm2018MonitorStsSync.cxx:329
CbmMcbm2018MonitorStsSync::fvuElinkToAsic
std::vector< std::vector< UInt_t > > fvuElinkToAsic
Number of channels per StsXyter ASIC => should be constant somewhere!!!!
Definition: CbmMcbm2018MonitorStsSync.h:96
CbmMcbm2018MonitorStsSync::fhPulserTimeDiffEvoPerAsicPairProf
std::vector< std::vector< TProfile * > > fhPulserTimeDiffEvoPerAsicPairProf
Definition: CbmMcbm2018MonitorStsSync.h:211
CbmMcbm2018MonitorStsSync::fdCoincMin
Double_t fdCoincMin
Definition: CbmMcbm2018MonitorStsSync.h:168
CbmMcbm2018MonitorStsSync::fdStartTs
Double_t fdStartTs
Pulser time difference histos.
Definition: CbmMcbm2018MonitorStsSync.h:205
CbmMcbm2018MonitorStsSync::fhPulserFebMissEvtEvo
std::vector< TH1 * > fhPulserFebMissEvtEvo
Definition: CbmMcbm2018MonitorStsSync.h:196
stsxyter::MessagePrintMask
MessagePrintMask
Printout control.
Definition: StsXyterMessage.h:44
CbmMcbm2018MonitorStsSync::fvdMeanTimeDiffAsicPair
std::vector< std::vector< Double_t > > fvdMeanTimeDiffAsicPair
Definition: CbmMcbm2018MonitorStsSync.h:227
CbmMcbm2018MonitorStsSync::fhPulserChanAdcRawProf
std::vector< TProfile * > fhPulserChanAdcRawProf
Definition: CbmMcbm2018MonitorStsSync.h:190
CbmMcbm2018MonitorStsSync::fvdMsTime
std::vector< Double_t > fvdMsTime
Last hit time in ns for each Channel.
Definition: CbmMcbm2018MonitorStsSync.h:136
CbmMcbm2018MonitorStsSync::fhPulserTsLsbMatchPerAsicPair
std::vector< std::vector< TH2 * > > fhPulserTsLsbMatchPerAsicPair
Definition: CbmMcbm2018MonitorStsSync.h:214
CbmMcbm2018MonitorStsSync::fuNbStsXyters
UInt_t fuNbStsXyters
Number of possible eLinks per DPB.
Definition: CbmMcbm2018MonitorStsSync.h:92
StsXyterMessage.h
CbmMcbm2018MonitorStsSync::kuNbValuesForTimeDiffMean
static const UInt_t kuNbValuesForTimeDiffMean
Definition: CbmMcbm2018MonitorStsSync.h:221
CbmMcbm2018MonitorStsSync::fvdChanLastHitTimeInMs
std::vector< std::vector< std::vector< Double_t > > > fvdChanLastHitTimeInMs
Number of hits in each MS for each Channel.
Definition: CbmMcbm2018MonitorStsSync.h:140
CbmMcbm2018MonitorStsSync::ftStartTimeUnix
std::chrono::steady_clock::time_point ftStartTimeUnix
Definition: CbmMcbm2018MonitorStsSync.h:150
CbmMcbm2018MonitorStsSync::fvulChanLastHitTime
std::vector< std::vector< ULong64_t > > fvulChanLastHitTime
TS from last hit for DPB.
Definition: CbmMcbm2018MonitorStsSync.h:133
CbmMcbm2018MonitorStsSync::SavePulserHistos
void SavePulserHistos(TString sFileName="")
Definition: CbmMcbm2018MonitorStsSync.cxx:1902
CbmMcbm2018MonitorStsSync::GetMsOverlap
size_t GetMsOverlap()
Definition: CbmMcbm2018MonitorStsSync.h:54
CbmMcbm2018MonitorStsSync::fhPulserTsMsbDiffEvoPerAsicPairProf
std::vector< std::vector< TProfile * > > fhPulserTsMsbDiffEvoPerAsicPairProf
Definition: CbmMcbm2018MonitorStsSync.h:217
CbmMcbm2018MonitorStsSync::fuNbElinksPerDpb
UInt_t fuNbElinksPerDpb
Map of DPB Identifier to DPB index.
Definition: CbmMcbm2018MonitorStsSync.h:91
CbmMcbm2018MonitorStsSync::UpdatePairMeanValue
void UpdatePairMeanValue(UInt_t uAsicA, UInt_t uAsicB, Double_t dNewValue)
Definition: CbmMcbm2018MonitorStsSync.cxx:1994
CbmMcbm2018MonitorStsSync::fhPulserChanCntRaw
std::vector< TH1 * > fhPulserChanCntRaw
Definition: CbmMcbm2018MonitorStsSync.h:187
CbmMcbm2018MonitorStsSync::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: CbmMcbm2018MonitorStsSync.h:156
CbmMcbm2018MonitorStsSync::CreateHistograms
void CreateHistograms()
Definition: CbmMcbm2018MonitorStsSync.cxx:378
CbmMcbm2018MonitorStsSync::fuCurrDpbId
UInt_t fuCurrDpbId
Current equipment ID, tells from which DPB the current MS is originating.
Definition: CbmMcbm2018MonitorStsSync.h:116
CbmMcbm2018MonitorStsSync::fvulCurrentTsMsb
std::vector< ULong64_t > fvulCurrentTsMsb
Bin size in s for the plots with date as X axis.
Definition: CbmMcbm2018MonitorStsSync.h:124
CbmMcbm2018MonitorStsSync::SaveAllHistos
void SaveAllHistos(TString sFileName="")
Definition: CbmMcbm2018MonitorStsSync.cxx:1802
stsxyter::MessagePrintMask::msg_print_Human
@ msg_print_Human
CbmMcbm2018MonitorStsSync::fdStartTimeMsSz
Double_t fdStartTimeMsSz
Definition: CbmMcbm2018MonitorStsSync.h:148
CbmMcbm2018MonitorStsSync::SetHistoFileName
void SetHistoFileName(TString sFileName="data/SetupHistos.root")
Definition: CbmMcbm2018MonitorStsSync.h:61
CbmMcbm2018MonitorStsSync::fvmHitsInMs
std::vector< stsxyter::FinalHit > fvmHitsInMs
Definition: CbmMcbm2018MonitorStsSync.h:154
CbmMcbm2018MonitorStsSync::~CbmMcbm2018MonitorStsSync
virtual ~CbmMcbm2018MonitorStsSync()
Definition: CbmMcbm2018MonitorStsSync.cxx:135
CbmMcbm2018MonitorStsSync::Finish
virtual void Finish()
Definition: CbmMcbm2018MonitorStsSync.cxx:1781
CbmMcbm2018MonitorStsSync::fhPulserTimeDiffClkPerAsicPair
std::vector< std::vector< TH1 * > > fhPulserTimeDiffClkPerAsicPair
Definition: CbmMcbm2018MonitorStsSync.h:209
CbmMcbm2018MonitorStsSync::fUnpackParHodo
CbmCern2017UnpackParHodo * fUnpackParHodo
/‍** Ignore Overlap Ms: all fuOverlapMsNb MS at the end of timeslice **‍/
Definition: CbmMcbm2018MonitorStsSync.h:87
StsXyterFinalHit.h
CbmMcbm2018MonitorStsSync::fhMsSzTime
TProfile * fhMsSzTime[kiMaxNbFlibLinks]
Definition: CbmMcbm2018MonitorStsSync.h:202
CbmMcbm2018MonitorStsSync::fhPulserSysMessTypePerDpb
TH2 * fhPulserSysMessTypePerDpb
Definition: CbmMcbm2018MonitorStsSync.h:176
CbmMcbm2018MonitorStsSync::fulCurrentTsIdx
ULong64_t fulCurrentTsIdx
Definition: CbmMcbm2018MonitorStsSync.h:109
CbmMcbm2018MonitorStsSync::fbLongHistoEnable
Bool_t fbLongHistoEnable
Definition: CbmMcbm2018MonitorStsSync.h:160
CbmMcbm2018MonitorStsSync::fuNbOverMsPerTs
size_t fuNbOverMsPerTs
Definition: CbmMcbm2018MonitorStsSync.h:83
CbmMcbm2018MonitorStsSync::AddMsComponentToList
virtual void AddMsComponentToList(size_t component, UShort_t usDetectorId)
Definition: CbmMcbm2018MonitorStsSync.cxx:286
CbmMcbm2018MonitorStsSync::fhPulserFebRateEvoLong
std::vector< TH1 * > fhPulserFebRateEvoLong
Definition: CbmMcbm2018MonitorStsSync.h:198
CbmMcbm2018MonitorStsSync::fdStartTime
Double_t fdStartTime
Last hit ADC in bins in each MS for each Channel.
Definition: CbmMcbm2018MonitorStsSync.h:146
CbmMcbm2018MonitorStsSync::fuNbCoreMsPerTs
size_t fuNbCoreMsPerTs
Definition: CbmMcbm2018MonitorStsSync.h:82
CbmMcbm2018MonitorStsSync::fhPulserMessTypePerDpb
TH2 * fhPulserMessTypePerDpb
Definition: CbmMcbm2018MonitorStsSync.h:175
CbmMcbm2018MonitorStsSync::kdTimeDiffToMeanMargin
constexpr static const double kdTimeDiffToMeanMargin
ns
Definition: CbmMcbm2018MonitorStsSync.h:223
CbmMcbm2018MonitorStsSync::fhPulserRawTimeDiffEvoPerAsicPairProf
std::vector< std::vector< TProfile * > > fhPulserRawTimeDiffEvoPerAsicPairProf
Definition: CbmMcbm2018MonitorStsSync.h:213
CbmMcbm2018MonitorStsSync::fhPulserChanMissEvt
std::vector< TH2 * > fhPulserChanMissEvt
Definition: CbmMcbm2018MonitorStsSync.h:192
CbmMcbm2018MonitorStsSync::InitContainers
Bool_t InitContainers()
Definition: CbmMcbm2018MonitorStsSync.cxx:155
CbmMcbm2018MonitorStsSync::ReInitContainers
Bool_t ReInitContainers()
Definition: CbmMcbm2018MonitorStsSync.cxx:164
CbmMcbm2018MonitorStsSync::fvMsComponentsList
std::vector< size_t > fvMsComponentsList
Definition: CbmMcbm2018MonitorStsSync.h:76
CbmMcbm2018MonitorStsSync::SetMsOverlap
void SetMsOverlap(size_t uOverlapMsNb=1)
Definition: CbmMcbm2018MonitorStsSync.h:53
CbmMcbmUnpack
Definition: CbmMcbmUnpack.h:15
CbmMcbm2018MonitorStsSync::fhPulserChanHitRateEvo
std::vector< TH2 * > fhPulserChanHitRateEvo
Definition: CbmMcbm2018MonitorStsSync.h:194
CbmMcbm2018MonitorStsSync::fdCoincMax
Double_t fdCoincMax
Definition: CbmMcbm2018MonitorStsSync.h:169
CbmMcbm2018MonitorStsSync::ResetAllHistos
void ResetAllHistos()
Definition: CbmMcbm2018MonitorStsSync.cxx:1933
CbmMcbm2018MonitorStsSync::fvdLastTimeDiffValuesAsicPair
std::vector< std::vector< std::vector< Double_t > > > fvdLastTimeDiffValuesAsicPair
Definition: CbmMcbm2018MonitorStsSync.h:225
CbmMcbm2018MonitorStsSync::fuLongHistoBinNb
UInt_t fuLongHistoBinNb
Definition: CbmMcbm2018MonitorStsSync.h:163
CbmMcbm2018MonitorStsSync::fDpbIdIndexMap
std::map< UInt_t, UInt_t > fDpbIdIndexMap
Total number of Sts DPBs in system.
Definition: CbmMcbm2018MonitorStsSync.h:90
CbmMcbm2018MonitorStsSync::fsHistoFileFullname
TString fsHistoFileFullname
Definition: CbmMcbm2018MonitorStsSync.h:104
CbmMcbm2018MonitorStsSync::kuBytesPerMessage
static const UInt_t kuBytesPerMessage
Definition: CbmMcbm2018MonitorStsSync.h:100