Belle II Software  release-08-01-10
DQMHistAnalysisTRGGDL.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 TRGGDLDQMANALYSISMODULE_H
10 #define TRGGDLDQMANALYSISMODULE_H
11 
12 #pragma once
13 
14 #ifdef _BELLE2_EPICS
15 // EPICS
16 #include "cadef.h"
17 #endif
18 
19 //DQM
20 #include <dqm/core/DQMHistAnalysis.h>
21 
22 
23 //ARICH
24 #include <arich/utility/ARICHChannelHist.h>
25 
26 #include <vector>
27 
28 #include <TCanvas.h>
29 #include <TLine.h>
30 #include <TH2Poly.h>
31 
32 namespace Belle2 {
42 
43  public:
44 
49 
54 
59  void initialize() override final;
60 
64  void event() override final;
65 
70  void endRun() override final;
71 
76  void terminate() override final;
77 
78  protected:
79  bool m_debug;
83  static const int nskim_gdldqm = 11;
84  std::string skim_smap[nskim_gdldqm] = {
85  "all",
86  "hadron",
87  "tautau",
88  "mumu1trk",
89  "mumu2trk",
90  "gammagamma",
91  "bhabha",
92  "hadronb",
93  "hadronb1",
94  "hadronb2",
95  "mumutight"
96  };
100  TH1D* m_h_psn_pure_extra = nullptr;
101  TCanvas* m_c_eff[nskim_gdldqm] = {};
102  TCanvas* m_c_eff_fast[nskim_gdldqm] = {};
103  TH1D* m_h_eff[nskim_gdldqm] = {};
105  static const int n_eff = 40;
107  const char* c_eff[n_eff] = {
108  "fff with c4|hie",
109  "ffo with c4|hie",
110  "ffb with c4|hie",
111  "ffy with c4|hie",
112  "fyo with c4|hie",
113  "fyb with c4|hie",
114  "hie with fff|ffo|ffb",
115  "c4 with fff|ffo|ffb",
116  "lml0 with fff|ffo|ffb",
117  "lml1 with fff|ffo|ffb",
118  "lml2 with fff|ffo|ffb",
119  "lml3 with fff|ffo|ffb",
120  "lml4 with fff|ffo|ffb",
121  "lml5 with fff|ffo|ffb",
122  "lml6 with fff|ffo|ffb",
123  "lml7 with fff|ffo|ffb",
124  "lml8 with fff|ffo|ffb",
125  "lml9 with fff|ffo|ffb",
126  "lml10 with fff|ffo|ffb",
127  "lml12 with fff|ffo|ffb",
128  "lml13 with fff|ffo|ffb",
129  "bha3d with all",
130  "mu_b2b with fff|ffo|ffb",
131  "mu_b2b with lml|eclmumu",
132  "mu_eb2b with lml|eclmumu",
133  "cdcklm1 with fff|ffo|ffb",
134  "cdcklm2 with fff|ffo|ffb",
135  "fff with lml|eclmumu",
136  "ffo with lml|eclmumu",
137  "ffb with lml|eclmumu",
138  "ff with lml|eclmumu",
139  "f with lml|eclmumu",
140  "ffy with lml|eclmumu",
141  "fyo with lml|eclmumu",
142  "fyb with lml|eclmumu",
143  "cdcecl2 with fff|ffo|ffb",
144  "ecleklm with lml|eclmumu",
145  "syo with c4|hie",
146  "yioiecl1 with c4|hie",
147  "stt with c4|hie"
148  };
149 
150  TCanvas* m_c_eff_shifter = nullptr;
151  TCanvas* m_c_eff_shifter_fast = nullptr;
152  TH1D* m_h_eff_shifter = nullptr;
153  TH1D* m_h_eff_shifter_fast = nullptr;
154  static const int n_eff_shifter = 14;
155  const char* c_eff_shifter[n_eff_shifter] = {
156  "CDC fff",
157  "CDC ffo",
158  "CDC ffy",
159  "CDC fyo",
160  "ECL hie",
161  "ECL c4",
162  "BKLM b2b",
163  "EKLM b2b",
164  "CDC-BKLM>1",
165  "CDC-ECL>1",
166  "ECL-EKLM>0",
167  "CDC syo",
168  "CDC yio",
169  "CDC stt"
170  };
171  TCanvas* m_c_pure_eff = nullptr;
172  TH1D* m_h_pure_eff = nullptr;
173  static const int n_pure_eff = 8;
175  const char* c_pure_eff[n_pure_eff] = {
176  "fff with c4|hie",
177  "ffo with c4|hie",
178  "ffb with c4|hie",
179  "ffy with c4|hie",
180  "fyo with c4|hie",
181  "fyb with c4|hie",
182  "hie with fff|ffo|ffb",
183  "c4 with fff|ffo|ffb"
184  };
185 
189  0.80, 0.80, 0.80, 0.80, 0.80, 0.80, 0.35, 0.05, 0.25, 0.80, 0.20, 0.40, 0.00, 0.70
190  };
192  0.95, 0.95, 0.95, 0.95, 1.00, 1.00, 0.50, 0.20, 0.55, 1.00, 0.40, 0.70, 1.00, 0.90
193  };
197 
198 #ifdef _BELLE2_EPICS
199  chid mychid[n_eff_shifter];// hard limit max 10 parameters
200  chid mychid_entry[nskim_gdldqm];
201 #endif
202 
203  };
204 
206 } // Belle2 namespace
207 
208 #endif
The base class for the histogram analysis module.
Make summary of data quality from reconstruction.
TH1D * m_h_eff_shifter_fast
Histogram for TRGGDL efficiency, simplified one for CR shifter.
void initialize() override final
Initialize the Module.
static const int n_eff_shifter
number of bins for the simplified efficiency histogram
TCanvas * m_c_eff_shifter_fast
Canvas for TRGGDL efficiency, simplified one for CR shifter.
TCanvas * m_c_eff_fast[nskim_gdldqm]
Canvas for TRGGDL efficiency in each HLT skim.
bool m_IsPhysicsRun
Run type flag for physics runs.
TH1D * m_h_eff_fast[nskim_gdldqm]
Histogram for TRGGDL efficiency in each HLT skim.
bool m_enableAlert
Enable alert by base color of canvases.
static const int nskim_gdldqm
number of HLT skims
TLine * m_line_limit_high_shifter[n_eff_shifter]
upper limit line for the simplified efficiency histogram
double m_limit_low_shifter[n_eff_shifter]
lower limit value in each bin
TH1D * m_h_pure_eff
Histogram for TRGGDL efficiency with offline selection.
TLine * m_line_limit_low_shifter[n_eff_shifter]
lower limit line for the simplified efficiency histogram
void terminate() override final
Termination action.
TH1D * m_h_eff[nskim_gdldqm]
Histogram for TRGGDL efficiency in each HLT skim.
const char * c_eff[n_eff]
label of bins for the efficiency histogram
void event() override final
Event processor.
std::string skim_smap[nskim_gdldqm]
name of HLT skims
TH1D * m_h_eff_shifter
Histogram for TRGGDL efficiency, simplified one for CR shifter.
TH1D * m_h_psn_extra_fast[nskim_gdldqm]
DQM Histogram for PSN bits in each HLT skim.
double m_limit_high_shifter[n_eff_shifter]
upper limit value in each bin
TH1D * m_h_psn_pure_extra
DQM Histogram for PSN bits with offline selection.
static const int n_pure_eff
number of bins for the efficiency histogram with offline selection
TH1D * m_h_psn_extra[nskim_gdldqm]
DQM Histogram for PSN bits in each HLT skim.
TCanvas * m_c_pure_eff
Canvas for TRGGDL efficiency with offline selection.
void endRun() override final
End-of-run action.
TCanvas * m_c_eff[nskim_gdldqm]
Canvas for TRGGDL efficiency in each HLT skim.
const char * c_pure_eff[n_pure_eff]
label of bins for the efficiency histogram with offline selection
TCanvas * m_c_eff_shifter
Canvas for TRGGDL efficiency, simplified one for CR shifter.
static const int n_eff
number of bins for the efficiency histogram
const char * c_eff_shifter[n_eff_shifter]
label of bins for the simplified efficiency histogram
Abstract base class for different kinds of events.