#include <ValidRecMdcDedxAlg.h>
Public Member Functions | |
StatusCode | execute () |
StatusCode | execute () |
StatusCode | finalize () |
StatusCode | finalize () |
StatusCode | initialize () |
StatusCode | initialize () |
ValidRecMdcDedxAlg (const std::string &name, ISvcLocator *pSvcLocator) | |
ValidRecMdcDedxAlg (const std::string &name, ISvcLocator *pSvcLocator) | |
Private Attributes | |
NTuple::Item< double > | m_chidedx |
NTuple::Item< double > | m_chidedx |
NTuple::Item< double > | m_chidedxE |
NTuple::Item< double > | m_chidedxE |
NTuple::Item< double > | m_chidedxK |
NTuple::Item< double > | m_chidedxK |
NTuple::Item< double > | m_chidedxMu |
NTuple::Item< double > | m_chidedxMu |
NTuple::Item< double > | m_chidedxP |
NTuple::Item< double > | m_chidedxP |
NTuple::Item< double > | m_chidedxPi |
NTuple::Item< double > | m_chidedxPi |
NTuple::Item< double > | m_dedx |
NTuple::Item< double > | m_dedx |
NTuple::Item< double > | m_parttype |
NTuple::Item< double > | m_parttype |
NTuple::Tuple * | m_tuple1 |
NTuple::Tuple * | m_tuple1 |
|
00011 : 00012 Algorithm(name, pSvcLocator) { 00013 00014 m_tuple1 = 0; 00015 00016 }
|
|
|
|
|
|
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 m_parttype = (*it)->particleId(); 00062 //cout<<"m_parttype is = "<<m_parttype<<endl; 00063 if(m_parttype >5 || m_parttype<0) continue; 00064 m_chidedx = (*it)->chi(m_parttype-1); 00065 m_chidedxE = (*it)->chiE(); 00066 m_chidedxMu = (*it)->chiMu(); 00067 m_chidedxPi = (*it)->chiPi(); 00068 m_chidedxK = (*it)->chiK(); 00069 m_chidedxP = (*it)->chiP(); 00070 00071 log << MSG::INFO << "particle chi="<< m_chidedx <<endreq; 00072 log << MSG::INFO << "m_dedx="<<m_dedx<<endreq; 00073 log << MSG::INFO << " m_parttype="<< m_parttype<<endreq; 00074 StatusCode status1 = m_tuple1->write(); 00075 if ( status1.isFailure() ) { 00076 log << MSG::ERROR << "Cannot fill Ntuple1" << endreq; 00077 } 00078 00079 } 00080 } 00081 return StatusCode::SUCCESS; 00082 }
|
|
|
|
00085 { 00086 00087 MsgStream log(msgSvc(), name()); 00088 log << MSG::INFO << "Finalizing..." << endreq; 00089 00090 }
|
|
|
|
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 }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|