29 {
30
31 MsgStream log(
msgSvc(), name() );
32 log << MSG::INFO << "in execute()" << endmsg;
33
34
35 SmartDataPtr<Event::EventHeader> eventHeader( eventSvc(), "/Event/EventHeader" );
36 if ( !eventHeader )
37 {
38 log << MSG::FATAL << "Could not find Event Header" << endmsg;
39 return StatusCode::FAILURE;
40 }
41
42 int eventNo = eventHeader->eventNumber();
43 int runNo = eventHeader->runNumber();
44
46 {
47 log << MSG::FATAL <<
" Run No:" <<
runNo <<
" > 0" << endmsg;
48 return StatusCode::FAILURE;
49 }
50
51 SmartDataPtr<Event::McParticleCol> mcParticleCol( eventSvc(), "/Event/MC/McParticleCol" );
52 if ( !mcParticleCol )
53 {
54 log << MSG::FATAL << "Could not retrieve McParticelCol" << endmsg;
55 return StatusCode::FAILURE;
56 }
57
58 double mcTestime = -999.;
59 Event::McParticleCol::iterator iter_mc = mcParticleCol->begin();
60 for ( ; iter_mc != mcParticleCol->end(); iter_mc++ )
61 {
62 if ( ( *iter_mc )->primaryParticle() ) { mcTestime = ( *iter_mc )->initialPosition().t(); }
63 }
64
65
66 SmartIF<IDataManagerSvc> dataManSvc( eventSvc() );
67 DataObject* aRecEsTime;
68 eventSvc()->findObject( "/Event/Recon/RecEsTimeCol", aRecEsTime );
69 if ( aRecEsTime != NULL )
70 {
71 dataManSvc->clearSubTree( "/Event/Recon/RecEsTimeCol" );
72 eventSvc()->unregisterObject( "/Event/Recon/RecEsTimeCol" );
73 }
74
75
77 StatusCode sc = eventSvc()->registerObject( "/Event/Recon/RecEsTimeCol", aRecEsTimeCol );
78 if ( sc != StatusCode::SUCCESS )
79 {
80 log << MSG::ERROR << "Could not register RecEsTimeCol" << endmsg;
81 return StatusCode::FAILURE;
82 }
83
84 RecEsTime* arecestime = new RecEsTime;
85 arecestime->
setTest( mcTestime );
87
88
89 aRecEsTimeCol->push_back( arecestime );
90
91 return StatusCode::SUCCESS;
92}
ObjectVector< RecEsTime > RecEsTimeCol
void setTest(double Test)