Belle II Software  release-06-01-15
DQMHistAnalysisKLM2.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 #pragma once
10 
11 /* DQM headers. */
12 #include <dqm/analysis/modules/DQMHistAnalysis.h>
13 
14 /* KLM headers. */
15 #include <klm/dataobjects/bklm/BKLMElementNumbers.h>
16 #include <klm/dataobjects/eklm/EKLMElementNumbers.h>
17 
18 
19 /* ROOT headers. */
20 #include <TCanvas.h>
21 #include <TH1.h>
22 #include <TString.h>
23 #include <TText.h>
24 #include <TLine.h>
25 
26 /* C++ headers. */
27 #include <string>
28 
29 namespace Belle2 {
39 
40  public:
41 
46 
51 
55  void initialize() override;
56 
60  void beginRun() override;
61 
65  void event() override;
66 
70  void endRun() override;
71 
75  void terminate() override;
76 
77  private:
78 
79 
85  void processPlaneHistogram(const std::string& histName, TH1* histogram);
86 
87 
89  TLine m_PlaneLine;
90 
92  TText m_PlaneText;
93 
95  TH1* m_RunType = NULL;
96 
98  TString m_RunTypeString;
99 
101  bool m_IsPhysicsRun = false;
102 
104  TH1* m_eff_bklm = NULL;
105 
107  TCanvas* m_c_eff_bklm = NULL;
108 
110  TH1* m_eff_eklm = NULL;
111 
113  TCanvas* m_c_eff_eklm = NULL;
114 
116  TH1* m_eff_bklm_sector = NULL;
117 
119  TCanvas* m_c_eff_bklm_sector = NULL;
120 
122  TH1* m_eff_eklm_sector = NULL;
123 
125  TCanvas* m_c_eff_eklm_sector = NULL;
126 
127 
130 
131 
132  };
133 
135 }
Analysis of KLM DQM histograms.
TLine m_PlaneLine
TLine for boundary in plane histograms.
TH1 * m_eff_bklm_sector
Histogram for BKLM sector efficiency.
void processPlaneHistogram(const std::string &histName, TH1 *histogram)
Process histogram containing the number of hits in plane.
bool m_IsPhysicsRun
Run type flag for null runs.
void initialize() override
Initializer.
void event() override
This method is called for each event.
TH1 * m_eff_eklm
Histogram for EKLM plane efficiency.
TCanvas * m_c_eff_eklm_sector
Histogram for EKLM sector efficiency.
void endRun() override
This method is called if the current run ends.
const EKLMElementNumbers * m_EklmElementNumbers
EKLM element numbers.
TH1 * m_eff_eklm_sector
Histogram for EKLM sector efficiency.
void terminate() override
This method is called at the end of the event processing.
TCanvas * m_c_eff_bklm_sector
Histogram for BKLM sector efficiency.
TString m_RunTypeString
String with run type.
void beginRun() override
Called when entering a new run.
TH1 * m_eff_bklm
Histogram for BKLM plane efficiency.
TCanvas * m_c_eff_bklm
BKLM plane efficiency canvas.
TText m_PlaneText
TText for names in plane histograms.
TCanvas * m_c_eff_eklm
EKLM plane efficiency canvas.
TH1 * m_RunType
Histogram from DQMInfo with run type.
The base class for the histogram analysis module.
EKLM element numbers.
Abstract base class for different kinds of events.