Belle II Software release-09-00-11
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 {
41
42 public:
43
48
53
58 void initialize() override;
59
64 void defineHisto() override;
65
69 void event() override;
70
71 protected:
72
79 TH1F* m_hPhi = nullptr;
80 TH1F* m_hPhi_psnecl = nullptr;
81 TH1F* m_hPhi_psnecl_ftdf = nullptr;
83 TH1F* m_hPt = nullptr;
84 TH1F* m_hPt_psnecl = nullptr;
85 TH1F* m_hPt_psnecl_ftdf = nullptr;
86
87 TH1F* m_nobha_f_phi = nullptr; // remove the bhabha veto
88 TH1F* m_nobha_f_phi_psnecl = nullptr; // remove the bhabha veto
89 TH1F* m_nobha_f_phi_psnecl_ftdf = nullptr; // remove the bhabha veto
90
91 TH1F* m_nobha_hPt = nullptr; // remove the bhabha veto
92 TH1F* m_nobha_hPt_psnecl = nullptr; // remove the bhabha veto
93 TH1F* m_nobha_hPt_psnecl_ftdf = nullptr; // remove the bhabha veto
94
95 //for z bit (t3>0 and !bhaveto and !veto)
96 TH1F* m_hP3_z = nullptr;
97 TH1F* m_hP3_z_psnecl = nullptr;
98 TH1F* m_hP3_z_psnecl_ftdf = nullptr;
99
100 //for y bit (t3>0and!bhaveto and !veto)
101 TH1F* m_hP3_y = nullptr;
102 TH1F* m_hP3_y_psnecl = nullptr;
103 TH1F* m_hP3_y_psnecl_ftdf = nullptr;
104
105 //remove bhabha veto
106 TH1F* m_nobha_hP3_z = nullptr;
107 TH1F* m_nobha_hP3_z_psnecl = nullptr;
108 TH1F* m_nobha_hP3_z_psnecl_ftdf = nullptr;
109
110 TH1F* m_nobha_hP3_y = nullptr;
111 TH1F* m_nobha_hP3_y_psnecl = nullptr;
112 TH1F* m_nobha_hP3_y_psnecl_ftdf = nullptr;
113
114 TH1F* m_nobha_phi_z = nullptr;
115 TH1F* m_nobha_phi_z_psnecl = nullptr;
116 TH1F* m_nobha_phi_z_psnecl_ftdf = nullptr;
117
118 TH1F* m_nobha_phi_y = nullptr;
119 TH1F* m_nobha_phi_y_psnecl = nullptr;
120 TH1F* m_nobha_phi_y_psnecl_ftdf = nullptr;
121
122 //-"fyo" with track deleta_phi distribution
123 TH1F* m_fyo_dphi = nullptr;
124 TH1F* m_fyo_dphi_psnecl = nullptr;
125 TH1F* m_fyo_dphi_psnecl_ftdf = nullptr;
126
127 TH1F* m_nobha_fyo_dphi = nullptr;
128 TH1F* m_nobha_fyo_dphi_psnecl = nullptr;
129 TH1F* m_nobha_fyo_dphi_psnecl_ftdf = nullptr;
130
131 //-"stt " with track p, θ, phi distribution
132 TH1F* m_stt_phi = nullptr;
133 TH1F* m_stt_phi_psnecl = nullptr;
134 TH1F* m_stt_phi_psnecl_ftdf = nullptr;
135
136 TH1F* m_stt_P3 = nullptr;
137 TH1F* m_stt_P3_psnecl = nullptr;
138 TH1F* m_stt_P3_psnecl_ftdf = nullptr;
139
140 TH1F* m_stt_theta = nullptr;
141 TH1F* m_stt_theta_psnecl = nullptr;
142 TH1F* m_stt_theta_psnecl_ftdf = nullptr;
143
144 TH1F* m_nobha_stt_phi = nullptr;
145 TH1F* m_nobha_stt_phi_psnecl = nullptr;
146 TH1F* m_nobha_stt_phi_psnecl_ftdf = nullptr;
147
148 TH1F* m_nobha_stt_P3 = nullptr;
149 TH1F* m_nobha_stt_P3_psnecl = nullptr;
150 TH1F* m_nobha_stt_P3_psnecl_ftdf = nullptr;
151
152 TH1F* m_nobha_stt_theta = nullptr;
153 TH1F* m_nobha_stt_theta_psnecl = nullptr;
154 TH1F* m_nobha_stt_theta_psnecl_ftdf = nullptr;
155
156 //-"hie" with ECL cluster energy sum distribution.
157 TH1F* m_hie_E = nullptr;
158 TH1F* m_hie_E_psnecl = nullptr;
159 TH1F* m_hie_E_psnecl_ftdf = nullptr;
160
161 TH1F* m_nobha_hie_E = nullptr; // remove the bha_veto
162 TH1F* m_nobha_hie_E_psnecl = nullptr;
163 TH1F* m_nobha_hie_E_psnecl_ftdf = nullptr;
164
165 // ecltiming
166 TH1F* m_ecltiming_E = nullptr;
167 TH1F* m_ecltiming_E_psnecl = nullptr;
168 TH1F* m_ecltiming_E_psnecl_ftdf = nullptr;
169
170 TH1F* m_ecltiming_theta = nullptr;
171 TH1F* m_ecltiming_theta_psnecl = nullptr;
172 TH1F* m_ecltiming_theta_psnecl_ftdf = nullptr;
173
174 TH1F* m_ecltiming_phi = nullptr;
175 TH1F* m_ecltiming_phi_psnecl = nullptr;
176 TH1F* m_ecltiming_phi_psnecl_ftdf = nullptr;
177
178 // -KLM TRG - - - for track φ,θ distribution
179 TH1F* m_klmhit_phi = nullptr;
180 TH1F* m_klmhit_phi_psnecl = nullptr;
181 TH1F* m_klmhit_phi_psnecl_ftdf = nullptr;
182
183 TH1F* m_klmhit_theta = nullptr;
184 TH1F* m_klmhit_theta_psnecl = nullptr;
185 TH1F* m_klmhit_theta_psnecl_ftdf = nullptr;
186
187 TH1F* m_eklmhit_phi = nullptr;
188 TH1F* m_eklmhit_phi_psnecl = nullptr;
189 TH1F* m_eklmhit_phi_psnecl_ftdf = nullptr;
190
191 TH1F* m_eklmhit_theta = nullptr;
192 TH1F* m_eklmhit_theta_psnecl = nullptr;
193 TH1F* m_eklmhit_theta_psnecl_ftdf = nullptr;
194
195 };
196
198} // Belle2 namespace
HistoModule.h is supposed to be used instead of Module.h for the modules with histogram definitions t...
Definition: HistoModule.h:29
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
Make summary of data quality from reconstruction.
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.
virtual ~TRGEfficiencyDQMModule()
Destructor.
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.