Belle II Software  release-05-02-19
DQMHistAnalysisTRGGDL.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2010 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Kindo Haruki *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #ifndef TRGGDLDQMANALYSISMODULE_H
12 #define TRGGDLDQMANALYSISMODULE_H
13 
14 #pragma once
15 
16 #ifdef _BELLE2_EPICS
17 // EPICS
18 #include "cadef.h"
19 #endif
20 
21 //DQM
22 #include <dqm/analysis/modules/DQMHistAnalysis.h>
23 
24 
25 //ARICH
26 #include <arich/utility/ARICHChannelHist.h>
27 
28 #include <vector>
29 
30 #include <TCanvas.h>
31 #include <TLine.h>
32 #include <TH2Poly.h>
33 
34 namespace Belle2 {
43  class DQMHistAnalysisTRGGDLModule : public DQMHistAnalysisModule {
44 
45  public:
46 
51 
56 
61  virtual void initialize() override;
62 
67  virtual void beginRun() override;
68 
72  virtual void event() override;
73 
78  virtual void endRun() override;
79 
84  virtual void terminate() override;
85 
91  TCanvas* find_canvas(TString cname);
92 
93  protected:
94  bool m_debug;
95  bool m_enableAlert;
98  static const int nskim_gdldqm = 11;
99  std::string skim_smap[nskim_gdldqm] = {
100  "all",
101  "hadron",
102  "tautau",
103  "mumu1trk",
104  "mumu2trk",
105  "gammagamma",
106  "bhabha",
107  "hadronb",
108  "hadronb1",
109  "hadronb2",
110  "mumutight"
111  };
113  TH1D* m_h_psn_extra[nskim_gdldqm] = {};
114  TH1D* m_h_psn_pure_extra = nullptr;
115  TCanvas* m_c_eff[nskim_gdldqm] = {};
116  TH1D* m_h_eff[nskim_gdldqm] = {};
117  static const int n_eff = 40;
119  const char* c_eff[n_eff] = {
120  "fff with c4|hie",
121  "ffo with c4|hie",
122  "ffb with c4|hie",
123  "ffy with c4|hie",
124  "fyo with c4|hie",
125  "fyb with c4|hie",
126  "hie with fff|ffo|ffb",
127  "c4 with fff|ffo|ffb",
128  "lml0 with fff|ffo|ffb",
129  "lml1 with fff|ffo|ffb",
130  "lml2 with fff|ffo|ffb",
131  "lml3 with fff|ffo|ffb",
132  "lml4 with fff|ffo|ffb",
133  "lml5 with fff|ffo|ffb",
134  "lml6 with fff|ffo|ffb",
135  "lml7 with fff|ffo|ffb",
136  "lml8 with fff|ffo|ffb",
137  "lml9 with fff|ffo|ffb",
138  "lml10 with fff|ffo|ffb",
139  "lml12 with fff|ffo|ffb",
140  "lml13 with fff|ffo|ffb",
141  "bha3d with all",
142  "mu_b2b with fff|ffo|ffb",
143  "mu_b2b with lml|eclmumu",
144  "mu_eb2b with lml|eclmumu",
145  "cdcklm1 with fff|ffo|ffb",
146  "cdcklm2 with fff|ffo|ffb",
147  "fff with lml|eclmumu",
148  "ffo with lml|eclmumu",
149  "ffb with lml|eclmumu",
150  "ff with lml|eclmumu",
151  "f with lml|eclmumu",
152  "ffy with lml|eclmumu",
153  "fyo with lml|eclmumu",
154  "fyb with lml|eclmumu",
155  "cdcecl2 with fff|ffo|ffb",
156  "ecleklm with lml|eclmumu",
157  "syo with c4|hie",
158  "yioiecl1 with c4|hie",
159  "stt with c4|hie"
160  };
161 
162  TCanvas* m_c_eff_shifter = nullptr;
163  TH1D* m_h_eff_shifter = nullptr;
164  static const int n_eff_shifter = 14;
165  const char* c_eff_shifter[n_eff_shifter] = {
166  "CDC fff",
167  "CDC ffo",
168  "CDC ffy",
169  "CDC fyo",
170  "ECL hie",
171  "ECL c4",
172  "BKLM b2b",
173  "EKLM b2b",
174  "CDC-BKLM>1",
175  "CDC-ECL>1",
176  "ECL-EKLM>0",
177  "CDC syo",
178  "CDC yio",
179  "CDC stt"
180  };
181  TCanvas* m_c_pure_eff = nullptr;
182  TH1D* m_h_pure_eff = nullptr;
183  static const int n_pure_eff = 8;
185  const char* c_pure_eff[n_pure_eff] = {
186  "fff with c4|hie",
187  "ffo with c4|hie",
188  "ffb with c4|hie",
189  "ffy with c4|hie",
190  "fyo with c4|hie",
191  "fyb with c4|hie",
192  "hie with fff|ffo|ffb",
193  "c4 with fff|ffo|ffb"
194  };
195 
199  0.80, 0.80, 0.80, 0.80, 0.80, 0.80, 0.40, 0.10, 0.35, 0.80, 0.00, 0.00, 0.00, 0.00
200  };
202  0.95, 0.95, 0.95, 0.95, 1.00, 1.00, 0.50, 0.20, 0.55, 1.00, 1.00, 1.00, 1.00, 1.00
203  };
205 #ifdef _BELLE2_EPICS
206  chid mychid[n_eff_shifter];// hard limit max 10 parameters
207  chid mychid_entry[nskim_gdldqm];
208 #endif
209 
210  };
211 
213 } // Belle2 namespace
214 
215 #endif
Belle2::DQMHistAnalysisTRGGDLModule::m_line_limit_low_shifter
TLine * m_line_limit_low_shifter[n_eff_shifter]
lower limit line for the simplified efficiency histogram
Definition: DQMHistAnalysisTRGGDL.h:204
Belle2::DQMHistAnalysisTRGGDLModule::find_canvas
TCanvas * find_canvas(TString cname)
Find canvas by name.
Definition: DQMHistAnalysisTRGGDL.cc:444
Belle2::DQMHistAnalysisTRGGDLModule::n_eff
static const int n_eff
number of bins for the efficiency histogram
Definition: DQMHistAnalysisTRGGDL.h:125
Belle2::DQMHistAnalysisTRGGDLModule::m_c_eff_shifter
TCanvas * m_c_eff_shifter
Canvas for TRGGDL efficiency, simplified one for CR shifter.
Definition: DQMHistAnalysisTRGGDL.h:170
Belle2::DQMHistAnalysisTRGGDLModule::m_limit_low_shifter
double m_limit_low_shifter[n_eff_shifter]
lower limit value in each bin
Definition: DQMHistAnalysisTRGGDL.h:206
Belle2::DQMHistAnalysisTRGGDLModule::DQMHistAnalysisTRGGDLModule
DQMHistAnalysisTRGGDLModule()
Constructor.
Definition: DQMHistAnalysisTRGGDL.cc:38
Belle2::DQMHistAnalysisTRGGDLModule::m_h_eff
TH1D * m_h_eff[nskim_gdldqm]
Histogram for TRGGDL efficiency in each HLT skim.
Definition: DQMHistAnalysisTRGGDL.h:124
Belle2::DQMHistAnalysisTRGGDLModule::c_pure_eff
const char * c_pure_eff[n_pure_eff]
label of bins for the efficiency histogram with offline selection
Definition: DQMHistAnalysisTRGGDL.h:193
Belle2::DQMHistAnalysisTRGGDLModule::m_h_pure_eff
TH1D * m_h_pure_eff
Histogram for TRGGDL efficiency with offline selection.
Definition: DQMHistAnalysisTRGGDL.h:190
Belle2::DQMHistAnalysisTRGGDLModule::m_debug
bool m_debug
debug
Definition: DQMHistAnalysisTRGGDL.h:102
Belle2::DQMHistAnalysisTRGGDLModule::endRun
virtual void endRun() override
End-of-run action.
Definition: DQMHistAnalysisTRGGDL.cc:425
Belle2::DQMHistAnalysisTRGGDLModule::m_limit_high_shifter
double m_limit_high_shifter[n_eff_shifter]
upper limit value in each bin
Definition: DQMHistAnalysisTRGGDL.h:209
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::DQMHistAnalysisTRGGDLModule::n_pure_eff
static const int n_pure_eff
number of bins for the efficiency histogram with offline selection
Definition: DQMHistAnalysisTRGGDL.h:191
Belle2::DQMHistAnalysisTRGGDLModule::c_eff
const char * c_eff[n_eff]
label of bins for the efficiency histogram
Definition: DQMHistAnalysisTRGGDL.h:127
Belle2::DQMHistAnalysisTRGGDLModule::nskim_gdldqm
static const int nskim_gdldqm
number of HLT skims
Definition: DQMHistAnalysisTRGGDL.h:106
Belle2::DQMHistAnalysisTRGGDLModule::m_enableAlert
bool m_enableAlert
Enable alert by base color of canvases.
Definition: DQMHistAnalysisTRGGDL.h:103
Belle2::DQMHistAnalysisTRGGDLModule::c_eff_shifter
const char * c_eff_shifter[n_eff_shifter]
label of bins for the simplified efficiency histogram
Definition: DQMHistAnalysisTRGGDL.h:173
Belle2::DQMHistAnalysisTRGGDLModule::~DQMHistAnalysisTRGGDLModule
virtual ~DQMHistAnalysisTRGGDLModule()
Destructor.
Definition: DQMHistAnalysisTRGGDL.cc:48
Belle2::DQMHistAnalysisTRGGDLModule::m_h_psn_extra
TH1D * m_h_psn_extra[nskim_gdldqm]
DQM Histogram for PSN bits in each HLT skim.
Definition: DQMHistAnalysisTRGGDL.h:121
Belle2::DQMHistAnalysisTRGGDLModule::event
virtual void event() override
Event processor.
Definition: DQMHistAnalysisTRGGDL.cc:110
Belle2::DQMHistAnalysisTRGGDLModule::m_h_psn_pure_extra
TH1D * m_h_psn_pure_extra
DQM Histogram for PSN bits with offline selection.
Definition: DQMHistAnalysisTRGGDL.h:122
Belle2::DQMHistAnalysisTRGGDLModule::skim_smap
std::string skim_smap[nskim_gdldqm]
name of HLT skims
Definition: DQMHistAnalysisTRGGDL.h:107
Belle2::DQMHistAnalysisTRGGDLModule::beginRun
virtual void beginRun() override
Called when entering a new run.
Definition: DQMHistAnalysisTRGGDL.cc:106
Belle2::DQMHistAnalysisTRGGDLModule::m_h_eff_shifter
TH1D * m_h_eff_shifter
Histogram for TRGGDL efficiency, simplified one for CR shifter.
Definition: DQMHistAnalysisTRGGDL.h:171
Belle2::DQMHistAnalysisTRGGDLModule::m_c_pure_eff
TCanvas * m_c_pure_eff
Canvas for TRGGDL efficiency with offline selection.
Definition: DQMHistAnalysisTRGGDL.h:189
Belle2::DQMHistAnalysisTRGGDLModule::m_c_eff
TCanvas * m_c_eff[nskim_gdldqm]
Canvas for TRGGDL efficiency in each HLT skim.
Definition: DQMHistAnalysisTRGGDL.h:123
Belle2::DQMHistAnalysisTRGGDLModule::initialize
virtual void initialize() override
Initialize the Module.
Definition: DQMHistAnalysisTRGGDL.cc:55
Belle2::DQMHistAnalysisTRGGDLModule::terminate
virtual void terminate() override
Termination action.
Definition: DQMHistAnalysisTRGGDL.cc:430
Belle2::DQMHistAnalysisTRGGDLModule::n_eff_shifter
static const int n_eff_shifter
number of bins for the simplified efficiency histogram
Definition: DQMHistAnalysisTRGGDL.h:172
Belle2::DQMHistAnalysisTRGGDLModule::m_line_limit_high_shifter
TLine * m_line_limit_high_shifter[n_eff_shifter]
upper limit line for the simplified efficiency histogram
Definition: DQMHistAnalysisTRGGDL.h:205