#include <ValidRecMdcDedxAlg.h>
Public Member Functions | |
ValidRecMdcDedxAlg (const std::string &name, ISvcLocator *pSvcLocator) | |
StatusCode | initialize () |
StatusCode | execute () |
StatusCode | finalize () |
Private Attributes | |
NTuple::Tuple * | m_tuple1 |
NTuple::Item< double > | m_dedx |
NTuple::Item< double > | m_parttype |
NTuple::Item< double > | m_chidedx |
NTuple::Item< double > | m_chidedxE |
NTuple::Item< double > | m_chidedxMu |
NTuple::Item< double > | m_chidedxPi |
NTuple::Item< double > | m_chidedxK |
NTuple::Item< double > | m_chidedxP |
Definition at line 14 of file ValidRecMdcDedxAlg.h.
ValidRecMdcDedxAlg::ValidRecMdcDedxAlg | ( | const std::string & | name, | |
ISvcLocator * | pSvcLocator | |||
) |
StatusCode ValidRecMdcDedxAlg::execute | ( | ) |
Definition at line 49 of file ValidRecMdcDedxAlg.cxx.
References Bes_Common::DEBUG, electron, calibUtil::ERROR, genRecEmupikp::i, Bes_Common::INFO, kaon, m_chidedx, m_chidedxE, m_chidedxK, m_chidedxMu, m_chidedxP, m_chidedxPi, m_dedx, m_parttype, m_tuple1, msgSvc(), muon, pion, and proton.
00049 { 00050 MsgStream log(msgSvc(), name()); 00051 SmartDataPtr<RecMdcDedxCol> mdcDedx(eventSvc(),"/Event/Recon/RecMdcDedxCol"); 00052 if( ! mdcDedx ) 00053 { 00054 log << MSG::ERROR << "Unable to retrieve RecMdcDedxCol" << endreq; 00055 return StatusCode::FAILURE; 00056 } else { 00057 log << MSG::DEBUG << "RecMdcDedxCol retrieved of size "<< mdcDedx->size() << endreq; 00058 int i = 0; 00059 for(RecMdcDedxCol::iterator it=mdcDedx->begin(); it!=mdcDedx->end(); it++,i++) 00060 { m_dedx = (*it)->probPH(); 00061 pid_dedx m_pid_dedx = (*it)->particleType(); 00062 m_parttype = (int)m_pid_dedx; 00063 //cout<<"m_parttype is = "<<m_parttype<<endl; 00064 if((m_pid_dedx != electron) && (m_pid_dedx != muon) && (m_pid_dedx != pion)&& (m_pid_dedx != kaon)&& (m_pid_dedx != proton) ) continue; 00065 m_chidedx = (*it)->chi(m_parttype); 00066 m_chidedxE = (*it)->chiE(); 00067 m_chidedxMu = (*it)->chiMu(); 00068 m_chidedxPi = (*it)->chiPi(); 00069 m_chidedxK = (*it)->chiK(); 00070 m_chidedxP = (*it)->chiP(); 00071 00072 log << MSG::INFO << "particle chi="<< m_chidedx <<endreq; 00073 log << MSG::INFO << "m_dedx="<<m_dedx<<endreq; 00074 log << MSG::INFO << " m_parttype="<< m_parttype<<endreq; 00075 StatusCode status1 = m_tuple1->write(); 00076 if ( status1.isFailure() ) { 00077 log << MSG::ERROR << "Cannot fill Ntuple1" << endreq; 00078 } 00079 00080 } 00081 } 00082 return StatusCode::SUCCESS; 00083 }
StatusCode ValidRecMdcDedxAlg::finalize | ( | ) |
Definition at line 86 of file ValidRecMdcDedxAlg.cxx.
References Bes_Common::INFO, and msgSvc().
00086 { 00087 00088 MsgStream log(msgSvc(), name()); 00089 log << MSG::INFO << "Finalizing..." << endreq; 00090 00091 }
StatusCode ValidRecMdcDedxAlg::initialize | ( | ) |
Definition at line 18 of file ValidRecMdcDedxAlg.cxx.
References calibUtil::ERROR, Bes_Common::INFO, m_chidedx, m_chidedxE, m_chidedxK, m_chidedxMu, m_chidedxP, m_chidedxPi, m_dedx, m_parttype, m_tuple1, msgSvc(), and ntupleSvc().
00018 { 00019 StatusCode status; 00020 MsgStream log( msgSvc(), name() ); 00021 00022 // Book N-tuple 1 00023 NTuplePtr nt1(ntupleSvc(), "DedxTuples/Mdc_dedx"); 00024 if ( nt1 ) m_tuple1 = nt1; 00025 else { 00026 m_tuple1 = ntupleSvc()->book ("DedxTuples/Mdc_dedx", CLID_RowWiseTuple, "Dedx parameter"); 00027 if ( m_tuple1 ) { 00028 status = m_tuple1->addItem("dedx",m_dedx); 00029 status = m_tuple1->addItem("parttype",m_parttype); 00030 status = m_tuple1->addItem("chidedx",m_chidedx); 00031 status = m_tuple1->addItem("chidedxE",m_chidedxE); 00032 status = m_tuple1->addItem("chidedxMu",m_chidedxMu); 00033 status = m_tuple1->addItem("chidedxPi",m_chidedxPi); 00034 status = m_tuple1->addItem("chidedxK",m_chidedxK); 00035 status = m_tuple1->addItem("chidedxP",m_chidedxP); 00036 } 00037 else { // did not manage to book the N tuple.... 00038 log << MSG::ERROR << " Cannot book N-tuple:" << long(m_tuple1) << endmsg; 00039 return StatusCode::FAILURE; 00040 } 00041 } 00042 log << MSG::INFO << "Finished booking NTuples" << endmsg; 00043 return StatusCode::SUCCESS; 00044 00045 00046 }
NTuple::Item<double> ValidRecMdcDedxAlg::m_chidedx [private] |
NTuple::Item<double> ValidRecMdcDedxAlg::m_chidedxE [private] |
NTuple::Item<double> ValidRecMdcDedxAlg::m_chidedxK [private] |
NTuple::Item<double> ValidRecMdcDedxAlg::m_chidedxMu [private] |
NTuple::Item<double> ValidRecMdcDedxAlg::m_chidedxP [private] |
NTuple::Item<double> ValidRecMdcDedxAlg::m_chidedxPi [private] |
NTuple::Item<double> ValidRecMdcDedxAlg::m_dedx [private] |
NTuple::Item<double> ValidRecMdcDedxAlg::m_parttype [private] |
NTuple::Tuple* ValidRecMdcDedxAlg::m_tuple1 [private] |
Definition at line 24 of file ValidRecMdcDedxAlg.h.
Referenced by execute(), initialize(), and ValidRecMdcDedxAlg().