#include <ValidRecMdcTrackAlg.h>
Public Member Functions | |
ValidRecMdcTrackAlg (const std::string &name, ISvcLocator *pSvcLocator) | |
StatusCode | initialize () |
StatusCode | execute () |
StatusCode | finalize () |
Private Attributes | |
NTuple::Tuple * | m_tuple1 |
NTuple::Item< long > | g_hits |
NTuple::Item< float > | g_eventNo |
NTuple::Item< float > | g_runNo |
NTuple::Item< float > | g_track_id |
NTuple::Item< float > | g_phi0 |
NTuple::Item< float > | g_kappa |
NTuple::Item< float > | g_tanl |
NTuple::Item< float > | g_p |
NTuple::Item< float > | g_dr |
NTuple::Item< float > | g_dz |
NTuple::Item< float > | g_chisq_of_fit |
NTuple::Item< float > | g_phi_terminal |
NTuple::Item< float > | g_number_of_hits |
NTuple::Item< float > | g_number_of_stereo_hits |
NTuple::Item< double > | g_px |
NTuple::Item< double > | g_py |
NTuple::Item< double > | g_pxy |
NTuple::Item< double > | g_pz |
NTuple::Item< float > | g_charge |
NTuple::Item< float > | g_stat |
NTuple::Item< double > | g_x |
NTuple::Item< double > | g_y |
NTuple::Item< double > | g_z |
NTuple::Item< double > | g_r |
NTuple::Item< double > | g_chi2 |
NTuple::Item< float > | g_ndof |
NTuple::Item< float > | g_firstLayer |
NTuple::Item< float > | g_lastLayer |
NTuple::Item< double > | g_theta |
NTuple::Item< double > | g_phi |
NTuple::Tuple * | m_tuple2 |
NTuple::Item< float > | g_hits_id |
NTuple::Item< float > | g_hits_ddl |
NTuple::Item< float > | g_hits_ddr |
NTuple::Item< float > | g_doca |
NTuple::Item< float > | g_hits_mdc_id |
NTuple::Item< float > | g_layer |
NTuple::Item< float > | g_wire |
NTuple::Item< float > | g_hits_tdc |
NTuple::Item< float > | g_hits_adc |
Definition at line 18 of file ValidRecMdcTrackAlg.h.
ValidRecMdcTrackAlg::ValidRecMdcTrackAlg | ( | const std::string & | name, | |
ISvcLocator * | pSvcLocator | |||
) |
Definition at line 16 of file ValidRecMdcTrackAlg.cxx.
00016 : 00017 Algorithm(name, pSvcLocator) { 00018 00019 00020 00021 // m_tuple1 = 0; 00022 // m_tuple2 = 0; 00023 00024 00025 }
StatusCode ValidRecMdcTrackAlg::execute | ( | ) |
Definition at line 150 of file ValidRecMdcTrackAlg.cxx.
References Bes_Common::DEBUG, calibUtil::ERROR, eventNo, Bes_Common::FATAL, g_charge, g_chi2, g_chisq_of_fit, g_doca, g_dr, g_dz, g_eventNo, g_firstLayer, g_hits, g_hits_adc, g_hits_ddl, g_hits_ddr, g_hits_id, g_hits_mdc_id, g_hits_tdc, g_kappa, g_lastLayer, g_layer, g_ndof, g_number_of_hits, g_number_of_stereo_hits, g_p, g_phi0, g_phi_terminal, g_px, g_pxy, g_py, g_pz, g_r, g_runNo, g_stat, g_tanl, g_track_id, g_wire, g_x, g_y, g_z, Bes_Common::INFO, MdcID::layer(), m_tuple1, m_tuple2, msgSvc(), runNo, and MdcID::wire().
00150 { 00151 MsgStream log(msgSvc(), name()); 00152 00153 00154 int ntrk=0; 00155 00156 SmartDataPtr<Event::EventHeader> eventHeader(eventSvc(),"/Event/EventHeader"); 00157 if (!eventHeader) { 00158 log << MSG::FATAL << "Could not find Event Header" << endreq; 00159 return( StatusCode::SUCCESS); 00160 } 00161 00162 log << MSG::INFO << "retrieved event: " << eventHeader->eventNumber() << " run: " << eventHeader->runNumber() << endreq; 00163 int eventNo=eventHeader->eventNumber(); 00164 int runNo=eventHeader->runNumber(); 00165 if(m_tuple1){ 00166 g_eventNo = eventNo; 00167 g_runNo = runNo; 00168 } 00169 00170 SmartDataPtr<RecMdcTrackCol> mdcTracks(eventSvc(),"/Event/Recon/RecMdcTrackCol"); 00171 if( ! mdcTracks ) 00172 { 00173 log << MSG::ERROR << "Unable to retrieve RecMdcTrackCol" << endreq; 00174 return StatusCode::FAILURE; 00175 } else { 00176 log << MSG::DEBUG << "RecMdcTrackCol retrieved of size "<< mdcTracks->size() << endreq; 00177 for(RecMdcTrackCol::iterator it=mdcTracks->begin(); it!=mdcTracks->end(); it++) 00178 { 00179 00180 /* g_hits=0; 00181 00182 HitRefVec gothits = (*it)->getVecHits(); 00183 HitRefVec::iterator it_gothit = gothits.begin(); 00184 for( ; it_gothit != gothits.end(); it_gothit++){ 00185 g_hits_id = (*it_gothit)->getId(); 00186 g_hits_ddl = (*it_gothit)->getDriftDistLeft(); 00187 g_hits_ddr = (*it_gothit)->getDriftDistRight(); 00188 g_doca = (*it_gothit)->getDoca(); 00189 g_hits_mdc_id = (*it_gothit)->getMdcId(); 00190 g_layer = MdcID::layer((*it_gothit)->getMdcId()); 00191 g_wire = MdcID::wire((*it_gothit)->getMdcId()); 00192 00193 00194 00195 g_hits_tdc = (*it_gothit)->getTdc(); 00196 g_hits_adc = (*it_gothit)->getAdc(); 00197 00198 g_hits++; 00199 m_tuple2->write(); 00200 }*/ 00201 00202 g_track_id = (*it)->trackId(); 00203 g_phi0 = (*it)->helix()[1]; 00204 g_kappa = (*it)->helix()[2]; 00205 g_tanl = (*it)->helix()[4]; 00206 00207 g_dr = (*it)->helix()[0]; 00208 g_dz = (*it)->helix()[3]; 00209 g_chisq_of_fit = (*it)->chi2(); 00210 g_phi_terminal = (*it)->getFiTerm(); 00211 g_number_of_hits = (*it)->getNhits(); 00212 g_number_of_stereo_hits=(*it)->nster(); 00213 g_p = (*it)->p(); 00214 00215 g_px = (*it)->px(); 00216 g_py = (*it)->py(); 00217 g_pz = (*it)->pz(); 00218 g_pxy = (*it)->pxy(); 00219 g_charge = (*it)->charge(); 00220 g_stat = (*it)->stat(); 00221 g_x = (*it)->x(); 00222 g_y = (*it)->y(); 00223 g_z = (*it)->z(); 00224 g_r = (*it)->r(); 00225 g_chi2 = (*it)->chi2(); 00226 g_ndof = (*it)->ndof(); 00227 g_firstLayer = (*it)->firstLayer(); 00228 g_lastLayer = (*it)->lastLayer(); 00229 00230 00231 g_hits=0; 00232 HitRefVec gothits = (*it)->getVecHits(); 00233 HitRefVec::iterator it_gothit = gothits.begin(); 00234 for( ; it_gothit != gothits.end(); it_gothit++){ 00235 g_hits_id = (*it_gothit)->getId(); 00236 00237 g_hits_ddl = (*it_gothit)->getDriftDistLeft(); 00238 g_hits_ddr = (*it_gothit)->getDriftDistRight(); 00239 00240 g_doca = (*it_gothit)->getDoca(); 00241 g_hits_mdc_id = (*it_gothit)->getMdcId(); 00242 g_layer = MdcID::layer((*it_gothit)->getMdcId()); 00243 g_wire = MdcID::wire((*it_gothit)->getMdcId()); 00244 00245 00246 00247 00248 g_hits_tdc = (*it_gothit)->getTdc(); 00249 g_hits_adc = (*it_gothit)->getAdc(); 00250 00251 g_hits++; 00252 m_tuple2->write(); 00253 } 00254 00255 m_tuple1->write(); 00256 00257 00258 00259 00260 00261 00262 00263 00264 00265 00266 00267 } 00268 00269 } 00270 return StatusCode::SUCCESS; 00271 }
StatusCode ValidRecMdcTrackAlg::finalize | ( | ) |
Definition at line 274 of file ValidRecMdcTrackAlg.cxx.
References Bes_Common::INFO, and msgSvc().
00274 { 00275 00276 MsgStream log(msgSvc(), name()); 00277 log << MSG::INFO << "Finalizing..." << endreq; 00278 return StatusCode::SUCCESS; 00279 00280 }
StatusCode ValidRecMdcTrackAlg::initialize | ( | ) |
Definition at line 27 of file ValidRecMdcTrackAlg.cxx.
References calibUtil::ERROR, g_charge, g_chi2, g_chisq_of_fit, g_doca, g_dr, g_dz, g_eventNo, g_firstLayer, g_hits, g_hits_adc, g_hits_ddl, g_hits_ddr, g_hits_id, g_hits_mdc_id, g_hits_tdc, g_kappa, g_lastLayer, g_layer, g_ndof, g_number_of_hits, g_number_of_stereo_hits, g_p, g_phi, g_phi0, g_phi_terminal, g_px, g_pxy, g_py, g_pz, g_r, g_runNo, g_stat, g_tanl, g_theta, g_track_id, g_wire, g_x, g_y, g_z, Bes_Common::INFO, m_tuple1, m_tuple2, msgSvc(), and ntupleSvc().
00027 { 00028 MsgStream log( msgSvc(), name() ); 00029 log << MSG::INFO << "Booking Histograms" << endreq; 00030 00031 00032 NTuplePtr nt1(ntupleSvc(),"FILE101/mdcTrack"); 00033 if( nt1 ) m_tuple1 = nt1; 00034 else{ 00035 m_tuple1 = ntupleSvc()->book("FILE101/mdcTrack",CLID_RowWiseTuple,"ValidRecMdcTrackNTuple1"); 00036 00037 if( m_tuple1 ) { 00038 m_tuple1->addItem ("eventNo",g_eventNo); 00039 m_tuple1->addItem ("runNo", g_runNo); 00040 m_tuple1->addItem("nhits",g_hits); 00041 m_tuple1->addItem ("Id",g_track_id); 00042 m_tuple1->addItem ("Phi0",g_phi0); 00043 m_tuple1->addItem ("Cpa",g_kappa); 00044 m_tuple1->addItem ("Tanl",g_tanl); 00045 m_tuple1->addItem ("p",g_p); 00046 00047 m_tuple1->addItem ("Dr",g_dr); 00048 m_tuple1->addItem ("Dz",g_dz); 00049 m_tuple1->addItem ("Chisq",g_chisq_of_fit); 00050 m_tuple1->addItem ("FiTerm",g_phi_terminal); 00051 m_tuple1->addItem ("Nhits",g_number_of_hits); 00052 m_tuple1->addItem ("Nster",g_number_of_stereo_hits); 00053 00054 m_tuple1->addItem ("px",g_px); 00055 m_tuple1->addItem ("py",g_py); 00056 m_tuple1->addItem ("pz",g_pz); 00057 m_tuple1->addItem ("pxy",g_pxy); 00058 m_tuple1->addItem ("charge",g_charge); 00059 m_tuple1->addItem ("stat",g_stat); 00060 m_tuple1->addItem ("x",g_x); 00061 m_tuple1->addItem ("y",g_y); 00062 m_tuple1->addItem ("z",g_z); 00063 m_tuple1->addItem ("r",g_r); 00064 m_tuple1->addItem ("chi2",g_chi2); 00065 m_tuple1->addItem ("ndof",g_ndof); 00066 m_tuple1->addItem ("firstLayer",g_firstLayer); 00067 m_tuple1->addItem ("lastLayer",g_lastLayer); 00068 m_tuple1->addItem ("theta",g_theta); 00069 m_tuple1->addItem ("phi",g_phi); 00070 00071 } else { 00072 log << MSG::ERROR << "----- Cannot book or register histograms -----" << endreq; 00073 return StatusCode::FAILURE; 00074 } 00075 } 00076 NTuplePtr nt2(ntupleSvc(),"FILE101/mdcHit"); 00077 if( nt2 ) m_tuple2 = nt2; 00078 else{ 00079 m_tuple2 = ntupleSvc()->book("FILE101/mdcHit",CLID_RowWiseTuple,"ValidRecMdcHitNTuple1"); 00080 00081 if( m_tuple2 ) { 00082 m_tuple2->addItem ("Hits_id",g_hits_id); 00083 m_tuple2->addItem ("Hits_ddl",g_hits_ddl); 00084 m_tuple2->addItem ("Hits_ddr",g_hits_ddr); 00085 00086 m_tuple2->addItem ("doca",g_doca); 00087 m_tuple2->addItem ("Hits_mdc_id",g_hits_mdc_id); 00088 m_tuple2->addItem ("layer", g_layer); 00089 m_tuple2->addItem ("wire", g_wire ); 00090 00091 m_tuple2->addItem ("Hits_tdc",g_hits_tdc); 00092 m_tuple2->addItem ("Hits_adc",g_hits_adc); 00093 } else { 00094 log << MSG::ERROR << "----- Cannot book or register histograms -----" << endreq; 00095 return StatusCode::FAILURE; 00096 } 00097 } 00098 00099 log << MSG::INFO << "Finished booking Histograms" << endreq; 00100 return StatusCode::SUCCESS; 00101 00102 /* 00103 00104 NTuplePtr nt2(ntupleSvc(),"FILE101/mdcHit"); 00105 if( nt2 ) m_tuple2 = nt2; 00106 else{ 00107 m_tuple2 = ntupleSvc()->book("FILE101/mdcHit",CLID_ColumnWiseTuple,"ValidRecMdcTrackNTuple2"); 00108 00109 if( m_tuple2 ) { 00110 m_tuple1->addItem ("eventNo",g_eventNo); 00111 m_tuple1->addItem ("runNo", g_runNo); 00112 m_tuple1->addItem("nhits",g_hits,0,5000); 00113 m_tuple1->addItem ("Id",g_track_id); 00114 m_tuple1->addItem ("Phi0",g_phi0); 00115 m_tuple1->addItem ("Cpa",g_kappa); 00116 m_tuple1->addItem ("Tanl",g_tanl); 00117 m_tuple1->addItem ("p",g_p); 00118 00119 m_tuple1->addItem ("Dr",g_dr); 00120 m_tuple1->addItem ("Dz",g_dz); 00121 m_tuple1->addItem ("Chisq",g_chisq_of_fit); 00122 m_tuple1->addItem ("FiTerm",g_phi_terminal); 00123 m_tuple1->addItem ("Nhits",g_number_of_hits); 00124 m_tuple1->addItem ("Nster",g_number_of_stereo_hits); 00125 00126 m_tuple2->addItem ("Hits_id",g_hits_id); 00127 m_tuple2->addItem ("Hits_ddl",g_hits_ddl); 00128 m_tuple2->addItem ("Hits_ddr",g_hits_ddr); 00129 00130 m_tuple2->addItem ("doca",g_doca); 00131 m_tuple2->addItem ("Hits_mdc_id",g_hits_mdc_id); 00132 m_tuple2->addItem ("layer",g_layer); 00133 m_tuple2->addItem ("wire",g_wire ); 00134 00135 m_tuple2->addItem ("Hits_tdc",g_hits_tdc); 00136 m_tuple2->addItem ("Hits_adc",g_hits_adc); 00137 } 00138 else { 00139 log << MSG::ERROR << "----- Cannot book or register histograms -----" << endreq; 00140 return StatusCode::FAILURE; 00141 } 00142 00143 log << MSG::INFO << "Finished booking Histograms" << endreq; 00144 return StatusCode::SUCCESS; 00145 00146 }*/ 00147 00148 }
NTuple::Item<float> ValidRecMdcTrackAlg::g_charge [private] |
NTuple::Item<double> ValidRecMdcTrackAlg::g_chi2 [private] |
NTuple::Item<float> ValidRecMdcTrackAlg::g_chisq_of_fit [private] |
NTuple::Item<float> ValidRecMdcTrackAlg::g_doca [private] |
NTuple::Item<float> ValidRecMdcTrackAlg::g_dr [private] |
NTuple::Item<float> ValidRecMdcTrackAlg::g_dz [private] |
NTuple::Item<float> ValidRecMdcTrackAlg::g_eventNo [private] |
NTuple::Item<float> ValidRecMdcTrackAlg::g_firstLayer [private] |
NTuple::Item<long> ValidRecMdcTrackAlg::g_hits [private] |
NTuple::Item<float> ValidRecMdcTrackAlg::g_hits_adc [private] |
NTuple::Item<float> ValidRecMdcTrackAlg::g_hits_ddl [private] |
NTuple::Item<float> ValidRecMdcTrackAlg::g_hits_ddr [private] |
NTuple::Item<float> ValidRecMdcTrackAlg::g_hits_id [private] |
NTuple::Item<float> ValidRecMdcTrackAlg::g_hits_mdc_id [private] |
NTuple::Item<float> ValidRecMdcTrackAlg::g_hits_tdc [private] |
NTuple::Item<float> ValidRecMdcTrackAlg::g_kappa [private] |
NTuple::Item<float> ValidRecMdcTrackAlg::g_lastLayer [private] |
NTuple::Item<float> ValidRecMdcTrackAlg::g_layer [private] |
NTuple::Item<float> ValidRecMdcTrackAlg::g_ndof [private] |
NTuple::Item<float> ValidRecMdcTrackAlg::g_number_of_hits [private] |
NTuple::Item<float> ValidRecMdcTrackAlg::g_number_of_stereo_hits [private] |
NTuple::Item<float> ValidRecMdcTrackAlg::g_p [private] |
NTuple::Item<double> ValidRecMdcTrackAlg::g_phi [private] |
NTuple::Item<float> ValidRecMdcTrackAlg::g_phi0 [private] |
NTuple::Item<float> ValidRecMdcTrackAlg::g_phi_terminal [private] |
NTuple::Item<double> ValidRecMdcTrackAlg::g_px [private] |
NTuple::Item<double> ValidRecMdcTrackAlg::g_pxy [private] |
NTuple::Item<double> ValidRecMdcTrackAlg::g_py [private] |
NTuple::Item<double> ValidRecMdcTrackAlg::g_pz [private] |
NTuple::Item<double> ValidRecMdcTrackAlg::g_r [private] |
NTuple::Item<float> ValidRecMdcTrackAlg::g_runNo [private] |
NTuple::Item<float> ValidRecMdcTrackAlg::g_stat [private] |
NTuple::Item<float> ValidRecMdcTrackAlg::g_tanl [private] |
NTuple::Item<double> ValidRecMdcTrackAlg::g_theta [private] |
NTuple::Item<float> ValidRecMdcTrackAlg::g_track_id [private] |
NTuple::Item<float> ValidRecMdcTrackAlg::g_wire [private] |
NTuple::Item<double> ValidRecMdcTrackAlg::g_x [private] |
NTuple::Item<double> ValidRecMdcTrackAlg::g_y [private] |
NTuple::Item<double> ValidRecMdcTrackAlg::g_z [private] |
NTuple::Tuple* ValidRecMdcTrackAlg::m_tuple1 [private] |
NTuple::Tuple* ValidRecMdcTrackAlg::m_tuple2 [private] |