00073 {
00074
00075 MsgStream log(msgSvc(), name());
00076 log << MSG::INFO << "in initialize()" << endreq;
00077
00078 #ifndef OnlineMode
00079 NTuplePtr nt(ntupleSvc(),"FILE102/n1");
00080 if ( nt ) m_tuple = nt;
00081 else {
00082 m_tuple=ntupleSvc()->book("FILE102/n1",CLID_ColumnWiseTuple,"MdcRecEvent");
00083 if( m_tuple ) {
00084 m_tuple->addItem ("eventNo", g_eventNo);
00085 m_tuple->addItem ("NtrackMC", g_ntrkMC,0,50);
00086 m_tuple->addItem ("MCtheta0", g_ntrkMC, g_theta0MC);
00087 m_tuple->addItem ("MCphi0", g_ntrkMC, g_phi0MC);
00088 m_tuple->addItem ("pxMC", g_ntrkMC, g_pxMC);
00089 m_tuple->addItem ("pyMC", g_ntrkMC, g_pyMC);
00090 m_tuple->addItem ("pzMC", g_ntrkMC, g_pzMC);
00091 m_tuple->addItem ("ptMC", g_ntrkMC, g_ptMC);
00092 m_tuple->addItem ("Ntrack",g_ntrk, 0, 50);
00093 m_tuple->addItem ("px", g_ntrk, g_px);
00094 m_tuple->addItem ("py", g_ntrk, g_py);
00095 m_tuple->addItem ("pz", g_ntrk, g_pz);
00096 m_tuple->addItem ("pt", g_ntrk, g_pt);
00097 m_tuple->addItem ("p", g_ntrk, g_p);
00098 m_tuple->addItem ("phi", g_ntrk, g_phi);
00099 m_tuple->addItem ("theta", g_ntrk, g_theta);
00100 m_tuple->addItem ("vx", g_ntrk, g_vx);
00101 m_tuple->addItem ("vy", g_ntrk, g_vy);
00102 m_tuple->addItem ("vz", g_ntrk, g_vz);
00103 m_tuple->addItem ("dr", g_ntrk, g_dr);
00104 m_tuple->addItem ("phi0", g_ntrk, g_phi0);
00105 m_tuple->addItem ("kappa", g_ntrk, g_kappa);
00106 m_tuple->addItem ("dz", g_ntrk, g_dz);
00107 m_tuple->addItem ("tanl", g_ntrk, g_tanl);
00108 m_tuple->addItem ("eventtime", g_eventtime);
00109 m_tuple->addItem ("Testime", g_estime);
00110 }
00111 else {
00112 log << MSG::ERROR <<"Cannot book N-tuple:" << long(m_tuple) << endmsg;
00113
00114 }
00115 }
00116
00117 g_sigmaxy = histoSvc()->book( "sigmaxy", "1D sigmaxy", 100, -0.2, 0.2 );
00118 g_sigmaz = histoSvc()->book( "sigmaz", "1D sigmaz", 100, -3.5, 3.5);
00119 g_chi2xy = histoSvc()->book( "chi2xy", "1D chi2xy", 100, -0.01, 0.01 );
00120 g_chi2sz = histoSvc()->book( "chi2sz", "1D chi2sz", 100, -8.0, 8. );
00121 g_ncellMC = histoSvc()->book( "ncellmc", "1D ncellMC", 100, 0.0, 7000. );
00122 g_ncell = histoSvc()->book( "ncell", "1D ncell", 100, 0.0, 7000. );
00123 g_naxialhit = histoSvc()->book( "naxialhit", "2D axial hit", 30, 0.0, 30. );
00124 g_nstereohit = histoSvc()->book( "nstereohit", "2D stereo hit", 30, 0.0, 30. );
00125 g_nhit = histoSvc()->book( "nhit", "2D hit", 50, 0.0, 50. );
00126 g_hitmap[0] = histoSvc()->book( "hm0", "2d hitmap1", 80, -80., 80., 80, -80., 80. );
00127 g_hitmap[1] = histoSvc()->book( "hm1", "2d hitmap2", 80, -80., 80., 80, -80., 80. );
00128 g_hitmap[2] = histoSvc()->book( "hm2", "2d hitmap3", 80, -80., 80., 80, -80., 80. );
00129 g_hitmap[3] = histoSvc()->book( "hm3", "2d hitmap4", 80, -80., 80., 80, -80., 80. );
00130 g_hitmap[4] = histoSvc()->book( "hm4", "2d hitmap5", 80, -80., 80., 80, -80., 80. );
00131 g_hitmap[5] = histoSvc()->book( "hm5", "2d hitmap6", 80, -80., 80., 80, -80., 80. );
00132 g_hitmap[6] = histoSvc()->book( "hm6", "2d hitmap7", 80, -80., 80., 80, -80., 80. );
00133 g_hitmap[7] = histoSvc()->book( "hm7", "2d hitmap8", 80, -80., 80., 80, -80., 80. );
00134 g_hitmap[8] = histoSvc()->book( "hm8", "2d hitmap9", 80, -80., 80., 80, -80., 80. );
00135 g_hitmap[9] = histoSvc()->book( "hm9", "2d hitmap10", 80, -80., 80., 80, -80., 80. );
00136 g_hitmap[10] = histoSvc()->book( "hm10", "2d hitmap11", 80, -80., 80., 80, -80., 80. );
00137
00138 #endif
00139
00140
00141
00142
00143
00144
00145
00146
00147
00148
00149
00150
00151
00152
00153
00154
00155
00156
00157 #ifndef OnlineMode
00158 num_2Dtrk=0;
00159 num_3Dtrk=0;
00160 num_finaltrk=0;
00161 #endif
00162
00163
00164 m_ftFinder = new FTFinder();
00165 m_ftFinder->init();
00166 m_ftFinder->setAlgorithmPointer(this);
00167
00168
00169 #ifndef OnlineMode
00170 StatusCode sc = service( "BesTimerSvc", m_timersvc);
00171 if( sc.isFailure() ) {
00172 log << MSG::WARNING << name() << ": Unable to locate BesTimer Service" << endreq;
00173 return StatusCode::FAILURE;
00174 }
00175
00176 m_timer[1] = m_timersvc->addItem("Execution");
00177 m_timer[1]->propName("nExecution");
00178 #endif
00179
00180 return StatusCode::SUCCESS;
00181 }