CbmRoot
CbmMcbm2018MonitorAlgoHodo.h
Go to the documentation of this file.
1 // -----------------------------------------------------------------------------
2 // ----- -----
3 // ----- CbmMcbm2018MonitorAlgoHodo -----
4 // ----- Created 03.07.2019 by P.-A. Loizeau -----
5 // ----- -----
6 // -----------------------------------------------------------------------------
7 
8 #ifndef CbmMcbm2018MonitorAlgoHodo_H
9 #define CbmMcbm2018MonitorAlgoHodo_H
10 
11 #include "CbmStar2019Algo.h"
12 
13 // Data
14 #include "CbmStsDigi.h"
15 #include "StsXyterFinalHit.h"
16 #include "StsXyterMessage.h"
17 
18 // CbmRoot
19 
20 // C++11
21 #include <chrono>
22 
23 // C/C++
24 #include <map>
25 #include <vector>
26 
27 //class CbmMcbm2018HodoPar;
28 /*
29 class TCanvas;
30 class THttpServer;
31 */
32 class TH1;
33 class TH2;
34 class TProfile;
35 
36 class CbmMcbm2018MonitorAlgoHodo : public CbmStar2019Algo<CbmStsDigi> {
37 public:
40 
41  virtual Bool_t Init();
42  virtual void Reset();
43  virtual void Finish();
44 
45  Bool_t InitContainers();
46  Bool_t ReInitContainers();
47  TList* GetParList();
48 
49  Bool_t InitParameters();
50 
51  Bool_t ProcessTs(const fles::Timeslice& ts);
52  Bool_t ProcessTs(const fles::Timeslice& ts, size_t /*component*/) {
53  return ProcessTs(ts);
54  }
55  Bool_t ProcessMs(const fles::Timeslice& ts, size_t uMsCompIdx, size_t uMsIdx);
56 
57  void AddMsComponentToList(size_t component, UShort_t usDetectorId);
58 
59  Bool_t CreateHistograms();
60  Bool_t FillHistograms();
61  Bool_t ResetHistograms();
62 
63  inline void SetMonitorMode(Bool_t bFlagIn = kTRUE) {
64  fbMonitorMode = bFlagIn;
65  }
66  inline void SetTimeOffsetNs(Double_t dOffsetIn = 0.0) {
67  fdTimeOffsetNs = dOffsetIn;
68  }
69 
70  inline void SetDpbId(UInt_t uDpbId = 0x5b75) { fuDpbId = uDpbId; }
71  inline void SetHodoElinkIdx(UInt_t uElinkHodoA = 5, UInt_t uElinkHodoB = 10) {
72  fvuElinkIdxHodo[0] = uElinkHodoA;
73  fvuElinkIdxHodo[1] = uElinkHodoB;
74  }
75  inline void SetHodoSwapXY(Bool_t bSwapHodoA = kFALSE,
76  Bool_t bSwapHodoB = kTRUE) {
77  fvbHodoSwapXY[0] = bSwapHodoA;
78  fvbHodoSwapXY[1] = bSwapHodoB;
79  }
80  inline void SetHodoInvertX(Bool_t bInvHodoA = kFALSE,
81  Bool_t bInvHodoB = kTRUE) {
82  fvbHodoInvertX[0] = bInvHodoA;
83  fvbHodoInvertX[1] = bInvHodoB;
84  }
85  inline void SetHodoInvertY(Bool_t bInvHodoA = kFALSE,
86  Bool_t bInvHodoB = kTRUE) {
87  fvbHodoInvertY[0] = bInvHodoA;
88  fvbHodoInvertY[1] = bInvHodoB;
89  }
90 
91 private:
93  Bool_t
95  Bool_t
97  std::vector<Bool_t> fvbMaskedComponents;
98 
100  /*
101  CbmMcbm2018HodoPar* fUnpackPar; //!
103  UInt_t fuNbModules; //! Total number of STS modules in the setup
104  std::vector< Int_t > fviModuleType; //! Type of each module: 0 for connectors on the right, 1 for connectors on the left
105  std::vector< Int_t > fviModAddress; //! STS address for the first strip of each module
106  UInt_t fuNrOfDpbs; //! Total number of STS DPBs in system
107  std::map<UInt_t, UInt_t> fDpbIdIndexMap; //! Map of DPB Identifier to DPB index
108  std::vector< std::vector< Bool_t > > fvbCrobActiveFlag; //! Array to hold the active flag for all CROBs, [ NbDpb ][ NbCrobPerDpb ]
109  UInt_t fuNbFebs; //! Number of FEBs with HodoXyter ASICs
110  UInt_t fuNbStsXyters; //! Number of StsXyter ASICs
111  std::vector< std::vector< std::vector< Int_t > > > fviFebModuleIdx; //! Idx of the STS module for each FEB, [ NbDpb ][ NbCrobPerDpb ][ NbFebsPerCrob ], -1 if inactive
112  std::vector< std::vector< std::vector< Int_t > > > fviFebModuleSide; //! STS module side for each FEB, [ NbDpb ][ NbCrobPerDpb ][ NbFebsPerCrob ], 0 = P, 1 = N, -1 if inactive
113  std::vector< std::vector< std::vector< Int_t > > > fviFebType; //! FEB type, [ NbDpb ][ NbCrobPerDpb ][ NbFebsPerCrob ], 0 = A, 1 = B, -1 if inactive
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  std::vector< Int_t > fviFebAddress; //! STS address for each FEB, [ NbDpb * NbCrobPerDpb * NbFebsPerCrob ]
117 */
118  UInt_t fuDpbId;
119  std::vector<UInt_t> fvuElinkIdxHodo;
120  std::vector<Bool_t> fvbHodoSwapXY;
121  std::vector<Bool_t> fvbHodoInvertX;
122  std::vector<Bool_t> fvbHodoInvertY;
123  std::vector<UInt_t> fvuAdcGainHodo;
124  std::vector<UInt_t> fvuAdcOffsHodo;
125 
127  Double_t fdTimeOffsetNs;
128 
130  static const Int_t kiMaxNbFlibLinks = 32;
131  static const UInt_t kuBytesPerMessage = 4;
132  static const UInt_t kuNbElinksDpb =
133  2 * 42;
134  static const UInt_t kuNbHodos = 2;
135  static const UInt_t kuNbAxis = 2;
136  static const UInt_t kuNbChanPerAsic = 128;
137  /*
138  const UInt_t kuChannelToFiberMap[ kuNbChanPerAsic ] = {
139  0, 32, 16, 48, 15, 47, 31, 63, 1, 33, 17, 49, 14, 46, 30, 62,
140  2, 34, 18, 50, 13, 45, 29, 61, 3, 35, 19, 51, 12, 44, 28, 60,
141  4, 36, 20, 52, 11, 43, 27, 59, 5, 37, 21, 53, 10, 42, 26, 58,
142  6, 38, 22, 54, 9, 41, 25, 57, 7, 39, 23, 55, 8, 40, 24, 56,
143  0, 32, 16, 48, 15, 47, 31, 63, 1, 33, 17, 49, 14, 46, 30, 62,
144  2, 34, 18, 50, 13, 45, 29, 61, 3, 35, 19, 51, 12, 44, 28, 60,
145  4, 36, 20, 52, 11, 43, 27, 59, 5, 37, 21, 53, 10, 42, 26, 58,
146  6, 38, 22, 54, 9, 41, 25, 57, 7, 39, 23, 55, 8, 40, 24, 56
147  }; //! Map from channel index to Hodoscope Fiber
148 */
150  {
151  32, 0, 48, 16, 47, 15, 63, 31, 33, 1, 49, 17, 46, 14, 62, 30, 34,
152  2, 50, 18, 45, 13, 61, 29, 35, 3, 51, 19, 44, 12, 60, 28, 36, 4,
153  52, 20, 43, 11, 59, 27, 37, 5, 53, 21, 42, 10, 58, 26, 38, 6, 54,
154  22, 41, 9, 57, 25, 39, 7, 55, 23, 40, 8, 56, 24, 32, 0, 48, 16,
155  47, 15, 63, 31, 33, 1, 49, 17, 46, 14, 62, 30, 34, 2, 50, 18, 45,
156  13, 61, 29, 35, 3, 51, 19, 44, 12, 60, 28, 36, 4, 52, 20, 43, 11,
157  59, 27, 37, 5, 53, 21, 42, 10, 58, 26, 38, 6, 54, 22, 41, 9, 57,
158  25, 39, 7, 55, 23, 40, 8, 56, 24};
160  {
161  1, 5, 3, 7, 2, 6, 4, 8, 9, 13, 11, 15, 10, 14, 12, 16, 17,
162  21, 19, 23, 18, 22, 20, 24, 25, 29, 27, 31, 26, 30, 28, 32, 33, 37,
163  35, 39, 34, 38, 36, 40, 41, 45, 43, 47, 42, 46, 44, 48, 49, 53, 51,
164  55, 50, 54, 52, 56, 57, 61, 59, 63, 58, 62, 60, 64, 1, 5, 3, 7,
165  2, 6, 4, 8, 9, 13, 11, 15, 10, 14, 12, 16, 17, 21, 19, 23, 18,
166  22, 20, 24, 25, 29, 27, 31, 26, 30, 28, 32, 33, 37, 35, 39, 34, 38,
167  36, 40, 41, 45, 43, 47, 42, 46, 44, 48, 49, 53, 51, 55, 50, 54, 52,
168  56, 57, 61, 59, 63, 58, 62, 60, 64};
169  const UInt_t kuChannelToPlaneMap
170  [kuNbChanPerAsic] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
171  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
172  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
173  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
174  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
175  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
176  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
177  1, 1, 1, 1, 1, 1, 1, 1, 1};
178 
181  ULong64_t fulCurrentTsIdx;
182  ULong64_t fulCurrentMsIdx;
183  Double_t
185  Double_t
187  std::vector<Double_t> fvdPrevMsTime;
188  Double_t
190  UInt_t fuMsIndex;
191  std::map<stsxyter::MessType, UInt_t> fmMsgCounter;
193  UInt_t
195  UInt_t
197  Int_t
200  ULong64_t fvulCurrentTsMsb;
203  Double_t
206  Double_t
208  std::chrono::steady_clock::time_point
211  std::vector<stsxyter::FinalHit>
214 
222  std::vector<TH1*> fhHodoChanCntRaw;
223  std::vector<TH2*> fhHodoChanAdcRaw;
224  std::vector<TProfile*> fhHodoChanAdcRawProf;
225  std::vector<TH2*> fhHodoChanAdcCal;
226  std::vector<TProfile*> fhHodoChanAdcCalProf;
227  std::vector<TH2*> fhHodoChanRawTs;
228  std::vector<TH2*> fhHodoChanMissEvt;
229  std::vector<TH2*> fhHodoChanMissEvtEvo;
230  std::vector<TH2*> fhHodoChanHitRateEvo;
231  std::vector<TProfile*> fhHodoChanHitRateProf;
232  std::vector<TH2*> fhHodoChanDistT;
233  std::vector<std::vector<TH1*>> fhHodoFiberCnt;
235  std::vector<std::vector<TH2*>> fhHodoFiberAdc;
236  std::vector<std::vector<TProfile*>> fhHodoFiberAdcProf;
237  std::vector<std::vector<TH2*>> fhHodoFiberHitRateEvo;
238  Double_t fdTimeCoincLimit = 100.0;
244  * (fdTimeCoincLimit + 0.5);
245  std::vector<TH2*> fhHodoFiberCoincMapXY;
246  std::vector<TH1*> fhHodoFiberCoincTimeXY;
247  std::vector<TH2*> fhHodoFiberCoincWalkXY_X;
248  std::vector<TH2*> fhHodoFiberCoincWalkXY_Y;
249  std::vector<TH2*> fhHodoFiberCoincMapSameAB;
250  std::vector<TH1*> fhHodoFiberCoincTimeSameAB;
251  std::vector<TH2*> fhHodoFiberCoincMapDiffAB;
252  std::vector<TH1*> fhHodoFiberCoincTimeDiffAB;
259  std::vector<std::vector<TH2*>> fhHodoFullCoincTimeWalk;
261  std::vector<std::vector<TH2*>> fhHodoFullCoincPosEvo;
262  TH1* fhPrevHitDtAllAsics;
267 
271  std::vector<Int_t> fviTimeSecLastRateUpdate;
272  std::vector<std::vector<Double_t>>
274  std::vector<std::vector<Double_t>>
277  std::vector<Double_t> fvdPreviousHitTimePerAsic;
278 
280  TCanvas* fcSummary;
281  std::vector<TCanvas*> fcHodoSummaryRaw;
282  std::vector<TCanvas*> fcHodoSummaryFiber;
285  TCanvas* fcHodoFullCoinc;
288  TCanvas* fcHodoPrevHitDt;
289 
291  const UInt_t& uHodoIdx,
292  const UInt_t& uMsIdx);
294  UInt_t uMessIdx = 0,
295  UInt_t uMsIdx = 0);
298 
301 
302  ClassDef(CbmMcbm2018MonitorAlgoHodo, 1)
303 };
304 
305 #endif
CbmMcbm2018MonitorAlgoHodo::kuNbChanPerAsic
static const UInt_t kuNbChanPerAsic
Per hodoscope = X and Y.
Definition: CbmMcbm2018MonitorAlgoHodo.h:136
CbmMcbm2018MonitorAlgoHodo::fcSummary
TCanvas * fcSummary
[ Asic ]
Definition: CbmMcbm2018MonitorAlgoHodo.h:280
CbmMcbm2018MonitorAlgoHodo::fvbHodoInvertY
std::vector< Bool_t > fvbHodoInvertY
Definition: CbmMcbm2018MonitorAlgoHodo.h:122
CbmMcbm2018MonitorAlgoHodo::SetTimeOffsetNs
void SetTimeOffsetNs(Double_t dOffsetIn=0.0)
Definition: CbmMcbm2018MonitorAlgoHodo.h:66
CbmMcbm2018MonitorAlgoHodo::fcHodoFullCoinc
TCanvas * fcHodoFullCoinc
Definition: CbmMcbm2018MonitorAlgoHodo.h:285
CbmMcbm2018MonitorAlgoHodo::ProcessTs
Bool_t ProcessTs(const fles::Timeslice &ts, size_t)
Definition: CbmMcbm2018MonitorAlgoHodo.h:52
CbmMcbm2018MonitorAlgoHodo::kiMaxNbFlibLinks
static const Int_t kiMaxNbFlibLinks
Constants.
Definition: CbmMcbm2018MonitorAlgoHodo.h:130
CbmMcbm2018MonitorAlgoHodo::fhHodoStatusMessType
TH2 * fhHodoStatusMessType
Definition: CbmMcbm2018MonitorAlgoHodo.h:218
CbmMcbm2018MonitorAlgoHodo::fdHodoChanLastTimeForDist
std::vector< std::vector< Double_t > > fdHodoChanLastTimeForDist
[ Hodo ][ Chan ]
Definition: CbmMcbm2018MonitorAlgoHodo.h:275
CbmMcbm2018MonitorAlgoHodo::fvbMaskedComponents
std::vector< Bool_t > fvbMaskedComponents
Switch ON the filling of a additional set of histograms.
Definition: CbmMcbm2018MonitorAlgoHodo.h:97
CbmMcbm2018MonitorAlgoHodo::kuNbAxis
static const UInt_t kuNbAxis
Nb of hodoscopes = Nb FEBs = Nb ASICs.
Definition: CbmMcbm2018MonitorAlgoHodo.h:135
CbmMcbm2018MonitorAlgoHodo::fvuElinkIdxHodo
std::vector< UInt_t > fvuElinkIdxHodo
Definition: CbmMcbm2018MonitorAlgoHodo.h:119
CbmMcbm2018MonitorAlgoHodo::fdTsStopTimeCore
Double_t fdTsStopTimeCore
Time in ns of current TS from the index of the first MS first component.
Definition: CbmMcbm2018MonitorAlgoHodo.h:186
CbmMcbm2018MonitorAlgoHodo::fhHodoFiberCoincTimeDiffAB
std::vector< TH1 * > fhHodoFiberCoincTimeDiffAB
[ Axis ]
Definition: CbmMcbm2018MonitorAlgoHodo.h:252
CbmMcbm2018MonitorAlgoHodo::fhPrevHitDtAsicA
TH1 * fhPrevHitDtAsicA
Definition: CbmMcbm2018MonitorAlgoHodo.h:264
CbmMcbm2018MonitorAlgoHodo::fvbHodoSwapXY
std::vector< Bool_t > fvbHodoSwapXY
Definition: CbmMcbm2018MonitorAlgoHodo.h:120
CbmMcbm2018MonitorAlgoHodo::fdStartTimeMsSz
Double_t fdStartTimeMsSz
Definition: CbmMcbm2018MonitorAlgoHodo.h:207
CbmMcbm2018MonitorAlgoHodo::ProcessTs
Bool_t ProcessTs(const fles::Timeslice &ts)
Definition: CbmMcbm2018MonitorAlgoHodo.cxx:387
CbmMcbm2018MonitorAlgoHodo::fbDebugMonitorMode
Bool_t fbDebugMonitorMode
Switch ON the filling of a minimal set of histograms.
Definition: CbmMcbm2018MonitorAlgoHodo.h:96
CbmMcbm2018MonitorAlgoHodo::SetHodoInvertY
void SetHodoInvertY(Bool_t bInvHodoA=kFALSE, Bool_t bInvHodoB=kTRUE)
Default set closest cosmic setup stack.
Definition: CbmMcbm2018MonitorAlgoHodo.h:85
stsxyter::Message
Definition: StsXyterMessage.h:165
CbmMcbm2018MonitorAlgoHodo::fhHodoFiberCnt
std::vector< std::vector< TH1 * > > fhHodoFiberCnt
Definition: CbmMcbm2018MonitorAlgoHodo.h:234
CbmMcbm2018MonitorAlgoHodo
Definition: CbmMcbm2018MonitorAlgoHodo.h:36
CbmMcbm2018MonitorAlgoHodo::fdStartTime
Double_t fdStartTime
Definition: CbmMcbm2018MonitorAlgoHodo.h:205
CbmMcbm2018MonitorAlgoHodo::fuDpbId
UInt_t fuDpbId
Settings from parameter file => For now use only accessors!
Definition: CbmMcbm2018MonitorAlgoHodo.h:118
CbmMcbm2018MonitorAlgoHodo::fhHodoFullCoincRateEvo
TH1 * fhHodoFullCoincRateEvo
[ Hodo ][ Axis ]
Definition: CbmMcbm2018MonitorAlgoHodo.h:260
CbmMcbm2018MonitorAlgoHodo::fuMsIndex
UInt_t fuMsIndex
Start Time in ns of current MS from its index field in header.
Definition: CbmMcbm2018MonitorAlgoHodo.h:190
CbmMcbm2018MonitorAlgoHodo::fhHodoChanAdcCal
std::vector< TH2 * > fhHodoChanAdcCal
[ Hodo ]
Definition: CbmMcbm2018MonitorAlgoHodo.h:225
CbmMcbm2018MonitorAlgoHodo::ProcessEpochInfo
void ProcessEpochInfo(stsxyter::Message mess)
Definition: CbmMcbm2018MonitorAlgoHodo.cxx:765
CbmMcbm2018MonitorAlgoHodo::fvdChanCountsSinceLastRateUpdate
std::vector< std::vector< Double_t > > fvdChanCountsSinceLastRateUpdate
[ Hodo ]
Definition: CbmMcbm2018MonitorAlgoHodo.h:273
CbmMcbm2018MonitorAlgoHodo::fbMonitorMode
Bool_t fbMonitorMode
Default set closest cosmic setup stack.
Definition: CbmMcbm2018MonitorAlgoHodo.h:94
CbmMcbm2018MonitorAlgoHodo::ProcessHitInfo
void ProcessHitInfo(stsxyter::Message mess, const UInt_t &uHodoIdx, const UInt_t &uMsIdx)
Definition: CbmMcbm2018MonitorAlgoHodo.cxx:664
CbmMcbm2018MonitorAlgoHodo::fhHodoFiberCoincMapXY
std::vector< TH2 * > fhHodoFiberCoincMapXY
+/- in clock cycles
Definition: CbmMcbm2018MonitorAlgoHodo.h:245
CbmMcbm2018MonitorAlgoHodo::fvuAdcOffsHodo
std::vector< UInt_t > fvuAdcOffsHodo
Definition: CbmMcbm2018MonitorAlgoHodo.h:124
CbmMcbm2018MonitorAlgoHodo::kuNbElinksDpb
static const UInt_t kuNbElinksDpb
Definition: CbmMcbm2018MonitorAlgoHodo.h:132
CbmMcbm2018MonitorAlgoHodo::fhHodoChanAdcRawProf
std::vector< TProfile * > fhHodoChanAdcRawProf
[ Hodo ]
Definition: CbmMcbm2018MonitorAlgoHodo.h:224
CbmMcbm2018MonitorAlgoHodo::fhHodoFiberAdc
std::vector< std::vector< TH2 * > > fhHodoFiberAdc
[ Hodo ][ Axis ]
Definition: CbmMcbm2018MonitorAlgoHodo.h:235
CbmMcbm2018MonitorAlgoHodo::SetHodoElinkIdx
void SetHodoElinkIdx(UInt_t uElinkHodoA=5, UInt_t uElinkHodoB=10)
Definition: CbmMcbm2018MonitorAlgoHodo.h:71
CbmMcbm2018MonitorAlgoHodo::fvuAdcGainHodo
std::vector< UInt_t > fvuAdcGainHodo
Definition: CbmMcbm2018MonitorAlgoHodo.h:123
CbmMcbm2018MonitorAlgoHodo::kuNbHodos
static const UInt_t kuNbHodos
Max Nb of eLinks for this sDPB: 2 GBTx with 42 eLinks each.
Definition: CbmMcbm2018MonitorAlgoHodo.h:134
CbmMcbm2018MonitorAlgoHodo::~CbmMcbm2018MonitorAlgoHodo
~CbmMcbm2018MonitorAlgoHodo()
Definition: CbmMcbm2018MonitorAlgoHodo.cxx:141
CbmMcbm2018MonitorAlgoHodo::ftStartTimeUnix
std::chrono::steady_clock::time_point ftStartTimeUnix
Definition: CbmMcbm2018MonitorAlgoHodo.h:209
CbmMcbm2018MonitorAlgoHodo::fuCurrentEquipmentId
UInt_t fuCurrentEquipmentId
Definition: CbmMcbm2018MonitorAlgoHodo.h:194
CbmMcbm2018MonitorAlgoHodo::fuCurrDpbId
UInt_t fuCurrDpbId
Current equipment ID, tells from which DPB the current MS is originating.
Definition: CbmMcbm2018MonitorAlgoHodo.h:196
CbmMcbm2018MonitorAlgoHodo::fhHodoFullCoincResidualXY
TH2 * fhHodoFullCoincResidualXY
Definition: CbmMcbm2018MonitorAlgoHodo.h:257
CbmMcbm2018MonitorAlgoHodo::fcHodoFullCoincPosEvo
TCanvas * fcHodoFullCoincPosEvo
Definition: CbmMcbm2018MonitorAlgoHodo.h:287
CbmMcbm2018MonitorAlgoHodo::InitContainers
Bool_t InitContainers()
Definition: CbmMcbm2018MonitorAlgoHodo.cxx:160
CbmMcbm2018MonitorAlgoHodo::fhHodoFullCoincPosEvo
std::vector< std::vector< TH2 * > > fhHodoFullCoincPosEvo
Definition: CbmMcbm2018MonitorAlgoHodo.h:261
CbmMcbm2018MonitorAlgoHodo::fuPreviousHitAsic
UInt_t fuPreviousHitAsic
[ Hodo ][ Chan ]
Definition: CbmMcbm2018MonitorAlgoHodo.h:276
CbmMcbm2018MonitorAlgoHodo::fhHodoChanRawTs
std::vector< TH2 * > fhHodoChanRawTs
[ Hodo ]
Definition: CbmMcbm2018MonitorAlgoHodo.h:227
CbmMcbm2018MonitorAlgoHodo::fhHodoChanMissEvt
std::vector< TH2 * > fhHodoChanMissEvt
[ Hodo ]
Definition: CbmMcbm2018MonitorAlgoHodo.h:228
CbmStsDigi.h
CbmMcbm2018MonitorAlgoHodo::fhHodoChanCntRaw
std::vector< TH1 * > fhHodoChanCntRaw
Raw = ASIC channels.
Definition: CbmMcbm2018MonitorAlgoHodo.h:222
CbmStar2019Algo.h
CbmMcbm2018MonitorAlgoHodo::fhHodoChanDistT
std::vector< TH2 * > fhHodoChanDistT
[ Hodo ]
Definition: CbmMcbm2018MonitorAlgoHodo.h:232
CbmMcbm2018MonitorAlgoHodo::fhHodoFullCoincPosA
TH2 * fhHodoFullCoincPosA
[ Axis ]
Definition: CbmMcbm2018MonitorAlgoHodo.h:253
CbmMcbm2018MonitorAlgoHodo::fhHodoFiberCoincTimeSameAB
std::vector< TH1 * > fhHodoFiberCoincTimeSameAB
[ Axis ]
Definition: CbmMcbm2018MonitorAlgoHodo.h:250
CbmMcbm2018MonitorAlgoHodo::fhHodoMessType
TH1 * fhHodoMessType
All hits (time in bins, ADC in bins, asic, channel) in last MS, sorted with "<" operator.
Definition: CbmMcbm2018MonitorAlgoHodo.h:217
CbmMcbm2018MonitorAlgoHodo::fulCurrentMsIdx
ULong64_t fulCurrentMsIdx
Definition: CbmMcbm2018MonitorAlgoHodo.h:182
CbmStar2019Algo
Definition: CbmStar2019Algo.h:43
CbmMcbm2018MonitorAlgoHodo::SetHodoSwapXY
void SetHodoSwapXY(Bool_t bSwapHodoA=kFALSE, Bool_t bSwapHodoB=kTRUE)
Default set for mMUCH FMC slots 8 and 9.
Definition: CbmMcbm2018MonitorAlgoHodo.h:75
CbmMcbm2018MonitorAlgoHodo::fhHodoFiberCoincWalkXY_X
std::vector< TH2 * > fhHodoFiberCoincWalkXY_X
[ Hodo ]
Definition: CbmMcbm2018MonitorAlgoHodo.h:247
CbmMcbm2018MonitorAlgoHodo::fhHodoFiberCoincTimeXY
std::vector< TH1 * > fhHodoFiberCoincTimeXY
[ Hodo ]
Definition: CbmMcbm2018MonitorAlgoHodo.h:246
CbmMcbm2018MonitorAlgoHodo::SetDpbId
void SetDpbId(UInt_t uDpbId=0x5b75)
Definition: CbmMcbm2018MonitorAlgoHodo.h:70
CbmMcbm2018MonitorAlgoHodo::fhHodoFullCoincTimeDiff
TH1 * fhHodoFullCoincTimeDiff
Definition: CbmMcbm2018MonitorAlgoHodo.h:258
CbmMcbm2018MonitorAlgoHodo::kuChannelToFiberMap
const UInt_t kuChannelToFiberMap[kuNbChanPerAsic]
Definition: CbmMcbm2018MonitorAlgoHodo.h:149
CbmMcbm2018MonitorAlgoHodo::Finish
virtual void Finish()
Definition: CbmMcbm2018MonitorAlgoHodo.cxx:153
CbmMcbm2018MonitorAlgoHodo::AddMsComponentToList
void AddMsComponentToList(size_t component, UShort_t usDetectorId)
Definition: CbmMcbm2018MonitorAlgoHodo.cxx:372
CbmMcbm2018MonitorAlgoHodo::fvdPreviousHitTimePerAsic
std::vector< Double_t > fvdPreviousHitTimePerAsic
Definition: CbmMcbm2018MonitorAlgoHodo.h:277
CbmMcbm2018MonitorAlgoHodo::kuChannelToPixelMap
const UInt_t kuChannelToPixelMap[kuNbChanPerAsic]
Map from channel index to Hodoscope Fiber.
Definition: CbmMcbm2018MonitorAlgoHodo.h:159
CbmMcbm2018MonitorAlgoHodo::CreateHistograms
Bool_t CreateHistograms()
Definition: CbmMcbm2018MonitorAlgoHodo.cxx:799
CbmMcbm2018MonitorAlgoHodo::fhHodoMsStatusFieldType
TH2 * fhHodoMsStatusFieldType
Definition: CbmMcbm2018MonitorAlgoHodo.h:219
CbmMcbm2018MonitorAlgoHodo::fhHodoFiberAdcProf
std::vector< std::vector< TProfile * > > fhHodoFiberAdcProf
[ Hodo ][ Axis ]
Definition: CbmMcbm2018MonitorAlgoHodo.h:236
CbmMcbm2018MonitorAlgoHodo::ResetHistograms
Bool_t ResetHistograms()
Definition: CbmMcbm2018MonitorAlgoHodo.cxx:1856
CbmMcbm2018MonitorAlgoHodo::fhHodoFullCoincCompX
TH2 * fhHodoFullCoincCompX
Definition: CbmMcbm2018MonitorAlgoHodo.h:255
CbmMcbm2018MonitorAlgoHodo::fhPrevHitDtAllAsics
TH1 * fhPrevHitDtAllAsics
Setup debugging.
Definition: CbmMcbm2018MonitorAlgoHodo.h:263
StsXyterMessage.h
CbmMcbm2018MonitorAlgoHodo::fhHodoFiberCoincWalkXY_Y
std::vector< TH2 * > fhHodoFiberCoincWalkXY_Y
[ Hodo ]
Definition: CbmMcbm2018MonitorAlgoHodo.h:248
CbmMcbm2018MonitorAlgoHodo::operator=
CbmMcbm2018MonitorAlgoHodo operator=(const CbmMcbm2018MonitorAlgoHodo &)
CbmMcbm2018MonitorAlgoHodo::fhPrevHitDtAsicsAB
TH1 * fhPrevHitDtAsicsAB
Definition: CbmMcbm2018MonitorAlgoHodo.h:266
stsxyter::kdClockCycleNs
static const double kdClockCycleNs
Definition: StsXyterMessage.h:156
CbmMcbm2018MonitorAlgoHodo::fvdPrevMsTime
std::vector< Double_t > fvdPrevMsTime
End Time in ns of current TS Core from the index of the first MS first component.
Definition: CbmMcbm2018MonitorAlgoHodo.h:187
CbmMcbm2018MonitorAlgoHodo::fcHodoPrevHitDt
TCanvas * fcHodoPrevHitDt
Definition: CbmMcbm2018MonitorAlgoHodo.h:288
CbmMcbm2018MonitorAlgoHodo::fcHodoFullCoincPos
TCanvas * fcHodoFullCoincPos
Definition: CbmMcbm2018MonitorAlgoHodo.h:286
CbmMcbm2018MonitorAlgoHodo::fcHodoFiberCoincAB
TCanvas * fcHodoFiberCoincAB
Definition: CbmMcbm2018MonitorAlgoHodo.h:284
CbmMcbm2018MonitorAlgoHodo::kuChannelToPlaneMap
const UInt_t kuChannelToPlaneMap[kuNbChanPerAsic]
Map from channel index to PMT pixel.
Definition: CbmMcbm2018MonitorAlgoHodo.h:170
CbmMcbm2018MonitorAlgoHodo::fhPrevHitDtAsicB
TH1 * fhPrevHitDtAsicB
Definition: CbmMcbm2018MonitorAlgoHodo.h:265
CbmMcbm2018MonitorAlgoHodo::CbmMcbm2018MonitorAlgoHodo
CbmMcbm2018MonitorAlgoHodo(const CbmMcbm2018MonitorAlgoHodo &)
CbmMcbm2018MonitorAlgoHodo::fhHodoChanMissEvtEvo
std::vector< TH2 * > fhHodoChanMissEvtEvo
[ Hodo ]
Definition: CbmMcbm2018MonitorAlgoHodo.h:229
CbmMcbm2018MonitorAlgoHodo::fdMsTime
Double_t fdMsTime
Header time of previous MS per link.
Definition: CbmMcbm2018MonitorAlgoHodo.h:189
CbmMcbm2018MonitorAlgoHodo::kuBytesPerMessage
static const UInt_t kuBytesPerMessage
Definition: CbmMcbm2018MonitorAlgoHodo.h:131
CbmMcbm2018MonitorAlgoHodo::fcHodoSummaryRaw
std::vector< TCanvas * > fcHodoSummaryRaw
Definition: CbmMcbm2018MonitorAlgoHodo.h:281
CbmMcbm2018MonitorAlgoHodo::fhHodoChanAdcRaw
std::vector< TH2 * > fhHodoChanAdcRaw
[ Hodo ]
Definition: CbmMcbm2018MonitorAlgoHodo.h:223
CbmMcbm2018MonitorAlgoHodo::fvmHitsInMs
std::vector< stsxyter::FinalHit > fvmHitsInMs
Hits time-sorting.
Definition: CbmMcbm2018MonitorAlgoHodo.h:213
CbmMcbm2018MonitorAlgoHodo::fhHodoFiberHitRateEvo
std::vector< std::vector< TH2 * > > fhHodoFiberHitRateEvo
[ Hodo ][ Axis ]
Definition: CbmMcbm2018MonitorAlgoHodo.h:237
CbmMcbm2018MonitorAlgoHodo::fhHodoChanHitRateEvo
std::vector< TH2 * > fhHodoChanHitRateEvo
[ Hodo ]
Definition: CbmMcbm2018MonitorAlgoHodo.h:230
CbmMcbm2018MonitorAlgoHodo::fvulCurrentTsMsb
ULong64_t fvulCurrentTsMsb
Definition: CbmMcbm2018MonitorAlgoHodo.h:201
CbmMcbm2018MonitorAlgoHodo::Reset
virtual void Reset()
Definition: CbmMcbm2018MonitorAlgoHodo.cxx:152
CbmMcbm2018MonitorAlgoHodo::SetMonitorMode
void SetMonitorMode(Bool_t bFlagIn=kTRUE)
Definition: CbmMcbm2018MonitorAlgoHodo.h:63
CbmMcbm2018MonitorAlgoHodo::fdTimeCoincLimit
Double_t fdTimeCoincLimit
Definition: CbmMcbm2018MonitorAlgoHodo.h:241
StsXyterFinalHit.h
CbmMcbm2018MonitorAlgoHodo::fhHodoFullCoincPosB
TH2 * fhHodoFullCoincPosB
Definition: CbmMcbm2018MonitorAlgoHodo.h:254
CbmMcbm2018MonitorAlgoHodo::SetHodoInvertX
void SetHodoInvertX(Bool_t bInvHodoA=kFALSE, Bool_t bInvHodoB=kTRUE)
Default set closest cosmic setup stack.
Definition: CbmMcbm2018MonitorAlgoHodo.h:80
CbmMcbm2018MonitorAlgoHodo::fhHodoFullCoincTimeWalk
std::vector< std::vector< TH2 * > > fhHodoFullCoincTimeWalk
Definition: CbmMcbm2018MonitorAlgoHodo.h:259
CbmMcbm2018MonitorAlgoHodo::fcHodoFiberCoinc
TCanvas * fcHodoFiberCoinc
Definition: CbmMcbm2018MonitorAlgoHodo.h:283
CbmMcbm2018MonitorAlgoHodo::fhHodoFiberCoincMapDiffAB
std::vector< TH2 * > fhHodoFiberCoincMapDiffAB
[ Axis ]
Definition: CbmMcbm2018MonitorAlgoHodo.h:251
CbmMcbm2018MonitorAlgoHodo::CbmMcbm2018MonitorAlgoHodo
CbmMcbm2018MonitorAlgoHodo()
Definition: CbmMcbm2018MonitorAlgoHodo.cxx:34
CbmMcbm2018MonitorAlgoHodo::fcHodoSummaryFiber
std::vector< TCanvas * > fcHodoSummaryFiber
Definition: CbmMcbm2018MonitorAlgoHodo.h:282
CbmMcbm2018MonitorAlgoHodo::fhHodoFullCoincCompY
TH2 * fhHodoFullCoincCompY
Definition: CbmMcbm2018MonitorAlgoHodo.h:256
CbmMcbm2018MonitorAlgoHodo::GetParList
TList * GetParList()
Definition: CbmMcbm2018MonitorAlgoHodo.cxx:178
CbmMcbm2018MonitorAlgoHodo::ProcessMs
Bool_t ProcessMs(const fles::Timeslice &ts, size_t uMsCompIdx, size_t uMsIdx)
Definition: CbmMcbm2018MonitorAlgoHodo.cxx:462
CbmMcbm2018MonitorAlgoHodo::fviTimeSecLastRateUpdate
std::vector< Int_t > fviTimeSecLastRateUpdate
Definition: CbmMcbm2018MonitorAlgoHodo.h:271
CbmMcbm2018MonitorAlgoHodo::fdTsStartTime
Double_t fdTsStartTime
Definition: CbmMcbm2018MonitorAlgoHodo.h:184
CbmMcbm2018MonitorAlgoHodo::Init
virtual Bool_t Init()
Definition: CbmMcbm2018MonitorAlgoHodo.cxx:147
CbmMcbm2018MonitorAlgoHodo::ReInitContainers
Bool_t ReInitContainers()
Definition: CbmMcbm2018MonitorAlgoHodo.cxx:166
CbmMcbm2018MonitorAlgoHodo::FillHistograms
Bool_t FillHistograms()
Definition: CbmMcbm2018MonitorAlgoHodo.cxx:1671
CbmMcbm2018MonitorAlgoHodo::fmMsgCounter
std::map< stsxyter::MessType, UInt_t > fmMsgCounter
Definition: CbmMcbm2018MonitorAlgoHodo.h:192
CbmMcbm2018MonitorAlgoHodo::fhHodoMessTypePerElink
TH2 * fhHodoMessTypePerElink
Definition: CbmMcbm2018MonitorAlgoHodo.h:220
CbmMcbm2018MonitorAlgoHodo::fdTimeOffsetNs
Double_t fdTimeOffsetNs
User settings: Data correction parameters.
Definition: CbmMcbm2018MonitorAlgoHodo.h:127
CbmMcbm2018MonitorAlgoHodo::fvuCurrentTsMsbCycle
UInt_t fvuCurrentTsMsbCycle
Current TS MSB for each DPB.
Definition: CbmMcbm2018MonitorAlgoHodo.h:202
CbmMcbm2018MonitorAlgoHodo::fdTimeCoincLimitNs
Double_t fdTimeCoincLimitNs
+/- in clock cycles
Definition: CbmMcbm2018MonitorAlgoHodo.h:242
CbmMcbm2018MonitorAlgoHodo::ProcessStatusInfo
void ProcessStatusInfo(stsxyter::Message mess)
Definition: CbmMcbm2018MonitorAlgoHodo.cxx:777
CbmMcbm2018MonitorAlgoHodo::fulCurrentTsIdx
ULong64_t fulCurrentTsIdx
Map from channel index to Hodoscope Axis (X or Y)
Definition: CbmMcbm2018MonitorAlgoHodo.h:181
CbmMcbm2018MonitorAlgoHodo::fhHodoFiberCoincMapSameAB
std::vector< TH2 * > fhHodoFiberCoincMapSameAB
[ Hodo ]
Definition: CbmMcbm2018MonitorAlgoHodo.h:249
CbmMcbm2018MonitorAlgoHodo::fhHodoChanAdcCalProf
std::vector< TProfile * > fhHodoChanAdcCalProf
[ Hodo ]
Definition: CbmMcbm2018MonitorAlgoHodo.h:226
CbmMcbm2018MonitorAlgoHodo::fvbHodoInvertX
std::vector< Bool_t > fvbHodoInvertX
Definition: CbmMcbm2018MonitorAlgoHodo.h:121
CbmMcbm2018MonitorAlgoHodo::fhHodoChanHitRateProf
std::vector< TProfile * > fhHodoChanHitRateProf
[ Hodo ]
Definition: CbmMcbm2018MonitorAlgoHodo.h:231
CbmMcbm2018MonitorAlgoHodo::fiRunStartDateTimeSec
Int_t fiRunStartDateTimeSec
Temp holder until Current equipment ID is properly filled in MS.
Definition: CbmMcbm2018MonitorAlgoHodo.h:198
CbmMcbm2018MonitorAlgoHodo::fiBinSizeDatePlots
Int_t fiBinSizeDatePlots
Start of run time since "epoch" in s, for the plots with date as X axis.
Definition: CbmMcbm2018MonitorAlgoHodo.h:199
CbmMcbm2018MonitorAlgoHodo::InitParameters
Bool_t InitParameters()
Definition: CbmMcbm2018MonitorAlgoHodo.cxx:186
CbmMcbm2018MonitorAlgoHodo::fiTimeIntervalRateUpdate
Int_t fiTimeIntervalRateUpdate
Definition: CbmMcbm2018MonitorAlgoHodo.h:270
CbmMcbm2018MonitorAlgoHodo::ProcessTsMsbInfo
void ProcessTsMsbInfo(stsxyter::Message mess, UInt_t uMessIdx=0, UInt_t uMsIdx=0)
Definition: CbmMcbm2018MonitorAlgoHodo.cxx:729