14 #include <dqm/analysis/modules/DQMHistAnalysisTRG.h>
30 DQMHistAnalysisTRGModule::DQMHistAnalysisTRGModule()
37 B2DEBUG(1,
"DQMHistAnalysisTRGModule: Constructor done.");
49 B2DEBUG(1,
"DQMHistAnalysisTRGModule: initialized.");
52 m_canvas =
new TCanvas(
"TRG/c_Test");
54 addDeltaPar(
"TRGGDL",
"hGDL_gdlL1TocomL1_all", HistDelta::c_Entries, 1000, 1);
58 addDeltaPar(
"EventT0DQMdir",
"m_histEventT0_TOP_hadron_L1_ECLTRG", HistDelta::c_Entries, 1000, 1);
62 addDeltaPar(
"EventT0DQMdir",
"m_histEventT0_TOP_hadron_L1_CDCTRG", HistDelta::c_Entries, 1000, 1);
66 addDeltaPar(
"EventT0DQMdir",
"m_histEventT0_TOP_hadron_L1_TOPTRG", HistDelta::c_Entries, 1000, 1);
70 addDeltaPar(
"TRGGRL",
"h_ECLL1", HistDelta::c_Entries, 1000, 1);
75 addDeltaPar(
"TRGGRL",
"h_CDCL1", HistDelta::c_Entries, 1000, 1);
80 addDeltaPar(
"TRGGRL",
"h_CDCNNL1", HistDelta::c_Entries, 1000, 1);
84 addDeltaPar(
"TRGGRL",
"h_TSFL1", HistDelta::c_Entries, 1000, 1);
88 addDeltaPar(
"TRGGRL",
"h_KLML1", HistDelta::c_Entries, 1000, 1);
92 addDeltaPar(
"TRGGRL",
"h_TOPL1", HistDelta::c_Entries, 1000, 1);
96 addDeltaPar(
"TRGGRL",
"h_wirecnt_sum", HistDelta::c_Entries, 1000, 1);
100 addDeltaPar(
"TRGGRL",
"h_wirecnt_sum_clean", HistDelta::c_Entries, 1000, 1);
104 addDeltaPar(
"TRGGRL",
"h_wirecnt_sum_injHER", HistDelta::c_Entries, 1000, 1);
108 addDeltaPar(
"TRGGRL",
"h_wirecnt_sum_injLER", HistDelta::c_Entries, 1000, 1);
112 addDeltaPar(
"TRGGDL",
"hGDL_ns_cdcToecl_all", HistDelta::c_Entries, 1000, 1);
116 addDeltaPar(
"TRGGDL",
"hGDL_ns_topToecl_all", HistDelta::c_Entries, 1000, 1);
120 addDeltaPar(
"TRGGDL",
"hGDL_ns_topTocdc_all", HistDelta::c_Entries, 1000, 1);
124 addDeltaPar(
"TRGGDL",
"hGDL_eclTogdlL1_all", HistDelta::c_Entries, 1000, 1);
128 addDeltaPar(
"TRGGDL",
"hGDL_cdcTogdlL1_all", HistDelta::c_Entries, 1000, 1);
132 addDeltaPar(
"TRGGDL",
"hGDL_topTogdlL1_all", HistDelta::c_Entries, 1000, 1);
136 addDeltaPar(
"TRGGDL",
"hGDL_itd_klm_hit_rise_all", HistDelta::c_Entries, 1000, 1);
140 addDeltaPar(
"TRGGDL",
"hGDL_itd_eklm_hit_rise_all", HistDelta::c_Entries, 1000, 1);
144 addDeltaPar(
"softwaretrigger",
"skim", HistDelta::c_Entries, 10000, 1);
148 addDeltaPar(
"softwaretrigger",
"skim", HistDelta::c_Entries, 10000, 1);
152 addDeltaPar(
"softwaretrigger",
"skim", HistDelta::c_Entries, 10000, 1);
157 addDeltaPar(
"TRG",
"h_TCId", HistDelta::c_Entries, 1000, 1);
161 addDeltaPar(
"TRG",
"h_n_TChit_event", HistDelta::c_Entries, 10000, 1);
165 addDeltaPar(
"TRG",
"h_n_TChit_clean", HistDelta::c_Entries, 10000, 1);
169 addDeltaPar(
"TRG",
"h_n_TChit_injHER", HistDelta::c_Entries, 10000, 1);
173 addDeltaPar(
"TRG",
"h_n_TChit_injLER", HistDelta::c_Entries, 10000, 1);
178 addDeltaPar(
"TRGCDCTNN",
"NeuroHWInTSID", HistDelta::c_Entries, 159778, 1);
188 B2DEBUG(1,
"DQMHistAnalysisTRGModule: beginRun called.");
193 B2DEBUG(1,
"DQMHistAnalysisTRGModule: endRun called.");
198 B2DEBUG(1,
"DQMHistAnalysisTRGModule: event called.");
207 auto hist_comL1_GDLL1 =
getDelta(
"TRGGDL",
"hGDL_gdlL1TocomL1_all", 0,
true);
208 if (hist_comL1_GDLL1) {
209 double comL1_GDLL1_mean = 0.0;
210 hist_comL1_GDLL1->Draw();
211 comL1_GDLL1_mean = hist_comL1_GDLL1->GetMean();
212 B2DEBUG(1,
"comL1_GDLL1_mean:" << comL1_GDLL1_mean);
213 setEpicsPV(
"comL1_GDLL1_mean", comL1_GDLL1_mean);
219 auto hist =
getDelta(
"EventT0DQMdir",
"m_histEventT0_TOP_hadron_L1_ECLTRG", 0,
true);
221 double ECLTRG_timing_mean = 0.0;
223 ECLTRG_timing_mean = hist->GetMean();
224 B2DEBUG(1,
"ECLTRG_timing_mean:" << ECLTRG_timing_mean);
225 setEpicsPV(
"ECLTRG_timing_mean", ECLTRG_timing_mean);
230 auto histCDCTRG =
getDelta(
"EventT0DQMdir",
"m_histEventT0_TOP_hadron_L1_CDCTRG", 0,
true);
232 double CDCTRG_timing_mean = 0.0;
234 CDCTRG_timing_mean = histCDCTRG->GetMean();
235 B2DEBUG(1,
"CDCTRG_timing_mean:" << CDCTRG_timing_mean);
236 setEpicsPV(
"CDCTRG_timing_mean", CDCTRG_timing_mean);
240 auto histTOPTRG =
getDelta(
"EventT0DQMdir",
"m_histEventT0_TOP_hadron_L1_TOPTRG", 0,
true);
242 double TOPTRG_timing_mean = 0.0;
244 TOPTRG_timing_mean = histTOPTRG->GetMean();
245 B2DEBUG(1,
"TOPTRG_timing_mean:" << TOPTRG_timing_mean);
246 setEpicsPV(
"TOPTRG_timing_mean", TOPTRG_timing_mean);
250 auto hist_ECLTRG_peak =
getDelta(
"TRGGRL",
"h_ECLL1", 0,
true);
251 if (hist_ECLTRG_peak) {
252 double ECLTRG_peak = 0.0;
253 hist_ECLTRG_peak->Draw();
254 int bin_ECLTRG_peak = hist_ECLTRG_peak->GetMaximumBin();
255 ECLTRG_peak = hist_ECLTRG_peak->GetXaxis()->GetBinCenter(bin_ECLTRG_peak);
256 B2DEBUG(1,
"ECLTRG_peak:" << ECLTRG_peak);
262 auto hist_ECLTRG_deadch =
getDelta(
"TRG",
"h_TCId", 0,
true);
263 if (hist_ECLTRG_deadch) {
264 hist_ECLTRG_deadch->Draw();
265 int numberOfBins = hist_ECLTRG_deadch->GetNbinsX();
267 int ECLTRG_deadch = 0;
268 for (
int i = 2; i <= numberOfBins; i++) {
269 if (hist_ECLTRG_deadch->GetBinContent(i) <= 0) { ECLTRG_deadch += 1; }
271 B2DEBUG(1,
"ECLTRG_deadch:" << ECLTRG_deadch);
277 auto hist_CDCTRG_2D_peak =
getDelta(
"TRGGRL",
"h_CDCL1", 0,
true);
278 if (hist_CDCTRG_2D_peak) {
279 double CDCTRG_2D_peak = 0.0;
280 hist_CDCTRG_2D_peak->Draw();
281 int bin_CDCTRG_2D_peak = hist_CDCTRG_2D_peak->GetMaximumBin();
282 CDCTRG_2D_peak = hist_CDCTRG_2D_peak->GetXaxis()->GetBinCenter(bin_CDCTRG_2D_peak);
283 B2DEBUG(1,
"CDCTRG_2D_peak:" << CDCTRG_2D_peak);
289 auto hist_NN_peak =
getDelta(
"TRGGRL",
"h_CDCNNL1", 0,
true);
291 double NN_peak = 0.0;
292 hist_NN_peak->Draw();
293 int bin_NN_peak = hist_NN_peak->GetMaximumBin();
294 NN_peak = hist_NN_peak->GetXaxis()->GetBinCenter(bin_NN_peak);
295 B2DEBUG(1,
"NN_peak:" << NN_peak);
301 auto hist_CDCTRG_TSF_peak =
getDelta(
"TRGGRL",
"h_TSFL1", 0,
true);
302 if (hist_CDCTRG_TSF_peak) {
303 double CDCTRG_TSF_peak = 0.0;
304 hist_CDCTRG_TSF_peak->Draw();
305 int bin_CDCTRG_TSF_peak = hist_CDCTRG_TSF_peak->GetMaximumBin();
306 CDCTRG_TSF_peak = hist_CDCTRG_TSF_peak->GetXaxis()->GetBinCenter(bin_CDCTRG_TSF_peak);
307 B2DEBUG(1,
"CDCTRG_TSF_peak:" << CDCTRG_TSF_peak);
308 setEpicsPV(
"CDCTRG_TSF_peak", CDCTRG_TSF_peak);
313 auto hist_CDCTRG_deadch =
getDelta(
"TRGCDCTNN",
"NeuroHWInTSID", 0,
true);
314 if (hist_CDCTRG_deadch) {
315 hist_CDCTRG_deadch->Draw();
316 int numberOfBins = hist_CDCTRG_deadch->GetNbinsX();
318 int CDCTRG_deadch = 0;
319 for (
int i = 3; i <= numberOfBins; i++) {
320 if (hist_CDCTRG_deadch->GetBinContent(i) <= 0) {CDCTRG_deadch += 1; }
322 B2DEBUG(1,
"CDCTRG_deadch:" << CDCTRG_deadch);
327 auto hist_KLMTRG_peak =
getDelta(
"TRGGRL",
"h_KLML1", 0,
true);
328 if (hist_KLMTRG_peak) {
329 double KLMTRG_peak = 0.0;
330 hist_KLMTRG_peak->Draw();
331 int bin_KLMTRG_peak = hist_KLMTRG_peak->GetMaximumBin();
332 KLMTRG_peak = hist_KLMTRG_peak->GetXaxis()->GetBinCenter(bin_KLMTRG_peak);
333 B2DEBUG(1,
"KLMTRG_peak:" << KLMTRG_peak);
339 auto hist_TOPTRG_peak =
getDelta(
"TRGGRL",
"h_TOPL1", 0,
true);
340 if (hist_TOPTRG_peak) {
341 double TOPTRG_peak = 0.0;
342 hist_TOPTRG_peak->Draw();
343 int bin_TOPTRG_peak = hist_TOPTRG_peak->GetMaximumBin();
344 TOPTRG_peak = hist_TOPTRG_peak->GetXaxis()->GetBinCenter(bin_TOPTRG_peak);
345 B2DEBUG(1,
"TOPTRG_peak:" << TOPTRG_peak);
351 auto hist_ecltiming_cdctiming =
getDelta(
"TRGGDL",
"hGDL_ns_cdcToecl_all", 0,
true);
352 if (hist_ecltiming_cdctiming) {
353 double ecltiming_cdctiming = 0.0;
354 hist_ecltiming_cdctiming->Draw();
355 int bin_ecltiming_cdctiming = hist_ecltiming_cdctiming->GetMaximumBin();
356 ecltiming_cdctiming = hist_ecltiming_cdctiming->GetXaxis()->GetBinCenter(bin_ecltiming_cdctiming);
357 B2DEBUG(1,
"ecltiming_cdctiming:" << ecltiming_cdctiming);
358 setEpicsPV(
"ecltiming_cdctiming", ecltiming_cdctiming);
362 auto hist_toptiming_ecltiming =
getDelta(
"TRGGDL",
"hGDL_ns_topToecl_all", 0,
true);
363 if (hist_toptiming_ecltiming) {
364 double toptiming_ecltiming = 0.0;
365 hist_toptiming_ecltiming->Draw();
366 int bin_toptiming_ecltiming = hist_toptiming_ecltiming->GetMaximumBin();
367 toptiming_ecltiming = hist_toptiming_ecltiming->GetXaxis()->GetBinCenter(bin_toptiming_ecltiming);
368 B2DEBUG(1,
"toptiming_ecltiming:" << toptiming_ecltiming);
369 setEpicsPV(
"toptiming_ecltiming", toptiming_ecltiming);
373 auto hist_toptiming_cdctiming =
getDelta(
"TRGGDL",
"hGDL_ns_topTocdc_all", 0,
true);
374 if (hist_toptiming_cdctiming) {
375 double toptiming_cdctiming = 0.0;
376 hist_toptiming_cdctiming->Draw();
377 int bin_toptiming_cdctiming = hist_toptiming_cdctiming->GetMaximumBin();
378 toptiming_cdctiming = hist_toptiming_cdctiming->GetXaxis()->GetBinCenter(bin_toptiming_cdctiming);
379 B2DEBUG(1,
"toptiming_cdctiming:" << toptiming_cdctiming);
380 setEpicsPV(
"toptiming_cdctiming", toptiming_cdctiming);
384 auto hist_gdll1_ecltiming =
getDelta(
"TRGGDL",
"hGDL_eclTogdlL1_all", 0,
true);
385 if (hist_gdll1_ecltiming) {
386 double gdll1_ecltiming = 0.0;
387 hist_gdll1_ecltiming->Draw();
388 int bin_gdll1_ecltiming = hist_gdll1_ecltiming->GetMaximumBin();
389 gdll1_ecltiming = hist_gdll1_ecltiming->GetXaxis()->GetBinCenter(bin_gdll1_ecltiming);
390 B2DEBUG(1,
"gdll1_ecltiming:" << gdll1_ecltiming);
391 setEpicsPV(
"gdll1_ecltiming", gdll1_ecltiming);
395 auto hist_gdll1_cdctiming =
getDelta(
"TRGGDL",
"hGDL_cdcTogdlL1_all", 0,
true);
396 if (hist_gdll1_cdctiming) {
397 double gdll1_cdctiming = 0.0;
398 hist_gdll1_cdctiming->Draw();
399 int bin_gdll1_cdctiming = hist_gdll1_cdctiming->GetMaximumBin();
400 gdll1_cdctiming = hist_gdll1_cdctiming->GetXaxis()->GetBinCenter(bin_gdll1_cdctiming);
401 B2DEBUG(1,
"gdll1_cdctiming:" << gdll1_cdctiming);
402 setEpicsPV(
"gdll1_cdctiming", gdll1_cdctiming);
406 auto hist_gdll1_toptiming =
getDelta(
"TRGGDL",
"hGDL_topTogdlL1_all", 0,
true);
407 if (hist_gdll1_toptiming) {
408 double gdll1_toptiming = 0.0;
409 hist_gdll1_toptiming->Draw();
410 int bin_gdll1_toptiming = hist_gdll1_toptiming->GetMaximumBin();
411 gdll1_toptiming = hist_gdll1_toptiming->GetXaxis()->GetBinCenter(bin_gdll1_toptiming);
412 B2DEBUG(1,
"gdll1_toptiming:" << gdll1_toptiming);
413 setEpicsPV(
"gdll1_toptiming", gdll1_toptiming);
417 auto hist_barrel_klm_latency =
getDelta(
"TRGGDL",
"hGDL_itd_klm_hit_rise_all", 0,
true);
418 if (hist_barrel_klm_latency) {
419 double barrel_klm_latency = 0.0;
420 hist_barrel_klm_latency->Draw();
421 int bin_barrel_klm_latency = hist_barrel_klm_latency->GetMaximumBin();
422 barrel_klm_latency = hist_barrel_klm_latency->GetXaxis()->GetBinCenter(bin_barrel_klm_latency);
423 B2DEBUG(1,
"barrel_klm_latency:" << barrel_klm_latency);
424 setEpicsPV(
"barrel_klm_latency", barrel_klm_latency);
428 auto hist_endcap_klm_latency =
getDelta(
"TRGGDL",
"hGDL_itd_eklm_hit_rise_all", 0,
true);
429 if (hist_endcap_klm_latency) {
430 double endcap_klm_latency = 0.0;
431 hist_endcap_klm_latency->Draw();
432 int bin_endcap_klm_latency = hist_endcap_klm_latency->GetMaximumBin();
433 endcap_klm_latency = hist_endcap_klm_latency->GetXaxis()->GetBinCenter(bin_endcap_klm_latency);
434 B2DEBUG(1,
"endcap_klm_latency:" << endcap_klm_latency);
435 setEpicsPV(
"endcap_klm_latency", endcap_klm_latency);
439 auto hist_hadronb2_over_bhabha_all =
getDelta(
"softwaretrigger",
"skim", 0,
true);
440 if (hist_hadronb2_over_bhabha_all) {
441 hist_hadronb2_over_bhabha_all->Draw();
442 if (hist_hadronb2_over_bhabha_all->GetBinContent(hist_hadronb2_over_bhabha_all->GetXaxis()->FindBin(
"accept_bhabha_all")) != 0) {
443 double hadronb2_over_bhabha_all = 0.0;
444 hadronb2_over_bhabha_all = hist_hadronb2_over_bhabha_all->GetBinContent(
445 hist_hadronb2_over_bhabha_all->GetXaxis()->FindBin(
"accept_hadronb2")) / hist_hadronb2_over_bhabha_all->GetBinContent(
446 hist_hadronb2_over_bhabha_all->GetXaxis()->FindBin(
"accept_bhabha_all"));
448 B2DEBUG(1,
"hadronb2_over_bhabha_all:" << hadronb2_over_bhabha_all);
449 setEpicsPV(
"hadronb2_over_bhabha_all", hadronb2_over_bhabha_all);
454 auto hist_mumu2trk_over_bhabha_all =
getDelta(
"softwaretrigger",
"skim", 0,
true);
455 if (hist_mumu2trk_over_bhabha_all) {
456 hist_mumu2trk_over_bhabha_all->Draw();
457 if (hist_mumu2trk_over_bhabha_all->GetBinContent(hist_mumu2trk_over_bhabha_all->GetXaxis()->FindBin(
"accept_bhabha_all")) != 0) {
458 double mumu2trk_over_bhabha_all = 0.0;
459 mumu2trk_over_bhabha_all = hist_mumu2trk_over_bhabha_all->GetBinContent(
460 hist_mumu2trk_over_bhabha_all->GetXaxis()->FindBin(
"accept_mumu_2trk")) / hist_mumu2trk_over_bhabha_all->GetBinContent(
461 hist_mumu2trk_over_bhabha_all->GetXaxis()->FindBin(
"accept_bhabha_all"));
462 B2DEBUG(1,
"mumu2trk_over_bhabha_all:" << mumu2trk_over_bhabha_all);
463 setEpicsPV(
"mumu2trk_over_bhabha_all", mumu2trk_over_bhabha_all);
469 auto hist_hadronb2_over_mumu2trk =
getDelta(
"softwaretrigger",
"skim", 0,
true);
470 if (hist_hadronb2_over_mumu2trk) {
471 hist_hadronb2_over_mumu2trk->Draw();
472 if (hist_hadronb2_over_mumu2trk->GetBinContent(
473 hist_hadronb2_over_mumu2trk->GetXaxis()->FindBin(
"accept_mumu_2trk")) != 0) {
474 double hadronb2_over_mumu2trk = 0.0;
475 hadronb2_over_mumu2trk = hist_hadronb2_over_mumu2trk->GetBinContent(
476 hist_hadronb2_over_mumu2trk->GetXaxis()->FindBin(
"accept_hadronb2")) / hist_hadronb2_over_mumu2trk->GetBinContent(
477 hist_hadronb2_over_mumu2trk->GetXaxis()->FindBin(
"accept_mumu_2trk"));
478 B2DEBUG(1,
"hadronb2_over_mumu2trk:" << hadronb2_over_mumu2trk);
479 setEpicsPV(
"hadronb2_over_mumu2trk", hadronb2_over_mumu2trk);
487 auto hist_mumu_tight_over_bhabha_all =
getDelta(
"softwaretrigger",
"skim", 0,
true);
488 if (hist_mumu_tight_over_bhabha_all) {
489 hist_mumu_tight_over_bhabha_all->Draw();
490 if (hist_mumu_tight_over_bhabha_all->GetBinContent(
491 hist_mumu_tight_over_bhabha_all->GetXaxis()->FindBin(
"accept_bhabha_all")) != 0) {
492 double mumu_tight_over_bhabha_all = 0.0;
493 mumu_tight_over_bhabha_all = hist_mumu_tight_over_bhabha_all->GetBinContent(
494 hist_mumu_tight_over_bhabha_all->GetXaxis()->FindBin(
"accept_mumutight")) / hist_mumu_tight_over_bhabha_all->GetBinContent(
495 hist_mumu_tight_over_bhabha_all->GetXaxis()->FindBin(
"accept_bhabha_all"));
496 B2DEBUG(1,
"mumu_tight_over_bhabha_all:" << mumu_tight_over_bhabha_all);
497 setEpicsPV(
"mumu_tight_over_bhabha_all", mumu_tight_over_bhabha_all);
503 auto hist_gammagamma_over_bhabha_all =
getDelta(
"softwaretrigger",
"skim", 0,
true);
504 if (hist_gammagamma_over_bhabha_all) {
505 hist_gammagamma_over_bhabha_all->Draw();
506 if (hist_gammagamma_over_bhabha_all->GetBinContent(
507 hist_gammagamma_over_bhabha_all->GetXaxis()->FindBin(
"accept_bhabha_all")) != 0) {
508 double gammagamma_over_bhabha_all = 0.0;
509 gammagamma_over_bhabha_all = hist_gammagamma_over_bhabha_all->GetBinContent(
510 hist_gammagamma_over_bhabha_all->GetXaxis()->FindBin(
"accept_gamma_gamma")) / hist_gammagamma_over_bhabha_all->GetBinContent(
511 hist_gammagamma_over_bhabha_all->GetXaxis()->FindBin(
"accept_bhabha_all"));
512 B2DEBUG(1,
"gammagamma_over_bhabha_all:" << gammagamma_over_bhabha_all);
513 setEpicsPV(
"gammagamma_over_bhabha_all", gammagamma_over_bhabha_all);
519 auto hist_tautau2trk_over_bhabha_all =
getDelta(
"softwaretrigger",
"skim", 0,
true);
520 if (hist_tautau2trk_over_bhabha_all) {
521 hist_tautau2trk_over_bhabha_all->Draw();
522 if (hist_tautau2trk_over_bhabha_all->GetBinContent(
523 hist_tautau2trk_over_bhabha_all->GetXaxis()->FindBin(
"accept_bhabha_all")) != 0) {
524 double tautau2trk_over_bhabha_all = 0.0;
525 tautau2trk_over_bhabha_all = hist_tautau2trk_over_bhabha_all->GetBinContent(
526 hist_tautau2trk_over_bhabha_all->GetXaxis()->FindBin(
"accept_tau_2trk")) / hist_tautau2trk_over_bhabha_all->GetBinContent(
527 hist_tautau2trk_over_bhabha_all->GetXaxis()->FindBin(
"accept_bhabha_all"));
528 B2DEBUG(1,
"tautau2trk_over_bhabha_all:" << tautau2trk_over_bhabha_all);
529 setEpicsPV(
"tautau2trk_over_bhabha_all", tautau2trk_over_bhabha_all);
535 auto hist_hadron_over_bhabha_all =
getDelta(
"softwaretrigger",
"skim", 0,
true);
536 if (hist_hadron_over_bhabha_all) {
537 hist_hadron_over_bhabha_all->Draw();
538 if (hist_hadron_over_bhabha_all->GetBinContent(
539 hist_hadron_over_bhabha_all->GetXaxis()->FindBin(
"accept_bhabha_all")) != 0) {
540 double hadron_over_bhabha_all = 0.0;
541 hadron_over_bhabha_all = hist_hadron_over_bhabha_all->GetBinContent(
542 hist_hadron_over_bhabha_all->GetXaxis()->FindBin(
"accept_hadron")) / hist_hadron_over_bhabha_all->GetBinContent(
543 hist_hadron_over_bhabha_all->GetXaxis()->FindBin(
"accept_bhabha_all"));
544 B2DEBUG(1,
"hadron_over_bhabha_all:" << hadron_over_bhabha_all);
545 setEpicsPV(
"hadron_over_bhabha_all", hadron_over_bhabha_all);
550 auto hist_nTSFHits_total =
getDelta(
"TRGGRL",
"h_wirecnt_sum", 0,
true);
551 if (hist_nTSFHits_total) {
552 double mean = hist_nTSFHits_total->GetMean();
553 B2DEBUG(1,
"CDCTRG_meanTSFHits_total:" << mean);
557 auto hist_nTSFHits_clean =
getDelta(
"TRGGRL",
"h_wirecnt_sum_clean", 0,
true);
558 if (hist_nTSFHits_clean) {
559 double mean = hist_nTSFHits_clean->GetMean();
560 B2DEBUG(1,
"CDCTRG_meanTSFHits_clean:" << mean);
564 auto hist_nTSFHits_injHER =
getDelta(
"TRGGRL",
"h_wirecnt_sum_injHER", 0,
true);
565 if (hist_nTSFHits_injHER) {
566 double mean = hist_nTSFHits_injHER->GetMean();
567 B2DEBUG(1,
"CDCTRG_meanTSFHits_injHER:" << mean);
568 setEpicsPV(
"CDCTRG_meanTSFHits_injHER", mean);
571 auto hist_nTSFHits_injLER =
getDelta(
"TRGGRL",
"h_wirecnt_sum_injLER", 0,
true);
572 if (hist_nTSFHits_injLER) {
573 double mean = hist_nTSFHits_injLER->GetMean();
574 B2DEBUG(1,
"CDCTRG_meanTSFHits_injLER:" << mean);
575 setEpicsPV(
"CDCTRG_meanTSFHits_injLER", mean);
578 auto hist_nTC_total =
getDelta(
"TRG",
"h_n_TChit_event", 0,
true);
579 if (hist_nTC_total) {
580 double mean = hist_nTC_total->GetMean();
581 B2DEBUG(1,
"ECLTRG_meanTC_total:" << mean);
585 auto hist_nTC_clean =
getDelta(
"TRG",
"h_n_TChit_clean", 0,
true);
586 if (hist_nTC_clean) {
587 double mean = hist_nTC_clean->GetMean();
588 B2DEBUG(1,
"ECLTRG_meanTC_clean:" << mean);
592 auto hist_nTC_injHER =
getDelta(
"TRG",
"h_n_TChit_injHER", 0,
true);
593 if (hist_nTC_injHER) {
594 double mean = hist_nTC_injHER->GetMean();
595 B2DEBUG(1,
"ECLTRG_meanTC_injHER:" << mean);
599 auto hist_nTC_injLER =
getDelta(
"TRG",
"h_n_TChit_injLER", 0,
true);
600 if (hist_nTC_injLER) {
601 double mean = hist_nTC_injLER->GetMean();
602 B2DEBUG(1,
"ECLTRG_meanTC_injLER:" << mean);
617 B2DEBUG(1,
"DQMHistAnalysisTRGModule: terminate called");
The base class for the histogram analysis module.
int registerEpicsPV(std::string pvname, std::string keyname="", bool update_pvs=true)
EPICS related Functions.
void addDeltaPar(const std::string &dirname, const std::string &histname, HistDelta::EDeltaType t, int p, unsigned int a=1)
Add Delta histogram parameters.
TH1 * getDelta(const std::string &fullname, int n=0, bool onlyIfUpdated=true)
Get Delta histogram.
void setEpicsPV(std::string keyname, double value)
Write value to a EPICS PV.
void UpdateCanvas(std::string name, bool updated=true)
Mark canvas as updated (or not)
void terminate(void) override final
This method is called at the end of the event processing.
void initialize(void) override final
Initializer.
void endRun(void) override final
Called when run ends.
std::string m_pvPrefix
prefix for EPICS PVs
TCanvas * m_canvas
Final Canvas.
void doHistAnalysis()
Do the actual processing.
~DQMHistAnalysisTRGModule()
Destructor.
void beginRun(void) override final
Called when entering a new run.
void event(void) override final
This method is called for each event.
void addParam(const std::string &name, T ¶mVariable, const std::string &description, const T &defaultValue)
Adds a new parameter to the module.
#define REG_MODULE(moduleName)
Register the given module (without 'Module' suffix) with the framework.
Abstract base class for different kinds of events.