31 MsgStream log(
msgSvc(), name() );
32 log << MSG::INFO <<
"in execute()" << endmsg;
35 SmartDataPtr<Event::EventHeader> eventHeader( eventSvc(),
"/Event/EventHeader" );
38 log << MSG::FATAL <<
"Could not find Event Header" << endmsg;
39 return StatusCode::FAILURE;
42 int eventNo = eventHeader->eventNumber();
43 int runNo = eventHeader->runNumber();
47 log << MSG::FATAL <<
" Run No:" <<
runNo <<
" > 0" << endmsg;
48 return StatusCode::FAILURE;
51 SmartDataPtr<Event::McParticleCol> mcParticleCol( eventSvc(),
"/Event/MC/McParticleCol" );
54 log << MSG::FATAL <<
"Could not retrieve McParticelCol" << endmsg;
55 return StatusCode::FAILURE;
58 double mcTestime = -999.;
59 Event::McParticleCol::iterator iter_mc = mcParticleCol->begin();
60 for ( ; iter_mc != mcParticleCol->end(); iter_mc++ )
62 if ( ( *iter_mc )->primaryParticle() ) { mcTestime = ( *iter_mc )->initialPosition().t(); }
66 SmartIF<IDataManagerSvc> dataManSvc( eventSvc() );
67 DataObject* aRecEsTime;
68 eventSvc()->findObject(
"/Event/Recon/RecEsTimeCol", aRecEsTime );
69 if ( aRecEsTime != NULL )
71 dataManSvc->clearSubTree(
"/Event/Recon/RecEsTimeCol" );
72 eventSvc()->unregisterObject(
"/Event/Recon/RecEsTimeCol" );
77 StatusCode sc = eventSvc()->registerObject(
"/Event/Recon/RecEsTimeCol", aRecEsTimeCol );
78 if ( sc != StatusCode::SUCCESS )
80 log << MSG::ERROR <<
"Could not register RecEsTimeCol" << endmsg;
81 return StatusCode::FAILURE;
85 arecestime->
setTest( mcTestime );
89 aRecEsTimeCol->push_back( arecestime );
91 return StatusCode::SUCCESS;