BOSS 7.1.2
BESIII Offline Software System
Loading...
Searching...
No Matches
DQASelBhabha.h
Go to the documentation of this file.
1#ifndef Physics_H_ControlSample_DQASelBhbha_H
2#define Physics_H_ControlSample_DQASelBhabha_H
3
4#include "GaudiKernel/AlgFactory.h"
5#include "GaudiKernel/Algorithm.h"
6#include "GaudiKernel/NTuple.h"
7
8#include "GaudiKernel/ITHistSvc.h"
9#include "TH1.h"
10
11/**********************************************************************/
12/** <project name> -
13 ** <description> Head file for event selection program
14 **
15 ** \file
16 **
17 ** \author Ji Xiaobin
18 **
19 ** \version $Id: DQASelBhabha.h,v 1.4 2017/12/22 03:45:48 jixb Exp $
20 **
21 **
22*************************************************************************/
23
24class DQASelBhabha : public Algorithm {
25
26public:
27
28 DQASelBhabha(const std::string& name, ISvcLocator* pSvcLocator);
29 StatusCode initialize();
30 StatusCode execute();
31 StatusCode finalize();
32
33private:
34 ITHistSvc *m_thistsvc;
35
36
37 TH1F *e_z0;
38 TH1F *e_r0;
39
40 TH1F *m_ee_mass;
41 TH1F *m_ee_acoll;
42 TH1F *m_ee_eop_ep;
43 TH1F *m_ee_eop_em;
44 TH1F *m_ee_costheta_ep;
45 TH1F *m_ee_costheta_em;
46 TH1F *m_ee_phi_ep;
47 TH1F *m_ee_phi_em;
48 TH1I *m_ee_nneu;
49
50 TH1F *m_ee_etot;
51 TH1F *m_ee_e_ep;
52 TH1F *m_ee_e_em;
53 TH1F *m_ee_p_ep;
54 TH1F *m_ee_p_em;
55
56 TH1F *m_ee_e_mass;
57 TH1F *m_ee_e_costheta_ep;
58 TH1F *m_ee_e_costheta_em;
59 TH1F *m_ee_e_phi_ep;
60 TH1F *m_ee_e_phi_em;
61 TH1F *m_ee_e_etot;
62 TH1F *m_ee_e_e_ep;
63 TH1F *m_ee_e_e_em;
64 TH1F *m_ee_e_p_ep;
65 TH1F *m_ee_e_p_em;
66
67 TH1F *m_ee_b_mass;
68 TH1F *m_ee_b_costheta_ep;
69 TH1F *m_ee_b_costheta_em;
70 TH1F *m_ee_b_phi_ep;
71 TH1F *m_ee_b_phi_em;
72 TH1F *m_ee_b_etot;
73 TH1F *m_ee_b_e_ep;
74 TH1F *m_ee_b_e_em;
75 TH1F *m_ee_b_p_ep;
76 TH1F *m_ee_b_p_em;
77
78
79 TH1F *m_ee_eemc_ep;
80 TH1F *m_ee_eemc_em;
81 TH1F * m_ee_x_ep;
82 TH1F * m_ee_y_ep;
83 TH1F * m_ee_z_ep;
84 TH1F * m_ee_x_em;
85 TH1F * m_ee_y_em;
86 TH1F * m_ee_z_em;
87 TH1F * m_ee_px_ep;
88 TH1F * m_ee_py_ep;
89 TH1F * m_ee_pz_ep;
90 TH1F * m_ee_px_em;
91 TH1F * m_ee_py_em;
92 TH1F * m_ee_pz_em;
93 TH1F * m_ee_deltatof;
94 TH1F * m_ee_pidchidedx_ep;
95 TH1F * m_ee_pidchidedx_em;
96 TH1F * m_ee_pidchitof1_ep;
97 TH1F * m_ee_pidchitof1_em;
98 TH1F * m_ee_pidchitof2_ep;
99 TH1F * m_ee_pidchitof2_em;
100
101
102 bool m_writentuple;
103 bool m_useVertexDB;
104 // Declare r0, z0 cut for charged tracks
105 double m_ecms;
106 double m_beamangle;
107 double m_vr0cut;
108 double m_vz0cut;
109 double m_coscut;
110
111 bool m_useTOF;
112 bool m_usePID;
113 bool m_useEMC;
114 bool m_useMUC;
115 bool m_useMDC;
116 bool m_useDEDX;
117 bool m_useEMConly;
118
119 bool m_use_acolle;
120 bool m_use_acople;
121 bool m_use_eoeb ;
122 bool m_use_deltatof;
123 bool m_use_poeb;
124 bool m_use_mucinfo;
125 bool m_use_ne;
126
127
128
129
130
131//Declare energy, dphi, dthe cuts for fake gamma's
132 double m_energyThreshold;
133 double m_gammaPhiCut;
134 double m_gammaThetaCut;
135 double m_gammaTrkCut;
136 double m_gammathCut;
137 double m_gammatlCut;
138 double m_acoll_e_cut;
139 double m_acopl_e_cut;
140 double m_poeb_e_cut;
141 double m_dtof_e_cut;
142 double m_eoeb_e_cut;
143 double m_etotal_e_cut;
144
145 double m_tpoeb_e_cut;
146 double m_tptotal_e_cut;
147 double m_tetotal_e_cut;
148
149 // define Ntuples here
150
151 NTuple::Tuple* m_tuple1;
152
153 NTuple::Item<long> m_run ;
154 NTuple::Item<long> m_rec;
155
156
157 NTuple::Item<long> m_ncharg;
158 NTuple::Item<long> m_nneu ;
159 NTuple::Item<long> m_ngch ;
160 NTuple::Item<long> m_nGam ;
161 NTuple::Item<long> m_bhabhatag ;
162
163 NTuple::Item<double> m_acoll;
164 NTuple::Item<double> m_acopl;
165 NTuple::Item<double> m_deltatof;
166 NTuple::Item<double> m_eop1;
167 NTuple::Item<double> m_eop2;
168 NTuple::Item<double> m_eoeb1;
169 NTuple::Item<double> m_eoeb2;
170 NTuple::Item<double> m_poeb1;
171 NTuple::Item<double> m_poeb2;
172 NTuple::Item<double> m_etoeb1;
173 NTuple::Item<double> m_etoeb2;
174 NTuple::Item<long> m_mucinfo1;
175 NTuple::Item<long> m_mucinfo2;
176
177
178 NTuple::Array<double> m_delang ;
179 NTuple::Array<double> m_delphi ;
180 NTuple::Array<double> m_delthe ;
181 NTuple::Array<long> m_nSeed;
182 NTuple::Array<long> m_npart;
183 NTuple::Array<long> m_module;
184 NTuple::Array<long> m_nemchits;
185 NTuple::Array<double> m_x;
186 NTuple::Array<double> m_y;
187 NTuple::Array<double> m_z;
188 NTuple::Array<double> m_dx;
189 NTuple::Array<double> m_dy;
190 NTuple::Array<double> m_dz;
191 NTuple::Array<double> m_dtheta;
192 NTuple::Array<double> m_dphi;
193 NTuple::Array<double> m_theta;
194 NTuple::Array<double> m_phi;
195 NTuple::Array<double> m_energy;
196 NTuple::Array<double> m_dE;
197 NTuple::Array<double> m_eSeed;
198 NTuple::Array<double> m_e3x3;
199 NTuple::Array<double> m_e5x5;
200 NTuple::Array<double> m_secondMoment;
201 NTuple::Array<double> m_latMoment;
202 NTuple::Array<double> m_a20Moment;
203 NTuple::Array<double> m_a42Moment;
204 NTuple::Array<double> m_getTime;
205 NTuple::Array<double> m_getEAll;
206
207
208
209
210 NTuple::Array<long> m_charge ;
211 NTuple::Array<double> m_vx0 ;
212 NTuple::Array<double> m_vy0 ;
213 NTuple::Array<double> m_vz0 ;
214 NTuple::Array<double> m_vr0 ;
215
216 NTuple::Array<double> m_px ;
217 NTuple::Array<double> m_py ;
218 NTuple::Array<double> m_pz ;
219 NTuple::Array<double> m_p ;
220
221
222 NTuple::Array<double> m_kal_vx0 ;
223 NTuple::Array<double> m_kal_vy0 ;
224 NTuple::Array<double> m_kal_vz0 ;
225
226
227 NTuple::Array<double> m_kal_px ;
228 NTuple::Array<double> m_kal_py ;
229 NTuple::Array<double> m_kal_pz ;
230 NTuple::Array<double> m_kal_p ;
231
232
233
234
235 NTuple::Array<float> m_probPH;
236 NTuple::Array<float> m_normPH;
237 NTuple::Array<float> m_chie ;
238 NTuple::Array<float> m_chimu ;
239 NTuple::Array<float> m_chipi ;
240 NTuple::Array<float> m_chik ;
241 NTuple::Array<float> m_chip ;
242 NTuple::Array<float> m_ghit ;
243 NTuple::Array<float> m_thit ;
244
245 NTuple::Array<float> m_e_emc ;
246 NTuple::Array<float> m_theta_emc ;
247 NTuple::Array<float> m_phi_emc ;
248
249 NTuple::Array<float> m_nhit_muc ;
250 NTuple::Array<float> m_nlay_muc;
251
252 NTuple::Array<double> m_qual_etof ;
253 NTuple::Array<double> m_tof_etof ;
254 NTuple::Array<double> m_te_etof ;
255 NTuple::Array<double> m_tmu_etof ;
256 NTuple::Array<double> m_tpi_etof ;
257 NTuple::Array<double> m_tk_etof ;
258 NTuple::Array<double> m_tp_etof ;
259
260 NTuple::Array<double> m_qual_btof1 ;
261 NTuple::Array<double> m_tof_btof1 ;
262 NTuple::Array<double> m_te_btof1 ;
263 NTuple::Array<double> m_tmu_btof1 ;
264 NTuple::Array<double> m_tpi_btof1 ;
265 NTuple::Array<double> m_tk_btof1 ;
266 NTuple::Array<double> m_tp_btof1 ;
267 NTuple::Array<double> m_t_btof ;
268 NTuple::Array<double> m_t_etof ;
269 NTuple::Array<double> m_qual_btof2 ;
270 NTuple::Array<double> m_tof_btof2 ;
271 NTuple::Array<double> m_te_btof2 ;
272 NTuple::Array<double> m_tmu_btof2 ;
273 NTuple::Array<double> m_tpi_btof2 ;
274 NTuple::Array<double> m_tk_btof2 ;
275 NTuple::Array<double> m_tp_btof2 ;
276 NTuple::Array<long> m_pidcode;
277 NTuple::Array<double> m_pidprob;
278 NTuple::Array<double> m_pidchiDedx;
279 NTuple::Array<double> m_pidchiTof1;
280 NTuple::Array<double> m_pidchiTof2;
281
282 NTuple::Item<double> m_dedx_goodhits_ep ;
283 NTuple::Item<double> m_dedx_chiep ;
284 NTuple::Item<double> m_dedx_goodhits_em ;
285 NTuple::Item<double> m_dedx_chiem ;
286
287 NTuple::Item<double> m_px_cms_ep ;
288 NTuple::Item<double> m_py_cms_ep ;
289 NTuple::Item<double> m_pz_cms_ep ;
290 NTuple::Item<double> m_e_cms_ep ;
291 NTuple::Item<double> m_p_cms_ep ;
292
293 NTuple::Item<double> m_cos_ep ;
294 NTuple::Item<double> m_px_cms_em ;
295 NTuple::Item<double> m_py_cms_em ;
296 NTuple::Item<double> m_pz_cms_em ;
297 NTuple::Item<double> m_p_cms_em ;
298
299 NTuple::Item<double> m_e_cms_em ;
300 NTuple::Item<double> m_cos_em ;
301 NTuple::Item<double> m_mass_ee ;
302 NTuple::Item<double> m_p_ee ;
303 NTuple::Item<double> m_px_ee ;
304 NTuple::Item<double> m_py_ee ;
305 NTuple::Item<double> m_pz_ee ;
306 NTuple::Item<double> m_e_ee ;
307
308
309 NTuple::Item<double> m_kal_p_ep;
310 NTuple::Item<double> m_kal_p_em;
311 NTuple::Item<double> m_kal_px_ep;
312 NTuple::Item<double> m_kal_px_em;
313 NTuple::Item<double> m_kal_py_ep;
314 NTuple::Item<double> m_kal_py_em;
315 NTuple::Item<double> m_kal_pz_ep;
316 NTuple::Item<double> m_kal_pz_em;
317
318 NTuple::Item<long> m_nep ;
319 NTuple::Item<long> m_nem ;
320
321};
322
323
324#endif
StatusCode finalize()
StatusCode initialize()
DQASelBhabha(const std::string &name, ISvcLocator *pSvcLocator)
StatusCode execute()