BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
ValidPhyJPsill.h
Go to the documentation of this file.
1#ifndef Physics_Analysis_ValidPhyJPsill_H
2#define Physics_Analysis_ValidPhyJPsill_H
3
4#include "GaudiKernel/Algorithm.h"
5#include "GaudiKernel/ITHistSvc.h"
6#include "GaudiKernel/NTuple.h"
7
8#include "TH1.h"
9
10class ValidPhyJPsill : public Algorithm {
11
12public:
13 ValidPhyJPsill( const std::string& name, ISvcLocator* pSvcLocator );
14 StatusCode initialize();
15 StatusCode execute();
16 StatusCode finalize();
17
18private:
19 ITHistSvc* m_thistsvc;
20 TH1F* m_ee_mass;
21 TH1F* m_ee_acoll;
22 TH1F* m_ee_eop_ep;
23 TH1F* m_ee_eop_em;
24 TH1F* m_ee_costheta_ep;
25 TH1F* m_ee_costheta_em;
26 TH1F* m_ee_phi_ep;
27 TH1F* m_ee_phi_em;
28 TH1F* m_ee_nneu;
29 TH1F* m_ee_eemc_ep;
30 TH1F* m_ee_eemc_em;
31 TH1F* m_ee_x_ep;
32 TH1F* m_ee_y_ep;
33 TH1F* m_ee_z_ep;
34 TH1F* m_ee_x_em;
35 TH1F* m_ee_y_em;
36 TH1F* m_ee_z_em;
37 TH1F* m_ee_px_ep;
38 TH1F* m_ee_py_ep;
39 TH1F* m_ee_pz_ep;
40 TH1F* m_ee_p_ep;
41 TH1F* m_ee_px_em;
42 TH1F* m_ee_py_em;
43 TH1F* m_ee_pz_em;
44 TH1F* m_ee_p_em;
45 TH1F* m_ee_deltatof;
46 TH1F* m_ee_pidchidedx_ep;
47 TH1F* m_ee_pidchidedx_em;
48 TH1F* m_ee_pidchitof1_ep;
49 TH1F* m_ee_pidchitof1_em;
50 TH1F* m_ee_pidchitof2_ep;
51 TH1F* m_ee_pidchitof2_em;
52
53 TH1F* m_mumu_mass;
54 TH1F* m_mumu_acoll;
55 TH1F* m_mumu_eop_mup;
56 TH1F* m_mumu_eop_mum;
57 TH1F* m_mumu_costheta_mup;
58 TH1F* m_mumu_costheta_mum;
59 TH1F* m_mumu_phi_mup;
60 TH1F* m_mumu_phi_mum;
61 TH1F* m_mumu_nneu;
62 TH1F* m_mumu_nlay;
63 TH1F* m_mumu_nhit;
64 TH1F* m_mumu_eemc_mup;
65 TH1F* m_mumu_eemc_mum;
66 TH1F* m_mumu_x_mup;
67 TH1F* m_mumu_y_mup;
68 TH1F* m_mumu_z_mup;
69 TH1F* m_mumu_x_mum;
70 TH1F* m_mumu_y_mum;
71 TH1F* m_mumu_z_mum;
72 TH1F* m_mumu_px_mup;
73 TH1F* m_mumu_py_mup;
74 TH1F* m_mumu_pz_mup;
75 TH1F* m_mumu_p_mup;
76 TH1F* m_mumu_px_mum;
77 TH1F* m_mumu_py_mum;
78 TH1F* m_mumu_pz_mum;
79 TH1F* m_mumu_p_mum;
80 TH1F* m_mumu_deltatof;
81 TH1F* m_mumu_pidchidedx_mup;
82 TH1F* m_mumu_pidchidedx_mum;
83 TH1F* m_mumu_pidchitof1_mup;
84 TH1F* m_mumu_pidchitof1_mum;
85 TH1F* m_mumu_pidchitof2_mup;
86 TH1F* m_mumu_pidchitof2_mum;
87
88 // Declare r0, z0 cut for charged tracks
89 double m_ecms;
90 double m_beamangle;
91 double m_vr0cut;
92 double m_vz0cut;
93 double m_coscut;
94 double m_energyThreshold;
95 double m_gammaPhiCut;
96 double m_gammaThetaCut;
97 double m_gammaTrkCut;
98
99 double m_acoll_e_cut;
100 double m_acopl_e_cut;
101 double m_poeb_e_cut;
102 double m_dtof_e_cut;
103 double m_eoeb_e_cut;
104 double m_etotal_e_cut;
105
106 double m_tpoeb_e_cut;
107 double m_tptotal_e_cut;
108 double m_tetotal_e_cut;
109 double m_acoll_mu_cut;
110 double m_acopl_mu_cut;
111 double m_poeb_mu_cut;
112 double m_dtof_mu_cut;
113 double m_eoeb_mu_cut;
114 double m_etotal_mu_cut;
115 double m_tpoebh_mu_cut;
116 double m_tpoebl_mu_cut;
117 double m_tptotal_mu_cut;
118 bool m_mcdump;
119 bool m_studymode;
120 bool m_tagBhabha;
121 bool m_tagDimu;
122 bool m_endcap;
123 bool m_useTOF;
124 bool m_usePID;
125 bool m_useEMC;
126 bool m_useMUC;
127
128 // define Ntuples here
129 NTuple::Tuple* m_tuple001;
130 NTuple::Item<double> m_mc_ep_e;
131 NTuple::Item<double> m_mc_ep_px;
132 NTuple::Item<double> m_mc_ep_py;
133 NTuple::Item<double> m_mc_ep_pz;
134 NTuple::Item<double> m_mc_ep_costheta;
135 NTuple::Item<double> m_mc_em_e;
136 NTuple::Item<double> m_mc_em_px;
137 NTuple::Item<double> m_mc_em_py;
138 NTuple::Item<double> m_mc_em_pz;
139 NTuple::Item<double> m_mc_em_costheta;
140 NTuple::Tuple* m_tuple1;
141
142 NTuple::Item<long> m_run;
143 NTuple::Item<long> m_event;
144 NTuple::Item<long> m_nchrg;
145 NTuple::Item<long> m_nneu;
146 NTuple::Item<long> m_ngch;
147 NTuple::Item<long> m_nGam;
148
149 NTuple::Item<long> m_sbhabhatag;
150 NTuple::Item<long> m_sdimutag;
151 NTuple::Item<long> m_bhabhatag;
152 NTuple::Item<long> m_dimutag;
153 NTuple::Item<long> m_hadrontag;
154 NTuple::Item<double> m_acoll;
155 NTuple::Item<double> m_acopl;
156 NTuple::Item<double> m_deltatof;
157 NTuple::Item<double> m_eop1;
158 NTuple::Item<double> m_eop2;
159 NTuple::Item<double> m_eoeb1;
160 NTuple::Item<double> m_eoeb2;
161 NTuple::Item<double> m_poeb1;
162 NTuple::Item<double> m_poeb2;
163 NTuple::Item<double> m_etoeb1;
164 NTuple::Item<double> m_etoeb2;
165 NTuple::Item<long> m_mucinfo1;
166 NTuple::Item<long> m_mucinfo2;
167
168 NTuple::Array<double> m_delang;
169 NTuple::Array<double> m_delphi;
170 NTuple::Array<double> m_delthe;
171 NTuple::Array<long> m_nemchits;
172 /* NTuple::Array<double> m_getELepton; */
173 /* NTuple::Array<double> m_getETof2x1; */
174 /* NTuple::Array<double> m_getETof2x3; */
175 /* NTuple::Array<long> m_PhiGap; */
176 /* NTuple::Array<long> m_ThetaGap; */
177 NTuple::Array<double> m_x;
178 NTuple::Array<double> m_y;
179 NTuple::Array<double> m_z;
180 NTuple::Array<double> m_dx;
181 NTuple::Array<double> m_dy;
182 NTuple::Array<double> m_dz;
183 NTuple::Array<double> m_dtheta;
184 NTuple::Array<double> m_dphi;
185 NTuple::Array<double> m_theta;
186 NTuple::Array<double> m_phi;
187 NTuple::Array<double> m_energy;
188 NTuple::Array<double> m_dE;
189 NTuple::Array<double> m_eSeed;
190 NTuple::Array<double> m_e3x3;
191 NTuple::Array<double> m_e5x5;
192 NTuple::Array<double> m_secondMoment;
193 NTuple::Array<double> m_latMoment;
194 NTuple::Array<double> m_a20Moment;
195 NTuple::Array<double> m_a42Moment;
196 NTuple::Array<double> m_getTime;
197 NTuple::Array<double> m_getEAll;
198
199 NTuple::Array<long> m_charge;
200 NTuple::Array<double> m_vx0;
201 NTuple::Array<double> m_vy0;
202 NTuple::Array<double> m_vz0;
203
204 NTuple::Array<double> m_px;
205 NTuple::Array<double> m_py;
206 NTuple::Array<double> m_pz;
207 NTuple::Array<double> m_p;
208
209 NTuple::Array<double> m_kal_vx0;
210 NTuple::Array<double> m_kal_vy0;
211 NTuple::Array<double> m_kal_vz0;
212
213 NTuple::Array<double> m_kal_px;
214 NTuple::Array<double> m_kal_py;
215 NTuple::Array<double> m_kal_pz;
216 NTuple::Array<double> m_kal_p;
217
218 NTuple::Array<float> m_probPH;
219 NTuple::Array<float> m_normPH;
220 NTuple::Array<float> m_chie;
221 NTuple::Array<float> m_chimu;
222 NTuple::Array<float> m_chipi;
223 NTuple::Array<float> m_chik;
224 NTuple::Array<float> m_chip;
225 NTuple::Array<float> m_ghit;
226 NTuple::Array<float> m_thit;
227
228 NTuple::Array<float> m_e_emc;
229 NTuple::Array<float> m_theta_emc;
230 NTuple::Array<float> m_phi_emc;
231
232 NTuple::Array<float> m_nhit_muc;
233 NTuple::Array<float> m_nlay_muc;
234
235 NTuple::Array<double> m_qual_etof;
236 NTuple::Array<double> m_tof_etof;
237 NTuple::Array<double> m_te_etof;
238 NTuple::Array<double> m_tmu_etof;
239 NTuple::Array<double> m_tpi_etof;
240 NTuple::Array<double> m_tk_etof;
241 NTuple::Array<double> m_tp_etof;
242
243 NTuple::Array<double> m_qual_btof1;
244 NTuple::Array<double> m_tof_btof1;
245 NTuple::Array<double> m_te_btof1;
246 NTuple::Array<double> m_tmu_btof1;
247 NTuple::Array<double> m_tpi_btof1;
248 NTuple::Array<double> m_tk_btof1;
249 NTuple::Array<double> m_tp_btof1;
250 NTuple::Array<double> m_t_btof;
251 NTuple::Array<double> m_t_etof;
252 NTuple::Array<double> m_qual_btof2;
253 NTuple::Array<double> m_tof_btof2;
254 NTuple::Array<double> m_te_btof2;
255 NTuple::Array<double> m_tmu_btof2;
256 NTuple::Array<double> m_tpi_btof2;
257 NTuple::Array<double> m_tk_btof2;
258 NTuple::Array<double> m_tp_btof2;
259 NTuple::Array<long> m_pidcode;
260 NTuple::Array<double> m_pidprob;
261 NTuple::Array<double> m_pidchiDedx;
262 NTuple::Array<double> m_pidchiTof1;
263 NTuple::Array<double> m_pidchiTof2;
264
265 NTuple::Item<double> m_px_cms_ep;
266 NTuple::Item<double> m_py_cms_ep;
267 NTuple::Item<double> m_pz_cms_ep;
268 NTuple::Item<double> m_e_cms_ep;
269 NTuple::Item<double> m_cos_ep;
270 NTuple::Item<double> m_px_cms_em;
271 NTuple::Item<double> m_py_cms_em;
272 NTuple::Item<double> m_pz_cms_em;
273 NTuple::Item<double> m_e_cms_em;
274 NTuple::Item<double> m_cos_em;
275 NTuple::Item<double> m_mass_ee;
276 NTuple::Item<double> m_emax;
277 NTuple::Item<double> m_esum;
278 NTuple::Item<long> m_npip;
279 NTuple::Item<long> m_npim;
280 NTuple::Item<long> m_nkp;
281 NTuple::Item<long> m_nkm;
282 NTuple::Item<long> m_np;
283 NTuple::Item<long> m_npb;
284 NTuple::Item<long> m_nep;
285 NTuple::Item<long> m_nem;
286 NTuple::Item<long> m_nmup;
287 NTuple::Item<long> m_nmum;
288};
289
290#endif
StatusCode initialize()
StatusCode finalize()
StatusCode execute()
ValidPhyJPsill(const std::string &name, ISvcLocator *pSvcLocator)