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