Belle II Software development
TRGGRLDQMModule.cc
1/**************************************************************************
2 * basf2 (Belle II Analysis Software Framework) *
3 * Author: The Belle II Collaboration *
4 * *
5 * See git log for contributors and copyright holders. *
6 * This file is licensed under LGPL-3.0, see LICENSE.md. *
7 **************************************************************************/
8
9#include <trg/grl/modules/TRGGRLDQM/TRGGRLDQMModule.h>
10
11#include <framework/datastore/StoreObjPtr.h>
12
13#include "trg/grl/dataobjects/TRGGRLUnpackerStore.h"
14
15#include <TH1F.h>
16#include <TH1I.h>
17#include <TH2F.h>
18#include <TDirectory.h>
19#include <iostream>
20
21
22using namespace std;
23using namespace Belle2;
24
25REG_MODULE(TRGGRLDQM);
26
28{
29
30 setDescription("DQM for GRL Trigger system");
32
33}
34
36{
37 oldDir = gDirectory;
38 dirDQM = NULL;
39 dirDQM = oldDir->mkdir("TRGGRL");
40 dirDQM->cd();
41
42 h_N_track = new TH1I("h_N_track", "CDCTRG 2D N_track", 8, 0, 8);
43 h_N_track->GetXaxis()->SetTitle("CDCTRG 2D N_track");
44
45 h_phi_i = new TH1F("h_phi_i", "phi_i CDCTRG 2D [10 degrees]", 36, 0, 360);
46 h_phi_i->GetXaxis()->SetTitle("#phi_{i} CDCTRG 2D [10 degrees]");
47 h_phi_CDC = new TH1F("h_phi_CDC", "phi_CDC CDCTRG 2D [10 degrees]", 36, 0, 360);
48 h_phi_CDC->GetXaxis()->SetTitle("#phi_{CDC} CDCTRG 2D [10 degrees]");
49 h_sector_CDC = new TH1F("h_sector_CDC", "Sector_CDC CDCTRG 2D [45 degrees]", 8, -22.5, 337.5);
50 h_sector_CDC->GetXaxis()->SetTitle("Sector_{CDC} CDCTRG 2D [45 degrees]");
51 h_sector_KLM = new TH1F("h_sector_KLM", "Sector_KLM [45 degrees]", 8, -22.5, 337.5);
52 h_sector_KLM->GetXaxis()->SetTitle("Sector_{KLM} [45 degrees]");
53 h_slot_CDC = new TH1F("h_slot_CDC", "Slot_CDC CDCTRG 2D [22.5 degrees]", 16, 0, 360);
54 h_slot_CDC->GetXaxis()->SetTitle("Slot_{CDC} CDCTRG 2D [22.5 degrees]");
55 h_slot_TOP = new TH1F("h_slot_TOP", "Slot_TOP [22.5 degrees]", 16, 0, 360);
56 h_slot_TOP->GetXaxis()->SetTitle("Slot_{TOP} [22.5 degrees]");
57
58 h_E_ECL = new TH1F("h_E_ECL", "ECL cluster energy [5 MeV]", 2048, 0, 10.24);
59 h_E_ECL->GetXaxis()->SetTitle("ECL cluster energy [5 MeV]");
60 h_theta_ECL = new TH1F("h_theta_ECL", "ECL cluster theta [1.4 degrees]", 128, 0, 180);
61 h_theta_ECL->GetXaxis()->SetTitle("ECL cluster #theta [1.4 degrees]");
62 h_phi_ECL = new TH1F("h_phi_ECL", "ECL cluster phi [1.4 degrees]", 256, 0, 360);
63 h_phi_ECL->GetXaxis()->SetTitle("ECL cluster #phi [1.4 degrees]");
64
65 h_CDCL1 = new TH1F("h_CDCL1", "CDCTRG 2D -> L1 trg [ns]", 320, -320 * 7.8, 0);
66 h_CDCL1->GetXaxis()->SetTitle("CDCTRG 2D -> L1 trg [ns]");
67 h_ECLL1 = new TH1F("h_ECLL1", "ECLTRG -> L1 trg [ns]", 320, -320 * 7.8, 0);
68 h_ECLL1->GetXaxis()->SetTitle("ECLTRG -> L1 trg [ns]");
69 h_TOPL1 = new TH1F("h_TOPL1", "TOPTRG -> L1 trg [ns]", 320, -320 * 7.8, 0);
70 h_TOPL1->GetXaxis()->SetTitle("TOPTRG -> L1 trg [ns]");
71 h_KLML1 = new TH1F("h_KLML1", "KLMTRG -> L1 trg [ns]", 320, -320 * 7.8, 0);
72 h_KLML1->GetXaxis()->SetTitle("KLMTRG -> L1 trg [ns]");
73 h_ECLL1_2nd = new TH1F("h_ECLL1_2nd", "ECLTRG 2nd input-> L1 trg [ns]", 320, -320 * 7.8, 0);
74 h_ECLL1_2nd->GetXaxis()->SetTitle("ECLTRG 2nd input -> L1 trg [ns]");
75 h_CDC3DL1 = new TH1F("h_CDC3DL1", "CDCTRG 3D -> L1 trg [ns]", 320, -320 * 7.8, 0);
76 h_CDC3DL1->GetXaxis()->SetTitle("CDCTRG 3D -> L1 trg [ns]");
77 h_CDCNNL1 = new TH1F("h_CDCNNL1", "CDCTRG NN -> L1 trg [ns]", 320, -320 * 7.8, 0);
78 h_CDCNNL1->GetXaxis()->SetTitle("CDCTRG NN -> L1 trg [ns]");
79 h_TSFL1 = new TH1F("h_TSFL1", "CDCTRG TSF -> L1 trg [ns]", 320, -320 * 7.8, 0);
80 h_TSFL1->GetXaxis()->SetTitle("CDCTRG TSF -> L1 trg [ns]");
81 h_B2LL1 = new TH1F("h_B2LL1", "B2L window -> L1 trg [ns]", 320, -320 * 7.8, 0);
82 h_B2LL1->GetXaxis()->SetTitle("B2L window -> L1 trg [ns]");
83
84 h_map_ST = new TH1F("h_map_ST", "CDCTRG short track map [5.625 degrees]", 64, 0, 360);
85 h_map_ST->GetXaxis()->SetTitle("CDCTRG short track map [5.625 degrees]");
86 h_map_ST2 = new TH1F("h_map_ST2", "CDCTRG short track map [5.625 degrees]", 64, 0, 360);
87 h_map_ST2->GetXaxis()->SetTitle("CDCTRG short track map [5.625 degrees]");
88 h_map_veto = new TH1F("h_map_veto", "CDCTRG 2D veto map [5.625 degrees]", 64, 0, 360);
89 h_map_veto->GetXaxis()->SetTitle("CDCTRG 2D veto map [5.625 degrees]");
90 h_map_TSF0 = new TH1F("h_map_TSF0", "CDCTRG TSF0 map [5.625 degrees]", 64, 0, 360);
91 h_map_TSF0->GetXaxis()->SetTitle("CDCTRG TSF0 map [5.625 degrees]");
92 h_map_TSF2 = new TH1F("h_map_TSF2", "CDCTRG TSF2 map [5.625 degrees]", 64, 0, 360);
93 h_map_TSF2->GetXaxis()->SetTitle("CDCTRG TSF2 map [5.625 degrees]");
94 h_map_TSF4 = new TH1F("h_map_TSF4", "CDCTRG TSF4 map [5.625 degrees]", 64, 0, 360);
95 h_map_TSF4->GetXaxis()->SetTitle("CDCTRG TSF4 map [5.625 degrees]");
96 h_map_TSF1 = new TH1F("h_map_TSF1", "CDCTRG TSF1 map [5.625 degrees]", 64, 0, 360);
97 h_map_TSF1->GetXaxis()->SetTitle("CDCTRG TSF1 map [5.625 degrees]");
98 h_map_TSF3 = new TH1F("h_map_TSF3", "CDCTRG TSF3 map [5.625 degrees]", 64, 0, 360);
99 h_map_TSF3->GetXaxis()->SetTitle("CDCTRG TSF3 map [5.625 degrees]");
100
101 h_wc_TSF0 = new TH1F("h_wirecnt_TSF0", "The wire counter from TSF 0", 2001, 0, 2000);
102 h_wc_TSF0->GetXaxis()->SetTitle("Number of wires for TSF 0 input");
103 h_wc_TSF1 = new TH1F("h_wirecnt_TSF1", "The wire counter from TSF 1", 2001, 0, 2000);
104 h_wc_TSF1->GetXaxis()->SetTitle("Number of wires for TSF 1 input");
105 h_wc_TSF2 = new TH1F("h_wirecnt_TSF2", "The wire counter from TSF 2", 2001, 0, 2000);
106 h_wc_TSF2->GetXaxis()->SetTitle("Number of wires for TSF 2 input");
107 h_wc_TSF3 = new TH1F("h_wirecnt_TSF3", "The wire counter from TSF 3", 2001, 0, 2000);
108 h_wc_TSF3->GetXaxis()->SetTitle("Number of wires for TSF 3 input");
109 h_wc_TSF4 = new TH1F("h_wirecnt_TSF4", "The wire counter from TSF 4", 2001, 0, 2000);
110 h_wc_TSF4->GetXaxis()->SetTitle("Number of wires for TSF 4 input");
111 h_wc_TSF5 = new TH1F("h_wirecnt_TSF5", "The wire counter from TSF 5", 2001, 0, 2000);
112 h_wc_TSF5->GetXaxis()->SetTitle("Number of wires for TSF 5 input");
113 h_wc_TSF6 = new TH1F("h_wirecnt_TSF6", "The wire counter from TSF 6", 2001, 0, 2000);
114 h_wc_TSF6->GetXaxis()->SetTitle("Number of wires for TSF 6 input");
115 h_wc_sum = new TH1F("h_wirecnt_sum", "The wire counter from TSF0-6", 20001, 0, 20000);
116 h_wc_sum->GetXaxis()->SetTitle("Summation of the number of wires for TSF0-6 inputs");
117 h_wcsum_clean = new TH1F("h_wirecnt_sum_clean", "The wire counter from TSF0-6 (Injection BG Clean)", 20001, 0, 20000);
118 h_wcsum_clean->GetXaxis()->SetTitle("Summation of the number of wires for TSF0-6 inputs");
119 h_wcsum_injHER = new TH1F("h_wirecnt_sum_injHER", "The wire counter from TSF0-6 (HER Injection BG)", 20001, 0, 20000);
120 h_wcsum_injHER->GetXaxis()->SetTitle("Summation of the number of wires for TSF0-6 inputs");
121 h_wcsum_injLER = new TH1F("h_wirecnt_sum_injLER", "The wire counter from TSF0-6 (LER Injection BG)", 20001, 0, 20000);
122 h_wcsum_injLER->GetXaxis()->SetTitle("Summation of the number of wires for TSF0-6 inputs");
123
124 h_wc0_injtime = new TH2F("h_wirecnt0_injtime", "The wire counter from TSF 0", 201, 0, 1000, 100, 0, 50);
125 h_wc0_injtime->GetXaxis()->SetTitle("Number of wires for TSF 0 input");
126 h_wc0_injtime->GetYaxis()->SetTitle("Time since injection [ms]");
127 h_wc1_injtime = new TH2F("h_wirecnt1_injtime", "The wire counter from TSF 1", 201, 0, 1000, 100, 0, 50);
128 h_wc1_injtime->GetXaxis()->SetTitle("Number of wires for TSF 1 input");
129 h_wc1_injtime->GetYaxis()->SetTitle("Time since injection [ms]");
130 h_wc2_injtime = new TH2F("h_wirecnt2_injtime", "The wire counter from TSF 2", 201, 0, 1000, 100, 0, 50);
131 h_wc2_injtime->GetXaxis()->SetTitle("Number of wires for TSF 2 input");
132 h_wc2_injtime->GetYaxis()->SetTitle("Time since injection [ms]");
133 h_wc3_injtime = new TH2F("h_wirecnt3_injtime", "The wire counter from TSF 3", 201, 0, 1000, 100, 0, 50);
134 h_wc3_injtime->GetXaxis()->SetTitle("Number of wires for TSF 3 input");
135 h_wc3_injtime->GetYaxis()->SetTitle("Time since injection [ms]");
136 h_wc4_injtime = new TH2F("h_wirecnt4_injtime", "The wire counter from TSF 4", 201, 0, 1000, 100, 0, 50);
137 h_wc4_injtime->GetXaxis()->SetTitle("Number of wires for TSF 4 input");
138 h_wc4_injtime->GetYaxis()->SetTitle("Time since injection [ms]");
139 h_wc5_injtime = new TH2F("h_wirecnt5_injtime", "The wire counter from TSF 5", 201, 0, 1000, 100, 0, 50);
140 h_wc5_injtime->GetXaxis()->SetTitle("Number of wires for TSF 5 input");
141 h_wc5_injtime->GetYaxis()->SetTitle("Time since injection [ms]");
142 h_wc6_injtime = new TH2F("h_wirecnt6_injtime", "The wire counter from TSF 6", 201, 0, 1000, 100, 0, 50);
143 h_wc6_injtime->GetXaxis()->SetTitle("Number of wires for TSF 6 input");
144 h_wc6_injtime->GetYaxis()->SetTitle("Time since injection [ms]");
145 h_wcsum_injtime = new TH2F("h_wirecntsum_injtime", "The wire counter from TSF0-6", 601, 0, 6000, 100, 0, 50);
146 h_wcsum_injtime->GetXaxis()->SetTitle("Summation of the number of wires for TSF0-6 inputs");
147 h_wcsum_injtime->GetYaxis()->SetTitle("Time since injection [ms]");
148
149 oldDir->cd();
150}
151
153{
154
155 dirDQM->cd();
156
157 h_N_track->Reset();
158 h_phi_i->Reset();
159 h_phi_CDC->Reset();
160 h_sector_CDC->Reset();
161 h_sector_KLM->Reset();
162 h_slot_CDC->Reset();
163 h_slot_TOP->Reset();
164 h_E_ECL->Reset();
165 h_theta_ECL->Reset();
166 h_phi_ECL->Reset();
167 h_CDCL1->Reset();
168 h_ECLL1->Reset();
169 h_TOPL1->Reset();
170 h_KLML1->Reset();
171 h_CDC3DL1->Reset();
172 h_CDCNNL1->Reset();
173 h_TSFL1->Reset();
174 h_B2LL1->Reset();
175 h_map_ST->Reset();
176 h_map_ST2->Reset();
177 h_map_veto->Reset();
178 h_map_TSF0->Reset();
179 h_map_TSF2->Reset();
180 h_map_TSF4->Reset();
181 h_map_TSF1->Reset();
182 h_map_TSF3->Reset();
183
184 h_wc_TSF0->Reset();
185 h_wc_TSF1->Reset();
186 h_wc_TSF2->Reset();
187 h_wc_TSF3->Reset();
188 h_wc_TSF4->Reset();
189 h_wc_TSF5->Reset();
190 h_wc_TSF6->Reset();
191 h_wc_sum->Reset();
192 h_wcsum_clean->Reset();
193 h_wcsum_injHER->Reset();
194 h_wcsum_injLER->Reset();
195 h_wc0_injtime->Reset();
196 h_wc1_injtime->Reset();
197 h_wc2_injtime->Reset();
198 h_wc3_injtime->Reset();
199 h_wc4_injtime->Reset();
200 h_wc5_injtime->Reset();
201 h_wc6_injtime->Reset();
202 h_wcsum_injtime->Reset();
203
204 oldDir->cd();
205}
206
208{
209 // calls back the defineHisto() function, but the HistoManager module has to be in the path
210 REG_HISTOGRAM
211}
212
214{
215}
216
218{
219 StoreObjPtr<TRGGRLUnpackerStore> evtinfo("TRGGRLUnpackerStore");
220 if (!evtinfo) return;
221
222 int N_track = evtinfo->get_N_track();
223 int bin = h_N_track->GetBinContent(N_track + 1);
224 h_N_track->SetBinContent(N_track + 1, bin + 1);
225
226 for (int i = 0; i < 36; i++) {
227 if (evtinfo->get_phi_i(i)) {
228 h_phi_i->Fill(5 + i * 10);
229 }
230 if (evtinfo->get_phi_CDC(i)) {
231 h_phi_CDC->Fill(5 + i * 10);
232 }
233 }
234 for (int i = 0; i < 8; i++) {
235 if (evtinfo->get_sector_CDC(i)) {
236 h_sector_CDC->Fill(i * 45);
237 }
238 if (evtinfo->get_sector_KLM(i)) {
239 h_sector_KLM->Fill(i * 45);
240 }
241 }
242 for (int i = 0; i < 16; i++) {
243 if (evtinfo->get_slot_CDC(i)) {
244 h_slot_CDC->Fill(11.25 + i * 22.5);
245 }
246 if (evtinfo->get_slot_TOP(i)) {
247 h_slot_TOP->Fill(11.25 + i * 22.5);
248 }
249 }
250
251 int N_cluster = evtinfo->get_N_cluster();
252 for (int i = 0; i < N_cluster; i++) {
253 h_E_ECL->Fill(evtinfo->get_E_ECL(i) * 0.005 + 0.0025);
254 h_theta_ECL->Fill(evtinfo->get_theta_ECL(i) * 1.40625 + 1.40625 * 0.5);
255 h_phi_ECL->Fill(evtinfo->get_phi_ECL(i) * 1.40625 + 1.40625 * 0.5);
256 }
257
258 int timeL1 = evtinfo->get_coml1() - evtinfo->get_revoclk();
259
260 if (evtinfo->get_CDCL1_count() != 0) {
261 h_CDCL1->Fill((evtinfo->get_CDCL1_count() + timeL1 - 0.5) * (-7.8));
262 }
263 if (evtinfo->get_ECLL1_count() != 0) {
264 h_ECLL1->Fill((evtinfo->get_ECLL1_count() + timeL1 - 0.5) * (-7.8));
265 }
266 if (evtinfo->get_ECLL1_count() != 0 && evtinfo->get_N_cluster_1() != 0) {
267 h_ECLL1_2nd->Fill((evtinfo->get_ECLL1_count() + timeL1 - 0.5) * (-7.8) + 7.8 * 16);
268 }
269 if (evtinfo->get_TOPL1_count() != 0) {
270 h_TOPL1->Fill((evtinfo->get_TOPL1_count() + timeL1 - 0.5) * (-7.8));
271 }
272 if (evtinfo->get_KLML1_count() != 0) {
273 h_KLML1->Fill((evtinfo->get_KLML1_count() + timeL1 - 0.5) * (-7.8));
274 }
275 if (evtinfo->get_CDC3DL1_count() != 0) {
276 h_CDC3DL1->Fill((evtinfo->get_CDC3DL1_count() + timeL1 - 0.5) * (-7.8));
277 }
278 if (evtinfo->get_CDCNNL1_count() != 0) {
279 h_CDCNNL1->Fill((evtinfo->get_CDCNNL1_count() + timeL1 - 0.5) * (-7.8));
280 }
281 if (evtinfo->get_TSFL1_count() != 0) {
282 h_TSFL1->Fill((evtinfo->get_TSFL1_count() + timeL1 - 0.5) * (-7.8));
283 }
284 if (timeL1 != 0) {
285 h_B2LL1->Fill((timeL1 - 0.5) * (-7.8));
286 }
287
288 for (int i = 0; i < 64; i++) {
289 if (evtinfo->get_map_ST(i)) {
290 h_map_ST->Fill(2.8 + i * 360.0 / 64.0);
291 }
292 if (evtinfo->get_map_ST2(i)) {
293 h_map_ST2->Fill(2.8 + i * 360.0 / 64.0);
294 }
295 if (evtinfo->get_map_veto(i)) {
296 h_map_veto->Fill(2.8 + i * 360.0 / 64.0);
297 }
298 if (evtinfo->get_map_TSF0(i)) {
299 h_map_TSF0->Fill(2.8 + i * 360.0 / 64.0);
300 }
301 if (evtinfo->get_map_TSF2(i)) {
302 h_map_TSF2->Fill(2.8 + i * 360.0 / 64.0);
303 }
304 if (evtinfo->get_map_TSF4(i)) {
305 h_map_TSF4->Fill(2.8 + i * 360.0 / 64.0);
306 }
307 if (evtinfo->get_map_TSF1(i)) {
308 h_map_TSF1->Fill(2.8 + i * 360.0 / 64.0);
309 }
310 if (evtinfo->get_map_TSF3(i)) {
311 h_map_TSF3->Fill(2.8 + i * 360.0 / 64.0);
312 }
313 }
314
315 int wcsum = 0, nowcnt;
316
317 const double revotime_in_us = 5.120 / m_hwclkdb->getAcceleratorRF();
318
319 double diff_in_ms, diff_in_us;
320 diff_in_us = m_trgTime->getTimeSinceLastInjectionInMicroSeconds();
321 diff_in_ms = diff_in_us / 1000.;
322
323 nowcnt = evtinfo->get_wirecnt_tsf0();
324 h_wc_TSF0->Fill(nowcnt);
325 h_wc0_injtime->Fill(nowcnt, diff_in_ms);
326 wcsum += nowcnt;
327
328 nowcnt = evtinfo->get_wirecnt_tsf1();
329 h_wc_TSF1->Fill(nowcnt);
330 h_wc1_injtime->Fill(nowcnt, diff_in_ms);
331 wcsum += nowcnt;
332
333 nowcnt = evtinfo->get_wirecnt_tsf2();
334 h_wc_TSF2->Fill(nowcnt);
335 h_wc2_injtime->Fill(nowcnt, diff_in_ms);
336 wcsum += nowcnt;
337
338 nowcnt = evtinfo->get_wirecnt_tsf3();
339 h_wc_TSF3->Fill(nowcnt);
340 h_wc3_injtime->Fill(nowcnt, diff_in_ms);
341 wcsum += nowcnt;
342
343 nowcnt = evtinfo->get_wirecnt_tsf4();
344 h_wc_TSF4->Fill(nowcnt);
345 h_wc4_injtime->Fill(nowcnt, diff_in_ms);
346 wcsum += nowcnt;
347
348 nowcnt = evtinfo->get_wirecnt_tsf5();
349 h_wc_TSF5->Fill(nowcnt);
350 h_wc5_injtime->Fill(nowcnt, diff_in_ms);
351 wcsum += nowcnt;
352
353 nowcnt = evtinfo->get_wirecnt_tsf6();
354 h_wc_TSF6->Fill(nowcnt);
355 h_wc6_injtime->Fill(nowcnt, diff_in_ms);
356 wcsum += nowcnt;
357
358 h_wc_sum->Fill(wcsum);
359 h_wcsum_injtime->Fill(wcsum, diff_in_ms);
360
361 int quotient;
362 double running_in_us;
363 quotient = diff_in_us / revotime_in_us;
364 running_in_us = diff_in_us - quotient * revotime_in_us;
365
366 bool cond_clean, cond_injHER, cond_injLER;
367
368 cond_clean = (6 < running_in_us && running_in_us < 8) && (50 < diff_in_ms && diff_in_ms < 70);
369
370 cond_injHER = m_trgTime->isHER() && ((diff_in_ms < 0.5) || ((diff_in_ms < 20) && (2 < running_in_us && running_in_us < 3)));
371 cond_injLER = !m_trgTime->isHER() && ((diff_in_ms < 0.5) || ((diff_in_ms < 20) && (1 < running_in_us && running_in_us < 2)));
372
373 if (cond_clean) {
374 h_wcsum_clean->Fill(wcsum);
375 } else if (cond_injHER) {
376 h_wcsum_injHER->Fill(wcsum);
377 } else if (cond_injLER) {
378 h_wcsum_injLER->Fill(wcsum);
379 }
380}
381
382
HistoModule.h is supposed to be used instead of Module.h for the modules with histogram definitions t...
Definition: HistoModule.h:29
void setDescription(const std::string &description)
Sets the description of the module.
Definition: Module.cc:214
void setPropertyFlags(unsigned int propertyFlags)
Sets the flags for the module properties.
Definition: Module.cc:208
@ 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:80
Type-safe access to single objects in the data store.
Definition: StoreObjPtr.h:96
TH1F * h_phi_CDC
phi_CDC, extrapolated phi at ECL of CDC 2D tracks
TH1F * h_map_TSF3
TSF3 map.
TH2F * h_wc2_injtime
2D plot: TSF2 cnt vs.
TH1F * h_wcsum_injLER
Wirecnt from all TSFs from the LER injection BG region.
TH1F * h_wc_TSF6
Wirecnt from TSF6.
TH1F * h_map_TSF4
TSF4 map.
TH2F * h_wc1_injtime
2D plot: TSF1 cnt vs.
virtual void initialize() override
initialize
TH2F * h_wc6_injtime
2D plot: TSF6 cnt vs.
TH1F * h_wc_TSF3
Wirecnt from TSF3.
TH1F * h_map_TSF1
TSF1 map.
TDirectory * oldDir
TDirectory.
virtual void event() override
Event.
TH1F * h_CDC3DL1
Jitter of CDC 3D -> L1.
TH1F * h_KLML1
Jitter of KLM -> L1.
TH1F * h_phi_i
phi_i of CDC 2D tracks
TH1F * h_E_ECL
ECL cluster energy.
virtual void endRun() override
End Run.
TH2F * h_wc4_injtime
2D plot: TSF4 cnt vs.
DBObjPtr< HardwareClockSettings > m_hwclkdb
DB pointerto access the hardware clock information.
TH1F * h_map_TSF0
TSF0 map.
TH1F * h_ECLL1
Jitter of ECL -> L1.
TH1F * h_wc_sum
Wirecnt from all TSFs.
TH1F * h_wc_TSF5
Wirecnt from TSF5.
TH1F * h_wc_TSF2
Wirecnt from TSF2.
TH1F * h_wcsum_injHER
Wirecnt from all TSFs from the HER injection BG region.
TH1F * h_TOPL1
Jitter of TOP -> L1.
TH1F * h_CDCNNL1
Jitter of CDC NN -> L1.
TH1F * h_B2LL1
Jitter of B2L window -> L1.
TH1F * h_map_ST2
Short track map.
TH1I * h_N_track
Number of tracks.
TH1F * h_map_TSF2
TSF2 map.
TH1F * h_CDCL1
Jitter of CDC 2D -> L1.
TH1F * h_phi_ECL
ECL cluster phi.
TH1F * h_wc_TSF4
Wirecnt from TSF4.
virtual void beginRun() override
begin Run
TH1F * h_ECLL1_2nd
Jitter of ECl 2nd input -> L1.
TH1F * h_TSFL1
Jitter of Short track -> L1.
TH1F * h_sector_KLM
sector map of KLM
TH1F * h_theta_ECL
ECL cluster theta.
TH1F * h_slot_CDC
slot_CDC, extrapolated phi at TOP of CDC 2D tracks
TDirectory * dirDQM
TDirectory.
TH1F * h_wc_TSF0
Wirecnt from TSF0.
TH2F * h_wc5_injtime
2D plot: TSF5 cnt vs.
TH2F * h_wc0_injtime
2D plot: TSF0 cnt vs.
TH2F * h_wc3_injtime
2D plot: TSF3 cnt vs.
TH1F * h_sector_CDC
sector_CDC, extrapolated phi at KLM of CDC 2D tracks
TH1F * h_map_veto
Full track veto map.
TH1F * h_slot_TOP
slot map of TOP
TH1F * h_wc_TSF1
Wirecnt from TSF1.
TH2F * h_wcsum_injtime
2D plot: all TSFs cnt vs.
StoreObjPtr< EventLevelTriggerTimeInfo > m_trgTime
Array to access the event time information from the trigger and FTSW.
TH1F * h_map_ST
Short track map.
virtual void defineHisto() override
Define Histogram.
TH1F * h_wcsum_clean
Wirecnt from all TSFs from the injection BG clean region.
#define REG_MODULE(moduleName)
Register the given module (without 'Module' suffix) with the framework.
Definition: Module.h:650
Abstract base class for different kinds of events.
STL namespace.