BOSS 7.1.1
BESIII Offline Software System
Loading...
Searching...
No Matches
Single.h
Go to the documentation of this file.
1#ifndef Physics_Analysis_Single_H
2#define Physics_Analysis_Single_H
3
4#include "GaudiKernel/AlgFactory.h"
5#include "GaudiKernel/Algorithm.h"
6#include "GaudiKernel/NTuple.h"
7//#include "VertexFit/ReadBeamParFromDb.h"
8
9
10class Single : public Algorithm {
11
12public:
13 Single(const std::string& name, ISvcLocator* pSvcLocator);
14 StatusCode initialize();
15 StatusCode execute();
16 StatusCode finalize();
17
18private:
19
20
21 double m_vxy0cut;
22 double m_vz0cut;
23 double m_angdcut;
24
25
26
27 int m_checkDedx;
28 int m_checkTof;
29 int m_checkExt;
30 int m_checkEmc;
31 int m_checkMuc;
32
33 int m_particleID;
34
35 int m_itrack;
36
37 int m_pid_mode;
38
39 // define Ntuples here
40
41 NTuple::Tuple* m_tuple1; // charged track vertex
42 NTuple::Item<double> m_vx0;
43 NTuple::Item<double> m_vy0;
44 NTuple::Item<double> m_vz0;
45 NTuple::Item<double> m_pch;
46 NTuple::Item<double> m_trackid;
47 NTuple::Item<double> m_charge;
48 NTuple::Item<double> m_pxy0;
49 NTuple::Item<double> m_px0;
50 NTuple::Item<double> m_py0;
51 NTuple::Item<double> m_pz0;
52 NTuple::Item<double> m_r0;
53 NTuple::Item<double> m_phi;
54 NTuple::Item<double> m_theta;
55 NTuple::Item<double> m_ndof;
56 NTuple::Item<double> m_nster;
57 NTuple::Item<double> m_stat;
58 NTuple::Item<double> m_angd;
59 NTuple::Item<double> m_rvxy0;
60 NTuple::Item<double> m_rvz0;
61 NTuple::Item<double> m_d0;
62 NTuple::Item<double> m_phi0;
63 NTuple::Item<double> m_kappa;
64 NTuple::Item<double> m_dzhelix;
65 NTuple::Item<double> m_tanlamda;
66 NTuple::Item<double> m_err11;
67 NTuple::Item<double> m_err21;
68 NTuple::Item<double> m_err22;
69 NTuple::Item<double> m_err31;
70 NTuple::Item<double> m_err32;
71 NTuple::Item<double> m_err33;
72 NTuple::Item<double> m_err41;
73 NTuple::Item<double> m_err42;
74 NTuple::Item<double> m_err43;
75 NTuple::Item<double> m_err44;
76 NTuple::Item<double> m_err51;
77 NTuple::Item<double> m_err52;
78 NTuple::Item<double> m_err53;
79 NTuple::Item<double> m_err54;
80 NTuple::Item<double> m_err55;
81
82 NTuple::Item<double> m_ngch;
83
84 NTuple::Item<double> m_mdc_kal_px;
85 NTuple::Item<double> m_mdc_kal_py;
86 NTuple::Item<double> m_mdc_kal_pz;
87 NTuple::Item<double> m_mdc_kal_p;
88 NTuple::Item<double> m_mdc_kal_pxy;
89 NTuple::Item<double> m_mdc_kal_costheta;
90
91 NTuple::Tuple* m_tuple2; // dE/dx
92 NTuple::Item<double> m_ptrk;
93 NTuple::Item<double> m_chie;
94 NTuple::Item<double> m_chimu;
95 NTuple::Item<double> m_chipi;
96 NTuple::Item<double> m_chik;
97 NTuple::Item<double> m_chip;
98 NTuple::Item<double> m_probPH;
99 NTuple::Item<double> m_normPH;
100 NTuple::Item<double> m_ghit;
101 NTuple::Item<double> m_thit;
102
103
104
105 NTuple::Tuple* m_tuple3; // ext
106 NTuple::Item<double> m_tof1;
107 NTuple::Item<double> m_tof1path;
108 NTuple::Item<double> m_tof1z;
109 NTuple::Item<double> m_tof1t;
110 NTuple::Item<double> m_tof1x;
111 NTuple::Item<double> m_tof1y;
112
113 NTuple::Item<double> m_tof2;
114 NTuple::Item<double> m_tof2path;
115 NTuple::Item<double> m_tof2z;
116 NTuple::Item<double> m_tof2t;
117 NTuple::Item<double> m_tof2x;
118 NTuple::Item<double> m_tof2y;
119
120 NTuple::Item<double> m_emctheta;
121 NTuple::Item<double> m_emcphi;
122 NTuple::Item<double> m_emcpath;
123
124 NTuple::Item<double> m_mucz;
125 NTuple::Item<double> m_muct;
126 NTuple::Item<double> m_mucx;
127 NTuple::Item<double> m_mucy;
128
129
130 NTuple::Tuple* m_tuple4; //tof
131 NTuple::Item<double> m_path;
132 NTuple::Item<double> m_zrhit;
133 NTuple::Item<double> m_ph;
134 NTuple::Item<double> m_tof;
135 NTuple::Item<double> m_errtof;
136 NTuple::Item<double> m_beta;
137 NTuple::Item<double> m_texpe;
138 NTuple::Item<double> m_texpmu;
139 NTuple::Item<double> m_texppi;
140 NTuple::Item<double> m_texpka;
141 NTuple::Item<double> m_texppro;
142 NTuple::Item<double> m_toffsete;
143 NTuple::Item<double> m_toffsetmu;
144 NTuple::Item<double> m_toffsetpi;
145 NTuple::Item<double> m_toffsetka;
146 NTuple::Item<double> m_toffsetpro;
147 NTuple::Item<double> m_toffsetatpr;
148 NTuple::Item<double> m_sigmae;
149 NTuple::Item<double> m_sigmamu;
150 NTuple::Item<double> m_sigmapi;
151 NTuple::Item<double> m_sigmaka;
152 NTuple::Item<double> m_sigmapro;
153 NTuple::Item<double> m_sigmaatpr;
154 NTuple::Item<double> m_quality;
155 NTuple::Item<double> m_t0;
156 NTuple::Item<double> m_errt0;
157 NTuple::Item<double> m_errz;
158 NTuple::Item<double> m_phitof;
159 NTuple::Item<double> m_errphi;
160 NTuple::Item<double> m_energy;
161 NTuple::Item<double> m_errenergy;
162
163
164
165 NTuple::Tuple* m_tuple5; //emc
166 NTuple::Item<double> m_x;
167 NTuple::Item<double> m_y;
168 NTuple::Item<double> m_z;
169 NTuple::Item<double> m_thetaemc;
170 NTuple::Item<double> m_phiemc;
171 NTuple::Item<double> m_dx;
172 NTuple::Item<double> m_dy;
173 NTuple::Item<double> m_dz;
174 NTuple::Item<double> m_dtheta;
175 NTuple::Item<double> m_dphi;
176 NTuple::Item<double> m_energyemc;
177 NTuple::Item<double> m_de;
178 NTuple::Item<double> m_eseed;
179 NTuple::Item<double> m_e3x3;
180 NTuple::Item<double> m_e5x5;
181 NTuple::Item<double> m_secp;
182 NTuple::Item<double> m_latp;
183
184
185
186
187
188
189
190 NTuple::Tuple* m_tuple6; //muc
191 NTuple::Item<double> m_depth;
192 NTuple::Item<double> m_chi2;
193 NTuple::Item<double> m_rms;
194 NTuple::Item<double> m_xpos;
195 NTuple::Item<double> m_ypos;
196 NTuple::Item<double> m_zpos;
197 NTuple::Item<double> m_xpossigma;
198 NTuple::Item<double> m_ypossigma;
199 NTuple::Item<double> m_zpossigma;
200 NTuple::Item<double> m_px;
201 NTuple::Item<double> m_py;
202 NTuple::Item<double> m_pz;
203 NTuple::Item<double> m_distance;
204 NTuple::Item<double> m_deltaphi;
205
206 NTuple::Tuple* m_tuple7; //runinfo
207 NTuple::Item<double> m_runNo;
208 NTuple::Item<double> m_event;
209 NTuple::Item<double> m_totcharged;
210 NTuple::Item<double> m_totneutral;
211 NTuple::Item<double> m_tottracks;
212 NTuple::Item<double> m_ngood;
213 NTuple::Item<double> m_costhetan;
214 NTuple::Item<double> m_kaln;
215 NTuple::Item<double> m_pn;
216 NTuple::Item<double> m_ncharge;
217 NTuple::Item<double> m_mat_charge;
218 NTuple::Item<double> m_diff_pxy;
219 NTuple::Item<double> m_diff_pch;
220 NTuple::Item<double> m_diff_costheta;
221
222 NTuple::Tuple* m_tuple8; //mc
223 NTuple::Item<double> m_vx;
224 NTuple::Item<double> m_vy;
225 NTuple::Item<double> m_vz;
226 NTuple::Item<double> m_vr0;
227 NTuple::Item<double> m_pxmc;
228 NTuple::Item<double> m_pymc;
229 NTuple::Item<double> m_pzmc;
230 NTuple::Item<double> m_e;
231 NTuple::Item<double> m_p;
232 NTuple::Item<double> m_pxymc;
233 NTuple::Item<double> m_thetamc;
234 NTuple::Item<double> m_costhetamc;
235 NTuple::Item<double> m_phimc;
236 NTuple::Item<double> m_m;
237 NTuple::Item<double> m_pro;
238 NTuple::Item<double> m_index;
239 NTuple::Item<double> m_mctotcharged;
240
241
242
243 NTuple::Tuple* m_tuple9; // Particle ID info.
244 NTuple::Item<double> m_ptrk_pid;
245 NTuple::Item<double> m_cost_pid;
246 NTuple::Item<double> m_dedx_pid;
247 NTuple::Item<double> m_tof1_pid;
248 NTuple::Item<double> m_tof2_pid;
249 NTuple::Item<double> m_prob_pid_pion;
250 NTuple::Item<double> m_prob_pid_kaon;
251 NTuple::Item<double> m_prob_pid_proton;
252
253
254 NTuple::Item<double> m_kalpx;
255 NTuple::Item<double> m_kalpy;
256 NTuple::Item<double> m_kalpz;
257 NTuple::Item<double> m_kalp;
258 NTuple::Item<double> m_kalpxy;
259
260 NTuple::Item<double> m_kalcostheta;
261
262 NTuple::Item<double> m_d0kal;
263 NTuple::Item<double> m_phi0kal;
264 NTuple::Item<double> m_kappakal;
265 NTuple::Item<double> m_dzhelixkal;
266 NTuple::Item<double> m_tanlamdakal;
267 NTuple::Item<double> m_err11kal;
268 NTuple::Item<double> m_err21kal;
269 NTuple::Item<double> m_err22kal;
270 NTuple::Item<double> m_err31kal;
271 NTuple::Item<double> m_err32kal;
272 NTuple::Item<double> m_err33kal;
273 NTuple::Item<double> m_err41kal;
274 NTuple::Item<double> m_err42kal;
275 NTuple::Item<double> m_err43kal;
276 NTuple::Item<double> m_err44kal;
277 NTuple::Item<double> m_err51kal;
278 NTuple::Item<double> m_err52kal;
279 NTuple::Item<double> m_err53kal;
280 NTuple::Item<double> m_err54kal;
281 NTuple::Item<double> m_err55kal;
282
283 NTuple::Item<double> m_comp_costheta;
284 NTuple::Item<double> m_costhetann;
285 NTuple::Item<double> m_kalnn;
286 NTuple::Item<double> m_pnn;
287};
288
289#endif
StatusCode initialize()
Definition Single.cxx:72
StatusCode execute()
Definition Single.cxx:455
StatusCode finalize()
Definition Single.cxx:1064
Single(const std::string &name, ISvcLocator *pSvcLocator)
Definition Single.cxx:53