Algorithm execute once per event.
50{
51
53
54
55
56
57
58
62
65
66
69 for (const IAthenaPoolTestData* elt : *col) {
71 AthenaPoolTestA
data(i+1, i+2);
73 test1 = elt->printWhoYouAre();
78 }
80 }
81
82
83
84
86
89 for (const IAthenaPoolTestData* elt : *col) {
91 AthenaPoolTestB
data(i+11, i+12);
93 test1 = elt->printWhoYouAre();
98 }
100 }
101
102
103
104
106
109 for (const IAthenaPoolTestData* elt : *col) {
111 if (i < 3) {
112 AthenaPoolTestA
data(i+21, i+22);
114 test1 = elt->printWhoYouAre();
116 if (
test1 != test2) {
119 }
120 }
121 else {
122 AthenaPoolTestB
data(i+21, i+22);
124 test1 = elt->printWhoYouAre();
126 if (
test1 != test2) {
129 }
130 }
132 }
133
134
135
136
138
141 for (const IAthenaPoolTestData* elt : *col) {
143 AthenaPoolTestC
data(0, 0, i+3, i+4);
145 test1 = elt->printWhoYouAre();
147 if (
test1 != test2) {
150 }
152 }
153
154
155
156
158
161 for (const IAthenaPoolTestData* elt : *col) {
163 AthenaPoolTestD
data(0, 0, i+13, i+14, i+15, i+16);
165 test1 = elt->printWhoYouAre();
167 if (
test1 != test2) {
170 }
172 }
173
174
175
176
177
178
179 bool readMatrix = true;
180 if (readMatrix) {
181 const AthenaPoolTestMatrix*
matrix =
nullptr;
182 for (
int i = 0;
i < 3; ++
i ) {
184 stream <<
"AthenaPoolTestMatrix_" <<
i;
188
189 const HepGeom::Point3D<double>& point =
matrix->point();
190 const HepGeom::Point3D<double>& point1 =
matrix->point1();
192 << point.x() << " "
193 << point.y() << " "
194 << point.z() << " "
195 << ", x,y,z "
196 << point1.x() << " "
197 << point1.y() << " "
198 << point1.z() << " ");
199 const CLHEP::HepMatrix& smallMatrix =
matrix->smallMatrix();
200 ATH_MSG_DEBUG(
" Small matrix : ( " << smallMatrix.num_row() <<
", " << smallMatrix.num_col() <<
" ) " );
203 for (
int i = 0;
i < smallMatrix.num_row(); ++
i) {
204 for (
int j = 0;
j < smallMatrix.num_col(); ++
j) {
205 stream << smallMatrix[
i][
j] <<
", ";
206 }
207 }
209
210 const CLHEP::HepMatrix& bigMatrix =
matrix->bigMatrix();
211 ATH_MSG_DEBUG(
" Big matrix : ( " << bigMatrix.num_row() <<
", " << bigMatrix.num_col() <<
" ) " );
214 for (
int i = 0;
i < bigMatrix.num_row(); ++
i) {
215 for (
int j = 0;
j < bigMatrix.num_col(); ++
j) {
217 }
218 }
221 for (
int ii = 0; ii <
matrix->numberOfMatrices(); ++ii ) {
222 const CLHEP::HepMatrix& matrx =
matrix->matrix( ii );
223 ATH_MSG_DEBUG(
" ( " << matrx.num_row() <<
", " << matrx.num_col() <<
" ) " );
226 for (
int i = 0;
i < matrx.num_row(); ++
i) {
227 for (
int j = 0;
j < matrx.num_col(); ++
j) {
229 }
230 }
232 }
233
234
236
238 std::map<unsigned int, CLHEP::HepMatrix>& mp0 = mats[0];
239 std::map<unsigned int, CLHEP::HepMatrix>& mp1 = mats[1];
240 std::map<unsigned int, CLHEP::HepMatrix>::const_iterator itmp = mp0.begin();
242 << (*itmp).second.num_row() << ", " << (*itmp).second.num_col() );
243 ++itmp;
245 << (*itmp).second.num_row() << ", " << (*itmp).second.num_col() );
246 itmp = mp1.begin();
248 << (*itmp).second.num_row() << ", " << (*itmp).second.num_col() );
249 ++itmp;
251 << (*itmp).second.num_row() << ", " << (*itmp).second.num_col() );
252
253
255 const HepGeom::Transform3D& trans =
matrix->trans();
269
270 }
271 }
272
273
274
275
276
277 bool readMap = true;
278 const AthenaPoolTestMap* tmapPtr;
279 if (
evtStore()->retrieve(tmapPtr,
"AthenaPoolMap").isFailure()) {
281 readMap = false;
282 }
283 else {
285 }
286
287 if (readMap) {
288
289 const AthenaPoolTestMap& tmap = *tmapPtr;
290
292 typedef std::vector<deposit_t> deposit_vec;
293
294 deposit_vec deposits;
295
296
297
298
299 AthenaPoolTestMap::const_iterator itm = tmap.begin();
300 AthenaPoolTestMap::const_iterator endm = tmap.end();
301 for (; itm != endm; ++itm) {
302
304 stream <<
"AthenaPoolTestMap: key " << (*itm).first
305 << " word " << (*itm).second.word()
306 << " Deposits: (barCode, evtIndx, wgt) ";
307
308 deposits.clear();
309 (*itm).second.deposits(deposits);
310 for (
unsigned int i = 0;
i < deposits.size(); ++
i) {
311 AthenaPoolTestMapDataLink&
link = deposits[
i].first;
313 <<
link.eventIndex() <<
" "
314 << deposits[
i].second <<
" ";
315 }
317 }
318 }
319
320
321
322
323 const dummy_A* dummyA;
324 if (
evtStore()->retrieve(dummyA,
"Dummy_A").isFailure() ) {
326 }
327 else {
329 }
330 const std::vector<dummy_B>&
b = dummyA->
dummy();
332 for (
unsigned int i = 0;
i <
b.size(); ++
i) {
333 const std::vector<dummy_C>&
c =
b[
i].dummy();
335 for (
unsigned int j = 0;
j <
c.size(); ++
j) {
337 }
338 }
339
340
341
342 const dummy_E* dummyE;
344 const std::vector<const dummy_D*>&
d = dummyE->
dummy();
346 for (
unsigned int i = 0;
i <
d.size(); ++
i) {
348 }
349
350
351
352
353
358 <<
evt->event_ID()->event_number() <<
":"
359 <<
evt->event_ID()->time_stamp() <<
"] " );
361 {
363 stream <<
"Event type: user type "
364 <<
evt->event_type()->user_type();
365 for (
unsigned int i = 0;
i <
evt->event_type()->n_mc_event_weights (); ++
i)
366 stream<<
" weight " << i <<
": " <<
evt->event_type()->mc_event_weight(i);
368 }
369
370
372 <<
evt->actualInteractionsPerCrossing() <<
" and ave: "
373 <<
evt->averageInteractionsPerCrossing() );
374
375
378 << MSG::hex <<
evt->eventFlags(EventInfo::EventFlagSubDet(i)) << MSG::dec );
380 if (error == EventInfo::NotSet)
382 else if (error == EventInfo::Warning)
383 ATH_MSG_DEBUG(
"Subdet: " << i <<
" error state: Warning " );
384 else if (error == EventInfo::Error)
386 }
387
388
389
394 << pevt->
event_ID()->run_number() <<
","
395 << pevt->
event_ID()->event_number() <<
":"
396 << pevt->
event_ID()->time_stamp() <<
"] " );
400
401 {
406 << " lvl1Info ";
409 }
413 }
414 stream <<
"EventFilterInfo ";
417 }
418 stream <<
"EventFilterInfo ";
423 }
425 }
426
427
431 if (it == end) {
433 }
437 << (*it).time() << " " << (*it).index() );
438 if (sevt) {
440 << sevt->
event_ID()->run_number() <<
","
441 << sevt->
event_ID()->event_number() <<
":"
442 << sevt->
event_ID()->time_stamp() <<
"] " );
446 <<
it->time() <<
" " <<
it->index() );
447 }
448 else {
450 }
451 }
452
453 if (error) return (StatusCode::FAILURE);
454
455 return StatusCode::SUCCESS;
456}
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_VERBOSE(x)
Athena::TPCnvVers::Old Athena::TPCnvVers::Current Athena::TPCnvVers::Old Athena::TPCnvVers::Old PileUpEventInfo
char data[hepevt_bytes_allocation_ATLAS]
DataVector< IAthenaPoolTestData > IAthenaPoolTestCollection
size_t size() const
Number of registered mappings.
ServiceHandle< StoreGateSvc > & evtStore()
std::pair< AthenaPoolTestMapDataLink, float > Deposit
std::vector< std::map< unsigned int, CLHEP::HepMatrix > > matrixMaps_t
EventID * event_ID()
the unique identification of the event.
TriggerInfo * trigger_info()
trigger information (ptr may be NULL)
EventType * event_type()
the type of the event, e.g. simulation, testbeam, etc
std::string user_type(void) const
Access to user type.
SubEvent::iterator endSubEvt()
SubEvent::iterator beginSubEvt()
number_type level1TriggerType() const
get level1 trigger type
const std::vector< number_type > & eventFilterInfo() const
get event filter trigger info
number_type extendedLevel1ID() const
get extended level1 ID
number_type statusElement() const
get status element
const std::vector< number_type > & level1TriggerInfo() const
get level1 trigger info
const std::vector< StreamTag > & streamTags() const
get stream tags
const std::vector< number_type > & level2TriggerInfo() const
get level2 trigger info
const std::vector< dummy_B > & dummy() const
const std::vector< const dummy_D * > & dummy() const
pointer & link(pointer p) const
Return a reference to the link for an element.
float j(const xAOD::IParticle &, const xAOD::TrackMeasurementValidation &hit, const Eigen::Matrix3d &jab_inv)
EventInfo_v1 EventInfo
Definition of the latest event info version.
std::list< SubEvent >::const_iterator const_iterator
int test1(int argc, char *argv[])