83 MsgStream log(
msgSvc(), name() );
84 log << MSG::INFO <<
"in execute()" << endmsg;
86 SmartDataPtr<Event::EventHeader> eventHeader( eventSvc(),
"/Event/EventHeader" );
87 m_runNo = eventHeader->runNumber();
88 m_event = eventHeader->eventNumber();
89 log << MSG::DEBUG <<
"run, evtnum = " << m_runNo <<
" , " << m_event << endmsg;
93 SmartDataPtr<DQAEvent::DQAEvent> dqaevt( eventSvc(),
"/Event/DQATag" );
94 if ( dqaevt ) { log << MSG::INFO <<
"success get DQAEvent" << endmsg; }
97 log << MSG::ERROR <<
"Error accessing DQAEvent" << endmsg;
98 return StatusCode::FAILURE;
101 log << MSG::DEBUG <<
"event tag = " << dqaevt->EventTag() << endmsg;
104 if ( dqaevt->Bhabha() )
106 log << MSG::INFO <<
"Bhabha event" << endmsg;
107 SmartDataPtr<EvtRecTrackCol> evtRecTrkCol( eventSvc(),
109 for (
int i = 0; i < evtRecEvent->totalCharged(); i++ )
112 log << MSG::DEBUG << i <<
" " << ( *itTrk )->partId() <<
" " << ( *itTrk )->quality()
118 if ( !( *itTrk )->isElectron() )
continue;
125 int qual = ( *itTrk )->quality();
126 if ( qual != 0 && qual != 2 )
continue;
129 if ( mdcTrk->
charge() > 0 ) { log << MSG::DEBUG <<
"is electron" << endmsg; }
130 else { log << MSG::DEBUG <<
"is positron" << endmsg; }
131 double x0 = mdcTrk->
x();
132 double y0 = mdcTrk->
y();
133 double z0 = mdcTrk->
z();
134 double Rxy = sqrt( x0 * x0 + y0 * y0 );
137 if ( m_thsvc->getHist(
"/DQAHist/MDC/hrxy", h ).isSuccess() ) { h->Fill( Rxy ); }
138 else { log << MSG::ERROR <<
"Couldn't retrieve hrxy" << endmsg; }
139 if ( m_thsvc->getHist(
"/DQAHist/MDC/hz", h ).isSuccess() ) { h->Fill( z0 ); }
140 else { log << MSG::ERROR <<
"Couldn't retrieve hz" << endmsg; }
144 m_tuple->write().ignore();
146 return StatusCode::SUCCESS;