BOSS 7.0.2
BESIII Offline Software System
Loading...
Searching...
No Matches
InstallArea/include/DQASelBhabha/DQASelBhabha/DQASelBhabha.h
Go to the documentation of this file.
1#ifndef Physics_ControlSample_DQASelBhbha_H
2#define Physics_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.1.1.1 2009/05/31 02:04:16 liubj 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 TH1F *m_ee_mass;
36 TH1F *m_ee_acoll;
37 TH1F *m_ee_eop_ep;
38 TH1F *m_ee_eop_em;
39 TH1F *m_ee_costheta_ep;
40 TH1F *m_ee_costheta_em;
41 TH1F *m_ee_phi_ep;
42 TH1F *m_ee_phi_em;
43 TH1I *m_ee_nneu;
44
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
75 TH1F *m_ee_eemc_ep;
76TH1F *m_ee_eemc_em;
77TH1F * m_ee_x_ep;
78TH1F * m_ee_y_ep;
79TH1F * m_ee_z_ep;
80TH1F * m_ee_x_em;
81TH1F * m_ee_y_em;
82TH1F * m_ee_z_em;
83TH1F * m_ee_px_ep;
84TH1F * m_ee_py_ep;
85TH1F * m_ee_pz_ep;
86TH1F * m_ee_px_em;
87TH1F * m_ee_py_em;
88TH1F * m_ee_pz_em;
89TH1F * m_ee_deltatof;
90TH1F * m_ee_pidchidedx_ep;
91TH1F * m_ee_pidchidedx_em;
92TH1F * m_ee_pidchitof1_ep;
93TH1F * m_ee_pidchitof1_em;
94TH1F * m_ee_pidchitof2_ep;
95TH1F * m_ee_pidchitof2_em;
96
97
98
99
100 bool m_writentuple;
101 // Declare r0, z0 cut for charged tracks
102 double m_ecms;
103 double m_beamangle;
104 double m_vr0cut;
105 double m_vz0cut;
106 double m_coscut;
107
108 bool m_useTOF;
109 bool m_usePID;
110 bool m_useEMC;
111 bool m_useMUC;
112 bool m_useMDC;
113 bool m_useDEDX;
114 bool m_useEMConly;
115//Declare energy, dphi, dthe cuts for fake gamma's
116 double m_energyThreshold;
117 double m_gammaPhiCut;
118 double m_gammaThetaCut;
119 double m_gammaTrkCut;
120 double m_gammathCut;
121 double m_gammatlCut;
122 double m_acoll_e_cut;
123 double m_acopl_e_cut;
124 double m_poeb_e_cut;
125 double m_dtof_e_cut;
126 double m_eoeb_e_cut;
127 double m_etotal_e_cut;
128
129 double m_tpoeb_e_cut;
130 double m_tptotal_e_cut;
131 double m_tetotal_e_cut;
132
133 // define Ntuples here
134
135 NTuple::Tuple* m_tuple1;
136 NTuple::Item<long> m_run ;
137 NTuple::Item<long> m_rec;
138 NTuple::Item<long> m_ncharg;
139 NTuple::Item<long> m_nneu ;
140 NTuple::Item<long> m_ngch ;
141 NTuple::Item<long> m_nGam ;
142 NTuple::Item<long> m_bhabhatag ;
143
144 NTuple::Item<double> m_acoll;
145 NTuple::Item<double> m_acopl;
146 NTuple::Item<double> m_deltatof;
147 NTuple::Item<double> m_eop1;
148 NTuple::Item<double> m_eop2;
149 NTuple::Item<double> m_eoeb1;
150 NTuple::Item<double> m_eoeb2;
151 NTuple::Item<double> m_poeb1;
152 NTuple::Item<double> m_poeb2;
153 NTuple::Item<double> m_etoeb1;
154 NTuple::Item<double> m_etoeb2;
155 NTuple::Item<long> m_mucinfo1;
156 NTuple::Item<long> m_mucinfo2;
157
158
159 NTuple::Array<double> m_delang ;
160 NTuple::Array<double> m_delphi ;
161 NTuple::Array<double> m_delthe ;
162 NTuple::Array<long> m_nSeed;
163 NTuple::Array<long> m_npart;
164 NTuple::Array<long> m_module;
165 NTuple::Array<long> m_nemchits;
166 NTuple::Array<double> m_x;
167 NTuple::Array<double> m_y;
168 NTuple::Array<double> m_z;
169 NTuple::Array<double> m_dx;
170 NTuple::Array<double> m_dy;
171 NTuple::Array<double> m_dz;
172 NTuple::Array<double> m_dtheta;
173 NTuple::Array<double> m_dphi;
174 NTuple::Array<double> m_theta;
175 NTuple::Array<double> m_phi;
176 NTuple::Array<double> m_energy;
177 NTuple::Array<double> m_dE;
178 NTuple::Array<double> m_eSeed;
179 NTuple::Array<double> m_e3x3;
180 NTuple::Array<double> m_e5x5;
181 NTuple::Array<double> m_secondMoment;
182 NTuple::Array<double> m_latMoment;
183 NTuple::Array<double> m_a20Moment;
184 NTuple::Array<double> m_a42Moment;
185 NTuple::Array<double> m_getTime;
186 NTuple::Array<double> m_getEAll;
187
188
189
190
191 NTuple::Array<long> m_charge ;
192 NTuple::Array<double> m_vx0 ;
193 NTuple::Array<double> m_vy0 ;
194 NTuple::Array<double> m_vz0 ;
195
196
197 NTuple::Array<double> m_px ;
198 NTuple::Array<double> m_py ;
199 NTuple::Array<double> m_pz ;
200 NTuple::Array<double> m_p ;
201
202
203 NTuple::Array<double> m_kal_vx0 ;
204 NTuple::Array<double> m_kal_vy0 ;
205 NTuple::Array<double> m_kal_vz0 ;
206
207
208 NTuple::Array<double> m_kal_px ;
209 NTuple::Array<double> m_kal_py ;
210 NTuple::Array<double> m_kal_pz ;
211 NTuple::Array<double> m_kal_p ;
212
213
214
215
216 NTuple::Array<float> m_probPH;
217 NTuple::Array<float> m_normPH;
218 NTuple::Array<float> m_chie ;
219 NTuple::Array<float> m_chimu ;
220 NTuple::Array<float> m_chipi ;
221 NTuple::Array<float> m_chik ;
222 NTuple::Array<float> m_chip ;
223 NTuple::Array<float> m_ghit ;
224 NTuple::Array<float> m_thit ;
225
226 NTuple::Array<float> m_e_emc ;
227 NTuple::Array<float> m_theta_emc ;
228 NTuple::Array<float> m_phi_emc ;
229
230 NTuple::Array<float> m_nhit_muc ;
231 NTuple::Array<float> m_nlay_muc;
232
233 NTuple::Array<double> m_qual_etof ;
234 NTuple::Array<double> m_tof_etof ;
235 NTuple::Array<double> m_te_etof ;
236 NTuple::Array<double> m_tmu_etof ;
237 NTuple::Array<double> m_tpi_etof ;
238 NTuple::Array<double> m_tk_etof ;
239 NTuple::Array<double> m_tp_etof ;
240
241 NTuple::Array<double> m_qual_btof1 ;
242 NTuple::Array<double> m_tof_btof1 ;
243 NTuple::Array<double> m_te_btof1 ;
244 NTuple::Array<double> m_tmu_btof1 ;
245 NTuple::Array<double> m_tpi_btof1 ;
246 NTuple::Array<double> m_tk_btof1 ;
247 NTuple::Array<double> m_tp_btof1 ;
248 NTuple::Array<double> m_t_btof ;
249 NTuple::Array<double> m_t_etof ;
250 NTuple::Array<double> m_qual_btof2 ;
251 NTuple::Array<double> m_tof_btof2 ;
252 NTuple::Array<double> m_te_btof2 ;
253 NTuple::Array<double> m_tmu_btof2 ;
254 NTuple::Array<double> m_tpi_btof2 ;
255 NTuple::Array<double> m_tk_btof2 ;
256 NTuple::Array<double> m_tp_btof2 ;
257 NTuple::Array<long> m_pidcode;
258 NTuple::Array<double> m_pidprob;
259 NTuple::Array<double> m_pidchiDedx;
260 NTuple::Array<double> m_pidchiTof1;
261 NTuple::Array<double> m_pidchiTof2;
262
263 NTuple::Item<double> m_px_cms_ep ;
264 NTuple::Item<double> m_py_cms_ep ;
265 NTuple::Item<double> m_pz_cms_ep ;
266 NTuple::Item<double> m_e_cms_ep ;
267 NTuple::Item<double> m_cos_ep ;
268 NTuple::Item<double> m_px_cms_em ;
269 NTuple::Item<double> m_py_cms_em ;
270 NTuple::Item<double> m_pz_cms_em ;
271 NTuple::Item<double> m_e_cms_em ;
272 NTuple::Item<double> m_cos_em ;
273 NTuple::Item<double> m_mass_ee ;
274 NTuple::Item<double> m_emax ;
275 NTuple::Item<double> m_esum ;
276 NTuple::Item<long> m_npip ;
277 NTuple::Item<long> m_npim ;
278 NTuple::Item<long> m_nkp ;
279 NTuple::Item<long> m_nkm ;
280 NTuple::Item<long> m_np ;
281 NTuple::Item<long> m_npb ;
282 NTuple::Item<long> m_nep ;
283 NTuple::Item<long> m_nem ;
284 NTuple::Item<long> m_nmup ;
285 NTuple::Item<long> m_nmum ;
286
287
288
289
290
291};
292
293
294#endif
StatusCode finalize()
StatusCode initialize()
DQASelBhabha(const std::string &name, ISvcLocator *pSvcLocator)
StatusCode execute()