Belle II Software development
DQMHistAnalysisTRGEFF.h
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#ifndef TRGEFFDQMANALYSISMODULE_H
10#define TRGEFFDQMANALYSISMODULE_H
11
12#pragma once
13
14
15//DQM
16#include <dqm/core/DQMHistAnalysis.h>
17
18
19#include <vector>
20#include <TCanvas.h>
21#include <TLine.h>
22#include <TH2Poly.h>
23#include <TEfficiency.h>
24
25namespace Belle2 {
35
36 public:
37
42
47
52 void initialize() override final;
53
57 void event() override final;
58
63 void endRun() override final;
64
69 void terminate() override final;
70
71 protected:
72 bool m_debug;
81
82 /*************************************************************************************
83 * More details meaning of the used histograms could be found in *
84 * 'basf2/trg/gdl/modules/trggdlDQM/include/TRGEFFDQMModule.h' and *
85 * 'basf2/trg/gdl/modules/trggdlDQM/src/TRGEFFDQMModule.cc' *
86 * The efficiency is calculated by the two histograms.("mask bits" and "object bit") *
87 * The name histogram of the mask bits. *
88 * The name histogram of the object bit with mask bits is ends with "_ftdf" *
89 * The canvas and efficiency for the object bit. *
90 *************************************************************************************/
91
94 TCanvas* m_cPhi_eff = nullptr;
95 TEfficiency* m_hPhi_eff = nullptr;
99 TCanvas* m_cPt_eff = nullptr;
100 TEfficiency* m_hPt_eff = nullptr;
102 // CDC TRG, remove the bhabha veto for f bit
103 TCanvas* m_nobha_cPt_eff = nullptr;
104 TEfficiency* m_nobha_hPt_eff = nullptr;
106 // (t3>0 and !bhaveto and !veto), for z bit
109 TCanvas* m_cP3_z_eff = nullptr;
110 TEfficiency* m_hP3_z_eff = nullptr;
112 // (t3>0 and !bhaveto and !veto), for y bit
115 TCanvas* m_cP3_y_eff = nullptr;
116 TEfficiency* m_hP3_y_eff = nullptr;
118 // for CDC TRG, remove bhabha veto for z and y bit
119 TCanvas* m_nobha_cP3_z_eff = nullptr;
120 TEfficiency* m_nobha_hP3_z_eff = nullptr;
122 TCanvas* m_nobha_cP3_y_eff = nullptr;
123 TEfficiency* m_nobha_hP3_y_eff = nullptr;
126 //-"fyo" with track deleta_phi distribution
129 TCanvas* m_c_fyo_dphi_eff = nullptr;
130 TEfficiency* m_fyo_dphi_eff = nullptr;
132 // remove the bha_veto for fyo
133 TCanvas* m_c_nobha_fyo_dphi_eff = nullptr;
134 TEfficiency* m_nobha_fyo_dphi_eff = nullptr;
136 //-"stt " with track p, θ, phi distribution
139 TCanvas* m_c_stt_phi_eff = nullptr;
140 TEfficiency* m_stt_phi_eff = nullptr;
145 TCanvas* m_c_stt_P3_eff = nullptr;
146 TEfficiency* m_stt_P3_eff = nullptr;
151 TCanvas* m_c_stt_theta_eff = nullptr;
152 TEfficiency* m_stt_theta_eff = nullptr;
154 // for CDC TRG, remove the bha_veto of the stt bit. (the distribution of phi, p and theta)
155 TCanvas* m_c_nobha_stt_phi_eff = nullptr;
156 TEfficiency* m_nobha_stt_phi_eff = nullptr;
158 TCanvas* m_c_nobha_stt_P3_eff = nullptr;
159 TEfficiency* m_nobha_stt_P3_eff = nullptr;
161 TCanvas* m_c_nobha_stt_theta_eff = nullptr;
162 TEfficiency* m_nobha_stt_theta_eff = nullptr;
165 //-"hie" with ECL cluster energy sum distribution
168 TCanvas* m_c_hie_E_eff = nullptr;
169 TEfficiency* m_hie_E_eff = nullptr;
171 // remove the bha_veto for hie bit (the distribution of sum E)
172 TCanvas* m_c_nobha_hie_E_eff = nullptr;
173 TEfficiency* m_nobha_hie_E_eff = nullptr;
178 TCanvas* m_c_ecltiming_E_eff = nullptr;
179 TEfficiency* m_ecltiming_E_eff = nullptr;
181 // the theta distribution for the ecltiming bit.
182 TCanvas* m_c_ecltiming_theta_eff = nullptr;
183 TEfficiency* m_ecltiming_theta_eff = nullptr;
185 // the phi distribution for the ecltiming bit. the histograms of the cdc mask bits, the ecltiming with cdc mask bits.
186 TCanvas* m_c_ecltiming_phi_eff = nullptr;
187 TEfficiency* m_ecltiming_phi_eff = nullptr;
192 // -"klmhit" with KLM cluster or track φ,θ distribution
193 TCanvas* m_c_klmhit_phi_eff = nullptr;
194 TEfficiency* m_klmhit_phi_eff = nullptr;
196 TCanvas* m_c_klmhit_theta_eff = nullptr;
197 TEfficiency* m_klmhit_theta_eff = nullptr;
201 TCanvas* m_c_eklmhit_phi_eff = nullptr;
202 TEfficiency* m_eklmhit_phi_eff = nullptr;
204 // the theta distribution for eklmhit bit
205 TCanvas* m_c_eklmhit_theta_eff = nullptr;
206 TEfficiency* m_eklmhit_theta_eff = nullptr;
208 std::vector<std::tuple<std::string, TEfficiency**, TCanvas*>>
211 //mirabelle
215 };
216
218} // Belle2 namespace
219
220#endif
The base class for the histogram analysis module.
Make summary of data quality from reconstruction.
TEfficiency * m_nobha_hP3_z_eff
remove the bha_veto, the efficiency of p for z bit
TEfficiency * m_hie_E_eff
the efficiency of phi for hie bit
TCanvas * m_cP3_z_eff
for CDC TRG, the histograms for 3-momentum p with ecl mask bits, p of z bit with ecl mask bits.
TEfficiency * m_ecltiming_phi_eff
the efficiency of phi for ecltiming bit
void initialize() override final
Initialize the Module.
TEfficiency * m_eklmhit_phi_eff
the efficiency of phi for eklmhit bit
TCanvas * m_c_eklmhit_theta_eff
canvas for TRGEFF efficiency, eklmhit bit
bool m_IsCosmicRun
Run type flag for cosmic runs.
TCanvas * m_cP3_y_eff
for CDC TRG, the histograms for 3-momentum p with ecl mask bits, p of y bit with ecl mask bits.
TEfficiency * m_hPt_eff
the efficiency of Pt for f bit
TCanvas * m_c_klmhit_phi_eff
for KLM TRG, the histograms for the phi of the ecl mask bits, and the phi of klmhit bit with ecl mask...
TCanvas * m_nobha_cPt_eff
remove the bha_veto, Canvas for TRGEFF efficiency, Pt
bool m_IsDebugRun
Run type flag for debug runs.
bool m_IsPhysicsRun
Run type flag for physics runs.
TEfficiency * m_ecltiming_theta_eff
the efficiency of theta for ecltiming bit
bool m_enableAlert
Enable alert by base color of canvases.
TCanvas * m_c_ecltiming_theta_eff
canvas for TRGEFF efficiency, ecltiming bit
TCanvas * m_c_ecltiming_E_eff
for ECL TRG, the histograms for the sum energy E distribution in an event with cdc mask bits,...
TCanvas * m_c_stt_phi_eff
for CDC TRG, the histograms for the phi distribution with ecl mask bits, the phi of stt bit with ecl ...
std::vector< std::tuple< std::string, TEfficiency **, TCanvas * > > m_efficiencyList
Combined efficiency list,the histogram, efficiency and Canvas
TEfficiency * m_hP3_y_eff
the efficiency of p for y bit
TEfficiency * m_klmhit_phi_eff
the efficiency of phi for klmhit bit
TCanvas * m_c_eklmhit_phi_eff
for KLM TRG, the histograms for the phi of the ecl mask bits, and the phi of eklmhit bit with ecl mas...
TCanvas * m_c_fyo_dphi_eff
for CDC TRG, the histograms for the largest dphi in an event with ecl mask bits, the largest dphi in ...
TEfficiency * m_nobha_stt_theta_eff
remove the bha_veto, the efficiency of theta for stt bit
void terminate() override final
Termination action.
TEfficiency * m_nobha_hPt_eff
remove the bha_veto, the efficiency of Pt for f bit
TEfficiency * m_stt_P3_eff
the efficiency of p for stt bit
TEfficiency * m_nobha_hie_E_eff
remove the bha_veto, the efficiency of phi for hie bit
TCanvas * m_c_stt_P3_eff
for CDC TRG, the histograms for the largest momentum p distribution in an event of the ecl mask bits,...
void event() override final
Event processor.
TCanvas * m_c_nobha_stt_theta_eff
remove the bha_veto, canvas for TRGEFF efficiency, stt bit
TCanvas * m_c_stt_theta_eff
for CDC TRG, the theta of stt distribution.
TEfficiency * m_stt_phi_eff
the efficiency of phi for stt bit
TEfficiency * m_nobha_stt_phi_eff
remove the bha_veto, the efficiency of phi for stt bit
TCanvas * m_cPt_eff
for CDC TRG, the histograms for momentum pt of the ecl mask bits, the pt of f bit with ecl mask bits.
TCanvas * m_c_ecltiming_phi_eff
canvas for TRGEFF efficiency, ecltiming bit
TCanvas * m_cPhi_eff
for CDC TRG, the histograms for phi of the ecl mask bits, the phi of f bit with ecl mask bits.
TEfficiency * m_klmhit_theta_eff
the efficiency of theta for klmhit bit
TEfficiency * m_eklmhit_theta_eff
the efficiency of theta for eklmhit bit
void endRun() override final
End-of-run action.
TEfficiency * m_hP3_z_eff
the efficiency of p for z bit
TEfficiency * m_hPhi_eff
the efficiency of Phi
TCanvas * m_c_nobha_fyo_dphi_eff
remove the bha_veto, canvas for TRGEFF efficiency, fyo bit
TEfficiency * m_fyo_dphi_eff
the efficiency of dphi for fyo bit
TCanvas * m_c_klmhit_theta_eff
canvas for TRGEFF efficiency, klmhit bit
TCanvas * m_nobha_cP3_z_eff
remove the bha_veto, canvas for TRGEFF efficiency, z bit
TEfficiency * m_stt_theta_eff
the efficiency of theta for stt bit
TCanvas * m_c_hie_E_eff
for ECL TRG, the histograms for the sum energy E distribution in an event within the thetaID range of...
TCanvas * m_c_nobha_stt_P3_eff
remove the bha_veto, canvas for TRGEFF efficiency, stt bit
TCanvas * m_nobha_cP3_y_eff
remove the bha_veto, canvas for TRGEFF efficiency, y bit
TCanvas * m_c_nobha_hie_E_eff
remove the bha_veto, canvas for TRGEFF efficiency, hie bit
Belle2::MonitoringObject * m_mon_trgeff
MonitoringObject for trg.
TEfficiency * m_nobha_fyo_dphi_eff
remove the bha_veto, the efficiency of dphi for fyo bit
TCanvas * m_c_nobha_stt_phi_eff
remove the bha_veto, canvas for TRGEFF efficiency, stt bit
TEfficiency * m_ecltiming_E_eff
the efficiency of phi for ecltiming bit
TEfficiency * m_nobha_stt_P3_eff
remove the bha_veto, the efficiency of p for stt bit
TEfficiency * m_nobha_hP3_y_eff
remove the bha_veto, the efficiency of p for y bit
MonitoringObject is a basic object to hold data for the run-dependency monitoring Run summary TCanvas...
Abstract base class for different kinds of events.