Belle II Software development
TRGEFFDQMModule.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/database/DBArray.h>
15#include <framework/database/DBObjPtr.h>
16
17#include <mdst/dataobjects/TRGSummary.h>
18#include <mdst/dataobjects/SoftwareTriggerResult.h>
19#include <mdst/dataobjects/Track.h>
20#include <mdst/dataobjects/TrackFitResult.h>
21#include <mdst/dataobjects/ECLCluster.h>
22#include <mdst/dataobjects/KLMCluster.h>
23
24#include <tracking/dataobjects/RecoTrack.h>
25
26#include <TH1F.h>
27#include <TH2F.h>
28
29namespace Belle2 {
39
40 public:
41
46
50 virtual ~TRGEFFDQMModule();
51
56 void initialize() override;
57
62 void defineHisto() override;
63
68 void beginRun() override;
69
73 void event() override;
74
79 void endRun() override;
80
85 void terminate() override;
86
87
88 protected:
89
95 std::string m_recoTrackArrayName = "" ;
98 TH1F* m_hPhi = nullptr;
99 TH1F* m_hPhi_psnecl = nullptr;
100 TH1F* m_hPhi_psnecl_ftdf = nullptr;
102 TH1F* m_hPt = nullptr;
103 TH1F* m_hPt_psnecl = nullptr;
104 TH1F* m_hPt_psnecl_ftdf = nullptr;
105
106 TH1F* m_nobha_hPt = nullptr; // remove the bhabha veto
107 TH1F* m_nobha_hPt_psnecl = nullptr; // remove the bhabha veto
108 TH1F* m_nobha_hPt_psnecl_ftdf = nullptr; // remove the bhabha veto
109
110 //for z bit (t3>0 and !bhaveto and !veto)
111 TH1F* m_hP3_z = nullptr;
112 TH1F* m_hP3_z_psnecl = nullptr;
113 TH1F* m_hP3_z_psnecl_ftdf = nullptr;
114
115 //for y bit (t3>0and!bhaveto and !veto)
116 TH1F* m_hP3_y = nullptr;
117 TH1F* m_hP3_y_psnecl = nullptr;
118 TH1F* m_hP3_y_psnecl_ftdf = nullptr;
119
120 //remove bhabha veto
121 TH1F* m_nobha_hP3_z = nullptr;
122 TH1F* m_nobha_hP3_z_psnecl = nullptr;
123 TH1F* m_nobha_hP3_z_psnecl_ftdf = nullptr;
124
125 TH1F* m_nobha_hP3_y = nullptr;
126 TH1F* m_nobha_hP3_y_psnecl = nullptr;
127 TH1F* m_nobha_hP3_y_psnecl_ftdf = nullptr;
128
129
130 //-"fyo" with track deleta_phi distribution
131 TH1F* m_fyo_dphi = nullptr;
132 TH1F* m_fyo_dphi_psnecl = nullptr;
133 TH1F* m_fyo_dphi_psnecl_ftdf = nullptr;
134
135 TH1F* m_nobha_fyo_dphi = nullptr;
136 TH1F* m_nobha_fyo_dphi_psnecl = nullptr;
137 TH1F* m_nobha_fyo_dphi_psnecl_ftdf = nullptr;
138
139 //-"stt " with track p, θ, phi distribution
140 TH1F* m_stt_phi = nullptr;
141 TH1F* m_stt_phi_psnecl = nullptr;
142 TH1F* m_stt_phi_psnecl_ftdf = nullptr;
143
144 TH1F* m_stt_P3 = nullptr;
145 TH1F* m_stt_P3_psnecl = nullptr;
146 TH1F* m_stt_P3_psnecl_ftdf = nullptr;
147
148 TH1F* m_stt_theta = nullptr;
149 TH1F* m_stt_theta_psnecl = nullptr;
150 TH1F* m_stt_theta_psnecl_ftdf = nullptr;
151
152 TH1F* m_nobha_stt_phi = nullptr;
153 TH1F* m_nobha_stt_phi_psnecl = nullptr;
154 TH1F* m_nobha_stt_phi_psnecl_ftdf = nullptr;
155
156 TH1F* m_nobha_stt_P3 = nullptr;
157 TH1F* m_nobha_stt_P3_psnecl = nullptr;
158 TH1F* m_nobha_stt_P3_psnecl_ftdf = nullptr;
159
160 TH1F* m_nobha_stt_theta = nullptr;
161 TH1F* m_nobha_stt_theta_psnecl = nullptr;
162 TH1F* m_nobha_stt_theta_psnecl_ftdf = nullptr;
163
164 //-"hie" with ECL cluster energy sum distribution.
165 TH1F* m_hie_E = nullptr;
166 TH1F* m_hie_E_psnecl = nullptr;
167 TH1F* m_hie_E_psnecl_ftdf = nullptr;
168
169 TH1F* m_nobha_hie_E = nullptr; // remove the bha_veto
170 TH1F* m_nobha_hie_E_psnecl = nullptr;
171 TH1F* m_nobha_hie_E_psnecl_ftdf = nullptr;
172
173 // ecltiming
174 TH1F* m_ecltiming_E = nullptr;
175 TH1F* m_ecltiming_E_psnecl = nullptr;
176 TH1F* m_ecltiming_E_psnecl_ftdf = nullptr;
177
178 TH1F* m_ecltiming_theta = nullptr;
179 TH1F* m_ecltiming_theta_psnecl = nullptr;
180 TH1F* m_ecltiming_theta_psnecl_ftdf = nullptr;
181
182 TH1F* m_ecltiming_phi = nullptr;
183 TH1F* m_ecltiming_phi_psnecl = nullptr;
184 TH1F* m_ecltiming_phi_psnecl_ftdf = nullptr;
185
186 // -KLM TRG - - - for track φ,θ distribution
187 TH1F* m_klmhit_phi = nullptr;
188 TH1F* m_klmhit_phi_psnecl = nullptr;
189 TH1F* m_klmhit_phi_psnecl_ftdf = nullptr;
190
191 TH1F* m_klmhit_theta = nullptr;
192 TH1F* m_klmhit_theta_psnecl = nullptr;
193 TH1F* m_klmhit_theta_psnecl_ftdf = nullptr;
194
195 TH1F* m_eklmhit_phi = nullptr;
196 TH1F* m_eklmhit_phi_psnecl = nullptr;
197 TH1F* m_eklmhit_phi_psnecl_ftdf = nullptr;
198
199 TH1F* m_eklmhit_theta = nullptr;
200 TH1F* m_eklmhit_theta_psnecl = nullptr;
201 TH1F* m_eklmhit_theta_psnecl_ftdf = nullptr;
202
203
204
205
206
207
208
209
210
211
212
213
214 };
215
217} // 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.
std::string m_recoTrackArrayName
Belle2::RecoTrack StoreArray name.
void initialize() override
Initialize the Module.
TH1F * m_hPhi_psnecl_ftdf
Histogram of cdc phi of IP tracks with ecl and f bit.
virtual ~TRGEFFDQMModule()
Destructor.
void event() override
Event processor.
void endRun() override
End-of-run action.
StoreObjPtr< TRGSummary > m_trgSummary
Trigger summary.
void terminate() override
Termination action.
TH1F * m_hPhi_psnecl
Histogram of cdc phi of IP tracks with ecl bit.
void beginRun() override
Called when entering a new run.
StoreArray< ECLCluster > m_ECLClusters
ECL Clusters.
TH1F * m_hPhi
Histogram of cdc phi of IP tracks.
StoreArray< KLMCluster > m_KLMClusters
KLM Clusters.
StoreArray< RecoTrack > m_RecoTracks
RecoTracks.
StoreArray< Track > m_Tracks
Tracks.
TRGEFFDQMModule()
Constructor.
StoreObjPtr< SoftwareTriggerResult > m_TrgResult
Store array for Trigger selection.
void defineHisto() override
Histogram definitions.
Abstract base class for different kinds of events.