1#ifndef Physics_Analysis_Signal_H
2#define Physics_Analysis_Signal_H
4#include "GaudiKernel/AlgFactory.h"
5#include "GaudiKernel/Algorithm.h"
6#include "GaudiKernel/NTuple.h"
7#include "GaudiKernel/ITHistSvc.h"
11class Signal :
public Algorithm {
14 Signal(
const std::string& name, ISvcLocator* pSvcLocator);
20 ITHistSvc *m_thistsvc;
25 TH1F *m_ee_costheta_ep;
26 TH1F *m_ee_costheta_em;
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;
58 TH1F *m_mumu_costheta_mup;
59 TH1F *m_mumu_costheta_mum;
65 TH1F *m_mumu_eemc_mup;
66 TH1F *m_mumu_eemc_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;
95 double m_energyThreshold;
97 double m_gammaThetaCut;
100 double m_acoll_e_cut;
101 double m_acopl_e_cut;
105 double m_etotal_e_cut;
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;
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;
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 ;
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;
173 NTuple::Array<double> m_delang ;
174 NTuple::Array<double> m_delphi ;
175 NTuple::Array<double> m_delthe ;
176 NTuple::Array<long> m_nemchits;
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;
207 NTuple::Array<long> m_charge ;
208 NTuple::Array<double> m_vx0 ;
209 NTuple::Array<double> m_vy0 ;
210 NTuple::Array<double> m_vz0 ;
213 NTuple::Array<double> m_px ;
214 NTuple::Array<double> m_py ;
215 NTuple::Array<double> m_pz ;
216 NTuple::Array<double> m_p ;
219 NTuple::Array<double> m_kal_vx0 ;
220 NTuple::Array<double> m_kal_vy0 ;
221 NTuple::Array<double> m_kal_vz0 ;
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 ;
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 ;
242 NTuple::Array<float> m_e_emc ;
243 NTuple::Array<float> m_theta_emc ;
244 NTuple::Array<float> m_phi_emc ;
246 NTuple::Array<float> m_nhit_muc ;
247 NTuple::Array<float> m_nlay_muc;
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 ;
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;
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 ;
Signal(const std::string &name, ISvcLocator *pSvcLocator)