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