BOSS 7.1.1
BESIII Offline Software System
Loading...
Searching...
No Matches
ValidRecMdcDedxAlg Class Reference

#include <ValidRecMdcDedxAlg.h>

+ Inheritance diagram for ValidRecMdcDedxAlg:

Public Member Functions

 ValidRecMdcDedxAlg (const std::string &name, ISvcLocator *pSvcLocator)
 
StatusCode initialize ()
 
StatusCode execute ()
 
StatusCode finalize ()
 

Detailed Description

Definition at line 14 of file ValidRecMdcDedxAlg.h.

Constructor & Destructor Documentation

◆ ValidRecMdcDedxAlg()

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

Definition at line 11 of file ValidRecMdcDedxAlg.cxx.

11 :
12 Algorithm(name, pSvcLocator) {
13
14 m_tuple1 = 0;
15
16 }

Member Function Documentation

◆ execute()

StatusCode ValidRecMdcDedxAlg::execute ( )

Definition at line 49 of file ValidRecMdcDedxAlg.cxx.

49 {
50 MsgStream log(msgSvc(), name());
51 SmartDataPtr<RecMdcDedxCol> mdcDedx(eventSvc(),"/Event/Recon/RecMdcDedxCol");
52 if( ! mdcDedx )
53 {
54 log << MSG::ERROR << "Unable to retrieve RecMdcDedxCol" << endreq;
55 return StatusCode::FAILURE;
56 } else {
57 log << MSG::DEBUG << "RecMdcDedxCol retrieved of size "<< mdcDedx->size() << endreq;
58 int i = 0;
59 for(RecMdcDedxCol::iterator it=mdcDedx->begin(); it!=mdcDedx->end(); it++,i++)
60 { m_dedx = (*it)->probPH();
61 m_parttype = (*it)->particleId();
62 //cout<<"m_parttype is = "<<m_parttype<<endl;
63 if(m_parttype >5 || m_parttype<0) continue;
64 m_chidedx = (*it)->chi(m_parttype-1);
65 m_chidedxE = (*it)->chiE();
66 m_chidedxMu = (*it)->chiMu();
67 m_chidedxPi = (*it)->chiPi();
68 m_chidedxK = (*it)->chiK();
69 m_chidedxP = (*it)->chiP();
70
71 log << MSG::INFO << "particle chi="<< m_chidedx <<endreq;
72 log << MSG::INFO << "m_dedx="<<m_dedx<<endreq;
73 log << MSG::INFO << " m_parttype="<< m_parttype<<endreq;
74 StatusCode status1 = m_tuple1->write();
75 if ( status1.isFailure() ) {
76 log << MSG::ERROR << "Cannot fill Ntuple1" << endreq;
77 }
78
79 }
80 }
81 return StatusCode::SUCCESS;
82}
IMessageSvc * msgSvc()

◆ finalize()

StatusCode ValidRecMdcDedxAlg::finalize ( )

Definition at line 85 of file ValidRecMdcDedxAlg.cxx.

85 {
86
87 MsgStream log(msgSvc(), name());
88 log << MSG::INFO << "Finalizing..." << endreq;
89
90}

◆ initialize()

StatusCode ValidRecMdcDedxAlg::initialize ( )

Definition at line 18 of file ValidRecMdcDedxAlg.cxx.

18 {
19 StatusCode status;
20 MsgStream log( msgSvc(), name() );
21
22 // Book N-tuple 1
23 NTuplePtr nt1(ntupleSvc(), "DedxTuples/Mdc_dedx");
24 if ( nt1 ) m_tuple1 = nt1;
25 else {
26 m_tuple1 = ntupleSvc()->book ("DedxTuples/Mdc_dedx", CLID_RowWiseTuple, "Dedx parameter");
27 if ( m_tuple1 ) {
28 status = m_tuple1->addItem("dedx",m_dedx);
29 status = m_tuple1->addItem("parttype",m_parttype);
30 status = m_tuple1->addItem("chidedx",m_chidedx);
31 status = m_tuple1->addItem("chidedxE",m_chidedxE);
32 status = m_tuple1->addItem("chidedxMu",m_chidedxMu);
33 status = m_tuple1->addItem("chidedxPi",m_chidedxPi);
34 status = m_tuple1->addItem("chidedxK",m_chidedxK);
35 status = m_tuple1->addItem("chidedxP",m_chidedxP);
36 }
37 else { // did not manage to book the N tuple....
38 log << MSG::ERROR << " Cannot book N-tuple:" << long(m_tuple1) << endmsg;
39 return StatusCode::FAILURE;
40 }
41 }
42 log << MSG::INFO << "Finished booking NTuples" << endmsg;
43 return StatusCode::SUCCESS;
44
45
46}
INTupleSvc * ntupleSvc()

The documentation for this class was generated from the following files: