70 {
71
72 MsgStream log(
msgSvc(), name() );
73 log << MSG::INFO << "in execute()" << endmsg;
74
75
76
77 int event, run;
78
79 SmartDataPtr<Event::EventHeader> eventHeader( eventSvc(), "/Event/EventHeader" );
80 if ( !eventHeader )
81 {
82 log << MSG::FATAL << "Could not find Event Header" << endmsg;
83 return ( StatusCode::FAILURE );
84 }
85 log << MSG::INFO << "RootIoAlg: retrieved event: " << eventHeader->eventNumber()
86 << " run: " << eventHeader->runNumber() << endmsg;
87
88 int digiId;
89
90
91 SmartDataPtr<MdcDigiCol> mdcDigiCol( eventSvc(), "/Event/Digi/MdcDigiCol" );
92 if ( !mdcDigiCol )
93 {
94 log << MSG::INFO << "Could not find MDC digi" << endmsg;
95
96 }
97 else
98 {
99 MdcDigiCol::iterator iter1 = mdcDigiCol->begin();
100 digiId = 0;
101 for ( ; iter1 != mdcDigiCol->end(); iter1++, digiId++ )
102 {
103 log << MSG::INFO << "MDC digit No: " << digiId << endmsg;
104
105 log << MSG::INFO << " time_channel = " << ( *iter1 )->getTimeChannel()
106 << " charge_channel = " << ( *iter1 )->getChargeChannel() << endmsg;
107 }
108 }
109
110
111 SmartDataPtr<TofDigiCol> tofDigiCol( eventSvc(), "/Event/Digi/TofDigiCol" );
112 if ( !tofDigiCol )
113 {
114 log << MSG::INFO << "Could not find TOF digi" << endmsg;
115
116 }
117 else
118 {
119 TofDigiCol::iterator iter2 = tofDigiCol->begin();
120 digiId = 0;
121 for ( ; iter2 != tofDigiCol->end(); iter2++, digiId++ )
122 {
123 log << MSG::INFO << "TOF digit No: " << digiId << endmsg;
124 log << MSG::INFO << " time_channel = " << ( *iter2 )->getTimeChannel()
125 << " charge_channel = " << ( *iter2 )->getChargeChannel() << endmsg;
126 }
127 }
128
129 SmartDataPtr<EmcDigiCol> emcDigiCol( eventSvc(), "/Event/Digi/EmcDigiCol" );
130 if ( !emcDigiCol )
131 {
132 log << MSG::INFO << "Could not find EMC digi" << endmsg;
133
134 }
135 else
136 {
137 EmcDigiCol::iterator iter3 = emcDigiCol->begin();
138 digiId = 0;
139 for ( ; iter3 != emcDigiCol->end(); iter3++, digiId++ )
140 {
141 log << MSG::INFO << "Emc digit No: " << digiId << endmsg;
142
143 log << MSG::INFO << " time_channel = " << ( *iter3 )->getTimeChannel()
144 << " charge_channel = " << ( *iter3 )->getChargeChannel() << endmsg;
145 }
146 }
147
148
150 if ( !dstTofTrackCol )
151 {
152 log << MSG::INFO << "Could not find Dst Tof Track" << endmsg;
153
154 }
155 else
156 {
157 DstTofTrackCol::iterator iter4 = dstTofTrackCol->begin();
158 digiId = 0;
159 for ( ; iter4 != dstTofTrackCol->end(); iter4++, digiId++ )
160 {
161 log << MSG::INFO << "Dst Tof No: " << digiId << endmsg;
162
163 log << MSG::INFO << " TrackID = " << ( *iter4 )->trackID()
164 << " TofID = " << ( *iter4 )->tofID() << " TofTrackID = " << ( *iter4 )->tofTrackID()
165 << " Beta = " << ( *iter4 )->beta() << endmsg;
166 }
167 }
168
169
170 SmartDataPtr<DstEmcShowerCol> dstEmcShowerCol( eventSvc(),
172 if ( !dstEmcShowerCol )
173 {
174 log << MSG::INFO << "Could not find Dst Emc Track" << endmsg;
175
176 }
177 else
178 {
179 DstEmcShowerCol::iterator iter5 = dstEmcShowerCol->begin();
180 digiId = 0;
181 for ( ; iter5 != dstEmcShowerCol->end(); iter5++, digiId++ )
182 {
183 log << MSG::INFO << "Dst Emc No: " << digiId << endmsg;
184
185 log << MSG::INFO << " Track ID = " << ( *iter5 )->trackId()
186 << " Cell ID = " << ( *iter5 )->cellId()
187 << " Total energy observed in Emc = " << ( *iter5 )->energy() << endmsg;
188 }
189 }
190
191
193 if ( !dstMdcTrackCol )
194 {
195 log << MSG::INFO << "Could not find Dst Mdc Track" << endmsg;
196
197 }
198 else
199 {
200 DstMdcTrackCol::iterator iter6 = dstMdcTrackCol->begin();
201 digiId = 0;
202 for ( ; iter6 != dstMdcTrackCol->end(); iter6++, digiId++ )
203 {
204 log << MSG::INFO << "Dst Mdc No: " << digiId << endmsg;
205
206 log << MSG::INFO << " Track ID = " << ( *iter6 )->trackId()
207 << " number of total hits contained = " << ( *iter6 )->nster()
208 << "px = " << ( *iter6 )->px() << "p = " << ( *iter6 )->p() << endmsg;
209 }
210 }
211
212
214 if ( !dstMdcDedxCol )
215 {
216 log << MSG::INFO << "Could not find Dst Mdc Dedx " << endmsg;
217
218 }
219 else
220 {
221 DstMdcDedxCol::iterator iter7 = dstMdcDedxCol->begin();
222 digiId = 0;
223 for ( ; iter7 != dstMdcDedxCol->end(); iter7++, digiId++ )
224 {
225 log << MSG::INFO << "Dst Mdc Dedx No: " << digiId << endmsg;
226
227 log << MSG::INFO << " Track ID = " << ( *iter7 )->trackId()
228 << "Chi of E = " << ( *iter7 )->chi( 0 ) << "Chi of Mu = " << ( *iter7 )->chi( 1 )
229 << "Chi of Pi = " << ( *iter7 )->chi( 2 ) << endmsg;
230 }
231 }
232
233
235 if ( !dstMucTrackCol )
236 {
237 log << MSG::INFO << "Could not find Muc Track " << endmsg;
238
239 }
240 else
241 {
242 DstMucTrackCol::iterator iter8 = dstMucTrackCol->begin();
243 digiId = 0;
244 for ( ; iter8 != dstMucTrackCol->end(); iter8++, digiId++ )
245 {
246 log << MSG::INFO << "Dst Muc Track No: " << digiId << endmsg;
247
248 log << MSG::INFO << " Track ID = " << ( *iter8 )->trackId()
249 << " Number of hits on track = " << ( *iter8 )->numHits() << " maxHitsInLayer "
250 << ( *iter8 )->maxHitsInLayer() << " xPos = " << ( *iter8 )->xPos()
251 << " yPos = " << ( *iter8 )->yPos() << " zPos = " << ( *iter8 )->zPos() << endmsg;
252 }
253 }
254
255
257 if ( !dstExtTrackCol )
258 {
259 log << MSG::INFO << "Could not find DstExt Track " << endmsg;
260
261 }
262 else
263 {
264 DstExtTrackCol::iterator iter9 = dstExtTrackCol->begin();
265
266 digiId = 0;
267 for ( ; iter9 != dstExtTrackCol->end(); iter9++, digiId++ )
268 {
269 log << MSG::INFO << "Dst Ext Track No: " << digiId << endmsg;
270 log << MSG::INFO << "volume name of Tof1= " << ( *iter9 )->tof1VolumeName()
271 << "volume number of Tof1 = " << ( *iter9 )->tof1VolumeNumber()
272 << "Tof1 = " << ( *iter9 )->tof1() << endmsg;
273 log << MSG::INFO << "volume name of Tof2= " << ( *iter9 )->tof2VolumeName()
274 << "volume number of Tof2 = " << ( *iter9 )->tof2VolumeNumber()
275 << "Tof2 = " << ( *iter9 )->tof2() << endmsg;
276 log << MSG::INFO << " Ext Tof1 Error Z = " << ( *iter9 )->tof1PosSigmaAlongZ()
277 << " Ext Tof2 Error Z = " << ( *iter9 )->tof2PosSigmaAlongZ()
278 << " Ext Emc Error theta = " << ( *iter9 )->emcPosSigmaAlongTheta()
279 << " Ext Muc Error Z = " << ( *iter9 )->mucPosSigmaAlongZ() << endmsg;
280 }
281 }
282
283 SmartDataPtr<DstMdcKalTrackCol> dstMdcKalTrackCol( eventSvc(),
285 if ( !dstMdcKalTrackCol )
286 { log << MSG::INFO << "Could not find DstMdcKal Track " << endmsg; }
287 else
288 {
289 DstMdcKalTrackCol::iterator iter10 = dstMdcKalTrackCol->begin();
290 digiId = 0;
291 for ( ; iter10 != dstMdcKalTrackCol->end(); iter10++, digiId++ )
292 {
293
294
295
296
297
298
299
300 }
301 }
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423 return StatusCode::SUCCESS;
424}
_EXTERN_ std::string DstEmcShowerCol
_EXTERN_ std::string DstMdcKalTrackCol
_EXTERN_ std::string DstExtTrackCol
_EXTERN_ std::string DstMdcDedxCol
_EXTERN_ std::string DstTofTrackCol
_EXTERN_ std::string DstMdcTrackCol
_EXTERN_ std::string DstMucTrackCol