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