ValidRecMdcDedxAlg Class Reference

#include <ValidRecMdcDedxAlg.h>

List of all members.

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


Detailed Description

Definition at line 14 of file ValidRecMdcDedxAlg.h.


Constructor & Destructor Documentation

ValidRecMdcDedxAlg::ValidRecMdcDedxAlg ( const std::string name,
ISvcLocator *  pSvcLocator 
)

Definition at line 11 of file ValidRecMdcDedxAlg.cxx.

References m_tuple1.

00011                                                                                       :
00012    Algorithm(name, pSvcLocator) {
00013     
00014      m_tuple1 = 0; 
00015        
00016    }


Member Function Documentation

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 }


Member Data Documentation

NTuple::Item<double> ValidRecMdcDedxAlg::m_chidedx [private]

Definition at line 28 of file ValidRecMdcDedxAlg.h.

Referenced by execute(), and initialize().

NTuple::Item<double> ValidRecMdcDedxAlg::m_chidedxE [private]

Definition at line 29 of file ValidRecMdcDedxAlg.h.

Referenced by execute(), and initialize().

NTuple::Item<double> ValidRecMdcDedxAlg::m_chidedxK [private]

Definition at line 32 of file ValidRecMdcDedxAlg.h.

Referenced by execute(), and initialize().

NTuple::Item<double> ValidRecMdcDedxAlg::m_chidedxMu [private]

Definition at line 30 of file ValidRecMdcDedxAlg.h.

Referenced by execute(), and initialize().

NTuple::Item<double> ValidRecMdcDedxAlg::m_chidedxP [private]

Definition at line 33 of file ValidRecMdcDedxAlg.h.

Referenced by execute(), and initialize().

NTuple::Item<double> ValidRecMdcDedxAlg::m_chidedxPi [private]

Definition at line 31 of file ValidRecMdcDedxAlg.h.

Referenced by execute(), and initialize().

NTuple::Item<double> ValidRecMdcDedxAlg::m_dedx [private]

Definition at line 26 of file ValidRecMdcDedxAlg.h.

Referenced by execute(), and initialize().

NTuple::Item<double> ValidRecMdcDedxAlg::m_parttype [private]

Definition at line 27 of file ValidRecMdcDedxAlg.h.

Referenced by execute(), and initialize().

NTuple::Tuple* ValidRecMdcDedxAlg::m_tuple1 [private]

Definition at line 24 of file ValidRecMdcDedxAlg.h.

Referenced by execute(), initialize(), and ValidRecMdcDedxAlg().


Generated on Tue Nov 29 23:36:20 2016 for BOSS_7.0.2 by  doxygen 1.4.7