Belle II Software development
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
32namespace 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;
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.