109 {
110
111 MsgStream log(
msgSvc(), name() );
112
113 log << MSG::INFO << "in initialize()" << endmsg;
114 StatusCode status;
115 status = service( "THistSvc", m_thistsvc );
116 if ( status.isFailure() )
117 {
118 log << MSG::INFO << "Unable to retrieve pointer to THistSvc" << endmsg;
119 return status;
120 }
121
122 e_z0 = new TH1F( "e_z0", "e_z0", 100, 0, 50 );
123 status = m_thistsvc->regHist( "/DQAHist/Bhabha/e_z0", e_z0 );
124 e_r0 = new TH1F( "e_r0", "e_r0", 100, 0, 10 );
125 status = m_thistsvc->regHist( "/DQAHist/Bhabha/e_r0", e_r0 );
126
127 m_ee_mass = new TH1F( "ee_mass", "ee_mass", 500, m_ecms - 0.5, m_ecms + 0.5 );
128 status = m_thistsvc->regHist( "/DQAHist/Bhabha/ee_mass", m_ee_mass );
129 m_ee_acoll = new TH1F( "ee_acoll", "ee_acoll", 60, 0, 6 );
130 status = m_thistsvc->regHist( "/DQAHist/Bhabha/ee_acoll", m_ee_acoll );
131 m_ee_eop_ep = new TH1F( "ee_eop_ep", "ee_eop_ep", 100, 0.4, 1.4 );
132 status = m_thistsvc->regHist( "/DQAHist/Bhabha/ee_eop_ep", m_ee_eop_ep );
133 m_ee_eop_em = new TH1F( "ee_eop_em", "ee_eop_em", 100, 0.4, 1.4 );
134 status = m_thistsvc->regHist( "/DQAHist/Bhabha/ee_eop_em", m_ee_eop_em );
135 m_ee_costheta_ep = new TH1F( "ee_costheta_ep", "ee_costheta_ep", 100, -1, 1 );
136 status = m_thistsvc->regHist( "/DQAHist/Bhabha/ee_costheta_ep", m_ee_costheta_ep );
137 m_ee_costheta_em = new TH1F( "ee_costheta_em", "ee_costheta_em", 100, -1, 1 );
138 status = m_thistsvc->regHist( "/DQAHist/Bhabha/ee_costheta_em", m_ee_costheta_em );
139
140 m_ee_phi_ep = new TH1F( "ee_phi_ep", "ee_phi_ep", 120, -3.2, 3.2 );
141 status = m_thistsvc->regHist( "/DQAHist/Bhabha/ee_phi_ep", m_ee_phi_ep );
142 m_ee_phi_em = new TH1F( "ee_phi_em", "ee_phi_em", 120, -3.2, 3.2 );
143 status = m_thistsvc->regHist( "/DQAHist/Bhabha/ee_phi_em", m_ee_phi_em );
144
145 m_ee_nneu = new TH1I( "ee_nneu", "ee_nneu", 5, 0, 5 );
146 status = m_thistsvc->regHist( "/DQAHist/Bhabha/ee_nneu", m_ee_nneu );
147
148 m_ee_eemc_ep =
149 new TH1F( "ee_eemc_ep", "ee_eemc_ep", 100, m_ecms / 2. - 0.8, m_ecms / 2. + 0.3 );
150 status = m_thistsvc->regHist( "/DQAHist/Bhabha/ee_eemc_ep", m_ee_eemc_ep );
151 m_ee_eemc_em =
152 new TH1F( "ee_eemc_em", "ee_eemc_em", 100, m_ecms / 2. - 0.8, m_ecms / 2. + 0.3 );
153 status = m_thistsvc->regHist( "/DQAHist/Bhabha/ee_eemc_em", m_ee_eemc_em );
154 m_ee_x_ep = new TH1F( "ee_x_ep", "ee_x_ep", 100, -1.0, 1.0 );
155 status = m_thistsvc->regHist( "/DQAHist/Bhabha/ee_x_ep", m_ee_x_ep );
156 m_ee_y_ep = new TH1F( "ee_y_ep", "ee_y_ep", 100, -1.0, 1.0 );
157 status = m_thistsvc->regHist( "/DQAHist/Bhabha/ee_y_ep", m_ee_y_ep );
158 m_ee_z_ep = new TH1F( "ee_z_ep", "ee_z_ep", 100, -10.0, 10.0 );
159 status = m_thistsvc->regHist( "/DQAHist/Bhabha/ee_z_ep", m_ee_z_ep );
160 m_ee_x_em = new TH1F( "ee_x_em", "ee_x_em", 100, -1.0, 1.0 );
161 status = m_thistsvc->regHist( "/DQAHist/Bhabha/ee_x_em", m_ee_x_em );
162 m_ee_y_em = new TH1F( "ee_y_em", "ee_y_em", 100, -1.0, 1.0 );
163 status = m_thistsvc->regHist( "/DQAHist/Bhabha/ee_y_em", m_ee_y_em );
164 m_ee_z_em = new TH1F( "ee_z_em", "ee_z_em", 100, -10.0, 10.0 );
165 status = m_thistsvc->regHist( "/DQAHist/Bhabha/ee_z_em", m_ee_z_em );
166
167 m_ee_px_ep = new TH1F( "ee_px_ep", "ee_px_ep", 200, -2.2, 2.2 );
168 status = m_thistsvc->regHist( "/DQAHist/Bhabha/ee_px_ep", m_ee_px_ep );
169 m_ee_py_ep = new TH1F( "ee_py_ep", "ee_py_ep", 200, -2.2, 2.2 );
170 status = m_thistsvc->regHist( "/DQAHist/Bhabha/ee_py_ep", m_ee_py_ep );
171 m_ee_pz_ep = new TH1F( "ee_pz_ep", "ee_pz_ep", 200, -2., 2.5 );
172 status = m_thistsvc->regHist( "/DQAHist/Bhabha/ee_pz_ep", m_ee_pz_ep );
173 m_ee_p_ep = new TH1F( "ee_p_ep", "ee_p_ep", 100, m_ecms / 2. - 0.8, m_ecms / 2. + 0.5 );
174 status = m_thistsvc->regHist( "/DQAHist/Bhabha/ee_p_ep", m_ee_p_ep );
175 m_ee_px_em = new TH1F( "ee_px_em", "ee_px_em", 100, -2.2, 2.2 );
176 status = m_thistsvc->regHist( "/DQAHist/Bhabha/ee_px_em", m_ee_px_em );
177 m_ee_py_em = new TH1F( "ee_py_em", "ee_py_em", 100, -2.2, 2.2 );
178 status = m_thistsvc->regHist( "/DQAHist/Bhabha/ee_py_em", m_ee_py_em );
179 m_ee_pz_em = new TH1F( "ee_pz_em", "ee_pz_em", 100, -2.5, 2. );
180 status = m_thistsvc->regHist( "/DQAHist/Bhabha/ee_pz_em", m_ee_pz_em );
181 m_ee_p_em = new TH1F( "ee_p_em", "ee_p_em", 100, m_ecms / 2. - 0.8, m_ecms / 2. + 0.5 );
182 status = m_thistsvc->regHist( "/DQAHist/Bhabha/ee_p_em", m_ee_p_em );
183 m_ee_deltatof = new TH1F( "ee_deltatof", "ee_deltatof", 50, 0.0, 10.0 );
184 status = m_thistsvc->regHist( "/DQAHist/Bhabha/ee_deltatof", m_ee_deltatof );
185
186 m_ee_pidchidedx_ep = new TH1F( "ee_pidchidedx_ep", "ee_pidchidedx_ep", 160, -4, 4 );
187 status = m_thistsvc->regHist( "/DQAHist/Bhabha/ee_pidchidedx_ep", m_ee_pidchidedx_ep );
188 m_ee_pidchidedx_em = new TH1F( "ee_pidchidedx_em", "ee_pidchidedx_em", 160, -4, 4 );
189 status = m_thistsvc->regHist( "/DQAHist/Bhabha/ee_pidchidedx_em", m_ee_pidchidedx_em );
190 m_ee_pidchitof1_ep = new TH1F( "ee_pidchitof1_ep", "ee_pidchitof1_ep", 160, -4, 4 );
191 status = m_thistsvc->regHist( "/DQAHist/Bhabha/ee_pidchitof1_ep", m_ee_pidchitof1_ep );
192 m_ee_pidchitof1_em = new TH1F( "ee_pidchitof1_em", "ee_pidchitof1_em", 160, -4, 4 );
193 status = m_thistsvc->regHist( "/DQAHist/Bhabha/ee_pidchitof1_em", m_ee_pidchitof1_em );
194 m_ee_pidchitof2_ep = new TH1F( "ee_pidchitof2_ep", "ee_pidchitof2_ep", 160, -4, 4 );
195 status = m_thistsvc->regHist( "/DQAHist/Bhabha/ee_pidchitof2_ep", m_ee_pidchitof2_ep );
196 m_ee_pidchitof2_em = new TH1F( "ee_pidchitof2_em", "ee_pidchitof2_em", 160, -4, 4 );
197 status = m_thistsvc->regHist( "/DQAHist/Bhabha/ee_pidchitof2_em", m_ee_pidchitof2_em );
198
199 NTuplePtr nt1(
ntupleSvc(),
"DQAFILE/Bhabha" );
200 if ( nt1 ) m_tuple1 = nt1;
201 else
202 {
203 m_tuple1 =
ntupleSvc()->book(
"DQAFILE/Bhabha", CLID_ColumnWiseTuple,
"N-Tuple" );
204 if ( m_tuple1 )
205 {
206 status = m_tuple1->addItem( "run", m_run );
207 status = m_tuple1->addItem( "rec", m_rec );
208 status = m_tuple1->addItem( "Nchrg", m_ncharg );
209 status = m_tuple1->addItem( "Nneu", m_nneu, 0, 40 );
210 status = m_tuple1->addItem( "NGch", m_ngch, 0, 40 );
211 status = m_tuple1->addItem( "NGam", m_nGam );
212
213 status = m_tuple1->addItem( "bhabhatag", m_bhabhatag );
214
215 status = m_tuple1->addItem( "acoll", m_acoll );
216 status = m_tuple1->addItem( "acopl", m_acopl );
217 status = m_tuple1->addItem( "deltatof", m_deltatof );
218 status = m_tuple1->addItem( "eop1", m_eop1 );
219 status = m_tuple1->addItem( "eop2", m_eop2 );
220 status = m_tuple1->addItem( "eoeb1", m_eoeb1 );
221 status = m_tuple1->addItem( "eoeb2", m_eoeb2 );
222 status = m_tuple1->addItem( "poeb1", m_poeb1 );
223 status = m_tuple1->addItem( "poeb2", m_poeb2 );
224 status = m_tuple1->addItem( "etoeb1", m_etoeb1 );
225 status = m_tuple1->addItem( "etoeb2", m_etoeb2 );
226 status = m_tuple1->addItem( "mucinfo1", m_mucinfo1 );
227 status = m_tuple1->addItem( "mucinfo2", m_mucinfo2 );
228
229 status = m_tuple1->addIndexedItem( "delang", m_nneu, m_delang );
230 status = m_tuple1->addIndexedItem( "delphi", m_nneu, m_delphi );
231 status = m_tuple1->addIndexedItem( "delthe", m_nneu, m_delthe );
232 status = m_tuple1->addIndexedItem( "npart", m_nneu, m_npart );
233 status = m_tuple1->addIndexedItem( "nemchits", m_nneu, m_nemchits );
234 status = m_tuple1->addIndexedItem( "module", m_nneu, m_module );
235 status = m_tuple1->addIndexedItem( "x", m_nneu, m_x );
236 status = m_tuple1->addIndexedItem( "y", m_nneu, m_y );
237 status = m_tuple1->addIndexedItem( "z", m_nneu, m_z );
238 status = m_tuple1->addIndexedItem( "px", m_nneu, m_px );
239 status = m_tuple1->addIndexedItem( "py", m_nneu, m_py );
240 status = m_tuple1->addIndexedItem( "pz", m_nneu, m_pz );
241 status = m_tuple1->addIndexedItem( "theta", m_nneu, m_theta );
242 status = m_tuple1->addIndexedItem( "phi", m_nneu, m_phi );
243 status = m_tuple1->addIndexedItem( "dx", m_nneu, m_dx );
244 status = m_tuple1->addIndexedItem( "dy", m_nneu, m_dy );
245 status = m_tuple1->addIndexedItem( "dz", m_nneu, m_dz );
246 status = m_tuple1->addIndexedItem( "dtheta", m_nneu, m_dtheta );
247 status = m_tuple1->addIndexedItem( "dphi", m_nneu, m_dphi );
248 status = m_tuple1->addIndexedItem( "energy", m_nneu, m_energy );
249 status = m_tuple1->addIndexedItem( "dE", m_nneu, m_dE );
250 status = m_tuple1->addIndexedItem( "eSeed", m_nneu, m_eSeed );
251 status = m_tuple1->addIndexedItem( "nSeed", m_nneu, m_nSeed );
252 status = m_tuple1->addIndexedItem( "e3x3", m_nneu, m_e3x3 );
253 status = m_tuple1->addIndexedItem( "e5x5", m_nneu, m_e5x5 );
254 status = m_tuple1->addIndexedItem( "secondMoment", m_nneu, m_secondMoment );
255 status = m_tuple1->addIndexedItem( "latMoment", m_nneu, m_latMoment );
256 status = m_tuple1->addIndexedItem( "a20Moment", m_nneu, m_a20Moment );
257 status = m_tuple1->addIndexedItem( "a42Moment", m_nneu, m_a42Moment );
258 status = m_tuple1->addIndexedItem( "getTime", m_nneu, m_getTime );
259 status = m_tuple1->addIndexedItem( "getEAll", m_nneu, m_getEAll );
260
261 status = m_tuple1->addIndexedItem( "charge", m_ngch, m_charge );
262 status = m_tuple1->addIndexedItem( "vx", m_ngch, m_vx0 );
263 status = m_tuple1->addIndexedItem( "vy", m_ngch, m_vy0 );
264 status = m_tuple1->addIndexedItem( "vz", m_ngch, m_vz0 );
265 status = m_tuple1->addIndexedItem( "r0", m_ngch, m_vr0 );
266
267 status = m_tuple1->addIndexedItem( "px", m_ngch, m_px );
268 status = m_tuple1->addIndexedItem( "py", m_ngch, m_py );
269 status = m_tuple1->addIndexedItem( "pz", m_ngch, m_pz );
270 status = m_tuple1->addIndexedItem( "p", m_ngch, m_p );
271
272 status = m_tuple1->addIndexedItem( "kal_vx", m_ngch, m_kal_vx0 );
273 status = m_tuple1->addIndexedItem( "kal_vy", m_ngch, m_kal_vy0 );
274 status = m_tuple1->addIndexedItem( "kal_vz", m_ngch, m_kal_vz0 );
275
276 status = m_tuple1->addIndexedItem( "kal_px", m_ngch, m_kal_px );
277 status = m_tuple1->addIndexedItem( "kal_py", m_ngch, m_kal_py );
278 status = m_tuple1->addIndexedItem( "kal_pz", m_ngch, m_kal_pz );
279 status = m_tuple1->addIndexedItem( "kal_p", m_ngch, m_kal_p );
280
281 status = m_tuple1->addIndexedItem( "probPH", m_ngch, m_probPH );
282 status = m_tuple1->addIndexedItem( "normPH", m_ngch, m_normPH );
283 status = m_tuple1->addIndexedItem( "chie", m_ngch, m_chie );
284 status = m_tuple1->addIndexedItem( "chimu", m_ngch, m_chimu );
285 status = m_tuple1->addIndexedItem( "chipi", m_ngch, m_chipi );
286 status = m_tuple1->addIndexedItem( "chik", m_ngch, m_chik );
287 status = m_tuple1->addIndexedItem( "chip", m_ngch, m_chip );
288 status = m_tuple1->addIndexedItem( "ghit", m_ngch, m_ghit );
289 status = m_tuple1->addIndexedItem( "thit", m_ngch, m_thit );
290
291 status = m_tuple1->addIndexedItem( "e_emc", m_ngch, m_e_emc );
292 status = m_tuple1->addIndexedItem( "phi_emc", m_ngch, m_phi_emc );
293 status = m_tuple1->addIndexedItem( "theta_emc", m_ngch, m_theta_emc );
294
295 status = m_tuple1->addIndexedItem( "nhit_muc", m_ngch, m_nhit_muc );
296 status = m_tuple1->addIndexedItem( "nlay_muc", m_ngch, m_nlay_muc );
297 status = m_tuple1->addIndexedItem( "t_btof", m_ngch, m_t_btof );
298 status = m_tuple1->addIndexedItem( "t_etof", m_ngch, m_t_etof );
299 status = m_tuple1->addIndexedItem( "qual_etof", m_ngch, m_qual_etof );
300 status = m_tuple1->addIndexedItem( "tof_etof", m_ngch, m_tof_etof );
301 status = m_tuple1->addIndexedItem( "te_etof", m_ngch, m_te_etof );
302 status = m_tuple1->addIndexedItem( "tmu_etof", m_ngch, m_tmu_etof );
303 status = m_tuple1->addIndexedItem( "tpi_etof", m_ngch, m_tpi_etof );
304 status = m_tuple1->addIndexedItem( "tk_etof", m_ngch, m_tk_etof );
305 status = m_tuple1->addIndexedItem( "tp_etof", m_ngch, m_tp_etof );
306
307 status = m_tuple1->addIndexedItem( "qual_btof1", m_ngch, m_qual_btof1 );
308 status = m_tuple1->addIndexedItem( "tof_btof1", m_ngch, m_tof_btof1 );
309 status = m_tuple1->addIndexedItem( "te_btof1", m_ngch, m_te_btof1 );
310 status = m_tuple1->addIndexedItem( "tmu_btof1", m_ngch, m_tmu_btof1 );
311 status = m_tuple1->addIndexedItem( "tpi_btof1", m_ngch, m_tpi_btof1 );
312 status = m_tuple1->addIndexedItem( "tk_btof1", m_ngch, m_tk_btof1 );
313 status = m_tuple1->addIndexedItem( "tp_btof1", m_ngch, m_tp_btof1 );
314
315 status = m_tuple1->addIndexedItem( "qual_btof2", m_ngch, m_qual_btof2 );
316 status = m_tuple1->addIndexedItem( "tof_btof2", m_ngch, m_tof_btof2 );
317 status = m_tuple1->addIndexedItem( "te_btof2", m_ngch, m_te_btof2 );
318 status = m_tuple1->addIndexedItem( "tmu_btof2", m_ngch, m_tmu_btof2 );
319 status = m_tuple1->addIndexedItem( "tpi_btof2", m_ngch, m_tpi_btof2 );
320 status = m_tuple1->addIndexedItem( "tk_btof2", m_ngch, m_tk_btof2 );
321 status = m_tuple1->addIndexedItem( "tp_btof2", m_ngch, m_tp_btof2 );
322 status = m_tuple1->addIndexedItem( "pidcode", m_ngch, m_pidcode );
323 status = m_tuple1->addIndexedItem( "pidprob", m_ngch, m_pidprob );
324 status = m_tuple1->addIndexedItem( "pidchiDedx", m_ngch, m_pidchiDedx );
325 status = m_tuple1->addIndexedItem( "pidchiTof1", m_ngch, m_pidchiTof1 );
326 status = m_tuple1->addIndexedItem( "pidchiTof2", m_ngch, m_pidchiTof2 );
327
328 status = m_tuple1->addItem( "dedx_GoodHits_ep", m_dedx_goodhits_ep );
329 status = m_tuple1->addItem( "dedx_chi_ep", m_dedx_chiep );
330 status = m_tuple1->addItem( "dedx_GoodHits_em", m_dedx_goodhits_em );
331 status = m_tuple1->addItem( "dedx_chi_em", m_dedx_chiem );
332
333 status = m_tuple1->addItem( "px_cms_ep", m_px_cms_ep );
334 status = m_tuple1->addItem( "py_cms_ep", m_py_cms_ep );
335 status = m_tuple1->addItem( "pz_cms_ep", m_pz_cms_ep );
336 status = m_tuple1->addItem( "e_cms_ep", m_e_cms_ep );
337 status = m_tuple1->addItem( "p_cms_ep", m_p_cms_ep );
338
339 status = m_tuple1->addItem( "cos_ep", m_cos_ep );
340 status = m_tuple1->addItem( "kal_p_ep", m_kal_p_ep );
341 status = m_tuple1->addItem( "kal_px_ep", m_kal_px_ep );
342 status = m_tuple1->addItem( "kal_py_ep", m_kal_py_ep );
343 status = m_tuple1->addItem( "kal_pz_ep", m_kal_pz_ep );
344
345 status = m_tuple1->addItem( "px_cms_em", m_px_cms_em );
346 status = m_tuple1->addItem( "py_cms_em", m_py_cms_em );
347 status = m_tuple1->addItem( "pz_cms_em", m_pz_cms_em );
348 status = m_tuple1->addItem( "e_cms_em", m_e_cms_em );
349 status = m_tuple1->addItem( "p_cms_em", m_p_cms_em );
350
351 status = m_tuple1->addItem( "cos_em", m_cos_em );
352 status = m_tuple1->addItem( "kal_p_em", m_kal_p_em );
353 status = m_tuple1->addItem( "kal_px_em", m_kal_px_em );
354 status = m_tuple1->addItem( "kal_py_em", m_kal_py_em );
355 status = m_tuple1->addItem( "kal_pz_em", m_kal_pz_em );
356
357 status = m_tuple1->addItem( "mass_ee", m_mass_ee );
358 status = m_tuple1->addItem( "px_ee", m_px_ee );
359 status = m_tuple1->addItem( "py_ee", m_py_ee );
360 status = m_tuple1->addItem( "pz_ee", m_pz_ee );
361 status = m_tuple1->addItem( "e_ee", m_e_ee );
362 status = m_tuple1->addItem( "p_ee", m_p_ee );
363
364 status = m_tuple1->addItem( "nep", m_nep );
365 status = m_tuple1->addItem( "nem", m_nem );
366 }
367 else
368 {
369 log << MSG::ERROR << " Cannot book N-tuple:" << long( m_tuple1 ) << endmsg;
370 return StatusCode::FAILURE;
371 }
372 }
373
374
375
376
377
378 log << MSG::INFO << "successfully return from initialize()" << endmsg;
379 return StatusCode::SUCCESS;
380}