226 {
228 Gaudi::svcLocator()->service(
"MessageSvc",
msgSvc );
229 MsgStream log(
msgSvc,
"MdcCalib" );
230 log << MSG::INFO << "MdcCalib::initialize()" << endmsg;
231
232 m_hlist = hlist;
233 m_mdcGeomSvc = mdcGeomSvc;
234 m_mdcFunSvc = mdcFunSvc;
235 m_mdcUtilitySvc = mdcUtilitySvc;
236
237 int lay;
238 int iEntr;
239 int lr;
241 char hname[200];
242
243 int nbinMom = 2400;
244
245 m_nlayer = m_mdcGeomSvc->getLayerSize();
246
247 for ( lay = 0; lay < m_nlayer; lay++ )
248 { m_radii[lay] = m_mdcGeomSvc->Layer( lay )->Radius(); }
251 {
252 m_xe[wir] = m_mdcGeomSvc->Wire( wir )->Backward().x();
253 m_ye[wir] = m_mdcGeomSvc->Wire( wir )->Backward().y();
254 m_ze[wir] = m_mdcGeomSvc->Wire( wir )->Backward().z();
255 m_xw[wir] = m_mdcGeomSvc->Wire( wir )->Forward().x();
256 m_yw[wir] = m_mdcGeomSvc->Wire( wir )->Forward().y();
257 m_zw[wir] = m_mdcGeomSvc->Wire( wir )->Forward().z();
258 fwpc << setw( 6 ) << wir << setw( 15 ) << m_xe[wir] << setw( 15 ) << m_ye[wir]
259 << setw( 15 ) << m_ze[wir] << setw( 15 ) << m_xw[wir] << setw( 15 ) << m_yw[wir]
260 << setw( 15 ) << m_zw[wir] << endl;
261 }
262 fwpc.close();
263
264 m_fdcom = new TFolder( "common", "common" );
265 m_hlist->Add( m_fdcom );
266
267 m_effNtrk = new TH1F( "effNtrk", "", 43, -0.5, 42.5 );
268 m_fdcom->Add( m_effNtrk );
269
270 m_effNtrkRecHit = new TH1F( "effNtrkRecHit", "", 43, -0.5, 42.5 );
271 m_fdcom->Add( m_effNtrkRecHit );
272
273 m_hresAllInc = new TH1F( "HResAllInc", "", 200, -1.0, 1.0 );
274 m_fdcom->Add( m_hresAllInc );
275
276 m_hresAllExc = new TH1F( "HResAllExc", "", 200, -1.0, 1.0 );
277 m_fdcom->Add( m_hresAllExc );
278
279 m_hresAllAve = new TH1F( "HResAllAve", "", 200, -1.0, 1.0 );
280 m_fdcom->Add( m_hresAllAve );
281
282 m_hresInnInc = new TH1F( "HResInnInc", "", 200, -1.0, 1.0 );
283 m_fdcom->Add( m_hresInnInc );
284
285 m_hresInnExc = new TH1F( "HResInnExc", "", 200, -1.0, 1.0 );
286 m_fdcom->Add( m_hresInnExc );
287
288 m_hresStpInc = new TH1F( "HResStpInc", "", 200, -1.0, 1.0 );
289 m_fdcom->Add( m_hresStpInc );
290
291 m_hresStpExc = new TH1F( "HResStpExc", "", 200, -1.0, 1.0 );
292 m_fdcom->Add( m_hresStpExc );
293
294 m_hresOutInc = new TH1F( "HResOutInc", "", 200, -1.0, 1.0 );
295 m_fdcom->Add( m_hresOutInc );
296
297 m_hresOutExc = new TH1F( "HResOutExc", "", 200, -1.0, 1.0 );
298 m_fdcom->Add( m_hresOutExc );
299
300 m_hresAllExcUp = new TH1F( "HResAllExcUp", "", 200, -1.0, 1.0 );
301 m_fdcom->Add( m_hresAllExcUp );
302
303 m_hresAllExcDw = new TH1F( "HResAllExcDw", "", 200, -1.0, 1.0 );
304 m_fdcom->Add( m_hresAllExcDw );
305
306 m_hresInnExcUp = new TH1F( "HResInnExcUp", "", 200, -1.0, 1.0 );
307 m_fdcom->Add( m_hresInnExcUp );
308
309 m_hresInnExcDw = new TH1F( "HResInnExcDw", "", 200, -1.0, 1.0 );
310 m_fdcom->Add( m_hresInnExcDw );
311
312 m_hresStpExcUp = new TH1F( "HResStpExcUp", "", 200, -1.0, 1.0 );
313 m_fdcom->Add( m_hresStpExcUp );
314
315 m_hresStpExcDw = new TH1F( "HResStpExcDw", "", 200, -1.0, 1.0 );
316 m_fdcom->Add( m_hresStpExcDw );
317
318 m_hresOutExcUp = new TH1F( "HResOutExcUp", "", 200, -1.0, 1.0 );
319 m_fdcom->Add( m_hresOutExcUp );
320
321 m_hresOutExcDw = new TH1F( "HResOutExcDw", "", 200, -1.0, 1.0 );
322 m_fdcom->Add( m_hresOutExcDw );
323
324 m_fdResQ = new TFolder( "ResQ", "ResQ" );
325 m_hlist->Add( m_fdResQ );
326 for ( int i = 0; i < 14; i++ )
327 {
328 sprintf( hname,
"resoAll_qbin%02d", i );
329 m_hresAveAllQ[i] = new TH1F( hname, "", 200, -1, 1 );
330 m_fdResQ->Add( m_hresAveAllQ[i] );
331
332 sprintf( hname,
"resoOut_qbin%02d", i );
333 m_hresAveOutQ[i] = new TH1F( hname, "", 200, -1, 1 );
334 m_fdResQ->Add( m_hresAveOutQ[i] );
335 }
336 for ( lay = 0; lay < 43; lay++ )
337 {
338 for ( int i = 0; i < 14; i++ )
339 {
340 sprintf( hname,
"resoLay%02d_qbin%02d", lay, i );
341 m_hresAveLayQ[lay][i] = new TH1F( hname, "", 200, -1, 1 );
342 m_fdResQ->Add( m_hresAveLayQ[lay][i] );
343 }
344 }
345
346 for ( int iEs = 0; iEs < m_param.nEsFlag; iEs++ )
347 {
348 sprintf( hname,
"Tes_%d", m_param.esFlag[iEs] );
349 m_hTes[iEs] = new TH1F( hname, "", 750, 0, 1500 );
350 m_fdcom->Add( m_hTes[iEs] );
351 }
352
353 m_hbbTrkFlg = new TH1F( "BbTrkFlg", "", 100, 0, 6 );
354 m_fdcom->Add( m_hbbTrkFlg );
355
356 m_hTesAll = new TH1F( "TesAll", "", 2000, 0, 2000 );
357 m_fdcom->Add( m_hTesAll );
358
359 m_hTesGood = new TH1F( "TesGood", "", 2000, 0, 2000 );
360 m_fdcom->Add( m_hTesGood );
361
362 m_hTesAllFlag = new TH1F( "TesAllFlag", "", 300, -0.5, 299.5 );
363 m_fdcom->Add( m_hTesAllFlag );
364
365 m_hTesRec = new TH1F( "TesRec", "", 2000, 0, 2000 );
366 m_fdcom->Add( m_hTesRec );
367
368 m_hTesCalFlag = new TH1F( "TesCalFlag", "", 2000, 0, 2000 );
369 m_fdcom->Add( m_hTesCalFlag );
370
371 m_hTesCalUse = new TH1F( "TesCalUse", "", 2000, 0, 2000 );
372 m_fdcom->Add( m_hTesCalUse );
373
374 m_hnRawHit = new TH1F( "nRawHit", "", 6797, -0.5, 6796.5 );
375 m_fdcom->Add( m_hnRawHit );
376
377 m_hpt = new TH1F( "HPt", "", nbinMom, 0, 3 );
378 m_fdcom->Add( m_hpt );
379
380 m_hptPos = new TH1F( "HPtPos", "", nbinMom, 0, 3 );
381 m_fdcom->Add( m_hptPos );
382
383 m_hptNeg = new TH1F( "HPtNeg", "", nbinMom, 0, 3 );
384 m_fdcom->Add( m_hptNeg );
385
386 m_hp = new TH1F( "HP", "", nbinMom, 0, 3 );
387 m_fdcom->Add( m_hp );
388
389 m_hp_cms = new TH1F( "HPCMS", "", nbinMom, 0, 3 );
390 m_fdcom->Add( m_hp_cms );
391
392 m_hpMax = new TH1F( "HPMax", "", nbinMom, 0, 3 );
393 m_fdcom->Add( m_hpMax );
394
395 m_hpMaxCms = new TH1F( "HPMax_Cms", "", nbinMom, 0, 3 );
396 m_fdcom->Add( m_hpMaxCms );
397
398 m_hpPos = new TH1F( "HP_Pos", "", nbinMom, 0, 3 );
399 m_fdcom->Add( m_hpPos );
400
401 m_hpNeg = new TH1F( "HP_Neg", "", nbinMom, 0, 3 );
402 m_fdcom->Add( m_hpNeg );
403
404 m_hpPoscms = new TH1F( "HP_Pos_cms", "", nbinMom, 0, 3 );
405 m_fdcom->Add( m_hpPoscms );
406
407 m_hpNegcms = new TH1F( "HP_Neg_cms", "", nbinMom, 0, 3 );
408 m_fdcom->Add( m_hpNegcms );
409
410 m_hp_cut = new TH1F( "HPCut", "", nbinMom, 0, 3 );
411 m_fdcom->Add( m_hp_cut );
412
413 m_hchisq = new TH1F( "Chisq", "", 10, 0, 100 );
414 m_fdcom->Add( m_hchisq );
415
416 m_hnTrk = new TH1F( "HNtrack", "HNtrack", 10, -0.5, 9.5 );
417 m_fdcom->Add( m_hnTrk );
418
419 m_hnTrkCal = new TH1F( "HNtrackCal", "HNtrackCal", 10, -0.5, 9.5 );
420 m_fdcom->Add( m_hnTrkCal );
421
422 m_hnhitsRec = new TH1F( "HNhitsRec", "", 100, -0.5, 99.5 );
423 m_fdcom->Add( m_hnhitsRec );
424
425 m_hnhitsRecInn = new TH1F( "HNhitsInnRec", "", 60, 0.5, 60.5 );
426 m_fdcom->Add( m_hnhitsRecInn );
427
428 m_hnhitsRecStp = new TH1F( "HNhitsStpRec", "", 60, 0.5, 60.5 );
429 m_fdcom->Add( m_hnhitsRecStp );
430
431 m_hnhitsRecOut = new TH1F( "HNhitsOutRec", "", 60, 0.5, 60.5 );
432 m_fdcom->Add( m_hnhitsRecOut );
433
434 m_hnhitsCal = new TH1F( "HNhitsCal", "", 100, -0.5, 99.5 );
435 m_fdcom->Add( m_hnhitsCal );
436
437 m_hnhitsCalInn = new TH1F( "HNhitsCalInn", "", 60, 0.5, 60.5 );
438 m_fdcom->Add( m_hnhitsCalInn );
439
440 m_hnhitsCalStp = new TH1F( "HNhitsCalStp", "", 60, 0.5, 60.5 );
441 m_fdcom->Add( m_hnhitsCalStp );
442
443 m_hnhitsCalOut = new TH1F( "HNhitsCalOut", "", 60, 0.5, 60.5 );
444 m_fdcom->Add( m_hnhitsCalOut );
445
446 m_wirehitmap = new TH1F( "Wire_HitMap", "Wire_HitMap", 6796, -0.5, 6795.5 );
447 m_fdcom->Add( m_wirehitmap );
448
449 m_layerhitmap = new TH1F( "Layer_HitMap", "Layer_HitMap", 43, -0.5, 42.5 );
450 m_fdcom->Add( m_layerhitmap );
451
452 m_hnoisephi = new TH1F( "phi_noise", "", 100, 0, 6.284 );
453 m_fdcom->Add( m_hnoisephi );
454
455 m_hnoiselay = new TH1F( "Layer_noise", "Layer_noise", 43, -0.5, 42.5 );
456 m_fdcom->Add( m_hnoiselay );
457
458 m_hnoisenhits = new TH1F( "nhits_noise", "nhits_noise", 6796, -0.5, 6795.5 );
459 m_fdcom->Add( m_hnoisenhits );
460
461 m_hratio = new TH1F( "ratio", "", 100, 0, 1 );
462 m_fdcom->Add( m_hratio );
463
464 m_hdr = new TH1F( "dr", "", 2000, -100, 100 );
465 m_fdcom->Add( m_hdr );
466
467 m_hphi0 = new TH1F( "phi0", "", 100, 0, 6.284 );
468 m_fdcom->Add( m_hphi0 );
469
470 m_hkap = new TH1F( "kappa", "", 400, -50, 50 );
471 m_fdcom->Add( m_hkap );
472
473 m_hdz = new TH1F( "dz", "", 2000, -500, 500 );
474 m_fdcom->Add( m_hdz );
475
476 m_htanl = new TH1F( "tanl", "", 200, -5, 5 );
477 m_fdcom->Add( m_htanl );
478
479 m_hcosthe = new TH1F( "costheta", "", 200, -1, 1 );
480 m_fdcom->Add( m_hcosthe );
481
482 m_hcostheNeg = new TH1F( "costhetaNeg", "", 200, -1, 1 );
483 m_fdcom->Add( m_hcostheNeg );
484
485 m_hcosthePos = new TH1F( "costhetaPos", "", 200, -1, 1 );
486 m_fdcom->Add( m_hcosthePos );
487
488 m_hx0 = new TH1F( "x0", "", 100, -10, 10 );
489 m_fdcom->Add( m_hx0 );
490
491 m_hy0 = new TH1F( "y0", "", 100, -10, 10 );
492 m_fdcom->Add( m_hy0 );
493
494 m_hdelZ0 = new TH1F( "delta_z0", "", 100, -50, 50 );
495 m_fdcom->Add( m_hdelZ0 );
496
497 m_grX0Y0 = new TGraph();
498 m_grX0Y0->SetName( "x0y0" );
499 m_fdcom->Add( m_grX0Y0 );
500
501 m_hitEffAll = new TH1F( "hitEffAll", "", 6800, -0.5, 6799.5 );
502 m_fdcom->Add( m_hitEffAll );
503
504 m_hitEffRaw = new TH1F( "hitEffRaw", "", 6800, -0.5, 6799.5 );
505 m_fdcom->Add( m_hitEffRaw );
506
507 m_hitEffRec = new TH1F( "hitEffRec", "", 6800, -0.5, 6799.5 );
508 m_fdcom->Add( m_hitEffRec );
509
510
511 m_fdTime = new TFolder( "time", "time" );
512 m_hlist->Add( m_fdTime );
513
514 for ( lay = 0; lay < m_nlayer; lay++ )
515 {
516 sprintf( hname,
"Traw%02d", lay );
517 m_htraw[lay] = new TH1F( hname, "", 1000, 0, 2000 );
518 m_fdTime->Add( m_htraw[lay] );
519
520 sprintf( hname,
"Tdr%02d", lay );
521 m_htdr[lay] = new TH1F( hname, "", 510, -10, 500 );
522 m_fdTime->Add( m_htdr[lay] );
523
524 for ( lr = 0; lr < 2; lr++ )
525 {
526 sprintf( hname,
"Tdr%02d_lr%01d", lay, lr );
527 m_htdrlr[lay][lr] = new TH1F( hname, "", 510, -10, 500 );
528 m_fdTime->Add( m_htdrlr[lay][lr] );
529 }
530 }
531
532
533 m_fdAdc = new TFolder( "adc", "adc" );
534 m_hlist->Add( m_fdAdc );
535
536 for ( lay = 0; lay < m_nlayer; lay++ )
537 {
538 sprintf( hname,
"adc%02d", lay );
539 m_hadc[lay] = new TH1F( hname, "", 1500, 0, 3000 );
540 m_fdAdc->Add( m_hadc[lay] );
541 }
542
543 m_fdres = new TFolder( "resolution", "resolution" );
544 m_hlist->Add( m_fdres );
545
546 m_fdresAve = new TFolder( "resAve", "resAve" );
547 m_hlist->Add( m_fdresAve );
548
549 for ( lay = 0; lay < m_nlayer; lay++ )
550 {
551 sprintf( hname,
"Reso%02dInc", lay );
552 m_hresInc[lay] = new TH1F( hname, "", 1000, -5, 5 );
553 m_fdres->Add( m_hresInc[lay] );
554
555 sprintf( hname,
"Reso%02dExc", lay );
556 m_hresExc[lay] = new TH1F( hname, "", 1000, -5, 5 );
557 m_fdres->Add( m_hresExc[lay] );
558
559 sprintf( hname,
"Reso%02d", lay );
560 m_hresAve[lay] = new TH1F( hname, "", 1000, -5, 5 );
561 m_fdresAve->Add( m_hresAve[lay] );
562
563 for ( lr = 0; lr < 2; lr++ )
564 {
565 sprintf( hname,
"Reso%02dInc_lr%01d", lay, lr );
566
567 m_hreslrInc[lay][lr] = new TH1F( hname, "", 1000, -5, 5 );
568 m_fdres->Add( m_hreslrInc[lay][lr] );
569
570 sprintf( hname,
"Reso%02dExc_lr%01d", lay, lr );
571
572 m_hreslrExc[lay][lr] = new TH1F( hname, "", 1000, -5, 5 );
573 m_fdres->Add( m_hreslrExc[lay][lr] );
574
575 sprintf( hname,
"Reso%02d_lr%01d", lay, lr );
576
577 m_hreslrAve[lay][lr] = new TH1F( hname, "", 1000, -5, 5 );
578 m_fdresAve->Add( m_hreslrAve[lay][lr] );
579 }
580 for ( int phi = 0; phi < 20; phi++ )
581 {
582 sprintf( hname,
"ResoPhi%02d_phi%02d", lay, phi );
583 m_hresphi[lay][phi] = new TH1F( hname, "", 200, -1, 1 );
584 m_fdres->Add( m_hresphi[lay][phi] );
585 }
586 }
587
588
589 m_fdmomPhi = new TFolder( "momPhi", "momPhi" );
590 m_hlist->Add( m_fdmomPhi );
591
592 int thbin;
594 {
596 m_ppPhi[
bin] =
new TH1F( hname,
"", nbinMom, 0.0, 3.0 );
597 m_fdmomPhi->Add( m_ppPhi[
bin] );
598
600 m_pnPhi[
bin] =
new TH1F( hname,
"", nbinMom, 0.0, 3.0 );
601 m_fdmomPhi->Add( m_pnPhi[
bin] );
602
604 m_ppPhiCms[
bin] =
new TH1F( hname,
"", nbinMom, 0.0, 3.0 );
605 m_fdmomPhi->Add( m_ppPhiCms[
bin] );
606
608 m_pnPhiCms[
bin] =
new TH1F( hname,
"", nbinMom, 0.0, 3.0 );
609 m_fdmomPhi->Add( m_pnPhiCms[
bin] );
610
611 for ( thbin = 0; thbin < NThetaBin; thbin++ )
612 {
613 sprintf( hname,
"hPpos_theta%02d_phi%02d", thbin,
bin );
614 m_ppThePhi[thbin][
bin] =
new TH1F( hname,
"", nbinMom, 0.0, 3.0 );
615 m_fdmomPhi->Add( m_ppThePhi[thbin][
bin] );
616
617 sprintf( hname,
"hPneg_theta%02d_phi%02d", thbin,
bin );
618 m_pnThePhi[thbin][
bin] =
new TH1F( hname,
"", nbinMom, 0.0, 3.0 );
619 m_fdmomPhi->Add( m_pnThePhi[thbin][
bin] );
620
621 sprintf( hname,
"hPposCms_theta%02d_phi%02d", thbin,
bin );
622 m_ppThePhiCms[thbin][
bin] =
new TH1F( hname,
"", nbinMom, 0.0, 3.0 );
623 m_fdmomPhi->Add( m_ppThePhiCms[thbin][
bin] );
624
625 sprintf( hname,
"hPnegCms_theta%02d_phi%02d", thbin,
bin );
626 m_pnThePhiCms[thbin][
bin] =
new TH1F( hname,
"", nbinMom, 0.0, 3.0 );
627 m_fdmomPhi->Add( m_pnThePhiCms[thbin][
bin] );
628 }
629 }
630 for ( thbin = 0; thbin < NThetaBin; thbin++ )
631 {
632 sprintf( hname,
"hPpos_the%02d", thbin );
633 m_ppThe[thbin] = new TH1F( hname, "", nbinMom, 0.0, 3.0 );
634 m_fdmomPhi->Add( m_ppThe[thbin] );
635
636 sprintf( hname,
"hPneg_the%02d", thbin );
637 m_pnThe[thbin] = new TH1F( hname, "", nbinMom, 0.0, 3.0 );
638 m_fdmomPhi->Add( m_pnThe[thbin] );
639
640 sprintf( hname,
"hPposCms_the%02d", thbin );
641 m_ppTheCms[thbin] = new TH1F( hname, "", nbinMom, 0.0, 3.0 );
642 m_fdmomPhi->Add( m_ppTheCms[thbin] );
643
644 sprintf( hname,
"hPnegCms_the%02d", thbin );
645 m_pnTheCms[thbin] = new TH1F( hname, "", nbinMom, 0.0, 3.0 );
646 m_fdmomPhi->Add( m_pnTheCms[thbin] );
647 }
648
649
650 m_fdres2d = new TFolder( "res2d", "res2d" );
651 m_hlist->Add( m_fdres2d );
652
653 int hid = 0;
655 TH1F* hist;
656 for ( lay = 0; lay < m_nlayer; lay++ )
657 {
659 {
660 for ( lr = 0; lr < 2; lr++ )
661 {
663 {
664 sprintf( hname,
"r2d%02d_%02d_%01d_%02dInc", lay, iEntr, lr,
bin );
665 hist = new TH1F( hname, "", 200, -1, 1 );
666 m_hr2dInc.push_back( hist );
667 m_fdres2d->Add( hist );
668
669 sprintf( hname,
"r2d%02d_%02d_%01d_%02dExc", lay, iEntr, lr,
bin );
670 hist = new TH1F( hname, "", 200, -1, 1 );
671 m_hr2dExc.push_back( hist );
672 m_fdres2d->Add( hist );
673
674 key = getHresId( lay, iEntr, lr,
bin );
676 hid++;
677 }
678 }
679 }
680 }
681
682 m_fdres2t = new TFolder( "res2t", "res2t" );
683
684
685 for ( lay = 0; lay < m_nlayer; lay++ )
686 {
688 {
689 for ( lr = 0; lr < 2; lr++ )
690 {
692 {
693 sprintf( hname,
"r2t%02d_%02d_%01d_%02d", lay, iEntr, lr,
bin );
694 m_hr2t[lay][iEntr][lr][
bin] =
new TH1F( hname,
"", 600, -3, 3 );
695 m_fdres2t->Add( m_hr2t[lay][iEntr][lr][
bin] );
696 }
697 }
698 }
699 }
700
702 Gaudi::svcLocator()->service(
"NTupleSvc",
ntupleSvc );
703 for ( lay = 0; lay < m_nlayer; lay++ )
704 {
705 sprintf( hname,
"FILE136/xt%02d", lay );
707 if ( nt ) m_xtTuple[lay] = nt;
708 else
709 {
710 m_xtTuple[lay] =
ntupleSvc->book( hname, CLID_ColumnWiseTuple,
"MdcXtNtuple" );
711 if ( m_xtTuple[lay] )
712 {
713 m_xtTuple[lay]->addItem( "cel", m_cel[lay] );
714 m_xtTuple[lay]->addItem( "lr", m_lr[lay] );
715 m_xtTuple[lay]->addItem( "run", m_run[lay] );
716 m_xtTuple[lay]->addItem( "evt", m_evt[lay] );
717 m_xtTuple[lay]->addItem( "doca", m_doca[lay] );
718 m_xtTuple[lay]->addItem( "dm", m_dm[lay] );
719 m_xtTuple[lay]->addItem( "tdr", m_tdr[lay] );
720 m_xtTuple[lay]->addItem( "tdc", m_tdc[lay] );
721 m_xtTuple[lay]->addItem( "entr", m_entr[lay] );
722 m_xtTuple[lay]->addItem( "zhit", m_zhit[lay] );
723 m_xtTuple[lay]->addItem( "qhit", m_qhit[lay] );
724 m_xtTuple[lay]->addItem( "p", m_p[lay] );
725 m_xtTuple[lay]->addItem( "pt", m_pt[lay] );
726 m_xtTuple[lay]->addItem( "phi0", m_phi0[lay] );
727 m_xtTuple[lay]->addItem( "tanl", m_tanl[lay] );
728 m_xtTuple[lay]->addItem( "hitphi", m_hitphi[lay] );
729 }
730 else
731 { log << MSG::FATAL << "Cannot book Xt N-tuple:" << long( m_xtTuple[lay] ) << endmsg; }
732 }
733 }
734
735 if ( 5 == m_param.particle )
736 {
737 sprintf( hname,
"FILE136/cosmic" );
739 if ( nt ) m_cosmic = nt;
740 else
741 {
742 m_cosmic =
ntupleSvc->book( hname, CLID_ColumnWiseTuple,
"MdcXtNtuple" );
743 if ( m_cosmic )
744 {
745 m_cosmic->addItem( "pUp", m_pUpcos );
746 m_cosmic->addItem( "pDw", m_pDwcos );
747 m_cosmic->addItem( "ptUp", m_ptUpcos );
748 m_cosmic->addItem( "ptDw", m_ptDwcos );
749 m_cosmic->addItem( "phiUp", m_phiUpcos );
750 m_cosmic->addItem( "phiDw", m_phiDwcos );
751 m_cosmic->addItem( "drUp", m_drUpcos );
752 m_cosmic->addItem( "drDw", m_drDwcos );
753 m_cosmic->addItem( "dzUp", m_dzUpcos );
754 m_cosmic->addItem( "dzDw", m_dzDwcos );
755 m_cosmic->addItem( "ctheUp", m_ctheUpcos );
756 m_cosmic->addItem( "ctheDw", m_ctheDwcos );
757 m_cosmic->addItem( "nhitUp", m_nhitUpcos );
758 m_cosmic->addItem( "nhitDw", m_nhitDwcos );
759 m_cosmic->addItem( "char", m_chargecos );
760 m_cosmic->addItem( "tesfg", m_tesFlagcos );
761 m_cosmic->addItem( "tes", m_tescos );
762 }
763 }
764 }
765}
sprintf(cut, "kal_costheta0_em>-0.93&&kal_costheta0_em<0.93&&kal_pxy0_em>=0.05+%d*0.1&&kal_" "pxy0_em<0.15+%d*0.1&&NGch>=2", j, j)
map< int, int >::value_type valType3