Belle II Software  release-08-02-06
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 
25 namespace 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_c_nobha_f_phi_eff = nullptr;
104  TEfficiency* m_nobha_f_phi_eff = nullptr;
106  // CDC TRG, remove the bhabha veto for f bit
107  TCanvas* m_nobha_cPt_eff = nullptr;
108  TEfficiency* m_nobha_hPt_eff = nullptr;
110  // (t3>0 and !bhaveto and !veto), for z bit
113  TCanvas* m_cP3_z_eff = nullptr;
114  TEfficiency* m_hP3_z_eff = nullptr;
116  // (t3>0 and !bhaveto and !veto), for y bit
119  TCanvas* m_cP3_y_eff = nullptr;
120  TEfficiency* m_hP3_y_eff = nullptr;
122  // for CDC TRG, remove bhabha veto for z and y bit
123  TCanvas* m_nobha_cP3_z_eff = nullptr;
124  TEfficiency* m_nobha_hP3_z_eff = nullptr;
126  TCanvas* m_nobha_cP3_y_eff = nullptr;
127  TEfficiency* m_nobha_hP3_y_eff = nullptr;
129  TCanvas* m_c_nobha_phi_z_eff = nullptr;
130  TEfficiency* m_nobha_phi_z_eff = nullptr;
132  TCanvas* m_c_nobha_phi_y_eff = nullptr;
133  TEfficiency* m_nobha_phi_y_eff = nullptr;
136  //-"fyo" with track deleta_phi distribution
139  TCanvas* m_c_fyo_dphi_eff = nullptr;
140  TEfficiency* m_fyo_dphi_eff = nullptr;
142  // remove the bha_veto for fyo
143  TCanvas* m_c_nobha_fyo_dphi_eff = nullptr;
144  TEfficiency* m_nobha_fyo_dphi_eff = nullptr;
146  //-"stt " with track p, θ, phi distribution
149  TCanvas* m_c_stt_phi_eff = nullptr;
150  TEfficiency* m_stt_phi_eff = nullptr;
155  TCanvas* m_c_stt_P3_eff = nullptr;
156  TEfficiency* m_stt_P3_eff = nullptr;
161  TCanvas* m_c_stt_theta_eff = nullptr;
162  TEfficiency* m_stt_theta_eff = nullptr;
164  // for CDC TRG, remove the bha_veto of the stt bit. (the distribution of phi, p and theta)
165  TCanvas* m_c_nobha_stt_phi_eff = nullptr;
166  TEfficiency* m_nobha_stt_phi_eff = nullptr;
168  TCanvas* m_c_nobha_stt_P3_eff = nullptr;
169  TEfficiency* m_nobha_stt_P3_eff = nullptr;
171  TCanvas* m_c_nobha_stt_theta_eff = nullptr;
172  TEfficiency* m_nobha_stt_theta_eff = nullptr;
175  //-"hie" with ECL cluster energy sum distribution
178  TCanvas* m_c_hie_E_eff = nullptr;
179  TEfficiency* m_hie_E_eff = nullptr;
181  // remove the bha_veto for hie bit (the distribution of sum E)
182  TCanvas* m_c_nobha_hie_E_eff = nullptr;
183  TEfficiency* m_nobha_hie_E_eff = nullptr;
188  TCanvas* m_c_ecltiming_E_eff = nullptr;
189  TEfficiency* m_ecltiming_E_eff = nullptr;
191  // the theta distribution for the ecltiming bit.
192  TCanvas* m_c_ecltiming_theta_eff = nullptr;
193  TEfficiency* m_ecltiming_theta_eff = nullptr;
195  // the phi distribution for the ecltiming bit. the histograms of the cdc mask bits, the ecltiming with cdc mask bits.
196  TCanvas* m_c_ecltiming_phi_eff = nullptr;
197  TEfficiency* m_ecltiming_phi_eff = nullptr;
202  // -"klmhit" with KLM cluster or track φ,θ distribution
203  TCanvas* m_c_klmhit_phi_eff = nullptr;
204  TEfficiency* m_klmhit_phi_eff = nullptr;
206  TCanvas* m_c_klmhit_theta_eff = nullptr;
207  TEfficiency* m_klmhit_theta_eff = nullptr;
211  TCanvas* m_c_eklmhit_phi_eff = nullptr;
212  TEfficiency* m_eklmhit_phi_eff = nullptr;
214  // the theta distribution for eklmhit bit
215  TCanvas* m_c_eklmhit_theta_eff = nullptr;
216  TEfficiency* m_eklmhit_theta_eff = nullptr;
218  std::vector<std::tuple<std::string, TEfficiency**, TCanvas*, std::string, std::string>>
221  //mirabelle
225  };
226 
228 } // Belle2 namespace
229 
230 #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
TEfficiency * m_nobha_f_phi_eff
remove the bha_veto, the efficiency of phi for f 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.
TCanvas * m_c_nobha_phi_z_eff
remove the bha_veto, canvas for TRGEFF efficiency, z bit
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_nobha_f_phi_eff
remove the bha_veto, canvas for TRGEFF efficiency, f 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 ...
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
TCanvas * m_c_nobha_phi_y_eff
remove the bha_veto, canvas for TRGEFF efficiency, y 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
TEfficiency * m_nobha_phi_y_eff
remove the bha_veto, the efficiency of phi for y 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_phi_z_eff
remove the bha_veto, the efficiency of phi for z bit
TEfficiency * m_nobha_stt_P3_eff
remove the bha_veto, the efficiency of p for stt bit
std::vector< std::tuple< std::string, TEfficiency **, TCanvas *, std::string, std::string > > m_efficiencyList
Combined efficiency list,the histogram, efficiency, Canvas, title, Xtitle
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.