Belle II Software development
TRGEfficiencyDQMModule.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#include <framework/core/HistoModule.h>
12#include <framework/core/Module.h>
13#include <framework/datastore/StoreArray.h>
14#include <framework/datastore/StoreObjPtr.h>
15
16#include <mdst/dataobjects/TRGSummary.h>
17#include <mdst/dataobjects/SoftwareTriggerResult.h>
18#include <mdst/dataobjects/Track.h>
19#include <mdst/dataobjects/TrackFitResult.h>
20#include <mdst/dataobjects/ECLCluster.h>
21#include <mdst/dataobjects/KLMCluster.h>
22
23#include <tracking/dataobjects/RecoTrack.h>
24
25#include <TH1F.h>
26#include <TH2F.h>
27
28namespace Belle2 {
33
38
39 public:
40
45
50
55 void initialize() override;
56
61 void defineHisto() override;
62
66 void event() override;
67
68 protected:
69
75
76 TH1F* m_hPhi = nullptr;
77 TH1F* m_hPhi_psnecl = nullptr;
78 TH1F* m_hPhi_psnecl_ftdf = nullptr;
79
80 TH1F* m_hPt = nullptr;
81 TH1F* m_hPt_psnecl = nullptr;
82 TH1F* m_hPt_psnecl_ftdf = nullptr;
83
84 TH1F* m_nobha_f_phi = nullptr; // remove the bhabha veto
85 TH1F* m_nobha_f_phi_psnecl = nullptr; // remove the bhabha veto
86 TH1F* m_nobha_f_phi_psnecl_ftdf = nullptr; // remove the bhabha veto
87
88 TH1F* m_nobha_hPt = nullptr; // remove the bhabha veto
89 TH1F* m_nobha_hPt_psnecl = nullptr; // remove the bhabha veto
90 TH1F* m_nobha_hPt_psnecl_ftdf = nullptr; // remove the bhabha veto
91
92 //for z bit (t3>0 and !bhaveto and !veto)
93 TH1F* m_hP3_z = nullptr;
94 TH1F* m_hP3_z_psnecl = nullptr;
95 TH1F* m_hP3_z_psnecl_ftdf = nullptr;
96
97 //for y bit (t3>0and!bhaveto and !veto)
98 TH1F* m_hP3_y = nullptr;
99 TH1F* m_hP3_y_psnecl = nullptr;
100 TH1F* m_hP3_y_psnecl_ftdf = nullptr;
101
102 //remove bhabha veto
103 TH1F* m_nobha_hP3_z = nullptr;
104 TH1F* m_nobha_hP3_z_psnecl = nullptr;
105 TH1F* m_nobha_hP3_z_psnecl_ftdf = nullptr;
106
107 TH1F* m_nobha_hP3_y = nullptr;
108 TH1F* m_nobha_hP3_y_psnecl = nullptr;
109 TH1F* m_nobha_hP3_y_psnecl_ftdf = nullptr;
110
111 TH1F* m_nobha_phi_z = nullptr;
112 TH1F* m_nobha_phi_z_psnecl = nullptr;
113 TH1F* m_nobha_phi_z_psnecl_ftdf = nullptr;
114
115 TH1F* m_nobha_phi_y = nullptr;
116 TH1F* m_nobha_phi_y_psnecl = nullptr;
117 TH1F* m_nobha_phi_y_psnecl_ftdf = nullptr;
118
119 //-"fyo" with track deleta_phi distribution
120 TH1F* m_fyo_dphi = nullptr;
121 TH1F* m_fyo_dphi_psnecl = nullptr;
122 TH1F* m_fyo_dphi_psnecl_ftdf = nullptr;
123
124 TH1F* m_nobha_fyo_dphi = nullptr;
125 TH1F* m_nobha_fyo_dphi_psnecl = nullptr;
126 TH1F* m_nobha_fyo_dphi_psnecl_ftdf = nullptr;
127
128 //-"stt " with track p, θ, phi distribution
129 TH1F* m_stt_phi = nullptr;
130 TH1F* m_stt_phi_psnecl = nullptr;
131 TH1F* m_stt_phi_psnecl_ftdf = nullptr;
132
133 TH1F* m_stt_P3 = nullptr;
134 TH1F* m_stt_P3_psnecl = nullptr;
135 TH1F* m_stt_P3_psnecl_ftdf = nullptr;
136
137 TH1F* m_stt_theta = nullptr;
138 TH1F* m_stt_theta_psnecl = nullptr;
139 TH1F* m_stt_theta_psnecl_ftdf = nullptr;
140
141 TH1F* m_nobha_stt_phi = nullptr;
142 TH1F* m_nobha_stt_phi_psnecl = nullptr;
143 TH1F* m_nobha_stt_phi_psnecl_ftdf = nullptr;
144
145 TH1F* m_nobha_stt_P3 = nullptr;
146 TH1F* m_nobha_stt_P3_psnecl = nullptr;
147 TH1F* m_nobha_stt_P3_psnecl_ftdf = nullptr;
148
149 TH1F* m_nobha_stt_theta = nullptr;
150 TH1F* m_nobha_stt_theta_psnecl = nullptr;
151 TH1F* m_nobha_stt_theta_psnecl_ftdf = nullptr;
152
153 //-"hie" with ECL cluster energy sum distribution.
154 TH1F* m_hie_E = nullptr;
155 TH1F* m_hie_E_psnecl = nullptr;
156 TH1F* m_hie_E_psnecl_ftdf = nullptr;
157
158 TH1F* m_nobha_hie_E = nullptr; // remove the bha_veto
159 TH1F* m_nobha_hie_E_psnecl = nullptr;
160 TH1F* m_nobha_hie_E_psnecl_ftdf = nullptr;
161
162 // ecltiming
163 TH1F* m_ecltiming_E = nullptr;
164 TH1F* m_ecltiming_E_psnecl = nullptr;
165 TH1F* m_ecltiming_E_psnecl_ftdf = nullptr;
166
167 TH1F* m_ecltiming_theta = nullptr;
168 TH1F* m_ecltiming_theta_psnecl = nullptr;
169 TH1F* m_ecltiming_theta_psnecl_ftdf = nullptr;
170
171 TH1F* m_ecltiming_phi = nullptr;
172 TH1F* m_ecltiming_phi_psnecl = nullptr;
173 TH1F* m_ecltiming_phi_psnecl_ftdf = nullptr;
174
175 // -KLM TRG - - - for track φ,θ distribution
176 TH1F* m_klmhit_phi = nullptr;
177 TH1F* m_klmhit_phi_psnecl = nullptr;
178 TH1F* m_klmhit_phi_psnecl_ftdf = nullptr;
179
180 TH1F* m_klmhit_theta = nullptr;
181 TH1F* m_klmhit_theta_psnecl = nullptr;
182 TH1F* m_klmhit_theta_psnecl_ftdf = nullptr;
183
184 TH1F* m_eklmhit_phi = nullptr;
185 TH1F* m_eklmhit_phi_psnecl = nullptr;
186 TH1F* m_eklmhit_phi_psnecl_ftdf = nullptr;
187
188 TH1F* m_eklmhit_theta = nullptr;
189 TH1F* m_eklmhit_theta_psnecl = nullptr;
190 TH1F* m_eklmhit_theta_psnecl_ftdf = nullptr;
191
192 };
193
195} // Belle2 namespace
HistoModule()
Constructor.
Definition HistoModule.h:32
Accessor to arrays stored in the data store.
Definition StoreArray.h:113
Type-safe access to single objects in the data store.
Definition StoreObjPtr.h:96
void initialize() override
Initialize the Module.
TH1F * m_hPhi_psnecl_ftdf
Histogram of cdc phi of IP tracks with ecl and f bit.
void event() override
Event processor.
StoreObjPtr< SoftwareTriggerResult > m_HltResult
HLT result.
TH1F * m_hPhi_psnecl
Histogram of cdc phi of IP tracks with ecl bit.
StoreArray< ECLCluster > m_ECLClusters
ECL Clusters.
TH1F * m_hPhi
Histogram of cdc phi of IP tracks.
StoreArray< KLMCluster > m_KLMClusters
KLM Clusters.
StoreObjPtr< TRGSummary > m_TrgSummary
Trigger summary.
StoreArray< Track > m_Tracks
Tracks.
void defineHisto() override
Histogram definitions.
Abstract base class for different kinds of events.