Belle II Software  release-05-01-25
TRGECLDQMModule.cc
1 // $Id$
2 //---------------------------------------------------------------
3 // Filename : TRGECLModule.cc
4 // Section : TRG ECL
5 // Owner : InSoo Lee / Yuuji Unno
6 // Email : islee@hep.hanyang.ac.kr / yunno@post.kek.jp
7 //---------------------------------------------------------------
8 // Description : A trigger module for TRG ECL
9 //---------------------------------------------------------------
10 // 1.00 : 2017/05/08 : First version
11 //---------------------------------------------------------------
12 #include <trg/ecl/modules/trgeclDQM/TRGECLDQMModule.h>
13 #include <trg/ecl/TrgEclMapping.h>
14 #include <trg/ecl/TrgEclCluster.h>
15 #include <trg/ecl/TrgEclDataBase.h>
16 
17 #include <framework/datastore/StoreArray.h>
18 
19 #include <TDirectory.h>
20 
21 using namespace Belle2;
22 
23 REG_MODULE(TRGECLDQM);
24 
25 
27 {
28 
29 
30  setDescription("DQM for ECL Trigger system");
32 
33  TCId.clear();
34  TCEnergy.clear();
35  TCTiming.clear();
36  RevoFAM.clear();
37  RevoTrg.clear();
38  FineTiming.clear();
39 
40 }
41 
42 
44 {
45 
46 }
47 
48 
50 {
51  TDirectory* oldDir = gDirectory;
52  TDirectory* dirDQM = (TDirectory*)gDirectory->Get("TRG");
53  if (!dirDQM) {
54  dirDQM = oldDir->mkdir("TRG");
55  }
56  dirDQM->cd();
57 
58  h_TCId = new TH1D("h_TCId", "Hit TC ID", 578, 0, 578);
59  h_TCthetaId = new TH1D("h_TCthetaId", "Hit TC #theta ID", 19, 0, 19);
60  h_TCphiId_FWD = new TH1D("h_TCphiId_FWD", "Hit TC #phi ID in FWD", 34, 0, 34);
61  h_TCphiId_BR = new TH1D("h_TCphiId_BR", "Hit TC #phi ID in BR", 38, 0, 38);
62  h_TCphiId_BWD = new TH1D("h_TCphiId_BWD", "Hit TC #phi ID in BWD", 34, 0, 34);
63  h_TotalEnergy = new TH1D("h_TotalEnergy", "Total TC Energy (ADC)", 100, 0, 3000);
64  h_TCEnergy = new TH1D("h_TCEnergy", "TC Energy (ADC)", 100, 0, 1500);
65  h_Narrow_TotalEnergy = new TH1D("h_Narrow_TotalEnergy", "Total TC Energy (ADC)", 100, 0, 500);
66  h_Narrow_TCEnergy = new TH1D("h_Narrow_TCEnergy", "TC Energy (ADC)", 100, 0, 100);
67  h_n_TChit_event = new TH1D("h_n_TChit_event", "N(TC) ", 40, 0, 40);
68  h_Cluster = new TH1D("h_Cluster", "N(Cluster) ", 20, 0, 20);
69  h_TCTiming = new TH1D("h_TCTiming", "TC Timing (ns)", 100, 3010, 3210);
70  h_TRGTiming = new TH1D("h_TRGTiming", "TRG Timing (ns)", 100, 3010, 3210);
71  h_Cal_TCTiming = new TH1D("h_Cal_TCTiming", "Cal TC Timing (ns)", 100, -400, 400);
72  h_Cal_TRGTiming = new TH1D("h_Cal_TRGTiming", "TRG Timing (ns)", 100, -400, 400);
73  h_ECL_TriggerBit = new TH1D("h_ECL_TriggerBit", "ECL Trigger Bit", 29, 0, 29);
74  h_Cluster_Energy_Sum = new TH1D("h_Cluster_Energy_Sum", "Energy Sum of 2 Clusters (ADC)", 300, 0, 3000);
75 
76  oldDir->cd();
77 }
78 
79 
81 {
82 
83  // calls back the defineHisto() function, but the HistoManager module has to be in the path
84  REG_HISTOGRAM
85 
86  trgeclHitArray.registerInDataStore();
87  trgeclEvtArray.registerInDataStore();
88  trgeclCluster.registerInDataStore();
89  trgeclSumArray.registerInDataStore();
90 
91 }
92 
93 
95 {
96 }
97 
99 {
100  // delete h_TCId;
101 }
102 
104 {
105  TCId.clear();
106  TCEnergy.clear();
107  TCTiming.clear();
108  RevoFAM.clear();
109  RevoTrg.clear();
110  FineTiming.clear();
111 
112  // StoreArray<TRGECLUnpackerStore> trgeclHitArray;
113  /* cppcheck-suppress variableScope */
114  double HitTiming;
115  /* cppcheck-suppress variableScope */
116  double HitEnergy;
117  double HitRevoFam = 0;
118  double HitRevoTrg = 0;
119  double HitFineTiming = 0;
120  double HitRevoEvtTiming = 0;
121  double HitCalTiming = 0;
122  int CheckSum = 0;
123 
124  for (int iii = 0; iii < trgeclEvtArray.getEntries(); iii++) {
125  TRGECLUnpackerEvtStore* aTRGECLUnpackerEvtStore = trgeclEvtArray[iii];
126 
127  HitFineTiming = aTRGECLUnpackerEvtStore -> getEvtTime();
128  HitRevoTrg = aTRGECLUnpackerEvtStore -> getL1Revo();
129  HitRevoEvtTiming = aTRGECLUnpackerEvtStore -> getEvtRevo();
130  CheckSum = aTRGECLUnpackerEvtStore -> getEvtExist() ;
131 
132 
133  RevoTrg.push_back(HitRevoTrg);
134 
135 
136 
137  }
138  if (CheckSum == 0) {return;}
139 
140 
141 
142  for (int ii = 0; ii < trgeclHitArray.getEntries(); ii++) {
143  TRGECLUnpackerStore* aTRGECLUnpackerStore = trgeclHitArray[ii];
144  int TCID = (aTRGECLUnpackerStore->getTCId());
145  int hit_win = aTRGECLUnpackerStore -> getHitWin();
146  HitEnergy = aTRGECLUnpackerStore -> getTCEnergy();
147  HitTiming = aTRGECLUnpackerStore ->getTCTime();
148 
149  if (TCID < 1 || TCID > 576 || HitEnergy == 0) {continue;}
150  if (!(hit_win == 3 || hit_win == 4)) {continue;}
151  HitCalTiming = aTRGECLUnpackerStore ->getTCCALTime() ;
152  HitRevoFam = aTRGECLUnpackerStore-> getRevoFAM() ;
153 
154  TCId.push_back(TCID);
155  TCEnergy.push_back(HitEnergy);
156  TCTiming.push_back(HitTiming);
157  RevoFAM.push_back(HitRevoFam);
158  FineTiming.push_back(HitCalTiming);
159  }
160  //
161  //
162  if (TCId.size() == 0) {return;}
163 
164  /* cppcheck-suppress variableScope */
165  int phy;
166  /* cppcheck-suppress variableScope */
167  int b1;
168  /* cppcheck-suppress variableScope */
169  int b2v;
170  /* cppcheck-suppress variableScope */
171  int b2s;
172  /* cppcheck-suppress variableScope */
173  int mu;
174  /* cppcheck-suppress variableScope */
175  int pre;
176  /* cppcheck-suppress variableScope */
177  int clover;
178  /* cppcheck-suppress variableScope */
179  int tsource;
180  /* cppcheck-suppress variableScope */
181  int b1type;
182  /* cppcheck-suppress variableScope */
183  int etot;
184  /* cppcheck-suppress variableScope */
185  int vlm;
186  /* cppcheck-suppress variableScope */
187  int eclburst;
188  // int s_hit_win= 0;
189  std::vector<int> trgbit ;
190  trgbit.resize(44, 0);
191  for (int iii = 0; iii < trgeclSumArray.getEntries(); iii++) {
192  TRGECLUnpackerSumStore* aTRGECLUnpackerSumStore = trgeclSumArray[iii];
193 
194  tsource = aTRGECLUnpackerSumStore ->getTimeType();
195  phy = aTRGECLUnpackerSumStore ->getPhysics();
196  b1 = aTRGECLUnpackerSumStore ->get2DBhabha();
197  b1type = aTRGECLUnpackerSumStore -> getBhabhaType();
198  b2v = aTRGECLUnpackerSumStore -> get3DBhabhaV();
199  b2s = aTRGECLUnpackerSumStore -> get3DBhabhaS() ;
200  etot = aTRGECLUnpackerSumStore -> getEtotType();
201  clover = aTRGECLUnpackerSumStore -> getICNOver();
202  vlm = aTRGECLUnpackerSumStore -> getLowMulti();
203  mu = aTRGECLUnpackerSumStore -> getMumu();
204  pre = aTRGECLUnpackerSumStore -> getPrescale();
205  eclburst = aTRGECLUnpackerSumStore -> getECLBST();
206 
207  //
208  trgbit[0] = 1;
209  trgbit[1] = tsource & 0x1;
210  trgbit[2] = (tsource >> 1) & 0x1;
211  trgbit[3] = (tsource >> 2) & 0x1;
212  trgbit[4] = phy;
213  trgbit[5] = b1;
214  trgbit[6] = b2v;
215  trgbit[7] = b2s;
216  trgbit[8] = etot & 0x1;
217  trgbit[9] = (etot >> 1) & 0x1;
218  trgbit[10] = (etot >> 2) & 0x1;
219  trgbit[11] = clover;
220 
221  for (int j = 0; j < 14; j++) {
222  trgbit[12 + j] = (vlm >> j) & 0x1;
223  }
224 
225  trgbit[26] = mu;
226  trgbit[27] = pre;
227  trgbit[28] = eclburst;
228 
229  trgbit[29] = b1type & 0x1;
230  trgbit[30] = (b1type >> 1) & 0x1;
231  trgbit[31] = (b1type >> 2) & 0x1;
232  trgbit[32] = (b1type >> 3) & 0x1;
233  trgbit[33] = (b1type >> 4) & 0x1;
234  trgbit[34] = (b1type >> 5) & 0x1;
235  trgbit[35] = (b1type >> 6) & 0x1;
236  trgbit[36] = (b1type >> 7) & 0x1;
237  trgbit[37] = (b1type >> 8) & 0x1;
238  trgbit[38] = (b1type >> 9) & 0x1;
239  trgbit[39] = (b1type >> 10) & 0x1;
240  trgbit[40] = (b1type >> 11) & 0x1;
241  trgbit[41] = (b1type >> 12) & 0x1;
242  trgbit[42] = (b1type >> 13) & 0x1;
243  trgbit[43] = (b1type >> 14) & 0x1;
244 
245 
246  }
247 
248  const char* label[44] = {"Hit", "Timing Source(FWD)", "Timing Source(BR)", "Timing Source(BWD)", "physics Trigger", "2D Bhabha Veto", "3D Bhabha veto", "3D Bhabha Selection", "E Low", "E High", "E LOM", "Cluster Overflow", "Low multi bit 0", "Low multi bit 1", "Low multi bit 2", "Low multi bit 3", "Low multi bit 4", "Low multi bit 5", "Low multi bit 6", "Low multi bit 7", "Low multi bit 8", "Low multi bit 9", "Low multi bit 10", "Low multi bit 11", "Low multi bit 12", "Low multi bit 13", "mumu bit", "prescale bit", "ECL burst bit" , "2D Bhabha bit 1", "2D Bhabha bit 2" , "2D Bhabha bit 3", "2D Bhabha bit 4", "2D Bhabha bit 5", "2D Bhabha bit 6", "2D Bhabha bit 7", "2D Bhabha bit 8", "2D Bhabha bit 9", "2D Bhabha bit 10", "2D Bhabha bit 11", "2D Bhabha bit 12", "2D Bhabha bit 13", "2D Bhabha bit 14"};
249 
250 
251 
252  for (int j = 0; j < 29; j++) {
253  if (trgbit[j] == 0x1) {h_ECL_TriggerBit->Fill(j, 1);}
254  h_ECL_TriggerBit->GetXaxis()-> SetBinLabel(j + 1, label[j]);
255 
256  }
257  h_ECL_TriggerBit->SetStats(0);
258 
259 
260 
261  //----------------------
262  //Clustering
263  //----------------------
264  //
265 
266  TrgEclCluster _TCCluster ;
267  _TCCluster.setICN(TCId, TCEnergy, TCTiming);
268 
269  int c = _TCCluster.getNofCluster();
270  h_Cluster->Fill(c);
271  std::vector<double> ClusterTiming;
272  std::vector<double> ClusterEnergy;
273  std::vector<int> MaxTCId;
274  ClusterTiming.clear();
275  ClusterEnergy.clear();
276  MaxTCId.clear();
277 
278  for (int iii = 0; iii < trgeclCluster.getEntries(); iii++) {
279  TRGECLCluster* aTRGECLCluster = trgeclCluster[iii];
280  int maxTCId = aTRGECLCluster ->getMaxTCId();
281  double clusterenergy = aTRGECLCluster ->getEnergyDep();
282  double clustertiming = aTRGECLCluster -> getTimeAve();
283  ClusterTiming.push_back(clustertiming);
284  ClusterEnergy.push_back(clusterenergy);
285  MaxTCId.push_back(maxTCId);
286  }
287 
288 
289  std::vector<double> maxClusterEnergy;
290  std::vector<double> maxClusterTiming;
291  std::vector<int> maxCenterTCId;
292  maxClusterTiming.clear();
293  maxClusterEnergy.clear();
294  maxCenterTCId.clear();
295 
296  maxClusterEnergy.resize(2, 0.0);
297  maxClusterTiming.resize(2, 0.0);
298  maxCenterTCId.resize(2, 0.0);
299  const int cl_size = ClusterEnergy.size();
300  for (int icl = 0; icl < cl_size; icl++) {
301  if (maxClusterEnergy[0] < ClusterEnergy[icl]) {
302  maxClusterEnergy[0] = ClusterEnergy[icl];
303  maxClusterTiming[0] = ClusterTiming[icl];
304  maxCenterTCId[0] = MaxTCId[icl];
305  } else if (maxClusterEnergy[1] < ClusterEnergy[icl]) {
306  maxClusterEnergy[1] = ClusterEnergy[icl];
307  maxClusterTiming[1] = ClusterTiming[icl];
308  maxCenterTCId[1] = MaxTCId[icl];
309 
310  }
311 
312  }
313  TrgEclDataBase _database;
314 
315  std::vector<double> _3DBhabhaThreshold;
316  _3DBhabhaThreshold = {30, 45}; // /10 MeV
317 
318 
319  bool BtoBFlag = false;
320  bool BhabhaFlag = false;
321  int lut1 = _database.Get3DBhabhaLUT(maxCenterTCId[0]);
322  int lut2 = _database.Get3DBhabhaLUT(maxCenterTCId[1]);
323  int energy1 = 15 & lut1;
324  int energy2 = 15 & lut2;
325  lut1 >>= 4;
326  lut2 >>= 4;
327  int phi1 = 511 & lut1;
328  int phi2 = 511 & lut2;
329  lut1 >>= 9;
330  lut2 >>= 9;
331  int theta1 = lut1;
332  int theta2 = lut2;
333  int dphi = abs(phi1 - phi2);
334  if (dphi > 180) {dphi = 360 - dphi;}
335  int thetaSum = theta1 + theta2;
336  if (dphi > 160 && thetaSum > 165 && thetaSum < 190) {BtoBFlag = true;}
337 
338  if ((maxClusterEnergy[0] * 0.1) > _3DBhabhaThreshold[0] * energy1
339  && (maxClusterEnergy[1] * 0.1) > _3DBhabhaThreshold[0] * (energy2)
340  && ((maxClusterEnergy[0] * 0.1) > _3DBhabhaThreshold[1] * energy1
341  || (maxClusterEnergy[1] * 0.1) > _3DBhabhaThreshold[1] * (energy2))) {
342  if (BtoBFlag) {BhabhaFlag = true;}
343  }
344 
345 
346  if (BhabhaFlag) {
347  h_Cluster_Energy_Sum -> Fill((maxClusterEnergy[0] + maxClusterEnergy[1]) / 5.25);
348  }
349 
350 
351  const int NofTCHit = TCId.size();
352 
353  double totalEnergy = 0;
354  TrgEclMapping* a = new TrgEclMapping();
355  double max = 0;
356  double caltrgtiming = 0;
357  double timing;
358  double trgtiming = 0;
359 
360  for (int ihit = 0; ihit < NofTCHit ; ihit ++) {
361  h_TCId -> Fill(TCId[ihit]);
362  h_TCthetaId -> Fill(a -> getTCThetaIdFromTCId(TCId[ihit]));
363  {
364  if (a->getTCThetaIdFromTCId(TCId[ihit]) < 4) {
365  h_TCphiId_FWD -> Fill(a->getTCPhiIdFromTCId(TCId[ihit]));
366  } else if (a->getTCThetaIdFromTCId(TCId[ihit]) > 3 && a->getTCThetaIdFromTCId(TCId[ihit]) < 16) {
367  h_TCphiId_BR -> Fill(a->getTCPhiIdFromTCId(TCId[ihit]));
368  } else {
369  h_TCphiId_BWD -> Fill(a->getTCPhiIdFromTCId(TCId[ihit]));
370 
371  }
372  }
373  h_TCEnergy -> Fill(TCEnergy[ihit]);
374  h_Narrow_TCEnergy -> Fill(TCEnergy[ihit]);
375  h_Cal_TCTiming -> Fill(FineTiming[ihit]);
376 
377  if (max < TCEnergy[ihit]) {
378  max = TCEnergy[ihit];
379  caltrgtiming = FineTiming[ihit];
380  }
381 
382  totalEnergy += TCEnergy[ihit];
383  h_n_TChit_event -> Fill(NofTCHit);
384  timing = 8 * HitRevoTrg - (128 * RevoFAM[ihit] + TCTiming[ihit]);
385  if (timing < 0) {timing = timing + 10240;}
386  h_TCTiming->Fill(timing);
387  }
388  trgtiming = 8 * HitRevoTrg - (128 * HitRevoEvtTiming + HitFineTiming);
389 
390  if (trgtiming < 0) {trgtiming = trgtiming + 10240;}
391  h_TRGTiming -> Fill(trgtiming);
392  h_Cal_TRGTiming -> Fill(caltrgtiming);
393  h_TotalEnergy -> Fill(totalEnergy);
394  h_Narrow_TotalEnergy -> Fill(totalEnergy);
395 
396  // usleep(100);
397 }
Belle2::TRGECLDQMModule::h_Cal_TCTiming
TH1 * h_Cal_TCTiming
TC Timing / event.
Definition: TRGECLDQMModule.h:72
Belle2::TRGECLDQMModule::h_TCthetaId
TH1 * h_TCthetaId
TCthetaId histogram.
Definition: TRGECLDQMModule.h:48
Belle2::TRGECLDQMModule::h_Cluster
TH1 * h_Cluster
N of Cluster / event.
Definition: TRGECLDQMModule.h:66
Belle2::TRGECLUnpackerStore
Example Detector.
Definition: TRGECLUnpackerStore.h:25
Belle2::TRGECLCluster::getMaxTCId
int getMaxTCId() const
The method to get the Maximum(center) TC id.
Definition: TRGECLCluster.h:113
Belle2::TRGECLDQMModule::h_TRGTiming
TH1 * h_TRGTiming
Event Timing / event.
Definition: TRGECLDQMModule.h:70
Belle2::TRGECLDQMModule::trgeclEvtArray
StoreArray< TRGECLUnpackerEvtStore > trgeclEvtArray
Trg ECL Unpakcer Event output.
Definition: TRGECLDQMModule.h:98
Belle2::Module::setDescription
void setDescription(const std::string &description)
Sets the description of the module.
Definition: Module.cc:216
Belle2::TRGECLCluster
Example Detector.
Definition: TRGECLCluster.h:25
REG_MODULE
#define REG_MODULE(moduleName)
Register the given module (without 'Module' suffix) with the framework.
Definition: Module.h:652
Belle2::Module::c_ParallelProcessingCertified
@ c_ParallelProcessingCertified
This module can be run in parallel processing mode safely (All I/O must be done through the data stor...
Definition: Module.h:82
Belle2::TRGECLDQMModule::endRun
virtual void endRun() override
End Run.
Definition: TRGECLDQMModule.cc:98
Belle2::TRGECLDQMModule::RevoFAM
std::vector< double > RevoFAM
FAM Revolution Clk.
Definition: TRGECLDQMModule.h:88
Belle2::TRGECLDQMModule::h_TotalEnergy
TH1 * h_TotalEnergy
Total Energy.
Definition: TRGECLDQMModule.h:58
Belle2::TRGECLDQMModule::trgeclCluster
StoreArray< TRGECLCluster > trgeclCluster
Trg ECL Cluster output.
Definition: TRGECLDQMModule.h:102
Belle2::TRGECLUnpackerStore::getTCId
int getTCId() const
The method to get cell id.
Definition: TRGECLUnpackerStore.h:80
Belle2::TRGECLDQMModule::h_TCphiId_FWD
TH1 * h_TCphiId_FWD
TCphiId histogram.
Definition: TRGECLDQMModule.h:54
Belle2::TRGECLDQMModule::h_Narrow_TCEnergy
TH1 * h_Narrow_TCEnergy
TC Energy histogram on narrow range.
Definition: TRGECLDQMModule.h:60
Belle2::TrgEclDataBase
class TrgEclDataBase;
Definition: TrgEclDataBase.h:24
Belle2::TRGECLDQMModule::h_TCphiId_BR
TH1 * h_TCphiId_BR
TCphiId histogram.
Definition: TRGECLDQMModule.h:52
Belle2::TrgEclMapping
A class of TC Mapping.
Definition: TrgEclMapping.h:31
Belle2::TRGECLDQMModule::beginRun
virtual void beginRun() override
begin Run
Definition: TRGECLDQMModule.cc:94
Belle2::TRGECLDQMModule::h_TCEnergy
TH1 * h_TCEnergy
TC Energy.
Definition: TRGECLDQMModule.h:56
Belle2::TRGECLDQMModule::FineTiming
std::vector< double > FineTiming
Event Timing.
Definition: TRGECLDQMModule.h:90
Belle2::TRGECLDQMModule::h_Cluster_Energy_Sum
TH1 * h_Cluster_Energy_Sum
Energy sum of 2 Top energetic clusters when 3D bhabnha bit on.
Definition: TRGECLDQMModule.h:78
Belle2::TRGECLDQMModule::h_Narrow_TotalEnergy
TH1 * h_Narrow_TotalEnergy
Total Energy on narrow range.
Definition: TRGECLDQMModule.h:62
Belle2::Module::setPropertyFlags
void setPropertyFlags(unsigned int propertyFlags)
Sets the flags for the module properties.
Definition: Module.cc:210
Belle2::TRGECLDQMModule::h_Cal_TRGTiming
TH1 * h_Cal_TRGTiming
Event Timing / event.
Definition: TRGECLDQMModule.h:74
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::TRGECLDQMModule::initialize
virtual void initialize() override
initialize
Definition: TRGECLDQMModule.cc:80
Belle2::TRGECLDQMModule::TRGECLDQMModule
TRGECLDQMModule()
Costructor.
Definition: TRGECLDQMModule.cc:26
Belle2::TRGECLDQMModule::terminate
virtual void terminate() override
terminate
Definition: TRGECLDQMModule.cc:98
Belle2::TRGECLUnpackerSumStore::get2DBhabha
int get2DBhabha() const
The mothod to get 2D Bhabha bit.
Definition: TRGECLUnpackerSumStore.h:280
Belle2::TRGECLDQMModule::h_TCTiming
TH1 * h_TCTiming
TC Timing / event.
Definition: TRGECLDQMModule.h:68
Belle2::TRGECLUnpackerStore::getTCTime
int getTCTime() const
The method to get hit average time.
Definition: TRGECLUnpackerStore.h:83
Belle2::TRGECLDQMModule::TCId
std::vector< int > TCId
Hit TCId.
Definition: TRGECLDQMModule.h:82
Belle2::TRGECLUnpackerEvtStore
Example Detector.
Definition: TRGECLUnpackerEvtStore.h:25
Belle2::TRGECLDQMModule::event
virtual void event() override
Event.
Definition: TRGECLDQMModule.cc:103
Belle2::TRGECLUnpackerSumStore::getTimeType
int getTimeType() const
The mothod to get Timing Type.
Definition: TRGECLUnpackerSumStore.h:304
Belle2::TRGECLUnpackerSumStore
Example Detector.
Definition: TRGECLUnpackerSumStore.h:25
Belle2::TrgEclCluster::setICN
void setICN(std::vector< int >)
Destructor.
Definition: TrgEclCluster.cc:156
Belle2::TRGECLDQMModule::trgeclHitArray
StoreArray< TRGECLUnpackerStore > trgeclHitArray
Trg ECL Unpakcer TC output.
Definition: TRGECLDQMModule.h:96
Belle2::TRGECLDQMModule::h_n_TChit_event
TH1 * h_n_TChit_event
N of TC Hit / event.
Definition: TRGECLDQMModule.h:64
Belle2::TRGECLDQMModule::RevoTrg
std::vector< double > RevoTrg
GDL Revolution Clk.
Definition: TRGECLDQMModule.h:92
Belle2::TRGECLDQMModule::~TRGECLDQMModule
virtual ~TRGECLDQMModule()
Destrunctor.
Definition: TRGECLDQMModule.cc:43
Belle2::TrgEclCluster::getNofCluster
int getNofCluster()
0 : center , 1; upper , 2: right , 3: lower , 4: lower right
Definition: TrgEclCluster.h:91
Belle2::TrgEclCluster
A Class of ECL Trigger clustering
Definition: TrgEclCluster.h:35
Belle2::TRGECLCluster::getEnergyDep
double getEnergyDep() const
The method to get deposited energy.
Definition: TRGECLCluster.h:120
Belle2::TRGECLDQMModule::TCTiming
std::vector< double > TCTiming
Hit TC Timing.
Definition: TRGECLDQMModule.h:86
Belle2::TRGECLUnpackerStore::getTCCALTime
int getTCCALTime() const
The method to get cal timing.
Definition: TRGECLUnpackerStore.h:86
Belle2::TRGECLDQMModule::TCEnergy
std::vector< double > TCEnergy
Hit TC Energy.
Definition: TRGECLDQMModule.h:84
Belle2::TRGECLDQMModule::trgeclSumArray
StoreArray< TRGECLUnpackerSumStore > trgeclSumArray
Trg Ecl Unpacker Summary output.
Definition: TRGECLDQMModule.h:100
Belle2::TRGECLDQMModule::h_TCphiId_BWD
TH1 * h_TCphiId_BWD
TCphiId histogram.
Definition: TRGECLDQMModule.h:50
Belle2::TRGECLDQMModule::h_TCId
TH1 * h_TCId
TCId histogram.
Definition: TRGECLDQMModule.h:46
Belle2::HistoModule
HistoModule.h is supposed to be used instead of Module.h for the modules with histogram definitions t...
Definition: HistoModule.h:29
Belle2::TRGECLDQMModule::h_ECL_TriggerBit
TH1 * h_ECL_TriggerBit
ECL Trigger Bit.
Definition: TRGECLDQMModule.h:76
Belle2::TRGECLDQMModule::defineHisto
virtual void defineHisto() override
Define Histogram.
Definition: TRGECLDQMModule.cc:49
Belle2::TRGECLUnpackerSumStore::getPhysics
int getPhysics() const
The mothod to get Physics bit.
Definition: TRGECLUnpackerSumStore.h:286