Belle II Software  release-08-02-06
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 
29 namespace Belle2 {
41  class TRGEFFDQMModule : public HistoModule {
42 
43  public:
44 
49 
53  virtual ~TRGEFFDQMModule();
54 
59  void initialize() override;
60 
65  void defineHisto() override;
66 
71  void beginRun() override;
72 
76  void event() override;
77 
82  void endRun() override;
83 
88  void terminate() override;
89 
90 
91  protected:
92 
98  std::string m_recoTrackArrayName = "" ;
101  TH1F* m_hPhi = nullptr;
102  TH1F* m_hPhi_psnecl = nullptr;
103  TH1F* m_hPhi_psnecl_ftdf = nullptr;
105  TH1F* m_hPt = nullptr;
106  TH1F* m_hPt_psnecl = nullptr;
107  TH1F* m_hPt_psnecl_ftdf = nullptr;
108 
109  TH1F* m_nobha_f_phi = nullptr; // remove the bhabha veto
110  TH1F* m_nobha_f_phi_psnecl = nullptr; // remove the bhabha veto
111  TH1F* m_nobha_f_phi_psnecl_ftdf = nullptr; // remove the bhabha veto
112 
113  TH1F* m_nobha_hPt = nullptr; // remove the bhabha veto
114  TH1F* m_nobha_hPt_psnecl = nullptr; // remove the bhabha veto
115  TH1F* m_nobha_hPt_psnecl_ftdf = nullptr; // remove the bhabha veto
116 
117  //for z bit (t3>0 and !bhaveto and !veto)
118  TH1F* m_hP3_z = nullptr;
119  TH1F* m_hP3_z_psnecl = nullptr;
120  TH1F* m_hP3_z_psnecl_ftdf = nullptr;
121 
122  //for y bit (t3>0and!bhaveto and !veto)
123  TH1F* m_hP3_y = nullptr;
124  TH1F* m_hP3_y_psnecl = nullptr;
125  TH1F* m_hP3_y_psnecl_ftdf = nullptr;
126 
127  //remove bhabha veto
128  TH1F* m_nobha_hP3_z = nullptr;
129  TH1F* m_nobha_hP3_z_psnecl = nullptr;
130  TH1F* m_nobha_hP3_z_psnecl_ftdf = nullptr;
131 
132  TH1F* m_nobha_hP3_y = nullptr;
133  TH1F* m_nobha_hP3_y_psnecl = nullptr;
134  TH1F* m_nobha_hP3_y_psnecl_ftdf = nullptr;
135 
136  TH1F* m_nobha_phi_z = nullptr;
137  TH1F* m_nobha_phi_z_psnecl = nullptr;
138  TH1F* m_nobha_phi_z_psnecl_ftdf = nullptr;
139 
140  TH1F* m_nobha_phi_y = nullptr;
141  TH1F* m_nobha_phi_y_psnecl = nullptr;
142  TH1F* m_nobha_phi_y_psnecl_ftdf = nullptr;
143 
144 
145  //-"fyo" with track deleta_phi distribution
146  TH1F* m_fyo_dphi = nullptr;
147  TH1F* m_fyo_dphi_psnecl = nullptr;
148  TH1F* m_fyo_dphi_psnecl_ftdf = nullptr;
149 
150  TH1F* m_nobha_fyo_dphi = nullptr;
151  TH1F* m_nobha_fyo_dphi_psnecl = nullptr;
152  TH1F* m_nobha_fyo_dphi_psnecl_ftdf = nullptr;
153 
154  //-"stt " with track p, θ, phi distribution
155  TH1F* m_stt_phi = nullptr;
156  TH1F* m_stt_phi_psnecl = nullptr;
157  TH1F* m_stt_phi_psnecl_ftdf = nullptr;
158 
159  TH1F* m_stt_P3 = nullptr;
160  TH1F* m_stt_P3_psnecl = nullptr;
161  TH1F* m_stt_P3_psnecl_ftdf = nullptr;
162 
163  TH1F* m_stt_theta = nullptr;
164  TH1F* m_stt_theta_psnecl = nullptr;
165  TH1F* m_stt_theta_psnecl_ftdf = nullptr;
166 
167  TH1F* m_nobha_stt_phi = nullptr;
168  TH1F* m_nobha_stt_phi_psnecl = nullptr;
169  TH1F* m_nobha_stt_phi_psnecl_ftdf = nullptr;
170 
171  TH1F* m_nobha_stt_P3 = nullptr;
172  TH1F* m_nobha_stt_P3_psnecl = nullptr;
173  TH1F* m_nobha_stt_P3_psnecl_ftdf = nullptr;
174 
175  TH1F* m_nobha_stt_theta = nullptr;
176  TH1F* m_nobha_stt_theta_psnecl = nullptr;
177  TH1F* m_nobha_stt_theta_psnecl_ftdf = nullptr;
178 
179  //-"hie" with ECL cluster energy sum distribution.
180  TH1F* m_hie_E = nullptr;
181  TH1F* m_hie_E_psnecl = nullptr;
182  TH1F* m_hie_E_psnecl_ftdf = nullptr;
183 
184  TH1F* m_nobha_hie_E = nullptr; // remove the bha_veto
185  TH1F* m_nobha_hie_E_psnecl = nullptr;
186  TH1F* m_nobha_hie_E_psnecl_ftdf = nullptr;
187 
188  // ecltiming
189  TH1F* m_ecltiming_E = nullptr;
190  TH1F* m_ecltiming_E_psnecl = nullptr;
191  TH1F* m_ecltiming_E_psnecl_ftdf = nullptr;
192 
193  TH1F* m_ecltiming_theta = nullptr;
194  TH1F* m_ecltiming_theta_psnecl = nullptr;
195  TH1F* m_ecltiming_theta_psnecl_ftdf = nullptr;
196 
197  TH1F* m_ecltiming_phi = nullptr;
198  TH1F* m_ecltiming_phi_psnecl = nullptr;
199  TH1F* m_ecltiming_phi_psnecl_ftdf = nullptr;
200 
201  // -KLM TRG - - - for track φ,θ distribution
202  TH1F* m_klmhit_phi = nullptr;
203  TH1F* m_klmhit_phi_psnecl = nullptr;
204  TH1F* m_klmhit_phi_psnecl_ftdf = nullptr;
205 
206  TH1F* m_klmhit_theta = nullptr;
207  TH1F* m_klmhit_theta_psnecl = nullptr;
208  TH1F* m_klmhit_theta_psnecl_ftdf = nullptr;
209 
210  TH1F* m_eklmhit_phi = nullptr;
211  TH1F* m_eklmhit_phi_psnecl = nullptr;
212  TH1F* m_eklmhit_phi_psnecl_ftdf = nullptr;
213 
214  TH1F* m_eklmhit_theta = nullptr;
215  TH1F* m_eklmhit_theta_psnecl = nullptr;
216  TH1F* m_eklmhit_theta_psnecl_ftdf = nullptr;
217 
218 
219 
220 
221 
222 
223 
224 
225 
226 
227 
228 
229  };
230 
232 } // 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.