122 {
123 setFilterPassed( false );
124 MsgStream log(
msgSvc(), name() );
125 StatusCode sc = StatusCode::SUCCESS;
126
127
128 SmartDataPtr<EventNavigator> navigator( eventSvc(), "/Event/Navigator" );
129 if ( !navigator )
130 {
131 log << MSG::WARNING << " Unable to retrieve EventNavigator" << endmsg;
132 m_rawData = true;
133 }
134 SmartDataPtr<RecMdcTrackCol> recMdcTrackCol( eventSvc(), "/Event/Recon/RecMdcTrackCol" );
135 SmartDataPtr<RecMdcHitCol> recMdcHitCol( eventSvc(), "/Event/Recon/RecMdcHitCol" );
136
137
138 if ( m_hist )
139 {
140 sc = fillInit();
141 if ( sc != StatusCode::SUCCESS ) { return StatusCode::FAILURE; }
142 }
143 if ( m_mc )
144 {
145
146 SmartDataPtr<Event::McParticleCol> mcParticles( eventSvc(), "/Event/MC/McParticleCol" );
147 SmartDataPtr<Event::MdcMcHitCol> mcHit( eventSvc(), "/Event/MC/MdcMcHitCol" );
148 if ( !mcParticles )
149 { log << MSG::WARNING << " Unable to retrieve McParticleCol" << endmsg; }
150 else
151 {
152
153 t_mcTkNum = 0;
154 McParticleCol::iterator it = mcParticles->begin();
155 log << MSG::INFO << "mcParticles size = " << mcParticles->size()
156 << endmsg;
157 for ( ; it != mcParticles->end(); it++ )
158 {
159
160 t_mcTkNum++;
161 }
162 }
163 }
164 t_mcTkNum = 0;
165 t_recTkNum = 0;
166
167
168 if ( !recMdcTrackCol )
169 {
170 log << MSG::WARNING << " Unable to retrieve recMdcTrackCol" << endmsg;
171 return StatusCode::SUCCESS;
172 }
173 t_recTkNum = recMdcTrackCol->size();
174
175
176 RecMdcTrackCol::iterator it = recMdcTrackCol->begin();
177 for ( ; it != recMdcTrackCol->end(); it++ )
178 {
179 if ( m_mc && navigator )
180 {
182 t_mcTkNum = particles.size();
184
185 if ( sc != StatusCode::SUCCESS ) return StatusCode::FAILURE;
186 }
187 sc = fillRecTrack( *it, t_mcTkNum, t_recTkNum );
188 t_nTk++;
189 if ( sc != StatusCode::SUCCESS ) return StatusCode::FAILURE;
190 }
191
192
193 fillRecHits( *recMdcHitCol );
194
195 if ( m_hist ) { fillEvent(); }
196
197 return StatusCode::SUCCESS;
198}
std::vector< const RecMdcTrack * > RecMdcTrackVector
std::vector< const Event::McParticle * > McParticleVector