ATLAS Offline Software
Loading...
Searching...
No Matches
TrigEDMChecker.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
6
7#include "GaudiKernel/IToolSvc.h"
8
13
19
20#include "AthContainers/debug.h"
56#include "tauEvent/TauJet.h"
57
59
62
69
71#include "xAODEgamma/Electron.h"
73#include "xAODEgamma/Photon.h"
74
75
78#include "xAODTau/TauDefs.h"
79#include "xAODTau/TauJet.h"
80
81
82#include "TrigEDMChecker.h"
83
92
96
98
99
100
101#include "AthViews/ViewHelper.h"
102#include "AthViews/View.h"
103
104
105#include <iostream>
106#include <fstream>
107#include <queue>
108
109static const int maxRepWarnings = 5;
110
111
112TrigEDMChecker::TrigEDMChecker(const std::string& name, ISvcLocator* pSvcLocator)
113 : AthAnalysisAlgorithm(name, pSvcLocator),
114 m_clidSvc( "ClassIDSvc", name )
115{
117
118 declareProperty("doDumpAll", m_doDumpAll = true);
119 declareProperty("doDumpTrigPassBits", m_doDumpTrigPassBits = false);
120 declareProperty("doDumpLVL1_ROI", m_doDumpLVL1_ROI = false);
121 declareProperty("doDumpTrigMissingET", m_doDumpTrigMissingET = false);
122 declareProperty("doDumpxAODTrigMissingET", m_doDumpxAODTrigMissingET = false);
123 declareProperty("doDumpMuonFeature", m_doDumpMuonFeature = false);
124 declareProperty("doDumpCombinedMuonFeature", m_doDumpCombinedMuonFeature = false);
125 declareProperty("doDumpTileMuFeature", m_doDumpTileMuFeature = false);
126 declareProperty("doDumpTileTrackMuFeature", m_doDumpTileTrackMuFeature = false);
127 declareProperty("doDumpTrigPhotonContainer", m_doDumpTrigPhotonContainer = false);
128 declareProperty("doDumpTrigL2BphysContainer", m_doDumpTrigL2BphysContainer = false);
129 declareProperty("doDumpTrigEFBphysContainer", m_doDumpTrigEFBphysContainer = false);
130 declareProperty("doDumpTrigEFBjetContainer", m_doDumpTrigEFBjetContainer = false);
131 declareProperty("doDumpTrigL2BjetContainer", m_doDumpTrigL2BjetContainer = false);
132 declareProperty("doDumpxAODJetContainer", m_doDumpxAODJetContainer = false);
133 declareProperty("doDumpTrigMuonEFContainer", m_doDumpTrigMuonEFContainer = false);
134 declareProperty("doDumpTrigMuonEFInfoContainer", m_doDumpTrigMuonEFInfoContainer = false);
135 declareProperty("doDumpTrigMuonEFIsolationContainer", m_doDumpTrigMuonEFIsolationContainer = false);
136 declareProperty("doDumpxAODMuonContainer", m_doDumpxAODMuonContainer = false);
137 declareProperty("doDumpTrigElectronContainer", m_doDumpTrigElectronContainer = false);
138 declareProperty("doDumpxAODTrigElectronContainer", m_doDumpxAODTrigElectronContainer = false);
139 declareProperty("doDumpxAODTrigPhotonContainer", m_doDumpxAODTrigPhotonContainer = false);
140 declareProperty("doDumpxAODElectronContainer", m_doDumpxAODElectronContainer = false);
141 declareProperty("doDumpxAODPhotonContainer", m_doDumpxAODPhotonContainer = false);
142 declareProperty("doDumpHLTResult", m_doDumpHLTResult = false);
143 declareProperty("doDumpTrigTauContainer", m_doDumpTrigTauContainer = false);
144 declareProperty("doDumpTrigTauTracksInfo", m_doDumpTrigTauTracksInfo = false);
145 declareProperty("doDumpTrigInDetTrackCollection", m_doDumpTrigInDetTrackCollection = false);
146 declareProperty("doDumpTrigVertexCollection", m_doDumpTrigVertexCollection = false);
147 declareProperty("doDumpTrigEMCluster", m_doDumpTrigEMCluster = false);
148 declareProperty("doDumpTrigEMClusterContainer", m_doDumpTrigEMClusterContainer = false);
149 declareProperty("doDumpxAODTrigEMCluster", m_doDumpxAODTrigEMCluster = false);
150 declareProperty("doDumpxAODTrigEMClusterContainer", m_doDumpxAODTrigEMClusterContainer = false);
151 declareProperty("doDumpTrigTauClusterContainer", m_doDumpTrigTauClusterContainer = false);
152 declareProperty("doDumpTrackParticleContainer", m_doDumpTrackParticleContainer = false);
153 declareProperty("doDumpTauJetContainer", m_doDumpTauJetContainer = false);
154 declareProperty("doDumpxAODTrackParticle", m_doDumpxAODTrackParticle = false);
155 declareProperty("doDumpxAODVertex", m_doDumpxAODVertex = false);
156 declareProperty("doDumpxAODTauJetContainer", m_doDumpxAODTauJetContainer = false);
157 declareProperty("doDumpxAODTrigMinBias", m_doDumpxAODTrigMinBias = false);
158 declareProperty("doDumpStoreGate", m_doDumpStoreGate = false );
159 declareProperty("doDumpAllTrigComposite", m_doDumpAllTrigComposite = false );
160 declareProperty("dumpTrigCompositeContainers", m_dumpTrigCompositeContainers, "List of TC to dump" );
161 declareProperty("doDumpTrigCompsiteNavigation", m_doDumpTrigCompsiteNavigation = false );
162 declareProperty("doDumpNavigation", m_doDumpNavigation = false );
163 declareProperty("doTDTCheck", m_doTDTCheck = false );
164 declareProperty( "ClassIDSvc", m_clidSvc, "Service providing CLID info" );
165}
166
167
168
170
172
173 ATH_CHECK( m_navigationHandleKey.initialize() );
174 ATH_CHECK( m_decisionsKey.initialize() );
175 ATH_CHECK( m_navigationTool.retrieve() );
176
177 ATH_MSG_DEBUG("Initializing TrigEDMChecker");
178
179 ATH_MSG_INFO("REGTEST Initializing...");
180 ATH_MSG_INFO("REGTEST m_doDumpAll = " << m_doDumpAll );
181 ATH_MSG_INFO("REGTEST m_doDumpLVL1_ROI = " << m_doDumpLVL1_ROI);
182 ATH_MSG_INFO("REGTEST m_doDumpTrigMissingET = " << m_doDumpTrigMissingET );
183 ATH_MSG_INFO("REGTEST m_doDumpxAODTrigMissingET = " << m_doDumpxAODTrigMissingET );
184 ATH_MSG_INFO("REGTEST m_doDumpMuonFeature = " << m_doDumpMuonFeature );
185 ATH_MSG_INFO("REGTEST m_doDumpCombinedMuonFeature = " << m_doDumpCombinedMuonFeature );
186 ATH_MSG_INFO("REGTEST m_doDumpTileMuFeature = " << m_doDumpTileMuFeature);
187 ATH_MSG_INFO("REGTEST m_doDumpTileTrackMuFeature = " << m_doDumpTileTrackMuFeature);
188 ATH_MSG_INFO("REGTEST m_doDumpTrigPhotonContainer = " << m_doDumpTrigPhotonContainer );
189 ATH_MSG_INFO("REGTEST m_doDumpTrigL2BphysContainer = " << m_doDumpTrigL2BphysContainer );
190 ATH_MSG_INFO("REGTEST m_doDumpTrigEFBphysContainer = " << m_doDumpTrigEFBphysContainer );
191 ATH_MSG_INFO("REGTEST m_doDumpTrigEFBjetContainer = " << m_doDumpTrigEFBjetContainer );
192 ATH_MSG_INFO("REGTEST m_doDumpTrigL2BjetContainer = " << m_doDumpTrigL2BjetContainer );
193 ATH_MSG_INFO("REGTEST m_doDumpxAODJetContainer = " << m_doDumpxAODJetContainer );
194 ATH_MSG_INFO("REGTEST m_doDumpTrigMuonEFContainer = " << m_doDumpTrigMuonEFContainer );
195 ATH_MSG_INFO("REGTEST m_doDumpTrigMuonEFInfoContainer = " << m_doDumpTrigMuonEFInfoContainer );
196 ATH_MSG_INFO("REGTEST m_doDumpxAODMuonContainer = " << m_doDumpxAODMuonContainer );
197 ATH_MSG_INFO("REGTEST m_doDumpTrigElectronContainer = " << m_doDumpTrigElectronContainer );
198 ATH_MSG_INFO("REGTEST m_doDumpxAODTrigElectronContainer= " << m_doDumpxAODTrigElectronContainer );
199 ATH_MSG_INFO("REGTEST m_doDumpxAODTrigPhotonContainer = " << m_doDumpxAODTrigPhotonContainer );
200 ATH_MSG_INFO("REGTEST m_doDumpxAODElectronContainer = " << m_doDumpxAODElectronContainer );
201 ATH_MSG_INFO("REGTEST m_doDumpxAODPhotonContainer = " << m_doDumpxAODPhotonContainer );
202 ATH_MSG_INFO("REGTEST m_doDumpHLTResult = " << m_doDumpHLTResult );
203 ATH_MSG_INFO("REGTEST m_doDumpTrigTauContainer = " << m_doDumpTrigTauContainer );
204 ATH_MSG_INFO("REGTEST m_doDumpTrigTauTracksInfo = " << m_doDumpTrigTauTracksInfo );
205 ATH_MSG_INFO("REGTEST m_doDumpTrigInDetTrackCollection = " << m_doDumpTrigInDetTrackCollection );
206 ATH_MSG_INFO("REGTEST m_doDumpTrigVertexCollection = " << m_doDumpTrigVertexCollection );
207 ATH_MSG_INFO("REGTEST m_doDumpTrigEMCluster = " << m_doDumpTrigEMCluster );
208 ATH_MSG_INFO("REGTEST m_doDumpTrigEMClusterContainer = " << m_doDumpTrigEMClusterContainer );
209 ATH_MSG_INFO("REGTEST m_doDumpTrigTauClusterContainer = " << m_doDumpTrigTauClusterContainer );
210 ATH_MSG_INFO("REGTEST m_doDumpTrackParticleContainer = " << m_doDumpTrackParticleContainer );
211 ATH_MSG_INFO("REGTEST m_doDumpTauJetContainer = " << m_doDumpTauJetContainer );
212 ATH_MSG_INFO("REGTEST m_doDumpxAODTrackParticle = " << m_doDumpxAODTrackParticle );
213 ATH_MSG_INFO("REGTEST m_doDumpxAODVertex = " << m_doDumpxAODVertex );
214 ATH_MSG_INFO("REGTEST m_doDumpxAODTauJetContainer = " << m_doDumpxAODTauJetContainer );
215 ATH_MSG_INFO("REGTEST m_doDumpxAODTrigMinBias = " << m_doDumpxAODTrigMinBias );
216 ATH_MSG_INFO("REGTEST m_doDumpStoreGate = " << m_doDumpStoreGate );
217 ATH_MSG_INFO("REGTEST m_doDumpAllTrigComposite = " << m_doDumpAllTrigComposite );
218 ATH_MSG_INFO("REGTEST m_dumpTrigCompositeContainers = " << m_dumpTrigCompositeContainers );
219 ATH_MSG_INFO("REGTEST m_doDumpTrigCompsiteNavigation = " << m_doDumpTrigCompsiteNavigation );
220 ATH_MSG_INFO("REGTEST m_doTDTCheck = " << m_doTDTCheck );
221
222 ATH_MSG_INFO("maxRepWarning = " << maxRepWarnings );
223
225 ATH_CHECK( m_muonPrinter.retrieve() );
226 }
227 else m_muonPrinter.disable(); // to avoid auto-retrieval
228
230 ATH_CHECK( m_clidSvc.retrieve() );
231 }
232
234 ATH_CHECK( m_trigDec.retrieve() );
235 ATH_MSG_INFO("TDT Executing with navigation format: " << m_trigDec->getNavigationFormat());
236 }
238
239 return StatusCode::SUCCESS;
240}
241
242
244
245 /* fwinkl, Mar 20222:
246 Some attempt was made to make the code pass the thread-checker. Methods that
247 are clearly not thread-safe (e.g. use of DataHandle) are marked as such. Calling
248 these methods from within execute would still trigger a thread-checker warning.
249 Since this algorithm is only ever used for validation and in single-threaded athena,
250 we suppress these warnings by the following assignment. This has the advantage
251 (as opposed to disabling the checking for the entire file) that new code is still
252 being checked and will hopefully be written in a thread-safe manner, i.e. using
253 ReadHandleKeys. If someone is very eager they could migrate all uses of DataHandles...
254 */
255 StatusCode sc ATLAS_THREAD_SAFE = do_execute();
256 return sc;
257}
258
259StatusCode TrigEDMChecker::do_execute ATLAS_NOT_THREAD_SAFE() {
260
261 ATH_MSG_INFO( " ==========START of event===========" );
262
263 if(m_doDumpTrackParticleContainer){
264 StatusCode sc = dumpTrackParticleContainer();
265 if (sc.isFailure()) {
266 ATH_MSG_ERROR("The method dumpTrackParticleContainer() failed");
267 }
268 }
269
270 if(m_doDumpAll || m_doDumpLVL1_ROI ){
271 StatusCode sc = dumpLVL1_ROI();
272 if (sc.isFailure()) {
273 ATH_MSG_ERROR("The method dumpLVL1_ROI() failed");
274 }
275 }
276
277 /*
278 if(m_doDumpAll || m_doDumpTrigMissingET){
279 StatusCode sc = dumpTrigMissingET();
280 if (sc.isFailure()) {
281 mLog << MSG::ERROR << "The method dumpTrigMissingET() failed" << endmsg;
282
283 }
284 }
285 */
286
287 if(m_doDumpAll || m_doDumpxAODTrigMissingET){
288 StatusCode sc = dumpxAODTrigMissingET();
289 if (sc.isFailure()) {
290 ATH_MSG_ERROR("The method dumpxAODTrigMissingET() failed");
291 }
292 }
293
294 if(m_doDumpAll || m_doDumpMuonFeature){
295 StatusCode sc = dumpMuonFeature();
296 if (sc.isFailure()) {
297 ATH_MSG_ERROR("The method dumpMuonFeature() failed");
298 }
299 }
300
301 if(m_doDumpAll || m_doDumpCombinedMuonFeature){
302 StatusCode sc = dumpCombinedMuonFeature();
303 if (sc.isFailure()) {
304 ATH_MSG_ERROR("The method dumpCombinedMuonFeature() failed");
305 }
306 sc = dumpCombinedMuonFeatureContainer();
307 if (sc.isFailure()) {
308 ATH_MSG_ERROR("The method dumpCombinedMuonFeatureContainer() failed");
309 return StatusCode::SUCCESS;
310 }
311 }
312
313 if(m_doDumpAll || m_doDumpTileMuFeature) {
314 StatusCode sc = dumpTileMuFeatureContainer();
315 if (sc.isFailure()) {
316 ATH_MSG_ERROR("The method dumpTileMuFeatureContainer() failed");
317 }
318 }
319
320 if(m_doDumpAll || m_doDumpTileTrackMuFeature) {
321 StatusCode sc = dumpTileTrackMuFeatureContainer();
322 if (sc.isFailure()) {
323 ATH_MSG_ERROR("The method dumpTileTrackMuFeatureContainer() failed");
324 }
325 }
326
327 if(m_doDumpAll || m_doDumpTrigEMCluster){
328 StatusCode sc = dumpTrigEMCluster();
329 if (sc.isFailure()) {
330 ATH_MSG_ERROR("The method dumpTrigEMCluster() failed");
331 }
332 }
333
334 if(m_doDumpAll || m_doDumpTrigEMClusterContainer){
335 StatusCode sc = dumpTrigEMClusterContainer();
336 if (sc.isFailure()) {
337 ATH_MSG_ERROR("The method dumpTrigEMClusterContainer() failed");
338 }
339 }
340
341 if(m_doDumpAll || m_doDumpxAODTrigEMCluster){
342 StatusCode sc = dumpxAODTrigEMCluster();
343 if (sc.isFailure()) {
344 ATH_MSG_ERROR("The method dumpxAODTrigEMCluster() failed");
345 }
346 }
347
348 if(m_doDumpAll || m_doDumpxAODTrigEMClusterContainer){
349 StatusCode sc = dumpxAODTrigEMClusterContainer();
350 if (sc.isFailure()) {
351 ATH_MSG_ERROR("The method dumpxAODTrigEMClusterContainer() failed");
352 }
353 }
354
355 if(m_doDumpTrigTauClusterContainer){
356 StatusCode sc = dumpTrigTauClusterContainer();
357 if (sc.isFailure()) {
358 ATH_MSG_ERROR("The method dumpTrigTauClusterContainer() failed");
359 }
360 }
361
362 if(m_doDumpAll || m_doDumpTrigPhotonContainer){
363 StatusCode sc = dumpTrigPhotonContainer();
364 if (sc.isFailure()) {
365 ATH_MSG_ERROR("The method dumpTrigPhotonContainer() failed");
366 }
367 }
368
369 if(m_doDumpAll || m_doDumpxAODJetContainer){
370 StatusCode sc = dumpxAODJetContainer();
371 if (sc.isFailure()) {
372 ATH_MSG_ERROR("The method dumpxAODJetContainer() failed");
373 }
374 }
375
376 if(m_doDumpAll || m_doDumpTrigL2BphysContainer){
377 StatusCode sc = dumpTrigL2BphysContainer();
378 if (sc.isFailure()) {
379 ATH_MSG_ERROR("The method dumpTrigL2BphysContainer() failed");
380 }
381 }
382
383 if(m_doDumpAll || m_doDumpTrigEFBphysContainer){
384 StatusCode sc = dumpTrigEFBphysContainer();
385 if (sc.isFailure()) {
386 ATH_MSG_ERROR("The method dumpTrigEFBphysContainer() failed");
387 }
388 }
389
390 if(m_doDumpAll || m_doDumpTrigEFBjetContainer){
391 StatusCode sc = dumpTrigEFBjetContainer();
392 if (sc.isFailure()) {
393 ATH_MSG_ERROR("The method dumpTrigEFBjetContainer() failed");
394 }
395 }
396
397 if(m_doDumpAll || m_doDumpTrigL2BjetContainer){
398 StatusCode sc = dumpTrigL2BjetContainer();
399 if (sc.isFailure()) {
400 ATH_MSG_ERROR("The method dumpTrigL2BjetContainer() failed");
401 }
402 }
403
404 if(m_doDumpAll || m_doDumpTrigMuonEFContainer){
405 StatusCode sc = dumpTrigMuonEFContainer();
406 if (sc.isFailure()) {
407 ATH_MSG_ERROR("The method dumpTrigMuonEFContainer() failed");
408 }
409 }
410
411 if(m_doDumpAll || m_doDumpTrigMuonEFInfoContainer){
412 StatusCode sc = dumpTrigMuonEFInfoContainer();
413 if (sc.isFailure()) {
414 ATH_MSG_ERROR("The method dumpTrigMuonEFInfoContainer() failed");
415 }
416 }
417
418 if(m_doDumpAll || m_doDumpTrigMuonEFIsolationContainer) {
419 StatusCode sc = dumpTrigMuonEFIsolationContainer();
420 if(sc.isFailure()) {
421 ATH_MSG_ERROR("The method dumpTrigMuonEFIsolationContainer() failed");
422 }
423 }
424
425 if(m_doDumpAll || m_doDumpxAODMuonContainer) {
426 StatusCode sc = dumpxAODMuonContainer();
427 if(sc.isFailure()) {
428 ATH_MSG_ERROR("The method dumpxAODMuonContainer() failed");
429 }
430 }
431
432 if(m_doDumpAll || m_doDumpTrigElectronContainer){
433 StatusCode sc = dumpTrigElectronContainer();
434 if (sc.isFailure()) {
435 ATH_MSG_ERROR("The method dumpTrigElectronContainer() failed");
436 }
437 }
438
439 if(m_doDumpAll || m_doDumpxAODTrigElectronContainer){
440 StatusCode sc = dumpxAODTrigElectronContainer();
441 if (sc.isFailure()) {
442 ATH_MSG_ERROR("The method dumpxAODTrigElectronContainer() failed");
443 }
444 }
445
446 if(m_doDumpAll || m_doDumpxAODTrigPhotonContainer){
447 StatusCode sc = dumpxAODTrigPhotonContainer();
448 if (sc.isFailure()) {
449 ATH_MSG_ERROR("The method dumpxAODTrigElectronContainer() failed");
450 }
451 }
452
453 if(m_doDumpAll || m_doDumpxAODElectronContainer){
454 StatusCode sc = dumpxAODElectronContainer();
455 if (sc.isFailure()) {
456 ATH_MSG_ERROR("The method dumpxAODTrigElectronContainer() failed");
457 }
458 }
459
460 if(m_doDumpAll || m_doDumpxAODPhotonContainer){
461 StatusCode sc = dumpxAODPhotonContainer();
462 if (sc.isFailure()) {
463 ATH_MSG_ERROR("The method dumpxAODTrigElectronContainer() failed");
464 }
465 }
466
467 if(m_doDumpTrigTauContainer){
468 StatusCode sc = dumpTrigTauContainer();
469 if (sc.isFailure()) {
470 ATH_MSG_ERROR("The method dumpTrigTauContainer() failed");
471 }
472 }
473
474 if(m_doDumpTrigTauTracksInfo){
475 StatusCode sc = dumpTrigTauTracksInfo();
476 if (sc.isFailure()) {
477 ATH_MSG_ERROR("The method dumpTrigTauTracksInfo() failed");
478 }
479 }
480
481 if(m_doDumpAll || m_doDumpHLTResult){
482 StatusCode sc = dumpHLTResult();
483 if (sc.isFailure()) {
484 ATH_MSG_ERROR("The method dumpHLTResult() failed");
485 }
486 }
487
488 if(m_doDumpTrigInDetTrackCollection){
489 StatusCode sc = dumpTrigInDetTrackCollection();
490 if (sc.isFailure()) {
491 ATH_MSG_ERROR("The method dumpTrigInDetTrackCollection() failed");
492 }
493 }
494
495 if(m_doDumpAll || m_doDumpTrigVertexCollection){
496 StatusCode sc = dumpTrigVertexCollection();
497 if (sc.isFailure()) {
498 ATH_MSG_ERROR("The method dumpTrigVertexCollection() failed");
499 }
500 }
501
502 if(m_doDumpAll || m_doDumpxAODTauJetContainer){
503 StatusCode sc = dumpxAODTauJetContainer();
504 if (sc.isFailure()) {
505 ATH_MSG_ERROR("The method dumpxAODTauJetContainer() failed");
506 }
507 }
508
509 if(m_doDumpTauJetContainer){
510 StatusCode sc = dumpTauJetContainer();
511 if (sc.isFailure()) {
512 ATH_MSG_ERROR("The method dumpTauJetContainer() failed");
513 }
514 }
515
516 if(m_doDumpAll || m_doDumpxAODTrackParticle){
517 StatusCode sc = dumpxAODTrackParticle();
518 if (sc.isFailure()) {
519 ATH_MSG_ERROR("The method dumpxAODTrackParticle() failed");
520 }
521 }
522
523 if(m_doDumpAll || m_doDumpxAODVertex){
524 StatusCode sc = dumpxAODVertex();
525 if (sc.isFailure()) {
526 ATH_MSG_ERROR("The method dumpxAODVertex() failed");
527 }
528 }
529
530 if (m_doDumpAll || m_doDumpxAODTrigMinBias){
531 StatusCode sc = dumpxAODTrigMinBias();
532 if (sc.isFailure()) {
533 ATH_MSG_ERROR("The method dumpxAODTrigMinBias() failed");
534 }
535 }
536
537 if (m_doDumpTrigPassBits){
538 StatusCode sc = dumpTrigPassBits();
539 if (sc.isFailure()) {
540 ATH_MSG_ERROR("The method dumpTrigPassBits() failed");
541 }
542 }
543
544 if (m_doDumpAll || m_doDumpStoreGate) {
545 ATH_MSG_DEBUG(evtStore()->dump());
546 }
547
548 if (m_doDumpAll || m_doDumpNavigation) {
549 StatusCode sc = dumpNavigation();
550 if ( sc.isFailure() ) {
551 ATH_MSG_ERROR("The method dumpNavigation() failed");
552 }
553 }
554
555 if (m_doDumpAll || m_doTDTCheck) {
556 ATH_CHECK(dumpTDT());
557 }
558
559 if (m_doDumpAll || m_doDumpAllTrigComposite || m_dumpTrigCompositeContainers.size() > 0) {
560 ATH_CHECK( dumpTrigComposite() );
561 }
562
563 if (m_doDumpAll || m_doDumpTrigCompsiteNavigation) {
564 std::string trigCompositeSteering;
565 bool pass;
566 ATH_CHECK(TrigCompositeNavigationToDot(trigCompositeSteering, pass));
567 const EventContext& context = Gaudi::Hive::currentContext();
568 const std::string evtNumber = std::to_string(context.eventID().event_number());
569 const std::string passStr = (pass ? "Pass" : "Fail");
570 std::ofstream ofile(std::string("NavGraph_" + m_dumpNavForChain + "_Ev" + evtNumber + "_" + passStr + ".dot").c_str());
571 ofile << trigCompositeSteering;
572 }
573
574
575
576 ATH_MSG_INFO( " ==========END of event===========" );
577 return StatusCode::SUCCESS;
578
579}
580
583 const std::string name="HLT_xAOD__TrigPassBitsContainer_passbits";
584 const xAOD::TrigPassBitsContainer *xbitscont=nullptr;
585 StatusCode sc = evtStore()->retrieve(xbitscont,name);
586 if (sc.isFailure() ){
587 ATH_MSG_INFO("Cannot retrieve TrigPassBits");
588 }
589 else {
590 ATH_MSG_INFO("Size of PassBits container : " << xbitscont->size());
591 for(const auto bits:*xbitscont){
592 if(bits==nullptr){
593 ATH_MSG_INFO("TrigPassBits point nullptr ");
594 continue;
595 }
596 ATH_MSG_DEBUG("Analyzing bits for " << bits->containerClid() << " of size " << bits->size() << " with bit size " << bits->passBits().size());
597 }
598
599 for(const xAOD::TrigPassBits* bits : *xbitscont){
600 if(bits==nullptr){
601 ATH_MSG_INFO("TrigPassBits point nullptr ");
602 continue;
603 }
604 ATH_MSG_DEBUG("Analyzing bits for " << bits->containerClid() << " of size " << bits->size() << " with bit size " << bits->passBits().size());
605 }
606 }
607 return StatusCode::SUCCESS;
608}
609
611{
612 ATH_MSG_INFO("MinBias in dumpTrigSpacePointCounts()");
613
614 std::string METTag="HLT_xAOD__TrigSpacePointCountsContainer_spacepoints";
615
616 const xAOD::TrigSpacePointCountsContainer* SpacePointCountsCont=0;
617 StatusCode sc = evtStore()->retrieve(SpacePointCountsCont,METTag);
618
619 if (sc.isFailure())
620 ATH_MSG_INFO("failed to retrieve " << METTag);
621 else {
622 ATH_MSG_INFO("Accessing " << METTag << " with " << SpacePointCountsCont->size() << " elements");
623
624 std::string s; char buff[128];
625 std::vector<float> getVec;
626 float sum;
627
628 // Loop over container content
629 for(uint i = 0; i < SpacePointCountsCont->size(); i++) {
630 getVec = SpacePointCountsCont->at(i)->contentsPixelClusEndcapC();
631 sum = 0.;
632 for (uint j = 0; j < getVec.size(); ++j) sum += getVec[j];
633 snprintf(buff, sizeof(buff), "REGTEST %s SUM of contentsPixelClusEndcapC() = %10.2f ", s.c_str(), sum );
634 ATH_MSG_INFO(buff);
635
636 getVec = SpacePointCountsCont->at(i)->contentsPixelClusBarrel();
637 sum = 0.;
638 for (uint j = 0; j < getVec.size(); ++j) sum += getVec[j];
639 snprintf(buff, sizeof(buff), "REGTEST %s SUM of contentsPixelClusBarrel() = %10.2f ", s.c_str(), sum );
640 ATH_MSG_INFO(buff);
641
642 getVec = SpacePointCountsCont->at(i)->contentsPixelClusEndcapA();
643 sum = 0.;
644 for (uint j = 0; j < getVec.size(); ++j) sum += getVec[j];
645 snprintf(buff, sizeof(buff), "REGTEST %s SUM of contentsPixelClusEndcapA() = %10.2f ", s.c_str(), sum );
646 ATH_MSG_INFO(buff);
647
648 snprintf(buff, sizeof(buff), "REGTEST %s pixelClusTotBins() = %u ", s.c_str(), SpacePointCountsCont->at(i)->pixelClusTotBins() );
649 ATH_MSG_INFO(buff);
650
651 snprintf(buff, sizeof(buff), "REGTEST %s pixelClusTotMin() = %10.2f ", s.c_str(), SpacePointCountsCont->at(i)->pixelClusTotMin() );
652 ATH_MSG_INFO(buff);
653
654 snprintf(buff, sizeof(buff), "REGTEST %s pixelClusTotMax() = %10.2f ", s.c_str(), SpacePointCountsCont->at(i)->pixelClusTotMax() );
655 ATH_MSG_INFO(buff);
656
657 snprintf(buff, sizeof(buff), "REGTEST %s pixelClusSizeBins() = %u ", s.c_str(), SpacePointCountsCont->at(i)->pixelClusSizeBins() );
658 ATH_MSG_INFO(buff);
659
660 snprintf(buff, sizeof(buff), "REGTEST %s pixelClusSizeMin() = %10.2f ", s.c_str(), SpacePointCountsCont->at(i)->pixelClusSizeMin() );
661 ATH_MSG_INFO(buff);
662
663 snprintf(buff, sizeof(buff), "REGTEST %s pixelClusSizeMax() = %10.2f ", s.c_str(), SpacePointCountsCont->at(i)->pixelClusSizeMax() );
664 ATH_MSG_INFO(buff);
665
666 snprintf(buff, sizeof(buff), "REGTEST %s sctSpEndcapC() = %u ", s.c_str(), SpacePointCountsCont->at(i)->sctSpEndcapC() );
667 ATH_MSG_INFO(buff);
668
669 snprintf(buff, sizeof(buff), "REGTEST %s sctSpBarrel() = %u ", s.c_str(), SpacePointCountsCont->at(i)->sctSpBarrel() );
670 ATH_MSG_INFO(buff);
671
672 snprintf(buff, sizeof(buff), "REGTEST %s sctSpEndcapA() = %u ", s.c_str(), SpacePointCountsCont->at(i)->sctSpEndcapA() );
673 ATH_MSG_INFO(buff);
674 }
675 }
676}
677
679 ATH_MSG_INFO("MinBias in dumpTrigT2MBTSBits()");
680
681 std::string METTag="HLT_xAOD__TrigT2MbtsBitsContainer_T2Mbts";
682
683 const xAOD::TrigT2MbtsBitsContainer* T2MbtsBitsCont=0;
684 StatusCode sc = evtStore()->retrieve(T2MbtsBitsCont,METTag);
685
686 if (sc.isFailure())
687 ATH_MSG_INFO("failed to retrieve " << METTag);
688 else {
689 ATH_MSG_INFO("Accessing " << METTag << " with " << T2MbtsBitsCont->size() << " elements");
690
691 std::string s; char buff[380];
692 std::vector<float> getVec;
693 float sum;
694
695 // Loop over container content
696 for(uint i = 0; i < T2MbtsBitsCont->size(); i++) {
697 getVec = T2MbtsBitsCont->at(i)->triggerEnergies();
698 sum = 0.;
699 for (uint j = 0; j < getVec.size(); ++j) sum += getVec[j];
700 snprintf(buff, sizeof(buff), "REGTEST %s SUM of triggerEnergies() = %10.2f ", s.c_str(), sum );
701 ATH_MSG_INFO(buff);
702
703 getVec = T2MbtsBitsCont->at(i)->triggerTimes();
704 sum = 0.;
705 for (uint j = 0; j < getVec.size(); ++j) sum += getVec[j];
706 snprintf(buff, sizeof(buff), "REGTEST %s SUM of triggerTimes() = %10.2f ", s.c_str(), sum );
707 ATH_MSG_INFO(buff);
708 }
709 }
710}
711
713 ATH_MSG_INFO("MinBias in dumpTrigVertexCounts()");
714
715 std::string METTag="HLT_xAOD__TrigVertexCountsContainer_vertexcounts";
716
717 const xAOD::TrigVertexCountsContainer* T2VertexCountsCont=0;
718 StatusCode sc = evtStore()->retrieve(T2VertexCountsCont,METTag);
719
720 if (sc.isFailure())
721 ATH_MSG_INFO("failed to retrieve " << METTag);
722 else {
723 ATH_MSG_INFO("Accessing " << METTag << " with " << T2VertexCountsCont->size() << " elements");
724
725 std::string s; char buff[380];
726 std::vector<float> fgetVec;
727 float fsum(0.);
728 std::vector<unsigned int> ugetVec;
729 unsigned int usum(0);
730
731 // Loop over container content
732 for(uint i = 0; i < T2VertexCountsCont->size(); i++) {
733 ugetVec = T2VertexCountsCont->at(i)->vtxNtrks();
734 for (uint j = 0; j < ugetVec.size(); ++j) usum += ugetVec[j];
735 snprintf(buff, sizeof(buff), "REGTEST %s SUM of vtxNtrks() = %u ", s.c_str(), usum );
736 ATH_MSG_INFO(buff);
737
738 fgetVec = T2VertexCountsCont->at(i)->vtxTrkPtSqSum();
739 for (uint j = 0; j < fgetVec.size(); ++j) fsum += fgetVec[j];
740 snprintf(buff, sizeof(buff), "REGTEST %s SUM of vtxTrkPtSqSum() = %10.2f ", s.c_str(), fsum );
741 ATH_MSG_INFO(buff);
742 }
743 }
744}
745
747 ATH_MSG_INFO("MinBias in dumpTrigTrackCounts()");
748
749 std::string METTag="HLT_xAOD__TrigTrackCountsContainer_trackcounts";
750
751 const xAOD::TrigTrackCountsContainer* T2TrackCountsCont=0;
752 StatusCode sc = evtStore()->retrieve(T2TrackCountsCont,METTag);
753
754 if (sc.isFailure())
755 ATH_MSG_INFO("failed to retrieve " << METTag);
756 else {
757 ATH_MSG_INFO("Accessing " << METTag << " with " << T2TrackCountsCont->size() << " elements");
758
759 std::string s; char buff[380];
760 std::vector<float> getVec;
761 float sum;
762
763 // Loop over container content
764 for(uint i = 0; i < T2TrackCountsCont->size(); i++) {
765 getVec = T2TrackCountsCont->at(i)->z0_pt();
766 sum = 0.;
767 for (uint j = 0; j < getVec.size(); ++j) sum += getVec[j];
768 snprintf(buff, sizeof(buff), "REGTEST %s SUM of z0_pt = %10.2f ", s.c_str(), sum );
769 ATH_MSG_INFO(buff);
770
771 getVec = T2TrackCountsCont->at(i)->eta_phi();
772 sum = 0.;
773 for (uint j = 0; j < getVec.size(); ++j) sum += getVec[j];
774 snprintf(buff, sizeof(buff), "REGTEST %s SUM of eta_phi() = %10.2f ", s.c_str(), sum );
775 ATH_MSG_INFO(buff);
776
777 snprintf(buff, sizeof(buff), "REGTEST %s z0Bins() = %u ", s.c_str(), T2TrackCountsCont->at(i)->z0Bins() );
778 ATH_MSG_INFO(buff);
779
780 snprintf(buff, sizeof(buff), "REGTEST %s z0Min() = %10.2f ", s.c_str(), T2TrackCountsCont->at(i)->z0Min() );
781 ATH_MSG_INFO(buff);
782
783 snprintf(buff, sizeof(buff), "REGTEST %s z0Max() = %10.2f ", s.c_str(), T2TrackCountsCont->at(i)->z0Max() );
784 ATH_MSG_INFO(buff);
785
786 snprintf(buff, sizeof(buff), "REGTEST %s ptBins() = %u ", s.c_str(), T2TrackCountsCont->at(i)->ptBins() );
787 ATH_MSG_INFO(buff);
788
789 snprintf(buff, sizeof(buff), "REGTEST %s ptMin() = %10.2f ", s.c_str(), T2TrackCountsCont->at(i)->ptMin() );
790 ATH_MSG_INFO(buff);
791
792 snprintf(buff, sizeof(buff), "REGTEST %s ptMax() = %10.2f ", s.c_str(), T2TrackCountsCont->at(i)->ptMax() );
793 ATH_MSG_INFO(buff);
794
795 snprintf(buff, sizeof(buff), "REGTEST %s etaBins() = %u ", s.c_str(), T2TrackCountsCont->at(i)->etaBins() );
796 ATH_MSG_INFO(buff);
797
798 snprintf(buff, sizeof(buff), "REGTEST %s etaMin() = %10.2f ", s.c_str(), T2TrackCountsCont->at(i)->etaMin() );
799 ATH_MSG_INFO(buff);
800
801 snprintf(buff, sizeof(buff), "REGTEST %s etaMax() = %10.2f ", s.c_str(), T2TrackCountsCont->at(i)->etaMax() );
802 ATH_MSG_INFO(buff);
803
804 snprintf(buff, sizeof(buff), "REGTEST %s phiBins() = %u ", s.c_str(), T2TrackCountsCont->at(i)->phiBins() );
805 ATH_MSG_INFO(buff);
806
807 snprintf(buff, sizeof(buff), "REGTEST %s phiMin() = %10.2f ", s.c_str(), T2TrackCountsCont->at(i)->phiMin() );
808 ATH_MSG_INFO(buff);
809
810 snprintf(buff, sizeof(buff), "REGTEST %s phiMax() = %10.2f ", s.c_str(), T2TrackCountsCont->at(i)->phiMax() );
811 ATH_MSG_INFO(buff);
812 }
813 }
814}
815
817
822
823 return StatusCode::SUCCESS;
824}
825
827
828
829
831
832 ATH_MSG_INFO("dumpxAODTrigMissingET()");
833
834 int ntag=4;
835 std::string METTags[]={"HLT_xAOD__TrigMissingETContainer_EFJetEtSum","HLT_xAOD__TrigMissingETContainer_TrigEFMissingET", "HLT_xAOD__TrigMissingETContainer_TrigL2MissingET_FEB","HLT_xAOD__TrigMissingETContainer_TrigEFMissingET_topocl"};
836
837 for(int itag=0; itag <ntag; itag++) {
838
839 const xAOD::TrigMissingETContainer* MissingETCont=0;
840 StatusCode sc = evtStore()->retrieve(MissingETCont,METTags[itag]);
841 if (sc.isFailure())
842 ATH_MSG_INFO("failed to retrieve " << METTags[itag]);
843 else {
844 ATH_MSG_INFO("Accessing " << METTags[itag] << " with " << MissingETCont->size() << " elements");
845
846 // Loop over container content
847 for(uint i = 0; i < MissingETCont->size(); i++) {
848
849 std::string s; char buff[3000];
850
851 snprintf(buff, sizeof(buff), "REGTEST %s Ex = %10.2f CLHEP::MeV", s.c_str(), MissingETCont->at(i)->ex() );
852 ATH_MSG_INFO(buff);
853 snprintf(buff, sizeof(buff), "REGTEST %s Ey = %10.2f CLHEP::MeV", s.c_str(), MissingETCont->at(i)->ey() );
854 ATH_MSG_INFO(buff);
855 snprintf(buff, sizeof(buff), "REGTEST %s Ez = %10.2f CLHEP::MeV", s.c_str(), MissingETCont->at(i)->ez() );
856 ATH_MSG_INFO(buff);
857 snprintf(buff, sizeof(buff), "REGTEST %s SumET = %10.2f CLHEP::MeV", s.c_str(), MissingETCont->at(i)->sumEt() );
858 ATH_MSG_INFO(buff);
859 snprintf(buff, sizeof(buff), "REGTEST %s SumE = %10.2f CLHEP::MeV", s.c_str(), MissingETCont->at(i)->sumE() );
860 ATH_MSG_INFO(buff);
861 snprintf(buff, sizeof(buff), "REGTEST %s Flag = %d", s.c_str(), MissingETCont->at(i)->flag() );
862 ATH_MSG_INFO(buff);
863 snprintf(buff, sizeof(buff), "REGTEST %s Flag = %d", s.c_str(), MissingETCont->at(i)->roiWord() );
864 ATH_MSG_INFO(buff);
865
866 unsigned int Nc = MissingETCont->at(i)->getNumberOfComponents();
867 if (Nc > 0) {
868 s="REGTEST __name____status_usedChannels__sumOfSigns__calib1_calib0";
869 s+="/MeV__ex/MeV_____ey/MeV_____ez/MeV___sumE/MeV__sumEt/CLHEP::MeV";
870 ATH_MSG_INFO(s);
871 }
872
873 for(uint j = 0; j < Nc; j++) {
874
875 std::string name = MissingETCont->at(i)->nameOfComponent(j);
876 const short status = MissingETCont->at(i)->statusComponent(j);
877 const unsigned short usedChan = MissingETCont->at(i)->usedChannelsComponent(j);
878 const short sumOfSigns = MissingETCont->at(i)->sumOfSignsComponent(j);
879 const float calib0 = MissingETCont->at(i)->calib0Component(j);
880 const float calib1 = MissingETCont->at(i)->calib1Component(j);
881 const float ex = MissingETCont->at(i)->exComponent(j);
882 const float ey = MissingETCont->at(i)->eyComponent(j);
883 const float ez = MissingETCont->at(i)->ezComponent(j);
884 const float sumE = MissingETCont->at(i)->sumEComponent(j);
885 const float sumEt = MissingETCont->at(i)->sumEtComponent(j);
886
887 snprintf(buff, sizeof(buff),
888 "REGTEST %s %6d %12d %10d %6.2f %6.3f %10.2f %10.2f %10.2f %10.2f %10.2f",
889 name.c_str(), status, usedChan, sumOfSigns, calib1, calib0,
890 ex, ey, ez, sumE, sumEt);
891 ATH_MSG_INFO(buff);
892 }
893 }
894 }
895 }
896
897 return StatusCode::SUCCESS;
898}
899
901
902
903
904StatusCode TrigEDMChecker::dumpTrigMissingET ATLAS_NOT_THREAD_SAFE() {
905
906 ATH_MSG_DEBUG("in dumpTrigMissingET()");
907
908 int ntag=3;
909 std::string METTags[]={"HLT_TrigMissingETContainer_TrigEFMissingET", "HLT_TrigMissingETContainer_TrigEFMissingET_FEB", "HLT_TrigMissingETContainer_TrigEFMissingET_topocl"};
910
912 for (int itag=0; itag < ntag; itag++) { // loop over L2, EF
913 const TrigMissingETContainer* trigMETcont;
914 StatusCode sc=evtStore()->retrieve(trigMETcont , METTags[itag]);
915 if( sc.isFailure() ){
916 ATH_MSG_INFO("Failed to retrieve TrigMissingETContainer with key " << METTags[itag]);
917 continue;
918 }
919
920 ATH_MSG_INFO("Got TrigMissingETContainer with key \"" << METTags[itag]<< "\"");
921
922 for (const TrigMissingET* met : *trigMETcont) {
923
924 ATH_MSG_INFO("REGTEST ==========START of TrigMissingET DUMP===========");
925
926 std::string s;
927 char buff[128];
928
929 snprintf(buff, sizeof(buff), "REGTEST %s Ex = %10.2f CLHEP::MeV", s.c_str(), met->ex() );
930 ATH_MSG_INFO(buff);
931 snprintf(buff, sizeof(buff), "REGTEST %s Ey = %10.2f CLHEP::MeV", s.c_str(), met->ey() );
932 ATH_MSG_INFO(buff);
933 snprintf(buff, sizeof(buff), "REGTEST %s Ez = %10.2f CLHEP::MeV", s.c_str(), met->ez() );
934 ATH_MSG_INFO(buff);
935 snprintf(buff, sizeof(buff), "REGTEST %s Et = %10.2f CLHEP::MeV", s.c_str(), met->et() );
936 ATH_MSG_INFO(buff);
937 snprintf(buff, sizeof(buff), "REGTEST %s SumEt = %10.2f CLHEP::MeV", s.c_str(), met->sumEt() );
938 ATH_MSG_INFO(buff);
939 snprintf(buff, sizeof(buff), "REGTEST %s SumE = %10.2f CLHEP::MeV", s.c_str(), met->sumE() );
940 ATH_MSG_INFO(buff);
941 snprintf(buff, sizeof(buff), "REGTEST %s E = %10.2f CLHEP::MeV", s.c_str(), met->e() );
942 ATH_MSG_INFO(buff);
943 snprintf(buff, sizeof(buff), "REGTEST %s flag = %10d", s.c_str(), met->getFlag() );
944 ATH_MSG_INFO(buff);
945 snprintf(buff, sizeof(buff), "REGTEST %s RoIword = %10ld", s.c_str(), met->RoIword() );
946 ATH_MSG_INFO(buff);
947
948 unsigned int Nc = met->getNumOfComponents();
949 if (Nc > 0) {
950 s="REGTEST __name____status_usedChannels__sumOfSigns__calib1_calib0";
951 s+="/MeV__ex/MeV_____ey/MeV_____ez/MeV___sumE/MeV__sumEt/CLHEP::MeV";
952 ATH_MSG_INFO(s);
953
954 for (unsigned int i=0; i<Nc; ++i) { // loop over components
955 std::string name = met->getNameOfComponent(i);
956 const short status = met->getStatus(i);
957 const unsigned short usedChan = met->getUsedChannels(i);
958 const short sumOfSigns = met->getSumOfSigns(i);
959 const float calib0 = met->getComponentCalib0(i);
960 const float calib1 = met->getComponentCalib1(i);
961 const float ex = met->getExComponent(i);
962 const float ey = met->getEyComponent(i);
963 const float ez = met->getEzComponent(i);
964 const float sumE = met->getSumEComponent(i);
965 const float sumEt = met->getSumEtComponent(i);
966
967 snprintf(buff, sizeof(buff),
968 "REGTEST %s %6d %12d %10d %6.2f %6.3f %10.2f %10.2f %10.2f %10.2f %10.2f",
969 name.c_str(), status, usedChan, sumOfSigns, calib1, calib0,
970 ex, ey, ez, sumE, sumEt);
971 ATH_MSG_INFO(buff);
972 } // loop over components
973 }
974 } // loop over TrigMissingET objects
975 } // loop over TrigMissingETContainers
976
977 // if( sc.isSuccess() ) return sc; // Commented out by FB (12.07.14)
978
980 ATH_MSG_INFO("Trying to fetch TrigMissingET objects from older releases");
981
982 SG::ConstIterator<TrigMissingET> trigMETfirst ,trigMETlast;
983 StatusCode sc=evtStore()->retrieve(trigMETfirst ,trigMETlast);
984 if( sc.isFailure() ){
985 ATH_MSG_INFO("Failed to retrieve TrigMissingET (rel. <= 14.2.0)");
986 }
987
988 for( ; trigMETfirst != trigMETlast ; ++trigMETfirst ){ // loop over TrigMissingET objects
989 const std::string& name(trigMETfirst.key());
990 ATH_MSG_INFO("Got TrigMissingET object with key \"" << name << "\"");
991
992 std::string s;
993 char buff[3000];
994
995 if( name.find("TrigEFMissingET") != std::string::npos ) {
996 s="REGTEST EF: ";
997 } else if( name.find("T2MissingET") != std::string::npos ){
998 s="REGTEST L2: ";
999 } else {
1000 ATH_MSG_WARNING(" This is UNKNOWN! " << name);
1001 s="REGTEST ??? ";
1002 }
1003
1004 snprintf(buff, sizeof(buff), "%s Ex = %10.2f CLHEP::MeV", s.c_str(), trigMETfirst->ex() );
1005 ATH_MSG_INFO(buff);
1006 snprintf(buff, sizeof(buff), "%s Ey = %10.2f CLHEP::MeV", s.c_str(), trigMETfirst->ey() );
1007 ATH_MSG_INFO(buff);
1008 snprintf(buff, sizeof(buff), "%s Ez = %10.2f CLHEP::MeV", s.c_str(), trigMETfirst->ez() );
1009 ATH_MSG_INFO(buff);
1010 snprintf(buff, sizeof(buff), "%s Et = %10.2f CLHEP::MeV", s.c_str(), trigMETfirst->et() );
1011 ATH_MSG_INFO(buff);
1012 snprintf(buff, sizeof(buff), "%s SumE = %10.2f CLHEP::MeV", s.c_str(), trigMETfirst->sumE() );
1013 ATH_MSG_INFO(buff);
1014 snprintf(buff, sizeof(buff), "%s SumEt = %10.2f CLHEP::MeV", s.c_str(), trigMETfirst->sumEt() );
1015 ATH_MSG_INFO(buff);
1016 snprintf(buff, sizeof(buff), "%s E = %10.2f CLHEP::MeV", s.c_str(), trigMETfirst->e() );
1017 ATH_MSG_INFO(buff);
1018 snprintf(buff, sizeof(buff), "%s flag = %10d", s.c_str(), trigMETfirst->getFlag() );
1019 ATH_MSG_INFO(buff);
1020 snprintf(buff, sizeof(buff), "%s RoIword = %10ld", s.c_str(), trigMETfirst->RoIword() );
1021 ATH_MSG_INFO(buff);
1022
1023 unsigned int Nc = trigMETfirst->getNumOfComponents();
1024 if (Nc > 0) {
1025 s="REGTEST __name____status_usedChannels__sumOfSigns__calib1_calib0";
1026 s+="/MeV__ex/MeV_____ey/MeV_____ez/MeV___sumE/MeV__sumEt/CLHEP::MeV";
1027 ATH_MSG_INFO(s);
1028
1029 for (unsigned int i=0; i<Nc; ++i) { // loop over components
1030 std::string name = trigMETfirst->getNameOfComponent(i);
1031 const short status = trigMETfirst->getStatus(i);
1032 const unsigned short usedChan = trigMETfirst->getUsedChannels(i);
1033 const short sumOfSigns = trigMETfirst->getSumOfSigns(i);
1034 const float calib0 = trigMETfirst->getComponentCalib0(i);
1035 const float calib1 = trigMETfirst->getComponentCalib1(i);
1036 const float ex = trigMETfirst->getExComponent(i);
1037 const float ey = trigMETfirst->getEyComponent(i);
1038 const float ez = trigMETfirst->getEzComponent(i);
1039 const float sumE = trigMETfirst->getSumEComponent(i);
1040 const float sumEt = trigMETfirst->getSumEtComponent(i);
1041
1042 snprintf(buff, sizeof(buff),
1043 "REGTEST %s %6d %12d %10d %6.2f %6.3f %10.2f %10.2f %10.2f %10.2f %10.2f",
1044 name.c_str(), status, usedChan, sumOfSigns, calib1, calib0,
1045 ex, ey, ez, sumE, sumEt);
1046 ATH_MSG_INFO(buff);
1047 } // loop over components
1048 }
1049 } // loop over TrigMissingET objects
1050
1051 ATH_MSG_INFO("REGTEST ==========END of TrigMissingET DUMP===========");
1052
1053 return StatusCode::SUCCESS;
1054}
1055
1057
1059
1060 ATH_MSG_DEBUG("in dumpTrackParticleContainer()");
1061
1062 ATH_MSG_INFO("REGTEST ==========START of TrackParticleContainer DUMP===========");
1063
1064 std::string trackPtags[]={"HLT_InDetTrigParticleCreation_Bjet_EFID",
1065 "HLT_InDetTrigParticleCreation_Bphysics_EFID",
1066 "HLT_InDetTrigParticleCreation_Electron_EFID",
1067 "HLT_InDetTrigParticleCreation_FullScan_EFID",
1068 "HLT_InDetTrigParticleCreation_Muon_EFID",
1069 "HLT_InDetTrigParticleCreation_Photon_EFID",
1070 "HLT_InDetTrigParticleCreation_Tau_EFID"};
1071
1072 int ntag=7;
1073
1074 StatusCode returnsc=StatusCode::SUCCESS;
1075
1076 for (int itag=0; itag<ntag; itag++){
1077 const Rec::TrackParticleContainer* pTrackParticleC = nullptr;
1078 StatusCode sc = evtStore()->retrieve(pTrackParticleC, trackPtags[itag]);
1079 if (sc.isFailure()) {
1080 ATH_MSG_INFO("REGTEST No TrackParticleContainer found with tag " << trackPtags[itag]);
1081 continue;
1082 }
1083 ATH_MSG_INFO("TrackParticleContainer found with tag " << trackPtags[itag]
1084 << " and size " << pTrackParticleC->size());
1085
1086 Rec::TrackParticleContainer::const_iterator trackItr = pTrackParticleC->begin();
1087 Rec::TrackParticleContainer::const_iterator trackItrE = pTrackParticleC->end();
1088 for (int ind=1; trackItr != trackItrE; ++trackItr, ind++) {
1089 const Rec::TrackParticle * trackParticle = (*trackItr);
1090 ATH_MSG_INFO(" TrackParticle " << ind << " charge "
1091 << trackParticle->charge() << " p "
1092 << trackParticle->p()<< " eta " << trackParticle->eta()
1093 << " phi " << trackParticle->phi());
1094
1096 const Trk::Track * track = trackParticle->originalTrack();
1097 if ( track ) {
1098 ATH_MSG_INFO(" Got attached track");
1099 const Trk::TrackParameters* perigee = track->perigeeParameters();
1100 if (perigee) {
1101 const auto& parameterVector = perigee->parameters();
1102 ATH_MSG_INFO(" q/P " << parameterVector[Trk::qOverP] <<
1103 " theta " << parameterVector[Trk::theta] <<
1104 " phi " <<parameterVector[Trk::phi]);
1105 } else {
1106 ATH_MSG_INFO(" No perigee attached to track");
1107 }
1108
1109 } else {
1111 ATH_MSG_DEBUG(" No attached track");
1113 ATH_MSG_WARNING(" Max attached track warning reached, no further warnings given");
1114 }
1116 }
1117 }
1118
1120 const Trk::VxCandidate * vertex = trackParticle->reconstructedVertex();
1121 if ( vertex ) {
1122 const Trk::RecVertex& vtx = vertex->recVertex();
1123 const Amg::Vector3D& position = vtx.position();
1124 ATH_MSG_INFO(" vertex position (" << position[0] << ", " <<
1125 position[1] << ", " << position[2] << ") ");
1126 } else {
1128 ATH_MSG_DEBUG(" No attached vertex");
1130 ATH_MSG_WARNING(" Max attached vertex warning reached, no further warnings given");
1131 }
1133 }
1134 }
1135
1136 const Trk::Perigee* perigee = trackParticle->measuredPerigee();
1137 if (perigee) {
1138 const auto& parameters = perigee->parameters();
1139 ATH_MSG_INFO("Trk::Perigee parameters:");
1140 ATH_MSG_INFO(" * d_0 : "<< parameters[Trk::d0] );
1141 ATH_MSG_INFO(" * z_0 : "<< parameters[Trk::z0] );
1142 ATH_MSG_INFO(" * phi : "<< parameters[Trk::phi] );
1143 ATH_MSG_INFO(" * Theta : "<< parameters[Trk::theta] );
1144 ATH_MSG_INFO(" * q/p : "<< parameters[Trk::qOverP] );
1145 } else {
1146 ATH_MSG_WARNING(" No attached perigee");
1147 }
1149 const Trk::TrackSummary* summary = trackParticle->trackSummary();
1150 if (summary) {
1151 ATH_MSG_DEBUG("Track summary information:");
1152 ATH_MSG_DEBUG(" * Number of B layer hits : "<<summary->get(Trk::numberOfBLayerHits));
1153 ATH_MSG_DEBUG(" * Number of pixel hits : "<<summary->get(Trk::numberOfPixelHits));
1154 ATH_MSG_DEBUG(" * Number of SCT hits : "<<summary->get(Trk::numberOfSCTHits));
1155 ATH_MSG_DEBUG(" * Number of TRT hits : "<<summary->get(Trk::numberOfTRTHits));
1156 }
1157 }
1158 }
1159 return returnsc;
1160}
1161
1162
1164
1166
1167 ATH_MSG_DEBUG("in dumpLVL1_ROI()");
1168
1169 ATH_MSG_INFO("REGTEST ==========START of LVL1_ROI DUMP===========");
1170
1171 const LVL1_ROI * lvl1ROI;
1172 StatusCode sc = evtStore()->retrieve(lvl1ROI);
1173 if (sc.isFailure() ) {
1174 ATH_MSG_INFO("REGTEST No LVL1_ROI found");
1175 return StatusCode::SUCCESS;
1176 }
1177
1178 ATH_MSG_INFO("REGTEST LVL1_ROI retrieved");
1179
1180 LVL1_ROI::emtaus_type::const_iterator itEMTau =
1181 (lvl1ROI->getEmTauROIs()).begin();
1182 LVL1_ROI::emtaus_type::const_iterator itEMTau_e =
1183 (lvl1ROI->getEmTauROIs()).end();
1184 int j = 0;
1185 for( ; itEMTau != itEMTau_e; ++itEMTau, ++j) {
1186 ATH_MSG_INFO("REGTEST Looking at LVL1_ROI " << j);
1187 ATH_MSG_INFO("REGTEST LVL1 EmTauROI Eta is " << itEMTau->getEta());
1188 ATH_MSG_INFO("REGTEST LVL1 EmTauROI Phi is " << itEMTau->getPhi());
1189 ATH_MSG_INFO("REGTEST LVL1 EmTauROI EMClus is " << itEMTau->getEMClus());
1190 ATH_MSG_INFO("REGTEST LVL1 EmTauROI TauClus is " << itEMTau->getTauClus());
1191 ATH_MSG_INFO("REGTEST LVL1 EmTauROI EMIsol is " << itEMTau->getEMIsol());
1192 ATH_MSG_INFO("REGTEST LVL1 EmTauROI HadIsol is " << itEMTau->getHadIsol());
1193 ATH_MSG_INFO("REGTEST LVL1 EmTauROI Core is " << itEMTau->getCore());
1194 ATH_MSG_INFO("REGTEST LVL1 EmTauROI HadCore is " << itEMTau->getHadCore());
1195 ATH_MSG_INFO("REGTEST LVL1 EmTauROI roiWord is " << itEMTau->getROIWord());
1196 }
1197
1198 ATH_MSG_INFO("REGTEST ==========END of LVL1_ROI DUMP===========");
1199 ATH_MSG_DEBUG("dumpLVL1_ROI() succeeded");
1200 return StatusCode::SUCCESS;
1201}
1202
1203
1205
1206StatusCode TrigEDMChecker::dumpTrigPhotonContainer ATLAS_NOT_THREAD_SAFE() {
1207
1208 ATH_MSG_DEBUG("in dumpTrigPhotonContainer()");
1209
1210 ATH_MSG_INFO("REGTEST ==========START of TrigPhotonContainer DUMP===========");
1211
1214
1215 StatusCode sc = evtStore()->retrieve(trigPhoton,lastTrigPhoton);
1216 if (sc.isFailure()) {
1217 ATH_MSG_INFO("REGTEST No TrigPhotonContainer found");
1218 return StatusCode::SUCCESS;
1219 }
1220 ATH_MSG_INFO("REGTEST TrigPhotonContainers retrieved");
1221
1222
1223 for (int i=0; trigPhoton != lastTrigPhoton; ++trigPhoton, ++i) {
1224
1225 ATH_MSG_INFO("REGTEST Looking at TrigPhotonContainer " << i);
1226
1227 TrigPhotonContainer::const_iterator PhotonItr = trigPhoton->begin();
1228 TrigPhotonContainer::const_iterator PhotonItrE = trigPhoton->end();
1229
1230 for (int j=0; PhotonItr != PhotonItrE; ++PhotonItr, ++j ) {
1231
1232 ATH_MSG_INFO("REGTEST Looking at TrigPhoton " << j);
1233
1234 ATH_MSG_INFO("REGTEST TrigPhoton->dPhi() returns " << (*PhotonItr)->dPhi());
1235 ATH_MSG_INFO("REGTEST TrigPhoton->dEta() returns " << (*PhotonItr)->dEta());
1236 ATH_MSG_INFO("REGTEST TrigPhoton->rCore() returns " << (*PhotonItr)->rCore());
1237 ATH_MSG_INFO("REGTEST TrigPhoton->isValid() returns " << (*PhotonItr)->isValid());
1238 ATH_MSG_INFO("REGTEST TrigPhoton->Et() returns " << (*PhotonItr)->Et());
1239
1240 if ( (*PhotonItr)->cluster() != NULL ) {
1241 ATH_MSG_INFO("REGTEST Cluster info: ");
1242 ATH_MSG_INFO("REGTEST cluster->e() returns " << (*PhotonItr)->cluster()->e());
1243 ATH_MSG_INFO("REGTEST cluster->e237() returns " << (*PhotonItr)->cluster()->e237());
1244 ATH_MSG_INFO("REGTEST cluster->e277() returns " << (*PhotonItr)->cluster()->e277());
1245 ATH_MSG_INFO("REGTEST cluster->fracs1() returns " << (*PhotonItr)->cluster()->fracs1());
1246 ATH_MSG_INFO("REGTEST cluster->weta2() returns " << (*PhotonItr)->cluster()->weta2());
1247 ATH_MSG_INFO("REGTEST cluster->ehad() returns " << (*PhotonItr)->cluster()->ehad1());
1248 ATH_MSG_INFO("REGTEST cluster->emaxs1() returns " << (*PhotonItr)->cluster()->emaxs1());
1249
1250 ATH_MSG_INFO("REGTEST Looking at P4PtEtaPhiM " << j);
1251
1252 ATH_MSG_INFO("REGTEST P4PtEtaPhiM->Pt() returns " << (*PhotonItr)->pt());
1253 ATH_MSG_INFO("REGTEST P4PtEtaPhiM->Eta() returns " << (*PhotonItr)->eta());
1254 ATH_MSG_INFO("REGTEST P4PtEtaPhiM->Phi() returns " << (*PhotonItr)->phi());
1255 ATH_MSG_INFO("REGTEST P4PtEtaPhiM->m() returns " << (*PhotonItr)->m());
1256 }
1257
1258 // printout variables using the new << operator
1259 ATH_MSG_INFO("TrigPhoton printout:");
1260 ATH_MSG_INFO("REGTEST " << (**PhotonItr));
1261
1262 // do second loop to compare TrigPhotons using comparison operators
1263 TrigPhotonContainer::const_iterator PhotonItr2 = PhotonItr;
1264 TrigPhotonContainer::const_iterator PhotonItr2E = trigPhoton->end();
1265
1266 for (int k=0; PhotonItr2 != PhotonItr2E; ++PhotonItr2, ++k ) {
1267 // find if TrigPhotons are the same (i.e. have same cluster and track
1268 if ( (**PhotonItr) == (**PhotonItr2) ) {
1269 ATH_MSG_INFO("REGTEST TrigPhoton nr. " << j << " is the same as TrigPhoton nr. " << k);
1270 } else {
1271 // TrigPhotons are different, print out differences
1272 std::map<std::string, double> v_diff;
1273 diff(*(*PhotonItr),*(*PhotonItr2), v_diff);
1274 ATH_MSG_INFO("TrigPhoton " << k << " different form TrigPhoton " << j << " :");
1275 for (const auto& p : v_diff) {
1276 ATH_MSG_INFO("TrigPhoton Delta_" << p.first << " = " << p.second);
1277 }
1278 }
1279 }
1280 }
1281 }
1282
1283 ATH_MSG_INFO("REGTEST ==========END of TrigPhotonContainer DUMP===========");
1284 ATH_MSG_DEBUG("dumpTrigPhotonContainer() succeeded");
1285
1286 return StatusCode::SUCCESS;
1287}
1288
1289
1291
1292StatusCode TrigEDMChecker::dumpTrigMuonEFContainer ATLAS_NOT_THREAD_SAFE() {
1293
1294 ATH_MSG_DEBUG("in dumpTrigMuonEFContainer()");
1295
1296 ATH_MSG_INFO("REGTEST ==========START of TrigMuonEFContainer DUMP===========");
1297
1300
1301 StatusCode sc = evtStore()->retrieve(trigMuon,lastTrigMuon);
1302 if (sc.isFailure()) {
1303 ATH_MSG_INFO("REGTEST No TrigMuonEFContainer found");
1304 return StatusCode::SUCCESS;
1305 }
1306 ATH_MSG_INFO("REGTEST TrigMuonEFContainers retrieved");
1307
1308 for (int i=0; trigMuon != lastTrigMuon; ++trigMuon, ++i) {
1309
1310 ATH_MSG_INFO("REGTEST Looking at TrigMuonEFContainer " << i);
1311
1312 TrigMuonEFContainer::const_iterator MuonItr = trigMuon->begin();
1313 TrigMuonEFContainer::const_iterator MuonItrE = trigMuon->end();
1314
1315 for (int j=0; MuonItr != MuonItrE; ++MuonItr, ++j ) {
1316
1317 ATH_MSG_INFO("REGTEST Looking at TrigMuonEF " << j);
1318
1319 ATH_MSG_INFO("REGTEST TrigMuonEF->muonCode() returns " << (*MuonItr)->MuonCode());
1320 ATH_MSG_INFO("REGTEST TrigMuonEF->roi() returns " << (*MuonItr)->RoINum());
1321 ATH_MSG_INFO("REGTEST TrigMuonEF->charge() returns " << (*MuonItr)->Charge());
1322
1323 ATH_MSG_INFO("REGTEST Looking at P4IPtCotThPhiM " << j);
1324
1325 ATH_MSG_INFO("REGTEST P4IPtCotThPhiM->iPt() returns " << (*MuonItr)->iPt());
1326 ATH_MSG_INFO("REGTEST P4IPtCotThPhiM->CotTh() returns " << (*MuonItr)->cotTh());
1327 ATH_MSG_INFO("REGTEST P4IPtCotThPhiM->Phi() returns " << (*MuonItr)->phi());
1328 ATH_MSG_INFO("REGTEST P4IPtCotThPhiM->m() returns " << (*MuonItr)->m());
1329 }
1330 }
1331
1332 ATH_MSG_INFO("REGTEST ==========END of TrigMuonEFContainer DUMP===========");
1333 ATH_MSG_DEBUG("dumpTrigMuonEFContainer() succeeded");
1334
1335 return StatusCode::SUCCESS;
1336}
1337
1339
1340 ATH_MSG_DEBUG("In dumpxAODMuonContainer");
1341
1342 ATH_MSG_INFO( "REGTEST ==========START of xAOD::MuonContainer DUMP===========" );
1343
1344 const xAOD::MuonContainer* muonCont=0;
1345 StatusCode sc = evtStore()->retrieve(muonCont,"HLT_xAOD__MuonContainer_MuonEFInfo");
1346 if (sc.isFailure()) {
1347 ATH_MSG_INFO("REGTEST No muon container HLT_xAOD__MuonContainer_MuonEFInfo");
1348 return StatusCode::SUCCESS;
1349 }
1350
1351 std::string output = m_muonPrinter->print( *muonCont );
1352 msg(MSG::INFO) << output << endmsg;
1353
1354 ATH_MSG_INFO( "REGTEST ==========END of xAOD::MuonContainer DUMP===========" );
1355
1356 return StatusCode::SUCCESS;
1357
1358}
1359
1361
1362StatusCode TrigEDMChecker::dumpTrigMuonEFInfoContainer ATLAS_NOT_THREAD_SAFE() {
1363
1364 ATH_MSG_DEBUG("in dumpTrigMuonEFInfoContainer()");
1365
1366 ATH_MSG_INFO("REGTEST ==========START of TrigMuonEFInfoContainer DUMP===========");
1367
1370
1371 StatusCode sc = evtStore()->retrieve(trigMuon,lastTrigMuon);
1372 if (sc.isFailure()) {
1373 ATH_MSG_INFO("REGTEST No TrigMuonEFInfoContainer found");
1374 return StatusCode::SUCCESS;
1375 }
1376 ATH_MSG_INFO("REGTEST TrigMuonEFInfoContainers retrieved");
1377
1378
1379 for (int i=0; trigMuon != lastTrigMuon; ++trigMuon, ++i) {
1380
1381 ATH_MSG_INFO("REGTEST -+-+-+-+ Looking at TrigMuonEFInfoContainer " << i);
1382
1383 TrigMuonEFInfoContainer::const_iterator MuonItr = trigMuon->begin();
1384 TrigMuonEFInfoContainer::const_iterator MuonItrE = trigMuon->end();
1385
1386 for (int j=0; MuonItr != MuonItrE; ++MuonItr, ++j ) {
1387
1388 ATH_MSG_INFO("REGTEST Looking at TrigMuonEFInfo " << j);
1389
1390 const TrigMuonEFInfo* muonInfo = (*MuonItr);
1391
1392 ATH_MSG_INFO("REGTEST Test self equality ");
1393 if (*muonInfo == *muonInfo) {
1394 ATH_MSG_INFO("REGTEST passed ");
1395 }
1396 else {
1397 ATH_MSG_INFO("REGTEST failed ");
1398 }
1399
1400
1401 if (muonInfo->hasTrack()) {
1402 ATH_MSG_INFO("REGTEST Test new version ");
1403
1404 ATH_MSG_INFO("REGTEST hasTracks()=true ");
1405 const TrigMuonEFInfoTrackContainer *tc = muonInfo->TrackContainer();
1406 ATH_MSG_INFO("REGTEST TrackContainer size: " << tc->size());
1407
1408 for (TrigMuonEFInfoTrackContainer::const_iterator TrackItr = tc->begin() ; TrackItr!=tc->end(); ++TrackItr) {
1409
1410 const TrigMuonEFInfoTrack* muonInfo = (*TrackItr);
1411 ATH_MSG_INFO("REGTEST MuonType(): ");
1412
1413 const TrigMuonEFTrack* muonTrack = muonInfo->SpectrometerTrack();
1414 if (muonTrack) {
1415 printMuonTrk(muonTrack);
1416 } else {
1417 ATH_MSG_INFO("REGTEST no SpectrometerTrack track found");
1418 }
1419
1420 ATH_MSG_INFO("REGTEST Looking at TrigMuonEFTrack ExtrapolatedTrack()");
1421 muonTrack = muonInfo->ExtrapolatedTrack();
1422 if (muonTrack) {
1423 printMuonTrk(muonTrack);
1424 } else {
1425 ATH_MSG_INFO("REGTEST no ExtrapolatedTrack track found");
1426 }
1427
1428 ATH_MSG_INFO("REGTEST Looking at TrigMuonEFTrack CombinedTrack()");
1429 const TrigMuonEFCbTrack* muonCbTrack = muonInfo->CombinedTrack();
1430 if (muonCbTrack) {
1431 printMuonTrk(muonTrack);
1432 } else {
1433 ATH_MSG_INFO("REGTEST no CombinedTrack track found");
1434 }
1435 }
1436
1437 }
1438
1439 if (!muonInfo) {
1440 ATH_MSG_INFO("REGTEST no TrigMuonEFInfo found");
1441 return StatusCode::SUCCESS;
1442 }
1443 ATH_MSG_INFO("REGTEST TrigMuonEFInfo->RoINum() returns " << muonInfo->RoINum());
1444 }
1445 }
1446
1447 ATH_MSG_INFO("REGTEST ==========END of TrigMuonEFInfoContainer DUMP===========");
1448 ATH_MSG_DEBUG("dumpTrigMuonEFInfoContainer() succeeded");
1449
1450 return StatusCode::SUCCESS;
1451}
1452
1454
1455StatusCode TrigEDMChecker::dumpTrigMuonEFIsolationContainer ATLAS_NOT_THREAD_SAFE() {
1456
1457 ATH_MSG_DEBUG("in dumpTrigMuonEFIsolationContainer()");
1458
1459 ATH_MSG_INFO("REGTEST ==========START of TrigMuonEFIsolationContainer DUMP===========");
1460
1463
1464 StatusCode sc = evtStore()->retrieve(trigMuon,lastTrigMuon);
1465 if (sc.isFailure()) {
1466 ATH_MSG_INFO("REGTEST No TrigMuonEFIsolationContainer found");
1467 return StatusCode::SUCCESS;
1468 }
1469 ATH_MSG_INFO("REGTEST TrigMuonEFIsolationContainers retrieved");
1470
1471
1472 for (int i=0; trigMuon != lastTrigMuon; ++trigMuon, ++i) {
1473
1474 ATH_MSG_INFO("REGTEST -+-+-+-+ Looking at TrigMuonEFIsolationContainer " << i);
1475
1476 TrigMuonEFIsolationContainer::const_iterator MuonItr = trigMuon->begin();
1477 TrigMuonEFIsolationContainer::const_iterator MuonItrE = trigMuon->end();
1478
1479 for (int j=0; MuonItr != MuonItrE; ++MuonItr, ++j ) {
1480
1481 ATH_MSG_INFO("REGTEST Looking at TrigMuonEFIsolation " << j);
1482
1483 const TrigMuonEFIsolation* muonIsolation = (*MuonItr);
1484
1485 ATH_MSG_INFO("REGTEST Test self equality ");
1486 if (*muonIsolation == *muonIsolation) {
1487 ATH_MSG_INFO("REGTEST passed ");
1488 }
1489 else {
1490 ATH_MSG_INFO("REGTEST failed ");
1491 }
1492
1493 ATH_MSG_INFO("REGTEST sumTrkPtCone02(): " << muonIsolation->sumTrkPtCone02());
1494 ATH_MSG_INFO("REGTEST sumTrkPtCone03(): " << muonIsolation->sumTrkPtCone03());
1495 ATH_MSG_INFO("REGTEST sumEtCone01() : " << muonIsolation->sumEtCone01());
1496 ATH_MSG_INFO("REGTEST sumEtCone02() : " << muonIsolation->sumEtCone02());
1497 ATH_MSG_INFO("REGTEST sumEtCone03() : " << muonIsolation->sumEtCone03());
1498 ATH_MSG_INFO("REGTEST sumEtCone04() : " << muonIsolation->sumEtCone04());
1499 ATH_MSG_INFO("REGTEST trackPosition() : " << muonIsolation->trackPosition() );
1500 // access MuonInfo* - only works for >=2012 data
1501 if(muonIsolation->getMuonInfo()) {
1502 ATH_MSG_INFO("REGTEST Link MuonEFInfo found: " << muonIsolation->getMuonInfo());
1503 if(!muonIsolation->getEFMuonInfoTrack()) {
1504 ATH_MSG_WARNING("REGTEST No InfoTrack attached to this EFIsolation object");
1505 }
1506 else {
1507 const TrigMuonEFInfoTrack* trk = muonIsolation->getEFMuonInfoTrack();
1508 ATH_MSG_INFO("REGTEST Linke EFInfoTrack has MuonType : " << trk->MuonType());
1509 if(trk->hasCombinedTrack()) ATH_MSG_INFO("REGTEST Linked EFInfoTrack combined pt : " << trk->CombinedTrack()->pt());
1510 if(trk->hasExtrapolatedTrack()) ATH_MSG_INFO("REGTEST Linked EFInfoTrack extrapolated pt : " << trk->ExtrapolatedTrack()->pt());
1511 if(trk->hasSpectrometerTrack()) ATH_MSG_INFO("REGTEST Linked EFInfoTrack MS pt : " << trk->SpectrometerTrack()->pt());
1512 if(trk->hasCombinedTrack()) {
1513 if(trk->CombinedTrack()->getIDTrackParticle())
1514 ATH_MSG_INFO("REGTEST Linked EFInfoTrack ID track pt : " << trk->CombinedTrack()->getIDTrackParticle()->pt());
1515 }
1516
1517 }
1518 }else {
1519 ATH_MSG_INFO("REGTEST No Linked MuonEFInfo, expected for pre 2012 data");
1520 }
1521
1522 }//TrigMuonEFIsolation loop
1523 }//TrigMuonEFIsolationContainer loop
1524
1525 ATH_MSG_INFO("REGTEST ==========END of TrigMuonEFIsolationContainer DUMP===========");
1526 ATH_MSG_DEBUG("dumpTrigMuonEFIsolationContainer() succeeded");
1527
1528 return StatusCode::SUCCESS;
1529
1530}//dumpTrigMuonEFIsolationContainer
1531
1532
1534 ATH_MSG_INFO("POINTER TrigMuonEFTrack: " << muonTrack);
1535 //if(muonTrack) mLog << MSG::INFO << "REGTEST TrigMuonEFTrack: " << *muonTrack << endmsg;
1536
1537// mLog <<MSG::INFO << "REGTEST TrigMuonEFTrack->charge() returns " << muonTrack->Charge() << endmsg;
1538// mLog <<MSG::INFO << "REGTEST P4IPtCotThPhiM->iPt() returns " << muonTrack->iPt() << endmsg;
1539// mLog <<MSG::INFO << "REGTEST P4IPtCotThPhiM->CotTh() returns " << muonTrack->cotTh() << endmsg;
1540// mLog <<MSG::INFO << "REGTEST P4IPtCotThPhiM->Phi() returns " << muonTrack->phi() << endmsg;
1541// mLog <<MSG::INFO << "REGTEST P4IPtCotThPhiM->m() returns " << muonTrack->m() << endmsg;
1542// mLog <<MSG::INFO << "REGTEST chi2() returns " << muonTrack->chi2() << endmsg;
1543// mLog <<MSG::INFO << "REGTEST chi2prob() returns " << muonTrack->chi2prob() << endmsg;
1544// mLog <<MSG::INFO << "REGTEST posX() returns " << muonTrack->posX() << endmsg;
1545// mLog <<MSG::INFO << "REGTEST posY() returns " << muonTrack->posY() << endmsg;
1546// mLog <<MSG::INFO << "REGTEST posZ() returns " << muonTrack->posZ() << endmsg;
1547// mLog <<MSG::INFO << "REGTEST NCscHitsEta() returns " << muonTrack->NCscHitsEta() << endmsg;
1548// mLog <<MSG::INFO << "REGTEST NCscHitsPhi() returns " << muonTrack->NCscHitsPhi() << endmsg;
1549// mLog <<MSG::INFO << "REGTEST NTgcHitsEta() returns " << muonTrack->NTgcHitsEta() << endmsg;
1550// mLog <<MSG::INFO << "REGTEST NTgcHitsPhi() returns " << muonTrack->NTgcHitsPhi() << endmsg;
1551// mLog <<MSG::INFO << "REGTEST NMdtHitsEta() returns " << muonTrack->NMdtHitsEta() << endmsg;
1552// mLog <<MSG::INFO << "REGTEST NMdtHitsPhi() returns " << muonTrack->NMdtHitsPhi() << endmsg;
1553// mLog <<MSG::INFO << "REGTEST NRpcHitsEta() returns " << muonTrack->NRpcHitsEta() << endmsg;
1554// mLog <<MSG::INFO << "REGTEST NRpcHitsPhi() returns " << muonTrack->NRpcHitsPhi() << endmsg;
1555// mLog <<MSG::INFO << "REGTEST d0() returns " << muonTrack->d0() << endmsg;
1556// mLog <<MSG::INFO << "REGTEST z0() returns " << muonTrack->z0() << endmsg;
1557}
1558
1560 ATH_MSG_INFO(" POINTER TrigMuonEFCbTrack: " << muonTrack);
1561 //if(muonTrack) mLog << MSG::INFO << "REGTEST TrigMuonEFCbTrack: " << *muonTrack << endmsg;
1562
1563// printMuonTrk(mLog,(TrigMuonEFTrack*)muonTrack);
1564// mLog <<MSG::INFO << "REGTEST TrigMuonEFCbTrack " << muonTrack << endmsg;
1565// mLog <<MSG::INFO << "REGTEST NIdPixelHits() returns " << muonTrack->NIdPixelHits() << endmsg;
1566// mLog <<MSG::INFO << "REGTEST NIdSctHits() returns " << muonTrack->NIdSctHits() << endmsg;
1567// mLog <<MSG::INFO << "REGTEST NTrtHits() returns " << muonTrack->NTrtHits() << endmsg;
1568// mLog <<MSG::INFO << "REGTEST matchChi2() returns " << muonTrack->matchChi2() << endmsg;
1569}
1570
1572
1573StatusCode TrigEDMChecker::dumpTrigElectronContainer ATLAS_NOT_THREAD_SAFE() {
1574
1575 ATH_MSG_DEBUG("in dumpTrigElectronContainer()");
1576
1577 ATH_MSG_INFO("REGTEST ==========START of TrigElectronContainer DUMP===========");
1578
1581
1582 StatusCode sc = evtStore()->retrieve(trigElec,lastTrigElec);
1583 if (sc.isFailure()) {
1584 ATH_MSG_INFO("REGTEST No TrigelectronContainer found");
1585 return StatusCode::SUCCESS;
1586 }
1587 ATH_MSG_INFO("REGTEST TrigElectronContainers retrieved");
1588
1589 // declare pointer to the last trigElectron to test comparison operators
1591
1592 for (int i=0; trigElec != lastTrigElec; ++trigElec, ++i) {
1593
1594 ATH_MSG_INFO("REGTEST Looking at TrigElectronContainer " << i);
1595
1596 TrigElectronContainer::const_iterator elecItr = trigElec->begin();
1597 TrigElectronContainer::const_iterator elecItrE = trigElec->end();
1598
1599 for (int j=0; elecItr != elecItrE; ++elecItr, ++j ) {
1600
1601 ATH_MSG_INFO("REGTEST Looking at TrigElectron " << j);
1602 // mLog <<MSG::INFO << "REGTEST TrigElectron->isValid() returns " << (*elecItr)->isValid() << endmsg;
1603 // mLog <<MSG::INFO << "REGTEST TrigElectron->pt() returns " << (*elecItr)->pt() << endmsg;
1604 // mLog <<MSG::INFO << "REGTEST TrigElectron->eta() returns " << (*elecItr)->eta() << endmsg;
1605 // mLog <<MSG::INFO << "REGTEST TrigElectron->phi() returns " << (*elecItr)->phi() << endmsg;
1606 // mLog <<MSG::INFO << "REGTEST TrigElectron->Zvtx() returns " << (*elecItr)->Zvtx() << endmsg;
1607
1608 // mLog <<MSG::INFO << "REGTEST TrigElectron->charge() returns " << (*elecItr)->charge() << endmsg;
1609 // mLog <<MSG::INFO << "REGTEST TrigElectron->trackIndx() returns " << (*elecItr)->trackIndx() << endmsg;
1610 // mLog <<MSG::INFO << "REGTEST TrigElectron->trkClusDphi() returns " << (*elecItr)->trkClusDphi() << endmsg;
1611 // mLog <<MSG::INFO << "REGTEST TrigElectron->trkClusDeta() returns " << (*elecItr)->trkClusDeta() << endmsg;
1612 // mLog <<MSG::INFO << "REGTEST TrigElectron->Pt() (track) returns " << (*elecItr)->Pt() << endmsg;
1613 // mLog <<MSG::INFO << "REGTEST TrigElectron->err_Pt() returns " << (*elecItr)->err_Pt() << endmsg;
1614 // mLog <<MSG::INFO << "REGTEST TrigElectron->err_eta() returns " << (*elecItr)->err_eta() << endmsg;
1615 // mLog <<MSG::INFO << "REGTEST TrigElectron->err_phi() returns " << (*elecItr)->err_phi() << endmsg;
1616 // mLog <<MSG::INFO << "REGTEST TrigElectron->err_Zvtx() returns " << (*elecItr)->err_Zvtx() << endmsg;
1617
1618 // mLog <<MSG::INFO << "REGTEST New methods: " << endmsg;
1619 // mLog <<MSG::INFO << "REGTEST TrigElectron->roiWord() returns " << (*elecItr)->roiWord() << endmsg;
1620 // mLog <<MSG::INFO << "REGTEST TrigElectron->trkEtaAtCalo() returns " << (*elecItr)->trkEtaAtCalo() << endmsg;
1621 // mLog <<MSG::INFO << "REGTEST TrigElectron->trkPhiAtCalo() returns " << (*elecItr)->trkPhiAtCalo() << endmsg;
1622 // mLog <<MSG::INFO << "REGTEST TrigElectron->caloEta() returns " << (*elecItr)->caloEta() << endmsg;
1623 // mLog <<MSG::INFO << "REGTEST TrigElectron->caloPhi() returns " << (*elecItr)->caloPhi() << endmsg;
1624 // mLog <<MSG::INFO << "REGTEST TrigElectron->Rcore() returns " << (*elecItr)->Rcore() << endmsg;
1625 // mLog <<MSG::INFO << "REGTEST TrigElectron->Eratio() returns " << (*elecItr)->Eratio() << endmsg;
1626 // mLog <<MSG::INFO << "REGTEST TrigElectron->EThad() returns " << (*elecItr)->EThad() << endmsg;
1627
1628 // printout variables using the new << operator
1629 ATH_MSG_INFO("TrigElectron printout:");
1630 ATH_MSG_INFO("REGTEST " << (**elecItr));
1631
1632 // do second loop to compare TrigElectrons using comparison operators
1633 TrigElectronContainer::const_iterator elecItr2 = elecItr; //trigElec->begin();
1634 TrigElectronContainer::const_iterator elecItr2E = trigElec->end();
1635
1636 for (int k=0; elecItr2 != elecItr2E; ++elecItr2, ++k ) {
1637 // find if TrigElectrons are the same (i.e. have same cluster and track
1638 if ( (**elecItr) == (**elecItr2) ) {
1639 ATH_MSG_INFO("REGTEST TrigElectron nr. " << j << " is the same as TrigElectron nr. " << k);
1640 } else {
1641 // TrigElectrons are different, print out differences
1642 std::map<std::string, double> v_diff;
1643 diff(*(*elecItr),*(*elecItr2), v_diff);
1644 ATH_MSG_INFO("TrigElectron " << k << " different form TrigElectron " << j << " :");
1645 for (const auto& p : v_diff) {
1646 ATH_MSG_INFO("TrigElectron Delta_" << p.first << " = " << p.second);
1647 }
1648 }
1649 }
1650 }
1651 }
1652
1653 ATH_MSG_INFO("REGTEST ==========END of TrigElectronContainer DUMP===========");
1654 ATH_MSG_DEBUG("dumpTrigElectronContainer() succeeded");
1655
1656 return StatusCode::SUCCESS;
1657}
1658
1661
1662 ATH_MSG_DEBUG("In dumpxAODElectronContainer");
1663
1664 ATH_MSG_INFO( "REGTEST ==========START of xAOD::TrigElectronContainer DUMP===========" );
1665
1666 const xAOD::TrigElectronContainer* elCont=0;
1667 StatusCode sc = evtStore()->retrieve(elCont,"HLT_xAOD__TrigElectronContainer_L2ElectronFex");
1668 if (sc.isFailure()) {
1669 ATH_MSG_INFO("REGTEST No TrigElectron container HLT_xAOD__TrigElectronContainer_L2ElectronFex");
1670 return StatusCode::SUCCESS;
1671 }
1672
1673 for (const auto eg : *elCont){
1674 ATH_MSG_INFO("REGTEST TrigElectron->Phi() returns " << eg->phi());
1675 ATH_MSG_INFO("REGTEST TrigElectron->Eta() returns " << eg->eta());
1676 ATH_MSG_INFO("REGTEST TrigElectron->rEta returns " << eg->rcore());
1677 ATH_MSG_INFO("REGTEST TrigElectron->eratio() returns " << eg->eratio());
1678 ATH_MSG_INFO("REGTEST TrigElectron->pt() returns " << eg->pt());
1679 ATH_MSG_INFO("REGTEST TrigElectron->etHad() returns " << eg->etHad());
1680 ATH_MSG_INFO("REGTEST TrigElectron->f1() returns " << eg->f1());
1681 ATH_MSG_INFO("REGTEST TrigElectron caloEta = " << eg->caloEta());
1682 ATH_MSG_INFO("REGTEST TrigElectron dPhiCalo" << eg->trkClusDphi());
1683 ATH_MSG_INFO("REGTEST TrigElectron dEtaCalo" << eg->trkClusDeta());
1684 ATH_MSG_INFO("REGTEST TrigElectron pTcalo" << eg->pt());
1685 ATH_MSG_INFO("REGTEST TrigElectron eTOverPt" << eg->etOverPt());
1686 ATH_MSG_INFO("REGTEST TrigElectron nTRTHits" << eg->nTRTHits());
1687 ATH_MSG_INFO("REGTEST TrigElectron nStrawHits" << eg->nTRTHiThresholdHits());
1688 ATH_MSG_INFO("REGTEST TrigElectron Check EMCluster");
1689 if(eg->emCluster()){
1690 ATH_MSG_INFO("REGTEST TrigElectron EMCluster retrieved");
1691 ATH_MSG_INFO("REGTEST TrigElectron emCluster->energy() returns " << eg->emCluster()->energy());
1692 ATH_MSG_INFO("REGTEST TrigElectron emCluster->phi() returns " << eg->emCluster()->phi());
1693 ATH_MSG_INFO("REGTEST TrigElectron emCluster->eta() returns " << eg->emCluster()->eta());
1694 ATH_MSG_INFO("REGTEST TrigElectron emCluster check Element Link");
1695 ATH_MSG_INFO("REGTEST TrigElectron emCluster energy = " << eg->emCluster()->energy());
1696 ATH_MSG_INFO("REGTEST TrigElectron ElementLink emCluster energy = " << (*eg->emClusterLink())->energy());
1697 }
1698 else ATH_MSG_INFO("REGTEST TrigElectron No EMCluster retrieved!");
1699 ATH_MSG_INFO("REGTEST TrigElectron Check TrackParticle");
1700 if(eg->trackParticle()){
1701 ATH_MSG_INFO("REGTEST TrigElectron TrackParticle retrieved");
1702 ATH_MSG_INFO("REGTEST TrigElectron trackParticle->pt() returns " << eg->trackParticle()->pt());
1703 ATH_MSG_INFO("REGTEST TrigElectron trackParticle->phi() returns " << eg->trackParticle()->phi());
1704 ATH_MSG_INFO("REGTEST TrigElectron trackParticle->eta() returns " << eg->trackParticle()->eta());
1705 ATH_MSG_INFO("REGTEST TrigElectron check TrackParticle Element Link");
1706 ATH_MSG_INFO("REGTEST TrigElectron TrackParticle pt = " << eg->trackParticle()->pt());
1707 ATH_MSG_INFO("REGTEST TrigElectron ElementLink TrackParticle pt = " << (*eg->trackParticleLink())->pt());
1708 }
1709 else ATH_MSG_INFO("REGTEST TrigElectron No TrackParticle retrieved!");
1710 }
1711 ATH_MSG_INFO( "REGTEST ==========END of xAOD::TrigElectronContainer DUMP===========" );
1712
1713 return StatusCode::SUCCESS;
1714
1715}
1716
1719
1720 ATH_MSG_DEBUG("In dumpxAODTrigPhotonContainer");
1721
1722 ATH_MSG_INFO( "REGTEST ==========START of xAOD::TrigPhotonContainer DUMP===========" );
1723
1724 const xAOD::TrigPhotonContainer* phCont=0;
1725 StatusCode sc = evtStore()->retrieve(phCont,"HLT_xAOD__TrigPhotonContainer_L2PhotonFex");
1726 if (sc.isFailure()) {
1727 ATH_MSG_INFO("REGTEST No TrigPhoton container HLT_xAOD__TrigPhotonContainer_L2PhotonFex");
1728 return StatusCode::SUCCESS;
1729 }
1730
1731 for (const auto eg : *phCont){
1732
1733 ATH_MSG_INFO("REGTEST TrigPhoton->Phi() returns " << eg->phi());
1734 ATH_MSG_INFO("REGTEST TrigPhoton->Eta() returns " << eg->eta());
1735 ATH_MSG_INFO("REGTEST TrigPhoton->dPhi() returns " << eg->dPhi());
1736 ATH_MSG_INFO("REGTEST TrigPhoton->dEta() returns " << eg->dEta());
1737 ATH_MSG_INFO("REGTEST TrigPhoton->rEta returns " << eg->rcore());
1738 ATH_MSG_INFO("REGTEST TrigPhoton->eratio() returns " << eg->eratio());
1739 ATH_MSG_INFO("REGTEST TrigPhoton->pt() returns " << eg->pt());
1740 ATH_MSG_INFO("REGTEST TrigPhoton->etHad() returns " << eg->etHad());
1741 ATH_MSG_INFO("REGTEST TrigPhoton->f1() returns " << eg->f1());
1742 ATH_MSG_INFO("REGTEST TrigPhoton Check EMCluster");
1743 if(eg->emCluster()){
1744 ATH_MSG_INFO("REGTEST TrigPhoton EMCluster retrieved");
1745 ATH_MSG_INFO("REGTEST TrigPhoton emCluster->energy() returns " << eg->emCluster()->energy());
1746 ATH_MSG_INFO("REGTEST TrigPhoton emCluster->phi() returns " << eg->emCluster()->phi());
1747 ATH_MSG_INFO("REGTEST TrigPhoton emCluster->eta() returns " << eg->emCluster()->eta());
1748 ATH_MSG_INFO("REGTEST TrigPhoton emCluster check Element Link");
1749 ATH_MSG_INFO("REGTEST TrigPhoton emCluster energy = " << eg->emCluster()->energy());
1750 ATH_MSG_INFO("REGTEST TrigPhoton ElementLink emCluster energy = " << (*eg->emClusterLink())->energy());
1751 }
1752 else ATH_MSG_INFO("REGTEST TrigPhoton No EMCluster retrieved!");
1753 }
1754 ATH_MSG_INFO( "REGTEST ==========END of xAOD::TrigPhotonContainer DUMP===========" );
1755
1756 return StatusCode::SUCCESS;
1757
1758}
1759
1762
1763 ATH_MSG_DEBUG("In dumpxAODElectronContainer");
1764
1765 ATH_MSG_INFO( "REGTEST ==========START of xAOD::ElectronContainer DUMP===========" );
1766
1767 const xAOD::ElectronContainer* elCont=0;
1768 StatusCode sc = evtStore()->retrieve(elCont,"HLT_xAOD__ElectronContainer_egamma_Electrons");
1769 if (sc.isFailure()) {
1770 ATH_MSG_INFO("REGTEST No Electron container HLT_xAOD__ElectronContainer_egamma_Electrons");
1771 return StatusCode::SUCCESS;
1772 }
1773 float val_float=-99;
1774 unsigned int isEMbit=0;
1775 bool pid=false;
1776 //DEBUG output for Egamma container
1777 ATH_MSG_INFO(" REGTEST: xAOD Reconstruction variables: ");
1778 // //Cluster and ShowerShape info
1779 //
1780 static const SG::AuxElement::Accessor< float > accLH("LHValue");
1781 static const SG::AuxElement::Accessor< float > accLHCalo("LHCaloValue");
1782 for (const auto eg : *elCont){
1783 //REGTEST printout
1784 if (eg) {
1785 ATH_MSG_INFO(" REGTEST: egamma energy: " << eg->e() );
1786 ATH_MSG_INFO(" REGTEST: egamma eta: " << eg->eta() );
1787 ATH_MSG_INFO(" REGTEST: egamma phi: " << eg->phi() );
1788 if(eg->selectionisEM(isEMbit,"isEMVLoose"))
1789 ATH_MSG_INFO(" REGTEST: isEMVLoose " << std::hex << isEMbit << std::dec);
1790 else ATH_MSG_WARNING(" REGTEST: Missing Aux info");
1791 if(eg->selectionisEM(isEMbit,"isEMLoose"))
1792 ATH_MSG_INFO(" REGTEST: isEMLoose " << std::hex << isEMbit << std::dec);
1793 else ATH_MSG_WARNING(" REGTEST: Missing Aux info");
1794 if(eg->selectionisEM(isEMbit,"isEMMedium"))
1795 ATH_MSG_INFO(" REGTEST: isEMMedium " << std::hex << isEMbit << std::dec);
1796 else ATH_MSG_WARNING(" REGTEST: Missing Aux info");
1797 if(eg->selectionisEM(isEMbit,"isEMTight"))
1798 ATH_MSG_INFO(" REGTEST: isEMTight " << std::hex << isEMbit << std::dec);
1799 else ATH_MSG_WARNING(" REGTEST: Missing Aux info");
1800 if(eg->selectionisEM(isEMbit,"isEMLHVLoose"))
1801 ATH_MSG_INFO(" REGTEST: isEMLHVLoose " << std::hex << isEMbit << std::dec);
1802 else ATH_MSG_WARNING(" REGTEST: Missing Aux info");
1803 if(eg->selectionisEM(isEMbit,"isEMLHLoose"))
1804 ATH_MSG_INFO(" REGTEST: isEMLHLoose " << std::hex << isEMbit << std::dec);
1805 else ATH_MSG_WARNING(" REGTEST: Missing Aux info");
1806 if(eg->selectionisEM(isEMbit,"isEMLHMedium"))
1807 ATH_MSG_INFO(" REGTEST: isEMLHMedium " << std::hex << isEMbit << std::dec);
1808 else ATH_MSG_WARNING(" REGTEST: Missing Aux info");
1809 if(eg->selectionisEM(isEMbit,"isEMLHTight"))
1810 ATH_MSG_INFO(" REGTEST: isEMLHTight " << std::hex << isEMbit << std::dec);
1811 else ATH_MSG_WARNING(" REGTEST: Missing Aux info");
1812 if(accLH.isAvailable(*eg))
1813 ATH_MSG_INFO(" REGTEST: LHValue " << accLH(*eg));
1814 else
1815 ATH_MSG_WARNING(" REGTEST: Missing Aux info ");
1816 if(accLHCalo.isAvailable(*eg))
1817 ATH_MSG_INFO(" REGTEST: LHValue " << accLHCalo(*eg));
1818 else
1819 ATH_MSG_WARNING(" REGTEST: Missing Aux info ");
1820 if(eg->passSelection(pid,"LHVLoose"))
1821 ATH_MSG_INFO(" REGTEST: LHVLoose " << pid);
1822 else
1823 ATH_MSG_WARNING(" REGTEST: Missing Aux info ");
1824 if(eg->passSelection(pid,"LHLoose"))
1825 ATH_MSG_INFO(" REGTEST: LHLoose " << pid);
1826 else
1827 ATH_MSG_WARNING(" REGTEST: Missing Aux info ");
1828 if(eg->passSelection(pid,"LHMedium"))
1829 ATH_MSG_INFO(" REGTEST: LHMedium " << pid);
1830 else
1831 ATH_MSG_WARNING(" REGTEST: Missing Aux info ");
1832 if(eg->passSelection(pid,"LHTight"))
1833 ATH_MSG_INFO(" REGTEST: LHTight " << pid);
1834 else
1835 ATH_MSG_WARNING(" REGTEST: Missing Aux info ");
1836 } else{
1837 ATH_MSG_INFO(" REGTEST: problems with egamma pointer" );
1838 return StatusCode::SUCCESS;
1839 }
1840 ATH_MSG_INFO(" REGTEST: caloCluster variables ");
1841 if (eg->caloCluster()) {
1842 ATH_MSG_INFO(" REGTEST: egamma cluster transverse energy: " << eg->caloCluster()->et() );
1843 ATH_MSG_INFO(" REGTEST: egamma cluster eta: " << eg->caloCluster()->eta() );
1844 ATH_MSG_INFO(" REGTEST: egamma cluster phi: " << eg->caloCluster()->phi() );
1845 double tmpeta = -999.;
1846 double tmpphi = -999.;
1847 eg->caloCluster()->retrieveMoment(xAOD::CaloCluster::ETACALOFRAME,tmpeta);
1848 eg->caloCluster()->retrieveMoment(xAOD::CaloCluster::PHICALOFRAME,tmpphi);
1849 ATH_MSG_INFO(" REGTEST: egamma cluster calo-frame coords. etaCalo = " << tmpeta);
1850 ATH_MSG_INFO(" REGTEST: egamma cluster calo-frame coords. phiCalo = " << tmpphi);
1851 } else{
1852 ATH_MSG_INFO(" REGTEST: problems with egamma cluster pointer" );
1853 }
1854 ATH_MSG_INFO("REGTEST: Check the original (uncalibrated)");
1855 static const SG::AuxElement::Accessor<ElementLink<xAOD::CaloClusterContainer> > orig ("originalCaloCluster");
1856 if (!orig.isAvailable(*eg->caloCluster()) || !orig(*eg->caloCluster()).isValid()){
1857 ATH_MSG_INFO("Problem with original cluster link");
1858 }
1859 else {
1860 const xAOD::CaloCluster *origClus = *orig(*eg->caloCluster());
1861 ATH_MSG_INFO("REGTEST:: Compare new and old clusters");
1862 ATH_MSG_INFO("REGTEST:: Original Cluster e,eta,phi" << origClus->e() << " " << origClus->eta() << " " << origClus->phi());
1863 ATH_MSG_INFO("REGTEST:: MVA Cluster e,eta,phi" << eg->caloCluster()->e() << " " << eg->caloCluster()->eta() << " " << eg->caloCluster()->phi());
1864 }
1865 ATH_MSG_INFO(" REGTEST: trackmatch variables ");
1866 if(eg->trackParticle()){
1867 ATH_MSG_INFO(" REGTEST: pt= " << eg->trackParticle()->pt());
1868 ATH_MSG_INFO(" REGTEST: charge= " << eg->trackParticle()->charge());
1869 ATH_MSG_INFO(" REGTEST: E/p= " << eg->caloCluster()->et() / eg->trackParticle()->pt() );
1870 eg->trackCaloMatchValue(val_float,xAOD::EgammaParameters::deltaEta1);
1871 ATH_MSG_INFO(" REGTEST: Delta eta 1st sampling= " << val_float);
1872 eg->trackCaloMatchValue(val_float,xAOD::EgammaParameters::deltaPhi2);
1873 ATH_MSG_INFO(" REGTEST: Delta phi 2nd sampling= " << val_float);
1874 } else{
1875 ATH_MSG_INFO(" REGTEST: no electron eg->trackParticle() pointer");
1876 }
1877
1878 //msg() << MSG::VERBOSE << " REGTEST: cluster variables " << endmsg;
1879 //clus = eg->caloCluster();
1880 ATH_MSG_INFO(" REGTEST: EMShower variables ");
1881 eg->showerShapeValue(val_float,xAOD::EgammaParameters::ethad);
1882 ATH_MSG_INFO(" REGTEST: ethad = " << val_float);
1883 eg->showerShapeValue(val_float,xAOD::EgammaParameters::e011);
1884 ATH_MSG_INFO(" REGTEST: e011 = " << val_float);
1885 eg->showerShapeValue(val_float,xAOD::EgammaParameters::e132);
1886 ATH_MSG_INFO(" REGTEST: e132 = " << val_float);
1887 eg->showerShapeValue(val_float,xAOD::EgammaParameters::e237);
1888 ATH_MSG_INFO(" REGTEST: e237 = " << val_float);
1889 eg->showerShapeValue(val_float,xAOD::EgammaParameters::e335);
1890 ATH_MSG_INFO(" REGTEST: e335 = " << val_float);
1891 eg->showerShapeValue(val_float,xAOD::EgammaParameters::e2ts1);
1892 ATH_MSG_INFO(" REGTEST: e2ts1 = " << val_float);
1893 eg->showerShapeValue(val_float,xAOD::EgammaParameters::e2tsts1);
1894 ATH_MSG_INFO(" REGTEST: e2tsts1 = " << val_float);
1895 eg->isolationValue(val_float,xAOD::Iso::ptcone20);
1896 ATH_MSG_INFO(" REGTEST: ptcone20 = " << val_float);
1897 eg->isolationValue(val_float,xAOD::Iso::ptcone30);
1898 ATH_MSG_INFO(" REGTEST: ptcone30 = " << val_float);
1899 eg->isolationValue(val_float,xAOD::Iso::ptcone40);
1900 ATH_MSG_INFO(" REGTEST: ptcone40 = " << val_float);
1901 eg->isolationValue(val_float,xAOD::Iso::etcone20);
1902 ATH_MSG_INFO(" REGTEST: etcone20 = " << val_float);
1903 eg->isolationValue(val_float,xAOD::Iso::etcone30);
1904 ATH_MSG_INFO(" REGTEST: etcone30 = " << val_float);
1905 eg->isolationValue(val_float,xAOD::Iso::etcone40);
1906 ATH_MSG_INFO(" REGTEST: etcone40 = " << val_float);
1907 //DEBUG info for Electrons which by definition have a track match
1908
1909 }
1910 ATH_MSG_INFO( "REGTEST ==========END of xAOD::ElectronContainer DUMP===========" );
1911
1912 return StatusCode::SUCCESS;
1913
1914}
1915
1918
1919 ATH_MSG_DEBUG("In dumpxAODPhotonContainer");
1920
1921 ATH_MSG_INFO( "REGTEST ==========START of xAOD::PhotonContainer DUMP===========" );
1922
1923 const xAOD::PhotonContainer* phCont=0;
1924 StatusCode sc = evtStore()->retrieve(phCont,"HLT_xAOD__PhotonContainer_egamma_Photons");
1925 if (sc.isFailure()) {
1926 ATH_MSG_INFO("REGTEST No Photon container HLT_xAOD__PhotonContainer_egamma_Photons");
1927 return StatusCode::SUCCESS;
1928 }
1929
1930 float val_float=-99;
1931 unsigned int isEMbit=0;
1932 //DEBUG output for xAOD::PhotonContainer
1933 ATH_MSG_INFO(" REGTEST: xAOD Reconstruction variables: ");
1934 // //Cluster and ShowerShape info
1935 for (const auto eg : *phCont){
1936 //REGTEST printout
1937 if (eg) {
1938 ATH_MSG_INFO(" REGTEST: egamma energy: " << eg->e() );
1939 ATH_MSG_INFO(" REGTEST: egamma eta: " << eg->eta() );
1940 ATH_MSG_INFO(" REGTEST: egamma phi: " << eg->phi() );
1941 ATH_MSG_INFO(" REGTEST: isEMLoose " << eg->selectionisEM(isEMbit,"isEMLoose"));
1942 ATH_MSG_INFO(" REGTEST: isEMLoose bit " << std::hex << isEMbit << std::dec);
1943 ATH_MSG_INFO(" REGTEST: isEMMedium " << eg->selectionisEM(isEMbit,"isEMMedium"));
1944 ATH_MSG_INFO(" REGTEST: isEMMedium bit " << std::hex << isEMbit << std::dec);
1945 ATH_MSG_INFO(" REGTEST: isEMTight " << eg->selectionisEM(isEMbit,"isEMTight"));
1946 ATH_MSG_INFO(" REGTEST: isEMTight bit " << std::hex << isEMbit << std::dec);
1947 } else{
1948 ATH_MSG_INFO(" REGTEST: problems with egamma pointer" );
1949 return StatusCode::SUCCESS;
1950 }
1951 ATH_MSG_INFO(" REGTEST: caloCluster variables ");
1952 if (eg->caloCluster()) {
1953 ATH_MSG_INFO(" REGTEST: egamma cluster transverse energy: " << eg->caloCluster()->et() );
1954 ATH_MSG_INFO(" REGTEST: egamma cluster eta: " << eg->caloCluster()->eta() );
1955 ATH_MSG_INFO(" REGTEST: egamma cluster phi: " << eg->caloCluster()->phi() );
1956 double tmpeta = -999.;
1957 double tmpphi = -999.;
1958 eg->caloCluster()->retrieveMoment(xAOD::CaloCluster::ETACALOFRAME,tmpeta);
1959 eg->caloCluster()->retrieveMoment(xAOD::CaloCluster::PHICALOFRAME,tmpphi);
1960 ATH_MSG_INFO(" REGTEST: egamma cluster calo-frame coords. etaCalo = " << tmpeta);
1961 ATH_MSG_INFO(" REGTEST: egamma cluster calo-frame coords. phiCalo = " << tmpphi);
1962 } else{
1963 ATH_MSG_INFO(" REGTEST: problems with egamma cluster pointer" );
1964 }
1965 ATH_MSG_INFO("REGTEST: Check the original (uncalibrated)");
1966 static const SG::AuxElement::Accessor<ElementLink<xAOD::CaloClusterContainer> > orig ("originalCaloCluster");
1967 if (!orig.isAvailable(*eg->caloCluster()) || !orig(*eg->caloCluster()).isValid()){
1968 ATH_MSG_INFO("Problem with original cluster link");
1969 }
1970 else {
1971 const xAOD::CaloCluster *origClus = *orig(*eg->caloCluster());
1972 ATH_MSG_INFO("REGTEST:: Compare new and old clusters");
1973 ATH_MSG_INFO("REGTEST:: Original Cluster e,eta,phi" << origClus->e() << " " << origClus->eta() << " " << origClus->phi());
1974 ATH_MSG_INFO("REGTEST:: MVA Cluster e,eta,phi" << eg->caloCluster()->e() << " " << eg->caloCluster()->eta() << " " << eg->caloCluster()->phi());
1975 }
1976 //msg() << MSG::VERBOSE << " REGTEST: cluster variables " << endmsg;
1977 //clus = eg->caloCluster();
1978 ATH_MSG_INFO(" REGTEST: EMShower variables ");
1979 eg->showerShapeValue(val_float,xAOD::EgammaParameters::ethad);
1980 ATH_MSG_INFO(" REGTEST: ethad = " << val_float);
1981 eg->showerShapeValue(val_float,xAOD::EgammaParameters::e011);
1982 ATH_MSG_INFO(" REGTEST: e011 = " << val_float);
1983 eg->showerShapeValue(val_float,xAOD::EgammaParameters::e132);
1984 ATH_MSG_INFO(" REGTEST: e132 = " << val_float);
1985 eg->showerShapeValue(val_float,xAOD::EgammaParameters::e237);
1986 ATH_MSG_INFO(" REGTEST: e237 = " << val_float);
1987 eg->showerShapeValue(val_float,xAOD::EgammaParameters::e335);
1988 ATH_MSG_INFO(" REGTEST: e335 = " << val_float);
1989 eg->showerShapeValue(val_float,xAOD::EgammaParameters::e2ts1);
1990 ATH_MSG_INFO(" REGTEST: e2ts1 = " << val_float);
1991 eg->showerShapeValue(val_float,xAOD::EgammaParameters::e2tsts1);
1992 ATH_MSG_INFO(" REGTEST: e2tsts1 = " << val_float);
1993 eg->isolationValue(val_float,xAOD::Iso::etcone20);
1994 ATH_MSG_INFO(" REGTEST: etcone20 = " << val_float);
1995 eg->isolationValue(val_float,xAOD::Iso::etcone30);
1996 ATH_MSG_INFO(" REGTEST: etcone30 = " << val_float);
1997 eg->isolationValue(val_float,xAOD::Iso::etcone40);
1998 ATH_MSG_INFO(" REGTEST: etcone40 = " << val_float);
1999 //DEBUG info for Electrons which by definition have a track match
2000
2001 }
2002 ATH_MSG_INFO( "REGTEST ==========END of xAOD::PhotonContainer DUMP===========" );
2003
2004 return StatusCode::SUCCESS;
2005
2006}
2007
2008
2009StatusCode TrigEDMChecker::dumpTrigTauContainer ATLAS_NOT_THREAD_SAFE() {
2010
2011 ATH_MSG_DEBUG("in dumpTrigTauContainer()");
2012 ATH_MSG_INFO("REGTEST ==========START of TrigTauContainer DUMP===========");
2013
2016
2017 StatusCode sc = evtStore()->retrieve(trigTau,lastTrigTau);
2018 if (sc.isFailure()) {
2019 ATH_MSG_INFO("REGTEST No TrigTauContainer found");
2020 return StatusCode::SUCCESS;
2021 }
2022 ATH_MSG_INFO("REGTEST TrigTauContainer retrieved");
2023
2024 for (int i=0; trigTau != lastTrigTau; ++trigTau, ++i) {
2025
2026 ATH_MSG_INFO("REGTEST Looking at TrigTauContainer " << i);
2027
2028 TrigTauContainer::const_iterator TrigTauItr = trigTau->begin();
2029 TrigTauContainer::const_iterator TrigTauItrE = trigTau->end();
2030
2031 for (int j=0; TrigTauItr != TrigTauItrE; ++TrigTauItr, ++j ) {
2032
2033 ATH_MSG_INFO("REGTEST Looking at TrigTau " << j);
2034
2035 ATH_MSG_INFO("REGTEST TrigTau->pt() returns " << (*TrigTauItr)->pt());
2036 ATH_MSG_INFO("REGTEST TrigTau->eta() returns " << (*TrigTauItr)->eta());
2037 ATH_MSG_INFO("REGTEST TrigTau->phi() returns " << (*TrigTauItr)->phi());
2038
2039 ATH_MSG_INFO("REGTEST TrigTau->nMatchedTracks() returns " << (*TrigTauItr)->nMatchedTracks());
2040 ATH_MSG_INFO("REGTEST TrigTau->simpleEtFlow() returns " << (*TrigTauItr)->simpleEtFlow());
2041 ATH_MSG_INFO("REGTEST TrigTau->m() returns " << (*TrigTauItr)->m());
2042 }
2043 }
2044
2045 ATH_MSG_INFO("REGTEST ==========END of TrigTau DUMP===========");
2046 ATH_MSG_DEBUG("dumpTrigTauContainer() succeeded");
2047
2048 return StatusCode::SUCCESS;
2049}
2050
2052StatusCode TrigEDMChecker::dumpTrigTauTracksInfo ATLAS_NOT_THREAD_SAFE() {
2053
2054 ATH_MSG_DEBUG("in dumpTrigTauTracksInfo()");
2055 ATH_MSG_INFO("REGTEST ==========START of TrigTauTracksInfo DUMP===========");
2056
2059
2060 StatusCode sc = evtStore()->retrieve(trigTau,lastTrigTau);
2061 if (sc.isFailure()) {
2062 ATH_MSG_INFO("REGTEST No TrigTauTracksInfo found");
2063 return StatusCode::SUCCESS;
2064 }
2065 ATH_MSG_INFO("REGTEST TrigTauTracksInfos retrieved");
2066
2067 for (int i=0; trigTau != lastTrigTau; ++trigTau, ++i) {
2068
2069 const TrigTauTracksInfo* thisTrigTau = &(*trigTau);
2070
2071 ATH_MSG_INFO("REGTEST Looking at TrigTauTracksInfo " << i);
2072
2073 ATH_MSG_INFO("REGTEST TrigTauTracksInfo->pt() returns " << thisTrigTau->pt());
2074 ATH_MSG_INFO("REGTEST TrigTauTracksInfo->eta() returns " << thisTrigTau->eta());
2075 ATH_MSG_INFO("REGTEST TrigTauTracksInfo->phi() returns " << thisTrigTau->phi());
2076
2077 ATH_MSG_INFO("REGTEST TrigTauTracksInfo->nCoreTracks() returns " << thisTrigTau->nCoreTracks());
2078 ATH_MSG_INFO("REGTEST TrigTauTracksInfo->nSlowTracks() returns " << thisTrigTau->nSlowTracks());
2079 ATH_MSG_INFO("REGTEST TrigTauTracksInfo->nIsoTracks() returns " << thisTrigTau->nIsoTracks());
2080
2081 ATH_MSG_INFO("REGTEST TrigTauTracksInfo->charge() returns " << thisTrigTau->charge());
2082 ATH_MSG_INFO("REGTEST TrigTauTracksInfo->leadingTrackPt() returns " <<
2083 thisTrigTau->leadingTrackPt());
2084 ATH_MSG_INFO("REGTEST TrigTauTracksInfo->scalarPtSumCore() returns " <<
2085 thisTrigTau->scalarPtSumCore());
2086 ATH_MSG_INFO("REGTEST TrigTauTracksInfo->scalarPtSumIso() returns " <<
2087 thisTrigTau->scalarPtSumIso());
2088 ATH_MSG_INFO("REGTEST TrigTauTracksInfo->threeFastestTracks().pt() returns " <<
2089 thisTrigTau->threeFastestTracks().pt());
2090 }
2091
2092 ATH_MSG_INFO("REGTEST ==========END of TrigTauTracksInfo DUMP===========");
2093 ATH_MSG_DEBUG("dumpTrigTauTracksInfo() succeeded");
2094
2095 return StatusCode::SUCCESS;
2096}
2097
2099
2101
2102 ATH_MSG_DEBUG("in dumpHLTResult()");
2103
2104 ATH_MSG_INFO("REGTEST ==========START of HLTResult DUMP===========");
2105
2106 const HLT::HLTResult* hltResult = 0;
2107 StatusCode sc=evtStore()->retrieve( hltResult, "HLTResult_L2");
2108 if( sc.isFailure() || !hltResult ) {
2109 ATH_MSG_INFO("No HLTResult_L2 found in TDS");
2110 return StatusCode::SUCCESS;
2111 }
2112 ATH_MSG_INFO("REGTEST HLTResult_L2 Successfully Retrieved");
2113
2114 ATH_MSG_INFO("REGTEST HLTResult_L2->isEmpty() returns " << hltResult->isEmpty());
2115 ATH_MSG_INFO("REGTEST HLTResult_L2->size() returns " << hltResult->size());
2116 ATH_MSG_INFO("REGTEST HLTResult_L2->isPassThrough() returns " << hltResult->isPassThrough());
2117 ATH_MSG_INFO("REGTEST HLTResult_L2->isAccepted() returns " << hltResult->isAccepted());
2118
2119 ATH_MSG_INFO("REGTEST ==========END of HLTResult DUMP===========");
2120
2121 ATH_MSG_DEBUG("dumpHLTResult() succeeded");
2122
2123 return StatusCode::SUCCESS;
2124}
2125
2126
2127
2128
2130
2132
2133 std::string TrigInDetTrackTags[]={ "HLT_TrigIDSCAN_Jet",
2134 "HLT_TrigIDSCAN_Tau",
2135 "HLT_TrigIDSCAN_eGamma",
2136 "HLT_TrigIDSCAN_Muon",
2137 "HLT_TrigIDSCAN_muonIso",
2138 "HLT_TrigIDSCAN_Bphysics",
2139 "HLT_TrigIDSCAN_FullScan",
2140 "HLT_TrigIDSCAN_Cosmics",
2141 "HLT_TrigIDSCAN_eGamma_Brem",
2142 "HLT_TrigIDSCAN_Tile",
2143 "HLT_TrigSiTrack_eGamma",
2144 "HLT_TrigSiTrack_Muon",
2145 "HLT_TrigSiTrack_muonIso",
2146 "HLT_TrigSiTrack_Tau",
2147 "HLT_TrigSiTrack_Jet",
2148 "HLT_TrigSiTrack_Bphysics",
2149 "HLT_TrigSiTrack_FullScan",
2150 "HLT_TrigSiTrack_Cosmics",
2151 "HLT_TRTSegmentFinder",
2152 "HLT_TRTxK"};
2153 int ntag=20;
2154
2155 ATH_MSG_DEBUG("in dumpTrigInDetTrackCollection()");
2156
2157 const TrigInDetTrackTruthMap* pTruthMap(nullptr);
2158 bool gotTruthMap = false;
2159
2160 if (evtStore()->contains<TrigInDetTrackTruthMap>("TrigInDetTrackTruthMap")) {
2161 StatusCode sc=evtStore()->retrieve(pTruthMap,"TrigInDetTrackTruthMap");
2162 if (sc.isFailure())
2163 {
2164 ATH_MSG_WARNING(" could not retrieve TrackTruthMap with key TrigInDetTruthMap");
2165 } else {
2166 gotTruthMap=true;
2167 // pTruthMap->print();
2168 }
2169 }
2170 else ATH_MSG_DEBUG(" didn't find any TrackTruthMap objects with key TrigInDetTruthMap");
2171
2172 ATH_MSG_INFO("REGTEST ==========START of TrigInDetTrackCollection DUMP===========");
2173
2174 for (int iTag=0; iTag < ntag; iTag++) {
2175 const TrigInDetTrackCollection* trigInDetTrackCollection = nullptr;
2176 StatusCode sc = evtStore()->retrieve(trigInDetTrackCollection,TrigInDetTrackTags[iTag] );
2177 if (sc.isFailure()) {
2178 ATH_MSG_DEBUG("REGTEST No TrigInDetTrackCollection found with key " << TrigInDetTrackTags[iTag]);
2179 continue;
2180 }
2181 ATH_MSG_INFO("REGTEST TrigInDetTrackCollections retrieved with key "
2182 << TrigInDetTrackTags[iTag]);
2183
2184 ATH_MSG_INFO("REGTEST TrigInDetTrackCollection->size() returns " << trigInDetTrackCollection->size());
2185
2186 TrigInDetTrackCollection::const_iterator trkItr = trigInDetTrackCollection->begin();
2187 TrigInDetTrackCollection::const_iterator trkItrE = trigInDetTrackCollection->end();
2188
2189 for (int j=0; trkItr != trkItrE; ++trkItr, ++j ) {
2190
2191 ATH_MSG_INFO("REGTEST Looking at TrigInDetTrack " << j);
2192
2193 ATH_MSG_INFO("REGTEST TrigInDetTrack->algorithmId() returns " << (*trkItr)->algorithmId());
2194 ATH_MSG_INFO("REGTEST TrigInDetTrack->chi2() returns " << (*trkItr)->chi2());
2195 ATH_MSG_INFO("REGTEST TrigInDetTrack->NStrawHits() returns " << (*trkItr)->NStrawHits());
2196
2197 ATH_MSG_INFO("REGTEST TrigInDetTrack->NStraw() returns " << (*trkItr)->NStraw());
2198 ATH_MSG_INFO("REGTEST TrigInDetTrack->NStrawTime() returns " << (*trkItr)->NStrawTime());
2199 ATH_MSG_INFO("REGTEST TrigInDetTrack->NTRHits() returns " << (*trkItr)->NTRHits());
2200
2201 ATH_MSG_INFO("REGTEST Looking at TrigInDetFitTrack->param()");
2202 const TrigInDetTrackFitPar* my_param = (*trkItr)->param();
2203
2204 ATH_MSG_INFO("REGTEST TrigInDetTrackFitPar->a0() returns " << my_param->a0());
2205 ATH_MSG_INFO("REGTEST TrigInDetTrackFitPar->z0() returns " << my_param->z0());
2206 ATH_MSG_INFO("REGTEST TrigInDetTrackFitPar->phi0() returns " << my_param->phi0());
2207 ATH_MSG_INFO("REGTEST TrigInDetTrackFitPar->eta() returns " << my_param->eta());
2208 ATH_MSG_INFO("REGTEST TrigInDetTrackFitPar->pT() returns " << my_param->pT());
2209 ATH_MSG_INFO("REGTEST TrigInDetTrackFitPar->ea0() returns " << my_param->ea0());
2210 ATH_MSG_INFO("REGTEST TrigInDetTrackFitPar->ez0() returns " << my_param->ez0());
2211 ATH_MSG_INFO("REGTEST TrigInDetTrackFitPar->ephi0() returns " << my_param->ephi0());
2212 ATH_MSG_INFO("REGTEST TrigInDetTrackFitPar->eeta() returns " << my_param->eeta());
2213 ATH_MSG_INFO("REGTEST TrigInDetTrackFitPar->epT() returns " << my_param->epT());
2214 ATH_MSG_INFO("REGTEST TrigInDetTrackFitPar->surfaceType() returns " << my_param->surfaceType());
2215 ATH_MSG_INFO("REGTEST TrigInDetTrackFitPar->surfaceCoordinate() returns " << my_param->surfaceCoordinate());
2216 ATH_MSG_INFO("REGTEST Looking at covarience matrix: ");
2217
2218 const std::vector<double>* const my_cov = my_param->cov();
2219 if (!my_cov) {
2220 ATH_MSG_INFO("REGTEST covarience matrix NULL (not stored)");
2221 } else {
2222 std::vector<double> tempcov = *my_cov;
2223 std::vector<double>::iterator iter;
2224 int k;
2225 for(iter = tempcov.begin(), k=0; iter != tempcov.end(); ++iter, ++k){
2226 ATH_MSG_INFO("REGTEST TrigInDetTrackFitPar->cov() element " << k << " is " << (*iter));
2227 }
2228 }
2229 if (gotTruthMap) {
2230 if (!(pTruthMap->hasTruth((*trkItr)))) {
2231 ATH_MSG_DEBUG(" REGTEST Track has no truth info ");
2232 } else {
2233 ATH_MSG_DEBUG(" Track has truth info: ");
2234 const TrigInDetTrackTruth* pTRTtruth = pTruthMap->truth((*trkItr));
2235 int nMatches = pTRTtruth->nrMatches() ;
2236 if (nMatches==0) {
2237 ATH_MSG_INFO(" REGTEST Track has no truth matches");
2238 } else {
2239 ATH_MSG_INFO("REGTEST number of matched truth hits: Si: " << pTruthMap->bestMatchSiHits((*trkItr))
2240 << " TRT: " << pTruthMap->bestMatchTRTHits((*trkItr)));
2241 if (pTruthMap->bestMatchSiHits((*trkItr)) > 0) {
2242
2243 const HepMcParticleLink* pSiTruth = pTruthMap->bestMatchSi((*trkItr));
2244
2245 ATH_MSG_INFO("REGTEST Si match to kine ref " << pSiTruth->barcode());
2246 if (pSiTruth->cptr() != 0) {
2247 ATH_MSG_INFO("REGTEST Si PDG id " << pSiTruth->cptr()->pdg_id());
2248 }
2249 }
2250
2251 if (pTruthMap->bestMatchTRTHits((*trkItr)) > 0) {
2252 const HepMcParticleLink* pTRTtruth = pTruthMap->bestMatchTRT((*trkItr));
2253
2254 ATH_MSG_INFO("REGTEST TRT match to kine ref " << pTRTtruth->barcode());
2255 if (pTRTtruth->cptr() != 0) {
2256 ATH_MSG_INFO("REGTEST TRT PDG id " << pTRTtruth->cptr()->pdg_id());
2257 }
2258 }
2259 }
2260 }
2261 } // if (gotTruthMap)
2262 }
2263 }
2264
2265 ATH_MSG_INFO("REGTEST ==========END of TrigInDetTrackCollection DUMP===========");
2266 ATH_MSG_DEBUG("dumpTrigInDetTrackCollection() succeeded");
2267
2268 return StatusCode::SUCCESS;
2269}
2270
2271
2273
2274StatusCode TrigEDMChecker::dumpTrigVertexCollection ATLAS_NOT_THREAD_SAFE() {
2275
2276 ATH_MSG_DEBUG("in dumpTrigVertexCollection()");
2277 ATH_MSG_INFO("REGTEST ==========START of TrigVertexCollection DUMP===========");
2278
2281
2282 StatusCode sc = evtStore()->retrieve(trigVertex,lastTrigVertex);
2283 if (sc.isFailure()) {
2284 ATH_MSG_INFO("REGTEST No TrigVertexCollection found");
2285 return StatusCode::SUCCESS;
2286 }
2287 ATH_MSG_INFO("REGTEST TrigVertexCollection retrieved");
2288
2289
2290 for (int i=0; trigVertex != lastTrigVertex; ++trigVertex, ++i) {
2291
2292 ATH_MSG_INFO("REGTEST Looking at TrigVertexCollection " << i);
2293
2294 TrigVertexCollection::const_iterator VertexItr = trigVertex->begin();
2295 TrigVertexCollection::const_iterator VertexItrE = trigVertex->end();
2296
2297 for (int j=0; VertexItr != VertexItrE; ++VertexItr, ++j ) {
2298
2299 ATH_MSG_INFO("REGTEST Looking at TrigVertex " << j);
2300
2301 ATH_MSG_INFO("REGTEST TrigVertex->x() returns " << (*VertexItr)->x());
2302 ATH_MSG_INFO("REGTEST TrigVertex->y() returns " << (*VertexItr)->y());
2303 ATH_MSG_INFO("REGTEST TrigVertex->z() returns " << (*VertexItr)->z());
2304 ATH_MSG_INFO("REGTEST TrigVertex->energyFraction() returns " << (*VertexItr)->energyFraction());
2305 ATH_MSG_INFO("REGTEST TrigVertex->ndof() returns " << (*VertexItr)->ndof());
2306
2307 if(((*VertexItr)->tracks())!=NULL ){
2308 // mLog <<MSG::INFO << "REGTEST *** ((*VertexItr)->tracks())!=NULL *** " << endmsg;
2309 TrackInVertexList::const_iterator trkItr = (*VertexItr)->tracks()->begin();
2310 TrackInVertexList::const_iterator trkItrE = (*VertexItr)->tracks()->end();
2311
2312 for (int p=0; trkItr != trkItrE; ++trkItr, ++p ) {
2313
2314 ATH_MSG_INFO("REGTEST Looking at track " << p);
2315
2316 ATH_MSG_INFO("REGTEST Tracks info: ");
2317 ATH_MSG_INFO("REGTEST tracks->NStrawHits() returns " << (*trkItr)->NStrawHits());
2318 ATH_MSG_INFO("REGTEST tracks->NStrawTime() returns " << (*trkItr)->NStrawTime());
2319 ATH_MSG_INFO("REGTEST tracks->NTRHits() returns " << (*trkItr)->NTRHits());
2320 }
2321 }
2322 }
2323 }
2324
2325 ATH_MSG_INFO("REGTEST ==========END of TrigVertexCollection DUMP===========");
2326 ATH_MSG_DEBUG("dumpTrigVertexCollection() succeeded");
2327
2328 return StatusCode::SUCCESS;
2329}
2330
2331
2333
2334
2336
2337 ATH_MSG_DEBUG("in dumpTrigEFBphysContainer()");
2338
2339 ATH_MSG_INFO("REGTEST ==========START of TrigEFBphysContainer DUMP===========");
2340
2341 std::string EFBphysTags[]={"HLT_xAOD__TrigBphysContainer_EFBMuMuFex",
2342 "HLT_xAOD__TrigBphysContainer_EFBMuMuXFex",
2343 "HLT_xAOD__TrigBphysContainer_EFDsPhiPiFex",
2344 "HLT_xAOD__TrigBphysContainer_EFMuPairs",
2345 "HLT_xAOD__TrigBphysContainer_EFMultiMuFex",
2346 "HLT_xAOD__TrigBphysContainer_EFTrackMass"
2347 };
2348
2349 int ntag= (int) sizeof(EFBphysTags) / sizeof(EFBphysTags[0]);
2350
2351
2352 for (int itag=0; itag<ntag; itag++){
2353 const xAOD::TrigBphysContainer* trigEFBphys;
2354 StatusCode sc = evtStore()->retrieve(trigEFBphys, EFBphysTags[itag]);
2355 if (sc.isFailure()) {
2356 ATH_MSG_INFO("REGTEST No TrigEFBphysContainer found with tag " << EFBphysTags[itag]);
2357 continue;
2358 }
2359
2360 ATH_MSG_INFO("REGTEST TrigEFBphysContainer found with tag " << EFBphysTags[itag]
2361 << " and size " << trigEFBphys->size());
2362
2363 // for (int i=0; trigEFBphys != lastTrigEFBphys; ++trigEFBphys, ++i) {
2364
2365 //mLog << MSG::INFO << "REGTEST Looking at TrigEFBphysContainer " << i << endmsg;
2366
2367 xAOD::TrigBphysContainer::const_iterator EFBphysItr = trigEFBphys->begin();
2368 xAOD::TrigBphysContainer::const_iterator EFBphysItrE = trigEFBphys->end();
2369
2370 for (int j=0; EFBphysItr != EFBphysItrE; ++EFBphysItr, ++j ) {
2371
2372 ATH_MSG_INFO("REGTEST Looking at TrigEFBphys " << j);
2373
2374 ATH_MSG_INFO("REGTEST TrigEFBphys->eta() returns " << (*EFBphysItr)->eta());
2375 ATH_MSG_INFO("REGTEST TrigEFBphys->phi() returns " << (*EFBphysItr)->phi());
2376 ATH_MSG_INFO("REGTEST TrigEFBphys->mass() returns " << (*EFBphysItr)->mass());
2377 ATH_MSG_INFO("REGTEST TrigEFBphys->fitmass() returns " << (*EFBphysItr)->fitmass());
2378 // ATH_MSG_INFO("REGTEST TrigEFBphys->isValid() returns " << (*EFBphysItr)->isValid());
2379 ATH_MSG_INFO("REGTEST TrigEFBphys->roiId() returns " << (*EFBphysItr)->roiId());
2380 ATH_MSG_INFO("REGTEST TrigEFBphys->particleType() returns " << (*EFBphysItr)->particleType());
2381
2382 if( (*EFBphysItr)->secondaryDecay() != NULL){
2383 const xAOD::TrigBphys * psecond =(*EFBphysItr)->secondaryDecay();
2384 ATH_MSG_INFO("REGTEST Secondary decay info: ");
2385 ATH_MSG_INFO("REGTEST pSecondDecay->eta() returns " << psecond->eta());
2386 ATH_MSG_INFO("REGTEST pSecondDecay->phi() returns " << psecond->phi());
2387 ATH_MSG_INFO("REGTEST pSecondDecay->mass() returns " << psecond->mass());
2388 ATH_MSG_INFO("REGTEST pSecondDecay->fitmass() returns " << psecond->fitmass());
2389 // ATH_MSG_INFO("REGTEST pSecondDecay->isValid() returns " << (*EFBphysItr)->secondaryDecayLink()->isValid());
2390 ATH_MSG_INFO("REGTEST pSecondDecay->roiId() returns " << psecond->roiId());
2391 ATH_MSG_INFO("REGTEST pSecondDecay->particleType() returns " << psecond->particleType());
2392
2393 } // end if secondary exists
2394
2395
2396
2397 const std::vector<ElementLink<xAOD::TrackParticleContainer> > trackVector = (*EFBphysItr)->trackParticleLinks();
2398 if (trackVector.size() != 0) {
2399 ATH_MSG_INFO(" REGTEST got track vector size: " << trackVector.size());
2400 } else {
2401 ATH_MSG_INFO(" REGTEST no track vector!!! " );
2402 }
2403 std::vector<ElementLink<xAOD::TrackParticleContainer> >::const_iterator trkIt=trackVector.begin();
2404 for (int itrk=0 ; trkIt!= trackVector.end(); ++itrk, ++trkIt) {
2405 if (!(trkIt->isValid())) {
2406 ATH_MSG_WARNING("TrackParticleContainer::Invalid ElementLink to track ");
2407 continue;
2408 }
2409 //const Trk::Perigee* trackPerigee=(*(*trkIt))->measuredPerigee();
2410 const Trk::Perigee* trackPerigee=&((*(*trkIt))->perigeeParameters());
2411
2412 // msg() << MSG::VERBOSE << "track, iterator, pointer " << itrk << " " << *trkIt << " " << *(*trkIt) << endmsg;
2413 double phi = trackPerigee->parameters()[Trk::phi];
2414 double theta = trackPerigee->parameters()[Trk::theta];
2415 double px = trackPerigee->momentum()[Trk::px];
2416 double py = trackPerigee->momentum()[Trk::py];
2417 double pt = sqrt(px*px + py*py);
2418 double eta = -std::log(tan(theta/2));
2419
2420 ATH_MSG_INFO("track " << itrk << " pt phi eta " << pt << " " <<
2421 phi << " " << eta);
2422 }
2423
2424 }
2425 }
2426 ATH_MSG_INFO("REGTEST ==========END of TrigEFBphysContainer DUMP===========");
2427 ATH_MSG_DEBUG("dumpTrigEFBphysContainer() succeeded");
2428
2429 return StatusCode::SUCCESS;
2430}
2431
2434
2435 ATH_MSG_DEBUG("in dumpTrigL2BphysContainer()");
2436 ATH_MSG_INFO("REGTEST ==========START of TrigL2BphysContainer DUMP===========");
2437
2438 std::string L2BphysTags[]={"HLT_xAOD__TrigBphysContainer_L2BMuMuFex",
2439 "HLT_xAOD__TrigBphysContainer_L2BMuMuXFex",
2440 "HLT_xAOD__TrigBphysContainer_L2DsPhiPiFexDs",
2441 "HLT_xAOD__TrigBphysContainer_L2DsPhiPiFexPhi",
2442 "HLT_xAOD__TrigBphysContainer_L2JpsieeFex",
2443 "HLT_xAOD__TrigBphysContainer_L2MultiMuFex",
2444 "HLT_xAOD__TrigBphysContainer_L2TrackMass",
2445 };
2446 const int ntag = (int) sizeof(L2BphysTags) / sizeof(L2BphysTags[0]);
2447
2448
2449 for (int itag=0; itag<ntag; itag++){
2450 const xAOD::TrigBphysContainer* trigL2Bphys;
2451 StatusCode sc = evtStore()->retrieve(trigL2Bphys, L2BphysTags[itag]);
2452 if (sc.isFailure()) {
2453 ATH_MSG_INFO("REGTEST No TrigL2BphysContainer found with tag " << L2BphysTags[itag]);
2454 continue;
2455 }
2456
2457 ATH_MSG_INFO("REGTEST TrigL2BphysContainer found with tag " << L2BphysTags[itag]
2458 << " and size " << trigL2Bphys->size());
2459
2460 // for (int i=0; trigL2Bphys != lastTrigL2Bphys; ++trigL2Bphys, ++i) {
2461
2462 // mLog << MSG::INFO << "REGTEST Looking at TrigL2BphysContainer " << i << endmsg;
2463
2464 xAOD::TrigBphysContainer::const_iterator L2BphysItr = trigL2Bphys->begin();
2465 xAOD::TrigBphysContainer::const_iterator L2BphysItrE = trigL2Bphys->end();
2466
2467 for (int j=0; L2BphysItr != L2BphysItrE; ++L2BphysItr, ++j ) {
2468
2469 ATH_MSG_INFO("REGTEST Looking at TrigL2Bphys " << j);
2470
2471 ATH_MSG_INFO("REGTEST TrigL2Bphys->eta() returns " << (*L2BphysItr)->eta());
2472 ATH_MSG_INFO("REGTEST TrigL2Bphys->phi() returns " << (*L2BphysItr)->phi());
2473 ATH_MSG_INFO("REGTEST TrigL2Bphys->mass() returns " << (*L2BphysItr)->mass());
2474 ATH_MSG_INFO("REGTEST TrigL2Bphys->fitmass() returns " << (*L2BphysItr)->fitmass());
2475 // ATH_MSG_INFO("REGTEST TrigL2Bphys->isValid() returns " << (*L2BphysItr)->isValid());
2476 ATH_MSG_INFO("REGTEST TrigL2Bphys->roiId() returns " << (*L2BphysItr)->roiId());
2477 ATH_MSG_INFO("REGTEST TrigL2Bphys->particleType() returns " << (*L2BphysItr)->particleType());
2478
2479 if( (*L2BphysItr)->secondaryDecay() != NULL){
2480 const xAOD::TrigBphys * psecond =(*L2BphysItr)->secondaryDecay();
2481 ATH_MSG_INFO("REGTEST Secondary decay info: ");
2482 ATH_MSG_INFO("REGTEST pSecondDecay->eta() returns " << psecond->eta());
2483 ATH_MSG_INFO("REGTEST pSecondDecay->phi() returns " << psecond->phi());
2484 ATH_MSG_INFO("REGTEST pSecondDecay->mass() returns " << psecond->mass());
2485 ATH_MSG_INFO("REGTEST pSecondDecay->fitmass() returns " << psecond->fitmass());
2486 // ATH_MSG_INFO("REGTEST pSecondDecay->isValid() returns " << (*L2BphysItr)->secondaryDecayLink()->isValid());
2487 ATH_MSG_INFO("REGTEST pSecondDecay->roiId() returns " << psecond->roiId());
2488 ATH_MSG_INFO("REGTEST pSecondDecay->particleType() returns " << psecond->particleType());
2489 } // end if secondary exists
2490
2491 const std::vector<ElementLink<xAOD::TrackParticleContainer> > trackVector = (*L2BphysItr)->trackParticleLinks();
2492 if (trackVector.size() != 0) {
2493 ATH_MSG_INFO(" REGTEST got track vector size: " << trackVector.size());
2494 } else {
2495 ATH_MSG_INFO(" REGTEST no track vector!!! " );
2496 }
2497 std::vector<ElementLink<xAOD::TrackParticleContainer> >::const_iterator trkIt=trackVector.begin();
2498 for (int itrk=0 ; trkIt!= trackVector.end(); ++itrk, ++trkIt) {
2499 if (!(trkIt->isValid())) {
2500 ATH_MSG_WARNING("TrackParticleContainer::Invalid ElementLink to track ");
2501 continue;
2502 }
2503 //const Trk::Perigee* trackPerigee=(*(*trkIt))->measuredPerigee();
2504 const Trk::Perigee* trackPerigee=&((*(*trkIt))->perigeeParameters());
2505
2506 // msg() << MSG::VERBOSE << "track, iterator, pointer " << itrk << " " << *trkIt << " " << *(*trkIt) << endmsg;
2507 double phi = trackPerigee->parameters()[Trk::phi];
2508 double theta = trackPerigee->parameters()[Trk::theta];
2509 double px = trackPerigee->momentum()[Trk::px];
2510 double py = trackPerigee->momentum()[Trk::py];
2511 double pt = sqrt(px*px + py*py);
2512 double eta = -std::log(tan(theta/2));
2513
2514 ATH_MSG_INFO("track " << itrk << " pt phi eta " << pt << " " <<
2515 phi << " " << eta);
2516 }
2517 }
2518 }
2519
2520 ATH_MSG_INFO("REGTEST ==========END of TrigL2BphysContainer DUMP===========");
2521 ATH_MSG_DEBUG("dumpTrigL2BphysContainer() succeeded");
2522
2523 return StatusCode::SUCCESS;
2524}
2525
2526
2527
2529
2531
2532 ATH_MSG_DEBUG("in dumpxAODJetContainer()");
2533
2534 ATH_MSG_INFO("REGTEST ==========START of xAOD::JetContainer DUMP===========");
2535
2536 std::string containerName[30] = {"HLT_xAOD__JetContainer_a4tcemjesFS",
2537 "HLT_xAOD__JetContainer_a4tcemsubFS",
2538 "HLT_xAOD__JetContainer_a4tcemsubjesFS",
2539 "HLT_xAOD__JetContainer_a4tcemnojcalibFS",
2540 "HLT_xAOD__JetContainer_a4tcemjesPS",
2541 "HLT_xAOD__JetContainer_a4tcemnojcalibPS",
2542 "HLT_xAOD__JetContainer_a4tclcwjesFS",
2543 "HLT_xAOD__JetContainer_a4tclcwsubFS",
2544 "HLT_xAOD__JetContainer_a4tclcwsubjesFS",
2545 "HLT_xAOD__JetContainer_a4tclcwnojcalibFS",
2546 "HLT_xAOD__JetContainer_a4tclcwjesPS",
2547 "HLT_xAOD__JetContainer_a4tclcwnojcalibPS",
2548 "HLT_xAOD__JetContainer_a4TTemnojcalibFS",
2549 "HLT_xAOD__JetContainer_a4TThadnojcalibFS",
2550 "HLT_xAOD__JetContainer_a10tcemjesFS",
2551 "HLT_xAOD__JetContainer_a10tcemsubFS",
2552 "HLT_xAOD__JetContainer_a10tcemsubjesFS",
2553 "HLT_xAOD__JetContainer_a10tcemnojcalibFS",
2554 "HLT_xAOD__JetContainer_a10tcemjesPS",
2555 "HLT_xAOD__JetContainer_a10tcemnojcalibPS",
2556 "HLT_xAOD__JetContainer_a10tclcwjesFS",
2557 "HLT_xAOD__JetContainer_a10tclcwsubFS",
2558 "HLT_xAOD__JetContainer_a10tclcwsubjesFS",
2559 "HLT_xAOD__JetContainer_a10tclcwnojcalibFS",
2560 "HLT_xAOD__JetContainer_a10tclcwjesPS",
2561 "HLT_xAOD__JetContainer_a10tclcwnojcalibPS",
2562 "HLT_xAOD__JetContainer_a10TTemnojcalibFS",
2563 "HLT_xAOD__JetContainer_a10TThadnojcalibFS",
2564 "HLT_xAOD__JetContainer_a10r_tcemsubjesFS",
2565 "HLT_xAOD__JetContainer_TrigHLTJetDSSelectorCollection"};
2566 float containerSizeParameter[30] = {0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4,
2567 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.4};
2568 int containerInputType[30] = {1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2,
2569 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 1, 1};
2570 int containerSignalState[30] = {0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1,
2571 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0};
2572 bool onefilled = false;
2573
2574 for (int icont=0; icont<30; ++icont) {
2575 //retrieve jet collection
2576 const xAOD::JetContainer* jetCont = 0;
2577 StatusCode sc = evtStore()->retrieve(jetCont, containerName[icont]) ;
2578
2579 if (sc.isFailure()) {
2580 ATH_MSG_WARNING("REGTEST Cannot retrieve jet container");
2581 continue;
2582 }
2583
2584 int jetContsize = jetCont->size();
2585 ATH_MSG_INFO("REGTEST Got jet container " << containerName[icont] << ", size: " << jetContsize);
2586 if (jetContsize != 0) {
2587 onefilled = true;
2588 int i = 0;
2589 for(const auto thisjet : *jetCont) {
2590 ++i;
2591 ATH_MSG_INFO( "REGTEST Looking at jet " << i);
2592 if (thisjet) {
2593 //checks jet variables
2594 ATH_MSG_DEBUG("REGTEST Checking jet variables");
2595 ATH_MSG_INFO( "REGTEST pt: " << thisjet->pt() );
2596 ATH_MSG_INFO( "REGTEST eta: " << thisjet->eta() );
2597 ATH_MSG_INFO( "REGTEST phi: " << thisjet->phi() );
2598 ATH_MSG_INFO( "REGTEST m: " << thisjet->m() );
2599 ATH_MSG_INFO( "REGTEST e: " << thisjet->e() );
2600 ATH_MSG_INFO( "REGTEST rapidity: " << thisjet->rapidity() );
2601 ATH_MSG_INFO( "REGTEST px: " << thisjet->px() );
2602 ATH_MSG_INFO( "REGTEST py: " << thisjet->py() );
2603 ATH_MSG_INFO( "REGTEST pz: " << thisjet->pz() );
2604 ATH_MSG_INFO( "REGTEST type: " << thisjet->type() );
2605 ATH_MSG_INFO( "REGTEST algorithm (kt: 0, cam: 1, antikt: 2, ...): " << thisjet->getAlgorithmType() << "; should be 2");
2606 if(thisjet->getAlgorithmType() != 2) ATH_MSG_WARNING("Jet algorithm different from container");
2607 ATH_MSG_INFO( "REGTEST size parameter: " << thisjet->getSizeParameter() << "; should be " << containerSizeParameter[icont]);
2608 if(thisjet->getSizeParameter() != containerSizeParameter[icont]) ATH_MSG_WARNING("Jet size different from container");
2609 ATH_MSG_INFO( "REGTEST input (LCTopo: 0, EMTopo: 1, TopoTower: 2, ...): " << thisjet->getInputType() << "; should be " << containerInputType[icont]);
2610 if(thisjet->getInputType() != containerInputType[icont]) ATH_MSG_WARNING("Jet input different from container");
2611 ATH_MSG_INFO( "REGTEST constituents signal state (uncalibrated: 0, calibrated: 1): " << thisjet->getConstituentsSignalState() << "; should be " << containerSignalState[icont]);
2612 if(thisjet->getConstituentsSignalState() != containerSignalState[icont]) ATH_MSG_WARNING("Jet constituents' signal state different from container");
2613 ATH_MSG_INFO( "REGTEST number of constituents: " << thisjet->numConstituents() );
2614
2615
2616 //checks the constituents
2617 ATH_MSG_DEBUG("REGTEST Checking jet constituents");
2618
2619 xAOD::JetConstituentVector constitCont = thisjet->getConstituents();
2620 unsigned int constitContsize = constitCont.size();
2621 ATH_MSG_INFO("REGTEST Got constituent vector, size: " << constitContsize << "; should be " << thisjet->numConstituents());
2622 if(constitContsize != thisjet->numConstituents()) ATH_MSG_WARNING("Constituents container size different from number of constituents");
2623
2624 if (constitContsize != 0) {
2625// int j = 0;
2626 // for (const auto thisconstit : constitCont) {
2627 // ++j;
2628 // ATH_MSG_INFO( "REGTEST Looking at constituent " << j);
2629 // if(thisconstit){
2630 // ATH_MSG_INFO( "REGTEST constituent pt: " << thisconstit->pt() );
2631 // ATH_MSG_INFO( "REGTEST constituent eta: " << thisconstit->eta() );
2632 // ATH_MSG_INFO( "REGTEST constituent phi: " << thisconstit->phi() );
2633 // ATH_MSG_INFO( "REGTEST constituent m: " << thisconstit->m() );
2634 // ATH_MSG_INFO( "REGTEST constituent e: " << thisconstit->e() );
2635 // ATH_MSG_INFO( "REGTEST constituent type (CaloCluster: 1, Jet: 2, ...): " << thisconstit->type() );
2636 // }
2637 // else{
2638 // ATH_MSG_WARNING("REGTEST Problem with constituent pointer");
2639 // return StatusCode::SUCCESS;
2640 // }
2641 // }
2642 // ATH_MSG_INFO("REGTEST size of constituent vector == number of displayed constituents: "<< (constitContsize == j) );
2643 // if (constitContsize != j) ATH_MSG_WARNING("REGTEST Problem with displaying this attribute");
2644 }
2645 // else ATH_MSG_WARNING("REGTEST This jet has 0 constituents!");
2646
2647 //checks int attributes
2648 ATH_MSG_DEBUG("REGTEST Checking int attributes");
2649 int valueint;
2650 if( thisjet->getAttribute(xAOD::JetAttribute::GhostMuonSegmentCount, valueint)) ATH_MSG_INFO("REGTEST GhostMuonSegmentCount: " << valueint);
2651 if( thisjet->getAttribute(xAOD::JetAttribute::GhostTrackCount, valueint)) ATH_MSG_INFO("REGTEST GhostTrackCount: " << valueint);
2652 if( thisjet->getAttribute(xAOD::JetAttribute::GhostTruthParticleCount, valueint)) ATH_MSG_INFO("REGTEST GhostTruthParticleCount: " << valueint);
2653 if( thisjet->getAttribute(xAOD::JetAttribute::FracSamplingMaxIndex, valueint)) ATH_MSG_INFO( "REGTEST FracSamplingMaxIndex: " << valueint);
2654
2655
2656 //checks float attributes
2657 ATH_MSG_DEBUG("REGTEST Checking float attributes");
2658 float value;
2659 if( thisjet->getAttribute(xAOD::JetAttribute::ActiveArea, value)) ATH_MSG_INFO( "REGTEST ActiveArea: " << value );
2660 // Four-vector type if( thisjet->getAttribute(xAOD::JetAttribute::ActiveArea4vec, value)) ATH_MSG_INFO( "REGTEST ActiveArea4vec: " << value );
2661 if( thisjet->getAttribute(xAOD::JetAttribute::AverageLArQF, value)) ATH_MSG_INFO( "REGTEST AverageLArQF: " << value );
2662 if( thisjet->getAttribute(xAOD::JetAttribute::BchCorrCell, value)) ATH_MSG_INFO( "REGTEST BchCorrCell: " << value );
2663 if( thisjet->getAttribute(xAOD::JetAttribute::BchCorrDotx, value)) ATH_MSG_INFO( "REGTEST BchCorrDotx: " << value );
2664 if( thisjet->getAttribute(xAOD::JetAttribute::BchCorrJet, value)) ATH_MSG_INFO( "REGTEST BchCorrJet: " << value );
2665 if( thisjet->getAttribute(xAOD::JetAttribute::BchCorrJetForCell, value)) ATH_MSG_INFO( "REGTEST BchCorrJetForCell: " << value );
2666 if( thisjet->getAttribute(xAOD::JetAttribute::CentroidR, value)) ATH_MSG_INFO( "REGTEST CentroidR: " << value );
2667 if( thisjet->getAttribute(xAOD::JetAttribute::HECQuality, value)) ATH_MSG_INFO( "REGTEST HECQuality: " << value );
2668 if( thisjet->getAttribute(xAOD::JetAttribute::IsoKR20Par, value)) ATH_MSG_INFO( "REGTEST IsoKR20Par: " << value );
2669 if( thisjet->getAttribute(xAOD::JetAttribute::IsoKR20Perp, value)) ATH_MSG_INFO( "REGTEST IsoKR20Perp: " << value );
2670 // ElementLink<DataVector<xAOD::Vertex> > type if( thisjet->getAttribute(xAOD::JetAttribute::HighestJVFVtx, value)) ATH_MSG_INFO( "REGTEST HighestJVFVtx: " << value );
2671 // ??? type if( thisjet->getAttribute(xAOD::JetAttribute::JetLabel, value)) ATH_MSG_INFO( "REGTEST JetLabel: " << value );
2672 if( thisjet->getAttribute(xAOD::JetAttribute::KtDR, value)) ATH_MSG_INFO( "REGTEST KtDR: " << value );
2673 if( thisjet->getAttribute(xAOD::JetAttribute::LArBadHVEnergy, value)) ATH_MSG_INFO( "REGTEST LArBadHVEnergy: " << value );
2674 if( thisjet->getAttribute(xAOD::JetAttribute::LArBadHVRatio, value)) ATH_MSG_INFO( "REGTEST LArBadHVRatio: " << value );
2675 if( thisjet->getAttribute(xAOD::JetAttribute::LArQuality, value)) ATH_MSG_INFO( "REGTEST LArQuality: " << value );
2676 if( thisjet->getAttribute(xAOD::JetAttribute::NegativeE, value)) ATH_MSG_INFO( "REGTEST NegativeE: " << value );
2677 // no tools available yet if( thisjet->getAttribute(xAOD::JetAttribute::NumTowers, value)) ATH_MSG_INFO( "REGTEST NumTowers: " << value );
2678 if( thisjet->getAttribute(xAOD::JetAttribute::SamplingMax, value)) ATH_MSG_INFO( "REGTEST SamplingMax: " << value );
2679 if( thisjet->getAttribute(xAOD::JetAttribute::Timing, value)) ATH_MSG_INFO( "REGTEST Timing: " << value );
2680 if( thisjet->getAttribute(xAOD::JetAttribute::VoronoiArea, value)) ATH_MSG_INFO( "REGTEST VoronoiArea: " << value );
2681 if( thisjet->getAttribute(xAOD::JetAttribute::VoronoiAreaE, value)) ATH_MSG_INFO( "REGTEST VoronoiAreaE: " << value );
2682 if( thisjet->getAttribute(xAOD::JetAttribute::VoronoiAreaPx, value)) ATH_MSG_INFO( "REGTEST VoronoiAreaPx: " << value );
2683 if( thisjet->getAttribute(xAOD::JetAttribute::VoronoiAreaPy, value)) ATH_MSG_INFO( "REGTEST VoronoiAreaPy: " << value );
2684 if( thisjet->getAttribute(xAOD::JetAttribute::VoronoiAreaPz, value)) ATH_MSG_INFO( "REGTEST VoronoiAreaPz: " << value );
2685 if( thisjet->getAttribute(xAOD::JetAttribute::Width, value)) ATH_MSG_INFO( "REGTEST WIDTH: " << value );
2686 if( thisjet->getAttribute(xAOD::JetAttribute::FracSamplingMax, value)) ATH_MSG_INFO( "REGTEST FracSamplingMax: " << value );
2687 if( thisjet->getAttribute(xAOD::JetAttribute::EMFrac, value)) ATH_MSG_INFO( "REGTEST EMFrac: " << value );
2688 if( thisjet->getAttribute(xAOD::JetAttribute::HECFrac, value)) ATH_MSG_INFO( "REGTEST HECFrac: " << value );
2689 if( thisjet->getAttribute(xAOD::JetAttribute::isBadLoose, value)) ATH_MSG_INFO( "REGTEST isBadLoose: " << value );
2690 if( thisjet->getAttribute(xAOD::JetAttribute::isBadMedium, value)) ATH_MSG_INFO( "REGTEST isBadMedium: " << value );
2691 if( thisjet->getAttribute(xAOD::JetAttribute::isBadTight, value)) ATH_MSG_INFO( "REGTEST isBadTight: " << value );
2692 // unknown attribute if( thisjet->getAttribute(xAOD::JetAttribute::isUgly, value)) ATH_MSG_INFO( "REGTEST isUgly: " << value );
2693 if( thisjet->getAttribute(xAOD::JetAttribute::N90Constituents, value)) ATH_MSG_INFO( "REGTEST N90Constituents: " << value );
2694 if( thisjet->getAttribute(xAOD::JetAttribute::N90Cells, value)) ATH_MSG_INFO( "REGTEST N90Cells: " << value );
2695 if( thisjet->getAttribute(xAOD::JetAttribute::OotFracClusters10, value)) ATH_MSG_INFO( "REGTEST OotFracClusters10: " << value );
2696 if( thisjet->getAttribute(xAOD::JetAttribute::OotFracClusters5, value)) ATH_MSG_INFO( "REGTEST OotFracClusters5: " << value );
2697 if( thisjet->getAttribute(xAOD::JetAttribute::OotFracCells5, value)) ATH_MSG_INFO( "REGTEST OotFracCells5: " << value );
2698 if( thisjet->getAttribute(xAOD::JetAttribute::OotFracCells10, value)) ATH_MSG_INFO( "REGTEST OotFracCells10: " << value );
2699 if( thisjet->getAttribute(xAOD::JetAttribute::PtTruth, value)) ATH_MSG_INFO( "REGTEST PtTruth: " << value );
2700 if( thisjet->getAttribute(xAOD::JetAttribute::Tau1, value)) ATH_MSG_INFO( "REGTEST Tau1: " << value );
2701 if( thisjet->getAttribute(xAOD::JetAttribute::Tau2, value)) ATH_MSG_INFO( "REGTEST Tau2: " << value );
2702 if( thisjet->getAttribute(xAOD::JetAttribute::Tau3, value)) ATH_MSG_INFO( "REGTEST Tau3: " << value );
2703 // unknown attribute if( thisjet->getAttribute(xAOD::JetAttribute::Split12, value)) ATH_MSG_INFO( "REGTEST Split12: " << value );
2704 // unknown attribute if( thisjet->getAttribute(xAOD::JetAttribute::Split23, value)) ATH_MSG_INFO( "REGTEST Split23: " << value );
2705 // unknown attribute if( thisjet->getAttribute(xAOD::JetAttribute::Split34, value)) ATH_MSG_INFO( "REGTEST Split34: " << value );
2706 if( thisjet->getAttribute(xAOD::JetAttribute::Dip12, value)) ATH_MSG_INFO( "REGTEST Dip12: " << value );
2707 if( thisjet->getAttribute(xAOD::JetAttribute::Dip13, value)) ATH_MSG_INFO( "REGTEST Dip13: " << value );
2708 if( thisjet->getAttribute(xAOD::JetAttribute::Dip23, value)) ATH_MSG_INFO( "REGTEST Dip23: " << value );
2709 if( thisjet->getAttribute(xAOD::JetAttribute::DipExcl12, value)) ATH_MSG_INFO( "REGTEST DipExcl12: " << value );
2710 if( thisjet->getAttribute(xAOD::JetAttribute::ThrustMin, value)) ATH_MSG_INFO( "REGTEST ThrustMin: " << value );
2711 if( thisjet->getAttribute(xAOD::JetAttribute::ThrustMaj, value)) ATH_MSG_INFO( "REGTEST ThrustMaj: " << value );
2712 if( thisjet->getAttribute(xAOD::JetAttribute::FoxWolfram0, value)) ATH_MSG_INFO( "REGTEST FoxWolfram0: " << value );
2713 if( thisjet->getAttribute(xAOD::JetAttribute::FoxWolfram1, value)) ATH_MSG_INFO( "REGTEST FoxWolfram1: " << value );
2714 if( thisjet->getAttribute(xAOD::JetAttribute::FoxWolfram2, value)) ATH_MSG_INFO( "REGTEST FoxWolfram2: " << value );
2715 if( thisjet->getAttribute(xAOD::JetAttribute::FoxWolfram3, value)) ATH_MSG_INFO( "REGTEST FoxWolfram3: " << value );
2716 if( thisjet->getAttribute(xAOD::JetAttribute::FoxWolfram4, value)) ATH_MSG_INFO( "REGTEST FoxWolfram4: " << value );
2717 if( thisjet->getAttribute(xAOD::JetAttribute::Sphericity, value)) ATH_MSG_INFO( "REGTEST Sphericity: " << value );
2718 if( thisjet->getAttribute(xAOD::JetAttribute::Aplanarity, value)) ATH_MSG_INFO( "REGTEST Aplanarity: " << value );
2719
2720 //checks vector<int> attributes
2721 ATH_MSG_DEBUG("REGTEST Checking vector<int> attributes");
2722 std::vector<int> vecvalueint;
2723 if (thisjet->getAttribute(xAOD::JetAttribute::NumTrkPt1000, vecvalueint)) {
2724 int vecsize = vecvalueint.size();
2725 ATH_MSG_INFO("REGTEST Got NumTrkPt1000 vector, size: " << vecsize);
2726 if (vecsize != 0) {
2727 int j = 0;
2728 for(const auto & thisvalue : vecvalueint){
2729 ++j;
2730 ATH_MSG_INFO("REGTEST NumTrkPt1000 #" << j << ": " << thisvalue);
2731 }
2732 ATH_MSG_INFO("REGTEST size of attribute vector == number of displayed attributes: " << (vecsize == j) );
2733 if (vecsize != j) ATH_MSG_WARNING("REGTEST Problem with displaying this attribute");
2734 }
2735 }
2736 if (thisjet->getAttribute(xAOD::JetAttribute::NumTrkPt500, vecvalueint)) {
2737 int vecsize = vecvalueint.size();
2738 ATH_MSG_INFO("REGTEST Got Got NumTrkPt500 vector, size: " << vecsize);
2739 if (vecsize != 0) {
2740 int j = 0;
2741 for(const auto & thisvalue : vecvalueint){
2742 ++j;
2743 ATH_MSG_INFO("REGTEST NumTrkPt500 #" << j << ": " << thisvalue);
2744 }
2745 ATH_MSG_INFO("REGTEST size of attribute vector == number of displayed attributes: " << (vecsize == j) );
2746 if (vecsize != j) ATH_MSG_WARNING("REGTEST Problem with displaying this attribute");
2747 }
2748 }
2749
2750 //checks vector<float> attributes
2751 ATH_MSG_DEBUG("REGTEST Checking vector<float> attributes");
2752 std::vector<float> vecvalue;
2753 if (thisjet->getAttribute(xAOD::JetAttribute::JVF, vecvalue)) {
2754 int vecsize = vecvalue.size();
2755 ATH_MSG_INFO("REGTEST Got JVF vector, size: " << vecsize);
2756 if (vecsize != 0) {
2757 int j = 0;
2758 for(const auto & thisvalue : vecvalue){
2759 ++j;
2760 ATH_MSG_INFO("REGTEST JVF #" << j << ": " << thisvalue);
2761 }
2762 ATH_MSG_INFO("REGTEST size of attribute vector == number of displayed attributes: " << (vecsize == j) );
2763 if (vecsize != j) ATH_MSG_WARNING("REGTEST Problem with displaying this attribute");
2764 }
2765 }
2766 if (thisjet->getAttribute(xAOD::JetAttribute::SumPtTrkPt1000, vecvalue)) {
2767 int vecsize = vecvalue.size();
2768 ATH_MSG_INFO("REGTEST Got SumPtTrkPt1000 vector, size: " << vecsize);
2769 if (vecsize != 0) {
2770 int j = 0;
2771 for(const auto & thisvalue : vecvalue){
2772 ++j;
2773 ATH_MSG_INFO("REGTEST SumPtTrkPt1000 #" << j << ": " << thisvalue);
2774 }
2775 ATH_MSG_INFO("REGTEST size of attribute vector == number of displayed attributes: " << (vecsize == j) );
2776 if (vecsize != j) ATH_MSG_WARNING("REGTEST Problem with displaying this attribute");
2777 }
2778 }
2779 if (thisjet->getAttribute(xAOD::JetAttribute::SumPtTrkPt500, vecvalue)) {
2780 int vecsize = vecvalue.size();
2781 ATH_MSG_INFO("REGTEST Got SumPtTrkPt500 vector, size: " << vecsize);
2782 if (vecsize != 0) {
2783 int j = 0;
2784 for(const auto & thisvalue : vecvalue){
2785 ++j;
2786 ATH_MSG_INFO("REGTEST SumPtTrkPt500 #" << j << ": " << thisvalue);
2787 }
2788 ATH_MSG_INFO("REGTEST size of attribute vector == number of displayed attributes: " << (vecsize == j) );
2789 if (vecsize != j) ATH_MSG_WARNING("REGTEST Problem with displaying this attribute");
2790 }
2791 }
2792 if (thisjet->getAttribute(xAOD::JetAttribute::TrackWidthPt1000, vecvalue)) {
2793 int vecsize = vecvalue.size();
2794 ATH_MSG_INFO("REGTEST Got TrackWidthPt1000 vector, size: " << vecsize);
2795 if (vecsize != 0) {
2796 int j = 0;
2797 for(const auto & thisvalue : vecvalue){
2798 ++j;
2799 ATH_MSG_INFO("REGTEST TrackWidthPt1000 #" << j << ": " << thisvalue);
2800 }
2801 ATH_MSG_INFO("REGTEST size of attribute vector == number of displayed attributes: " << (vecsize == j) );
2802 if (vecsize != j) ATH_MSG_WARNING("REGTEST Problem with displaying this attribute");
2803 }
2804 }
2805 if (thisjet->getAttribute(xAOD::JetAttribute::TrackWidthPt500, vecvalue)) {
2806 int vecsize = vecvalue.size();
2807 ATH_MSG_INFO("REGTEST Got TrackWidthPt500 vector, size: " << vecsize);
2808 if (vecsize != 0) {
2809 int j = 0;
2810 for(const auto & thisvalue : vecvalue){
2811 ++j;
2812 ATH_MSG_INFO("REGTEST TrackWidthPt500 #" << j << ": " << thisvalue);
2813 }
2814 ATH_MSG_INFO("REGTEST size of attribute vector == number of displayed attributes: " << (vecsize == j) );
2815 if (vecsize != j) ATH_MSG_WARNING("REGTEST Problem with displaying this attribute");
2816 }
2817 }
2818 if (thisjet->getAttribute(xAOD::JetAttribute::EnergyPerSampling, vecvalue)) {
2819 int vecsize = vecvalue.size();
2820 ATH_MSG_INFO("REGTEST Got EnergyPerSampling vector, size: " << vecsize);
2821 if (vecsize != 0) {
2822 int j = 0;
2823 for(const auto & thisvalue : vecvalue){
2824 ++j;
2825 ATH_MSG_INFO("REGTEST EnergyPerSampling #" << j << ": " << thisvalue);
2826 }
2827 ATH_MSG_INFO("REGTEST size of attribute vector == number of displayed attributes: " << (vecsize == j) );
2828 if (vecsize != j) ATH_MSG_WARNING("REGTEST Problem with displaying this attribute");
2829 }
2830 }
2831
2832
2833 //checks associated objects
2834 // ATH_MSG_DEBUG("REGTEST Checking associated objects");
2835 // std::vector<const xAOD::TrackParticle*> track;
2836 // if( thisjet->getAssociatedObjects(xAOD::JetAttribute::GhostTrack, track) ){
2837 // int vecsize = track.size();
2838 // ATH_MSG_INFO("REGTEST Got GhostTrack vector, size: " << vecsize);
2839 // if (vecsize != 0) {
2840 // int j = 0;
2841 // for(const auto & thistrack : track){
2842 // ++j;
2843 // //checks only one associated variable, just making sure getting the object worked
2844 // if (thistrack) ATH_MSG_INFO("REGTEST z0 for GhostTrack #" << j << ": " << thistrack->z0());
2845 // else{
2846 // ATH_MSG_WARNING("REGTEST Problem with attribute pointer");
2847 // return StatusCode::SUCCESS;
2848 // }
2849 // }
2850 // ATH_MSG_INFO("REGTEST size of associated object vector == number of displayed attributes: " << (vecsize == j) );
2851 // if (vecsize != j) ATH_MSG_WARNING("REGTEST Problem with displaying this associated object");
2852 // }
2853 // }
2854 }
2855 else{
2856 ATH_MSG_WARNING("REGTEST Problem with jet pointer");
2857 return StatusCode::SUCCESS;
2858 }
2859 }
2860
2861 if (jetContsize == i) ATH_MSG_INFO("REGTEST size of jet container == number of displayed jets: " << (jetContsize == i) );
2862 else ATH_MSG_WARNING("REGTEST Problem with displaying jets");
2863 }
2864 }
2865
2866 if (!onefilled) ATH_MSG_DEBUG("There was no filled jet containers");
2867
2868 ATH_MSG_INFO("REGTEST ==========END of xAOD::JetContainer DUMP===========");
2869
2870 ATH_MSG_DEBUG("leaving dumpxAODJetContainer()");
2871
2872 return StatusCode::SUCCESS;
2873}
2874
2875
2877
2878StatusCode TrigEDMChecker::dumpTrigEFBjetContainer ATLAS_NOT_THREAD_SAFE() {
2879
2880 ATH_MSG_DEBUG("in dumpTrigEFBjetContainer()");
2881 ATH_MSG_INFO("REGTEST ==========START of TrigEFBjetContainer DUMP===========");
2882
2885
2886 StatusCode sc = evtStore()->retrieve(trigEFBjet,lastTrigEFBjet);
2887 if (sc.isFailure()) {
2888 ATH_MSG_INFO("REGTEST No TrigEFBjetContainer found");
2889 return StatusCode::SUCCESS;
2890 }
2891 ATH_MSG_INFO("REGTEST TrigEFBjetContainers retrieved");
2892
2893
2894 for (int i=0; trigEFBjet != lastTrigEFBjet; ++trigEFBjet, ++i) {
2895
2896 ATH_MSG_INFO("REGTEST Looking at TrigEFBjetContainer " << i);
2897
2898 TrigEFBjetContainer::const_iterator EFBjetItr = trigEFBjet->begin();
2899 TrigEFBjetContainer::const_iterator EFBjetItrE = trigEFBjet->end();
2900
2901 for (int j=0; EFBjetItr != EFBjetItrE; ++EFBjetItr, ++j ) {
2902
2903 ATH_MSG_INFO("REGTEST Looking at TrigEFBjet " << j);
2904
2905 ATH_MSG_INFO("REGTEST TrigEFBjet->prmVtx() returns " << (*EFBjetItr)->prmVtx());
2906 ATH_MSG_INFO("REGTEST TrigEFBjet->xComb() returns " << (*EFBjetItr)->xComb());
2907 // mLog <<MSG::INFO << "REGTEST TrigEFBjet->x2D() returns " << (*EFBjetItr)->x2D() << endmsg;
2908 ATH_MSG_INFO("REGTEST TrigEFBjet->xIP1D() returns " << (*EFBjetItr)->xIP1D());
2909 ATH_MSG_INFO("REGTEST TrigEFBjet->isValid() returns " << (*EFBjetItr)->isValid());
2910 ATH_MSG_INFO("REGTEST TrigEFBjet->roiId() returns " << (*EFBjetItr)->roiId());
2911 // mLog <<MSG::INFO << "REGTEST TrigEFBjet->xD0() returns " << (*EFBjetItr)->xD0() << endmsg;
2912 ATH_MSG_INFO("REGTEST TrigEFBjet->xIP2D() returns " << (*EFBjetItr)->xIP2D());
2913 // mLog <<MSG::INFO << "REGTEST TrigEFBjet->xZ0() returns " << (*EFBjetItr)->xZ0() << endmsg;
2914 ATH_MSG_INFO("REGTEST TrigEFBjet->xIP3D() returns " << (*EFBjetItr)->xIP3D());
2915 // new one:
2916 ATH_MSG_INFO("REGTEST TrigEFBjet->xCHI2() returns " << (*EFBjetItr)->xCHI2());
2917 // mLog <<MSG::INFO << "REGTEST TrigEFBjet->x3D() returns " << (*EFBjetItr)->x3D() << endmsg; // replaced by :
2918 ATH_MSG_INFO("REGTEST TrigEFBjet->xSV() returns " << (*EFBjetItr)->xSV());
2919 //
2920 ATH_MSG_INFO("REGTEST TrigEFBjet->xMVtx() returns " << (*EFBjetItr)->xMVtx());
2921 ATH_MSG_INFO("REGTEST TrigEFBjet->xEVtx() returns " << (*EFBjetItr)->xEVtx());
2922 ATH_MSG_INFO("REGTEST TrigEFBjet-> xNVtx() returns " << (*EFBjetItr)-> xNVtx());
2923 }
2924 }
2925 ATH_MSG_INFO("REGTEST ==========END of TrigEFBjetContainer DUMP===========");
2926 ATH_MSG_DEBUG("dumpTrigEFBjetContainer() succeeded");
2927
2928 return StatusCode::SUCCESS;
2929}
2930
2931
2933
2934StatusCode TrigEDMChecker::dumpTrigL2BjetContainer ATLAS_NOT_THREAD_SAFE() {
2935
2936 ATH_MSG_DEBUG("in dumpTrigL2BjetContainer()");
2937 ATH_MSG_INFO("REGTEST ==========START of TrigL2BjetContainer DUMP===========");
2938
2941
2942 StatusCode sc = evtStore()->retrieve(trigL2Bjet,lastTrigL2Bjet);
2943 if (sc.isFailure()) {
2944 ATH_MSG_INFO("REGTEST No TrigL2BjetContainer found");
2945 return StatusCode::SUCCESS;
2946 }
2947 ATH_MSG_INFO("REGTEST TrigL2BjetContainers retrieved");
2948
2949
2950 for (int i=0; trigL2Bjet != lastTrigL2Bjet; ++trigL2Bjet, ++i) {
2951
2952 ATH_MSG_INFO("REGTEST Looking at TrigL2BjetContainer " << i);
2953
2954 TrigL2BjetContainer::const_iterator L2BjetItr = trigL2Bjet->begin();
2955 TrigL2BjetContainer::const_iterator L2BjetItrE = trigL2Bjet->end();
2956
2957 for (int j=0; L2BjetItr != L2BjetItrE; ++L2BjetItr, ++j ) {
2958
2959 ATH_MSG_INFO("REGTEST Looking at TrigL2Bjet " << j);
2960 ATH_MSG_INFO("REGTEST TrigL2Bjet->prmVtx() returns " << (*L2BjetItr)->prmVtx());
2961 ATH_MSG_INFO("REGTEST TrigL2Bjet->xComb() returns " << (*L2BjetItr)->xComb());
2962 // ATH_MSG_INFO("REGTEST TrigL2Bjet->x2D() returns " << (*L2BjetItr)->x2D());
2963 ATH_MSG_INFO("REGTEST TrigL2Bjet->xIP1D() returns " << (*L2BjetItr)->xIP1D());
2964 ATH_MSG_INFO("REGTEST TrigL2Bjet->isValid() returns " << (*L2BjetItr)->isValid());
2965 ATH_MSG_INFO("REGTEST TrigL2Bjet->roiId() returns " << (*L2BjetItr)->roiId());
2966 // ATH_MSG_INFO("REGTEST TrigL2Bjet->xD0() returns " << (*L2BjetItr)->xD0());
2967 ATH_MSG_INFO("REGTEST TrigL2Bjet->xIP2D() returns " << (*L2BjetItr)->xIP2D());
2968 // ATH_MSG_INFO("REGTEST TrigL2Bjet->xZ0() returns " << (*L2BjetItr)->xZ0());
2969 ATH_MSG_INFO("REGTEST TrigL2Bjet->xIP3D() returns " << (*L2BjetItr)->xIP3D());
2970 // new one:
2971 ATH_MSG_INFO("REGTEST TrigL2Bjet->xCHI2() returns " << (*L2BjetItr)->xCHI2());
2972 // ATH_MSG_INFO("REGTEST TrigL2Bjet->x3D() returns " << (*L2BjetItr)->x3D());
2973 ATH_MSG_INFO("REGTEST TrigL2Bjet->xSV() returns " << (*L2BjetItr)->xSV());
2974 ATH_MSG_INFO("REGTEST TrigL2Bjet->xMVtx() returns " << (*L2BjetItr)->xMVtx());
2975 ATH_MSG_INFO("REGTEST TrigL2Bjet->xEVtx() returns " << (*L2BjetItr)->xEVtx());
2976 ATH_MSG_INFO("REGTEST TrigL2Bjet-> xNVtx() returns " << (*L2BjetItr)-> xNVtx());
2977 }
2978 }
2979 ATH_MSG_INFO("REGTEST ==========END of TrigL2BjetContainer DUMP===========");
2980 ATH_MSG_DEBUG("dumpTrigL2BjetContainer() succeeded");
2981
2982 return StatusCode::SUCCESS;
2983}
2984
2986
2987StatusCode TrigEDMChecker::dumpMuonFeature ATLAS_NOT_THREAD_SAFE() {
2988
2989 ATH_MSG_DEBUG("in dumpMuonFeature()");
2990
2991 ATH_MSG_INFO("REGTEST ==========START of MuonFeature DUMP===========");
2992
2995
2996 StatusCode sc = evtStore()->retrieve(MuFeature,lastMuFeature);
2997 if (sc.isFailure()) {
2998 ATH_MSG_INFO("REGTEST No MuonFeature found");
2999 return StatusCode::SUCCESS;
3000 }
3001 ATH_MSG_INFO("REGTEST MuonFeature retrieved");
3002
3003
3004 for (int i=0; MuFeature != lastMuFeature; ++MuFeature, ++i) {
3005
3006 const MuonFeature* thisMuFeature = &(*MuFeature);
3007
3008 ATH_MSG_INFO("REGTEST Looking at MuonFeature " << i);
3009 ATH_MSG_INFO("REGTEST MuonFeature->roiId() returns " << thisMuFeature->roiId());
3010 ATH_MSG_INFO("REGTEST MuonFeature->eta() returns " << thisMuFeature->eta());
3011 ATH_MSG_INFO("REGTEST MuonFeature->phi() returns " << thisMuFeature->phi());
3012 ATH_MSG_INFO("REGTEST MuonFeature->saddress() returns " << thisMuFeature->saddress());
3013 ATH_MSG_INFO("REGTEST MuonFeature->pt() returns " << thisMuFeature->pt());
3014 ATH_MSG_INFO("REGTEST MuonFeature->radius() returns " << thisMuFeature->radius());
3015 ATH_MSG_INFO("REGTEST MuonFeature->dir_phi() returns " << thisMuFeature->dir_phi());
3016 ATH_MSG_INFO("REGTEST MuonFeature->zeta() returns " << thisMuFeature->zeta());
3017 ATH_MSG_INFO("REGTEST MuonFeature->dir_zeta() returns " << thisMuFeature->dir_zeta());
3018 ATH_MSG_INFO("REGTEST MuonFeature->beta() returns " << thisMuFeature->beta());
3019 }
3020
3021 ATH_MSG_INFO("REGTEST ==========END of MuonFeature DUMP===========");
3022 ATH_MSG_DEBUG("dumpMuonFeature() succeeded");
3023
3024 return StatusCode::SUCCESS;
3025}
3026
3028
3029StatusCode TrigEDMChecker::dumpCombinedMuonFeature ATLAS_NOT_THREAD_SAFE() {
3030
3031 ATH_MSG_DEBUG("in dumpCombinedMuonFeature()");
3032
3033 ATH_MSG_INFO("REGTEST ==========START of CombinedMuonFeature DUMP===========");
3034
3037
3038 StatusCode sc = evtStore()->retrieve(CombMuon,lastCombMuon);
3039 if (sc.isFailure()) {
3040 ATH_MSG_INFO("REGTEST No CombinedMuonFeature found");
3041 return StatusCode::SUCCESS;
3042 }
3043 ATH_MSG_INFO("REGTEST CombinedMuonFeatures retrieved");
3044
3045 for (int i=0; CombMuon != lastCombMuon; ++CombMuon, ++i) {
3046
3047 const CombinedMuonFeature* thisCombMuFeature = &(*CombMuon);
3048
3049 ATH_MSG_INFO("REGTEST Looking at CombinedMuonFeature " << i);
3050 ATH_MSG_INFO("REGTEST TrigPhoton->pt() returns " << (thisCombMuFeature)->pt());
3051 ATH_MSG_INFO("REGTEST TrigPhoton->sigma_pt() returns " << (thisCombMuFeature)->sigma_pt());
3052 ATH_MSG_INFO("REGTEST MuonFeature info: ");
3053 // if ((thisCombMuFeature)->muFastTrack()) {
3054 if ((thisCombMuFeature)->muFastTrackLink().isValid() ) {
3055 ATH_MSG_INFO("REGTEST muFastTrack->eta() returns " << (thisCombMuFeature)->muFastTrack()->eta());
3056 ATH_MSG_INFO("REGTEST muFastTrack->phi() returns " << (thisCombMuFeature)->muFastTrack()->phi());
3057 ATH_MSG_INFO("REGTEST muFastTrack->radius() returns " << (thisCombMuFeature)->muFastTrack()->radius());
3058 ATH_MSG_INFO("REGTEST muFastTrack->zeta() returns " << (thisCombMuFeature)->muFastTrack()->zeta());
3059 } else {
3060 ATH_MSG_INFO("CombinedMuonFeature has no muFastTrack" );
3061 }
3062
3063 ATH_MSG_INFO("REGTEST TrigInDetTrack info: ");
3064 // if ((thisCombMuFeature)->IDTrack()) {
3065 if ((thisCombMuFeature)->IDTrackLink().isValid() ) {
3066 ATH_MSG_INFO("REGTEST IDTrack->algorithmId() returns " <<(thisCombMuFeature)->IDTrack()->algorithmId());
3067 ATH_MSG_INFO("REGTEST IDTrack->chi2() returns " << (thisCombMuFeature)->IDTrack()->chi2());
3068 ATH_MSG_INFO("REGTEST IDTrack->NStrawHits() returns " <<(thisCombMuFeature)->IDTrack()->NStrawHits());
3069 ATH_MSG_INFO("REGTEST IDTrack->NStraw() returns " << (thisCombMuFeature)->IDTrack()->NStraw());
3070 ATH_MSG_INFO("REGTEST IDTrack->NStrawTime() returns " <<(thisCombMuFeature)->IDTrack()->NStrawTime());
3071 ATH_MSG_INFO("REGTEST IDTrack->NTRHits() returns " <<(thisCombMuFeature)->IDTrack()->NTRHits());
3072 } else {
3073 ATH_MSG_INFO("CombinedMuonFeature has no IDTrack" );
3074 }
3075
3076 }
3077
3078 ATH_MSG_INFO("REGTEST ==========END of CombinedMuonFeature DUMP===========");
3079 ATH_MSG_DEBUG("dumpCombinedMuonFeature() succeeded");
3080
3081 return StatusCode::SUCCESS;
3082}
3083
3084StatusCode TrigEDMChecker::dumpCombinedMuonFeatureContainer ATLAS_NOT_THREAD_SAFE() {
3085
3086 ATH_MSG_DEBUG("in dumpCombinedMuonFeatureContainer()");
3087 ATH_MSG_INFO("REGTEST ==========START of CombinedMuonFeatureContainer DUMP===========");
3088
3091
3092 StatusCode sc = evtStore()->retrieve(CombMuon,lastCombMuon);
3093 if (sc.isFailure()) {
3094 ATH_MSG_INFO("REGTEST No CombinedMuonFeatureContainer found");
3095 return StatusCode::SUCCESS;
3096 }
3097 ATH_MSG_INFO("REGTEST CombinedMuonFeaturesContainer retrieved");
3098
3099 for (int j=0; CombMuon != lastCombMuon; ++CombMuon, ++j) {
3100 ATH_MSG_INFO("REGTEST Looking at CombinedMuonFeatureContainer " << j);
3101
3102 const CombinedMuonFeatureContainer* container = &(*CombMuon);
3104
3105 int i = 0;
3106 for ( muon = container->begin() ; muon != container->end(); ++i, ++muon ) {
3107 const CombinedMuonFeature* thisCombMuFeature = *muon;
3108 ATH_MSG_INFO("REGTEST Looking at CombinedMuonFeature " << i);
3109
3110 ATH_MSG_INFO("REGTEST CombinedMuonFeature->pt() returns " << (thisCombMuFeature)->pt());
3111 ATH_MSG_INFO("REGTEST CombinedMuonFeature->sigma_pt() returns " << (thisCombMuFeature)->sigma_pt());
3112
3113 ATH_MSG_INFO("REGTEST MuonFeature info: ");
3114 if ( thisCombMuFeature->muFastTrackLink().isValid() ) {
3115 ATH_MSG_INFO("REGTEST muFastTrack->eta() returns " << (thisCombMuFeature)->muFastTrack()->eta());
3116 ATH_MSG_INFO("REGTEST muFastTrack->phi() returns " << (thisCombMuFeature)->muFastTrack()->phi());
3117 ATH_MSG_INFO("REGTEST muFastTrack->radius() returns " << (thisCombMuFeature)->muFastTrack()->radius());
3118 ATH_MSG_INFO("REGTEST muFastTrack->zeta() returns " << (thisCombMuFeature)->muFastTrack()->zeta());
3119 } else {
3120 ATH_MSG_WARNING("MuonFeature has no muFastTrack!" );
3121 }
3122
3123 ATH_MSG_INFO("REGTEST TrigInDetTrack info: ");
3124 if ( thisCombMuFeature->IDTrackLink().isValid() ) {
3125 ATH_MSG_INFO("REGTEST IDTrack->algorithmId() returns " <<(thisCombMuFeature)->IDTrack()->algorithmId());
3126 ATH_MSG_INFO("REGTEST IDTrack->chi2() returns " << (thisCombMuFeature)->IDTrack()->chi2());
3127 ATH_MSG_INFO("REGTEST IDTrack->NStrawHits() returns " <<(thisCombMuFeature)->IDTrack()->NStrawHits());
3128
3129 ATH_MSG_INFO("REGTEST IDTrack->NStraw() returns " << (thisCombMuFeature)->IDTrack()->NStraw());
3130 ATH_MSG_INFO("REGTEST IDTrack->NStrawTime() returns " <<(thisCombMuFeature)->IDTrack()->NStrawTime());
3131 ATH_MSG_INFO("REGTEST IDTrack->NTRHits() returns " <<(thisCombMuFeature)->IDTrack()->NTRHits());
3132 } else {
3133 ATH_MSG_WARNING("MuonFeature has no IDTrack!" );
3134 }
3135
3136 }
3137 }
3138 return StatusCode::SUCCESS;
3139}
3140
3142
3143StatusCode TrigEDMChecker::dumpTrigEMCluster ATLAS_NOT_THREAD_SAFE() {
3144
3145 ATH_MSG_DEBUG("in dumpTrigEMCluster()");
3146 ATH_MSG_INFO("REGTEST ==========START of TrigEMCluster DUMP===========");
3147
3150
3151 StatusCode sc = evtStore()->retrieve(EMCluster,lastEMCluster);
3152 if (sc.isFailure()) {
3153 ATH_MSG_INFO("REGTEST No TrigEMCluster found");
3154 return StatusCode::SUCCESS;
3155 }
3156 ATH_MSG_INFO("REGTEST TrigEMCluster retrieved");
3157
3158 for (int i=0; EMCluster != lastEMCluster; ++EMCluster, ++i) {
3159
3160 const TrigEMCluster* thisEMCluster = &(*EMCluster);
3161
3162 ATH_MSG_INFO("REGTEST Looking at TrigEMCluster " << i);
3163
3164 ATH_MSG_INFO("REGTEST TrigEMCluster->energy() returns " << thisEMCluster->energy());
3165 ATH_MSG_INFO("REGTEST TrigEMCluster->e() returns " << thisEMCluster->e());
3166 ATH_MSG_INFO("REGTEST TrigEMCluster->phi() returns " << thisEMCluster->phi());
3167
3168 ATH_MSG_INFO("REGTEST TrigEMCluster->eta() returns " << thisEMCluster->eta());
3169 ATH_MSG_INFO("REGTEST TrigEMCluster->e237() returns " << thisEMCluster->e237());
3170 ATH_MSG_INFO("REGTEST TrigEMCluster->e277() returns " << thisEMCluster->e277());
3171 ATH_MSG_INFO("REGTEST TrigEMCluster->fracs1() returns " << thisEMCluster->fracs1());
3172 ATH_MSG_INFO("REGTEST TrigEMCluster->weta2() returns " << thisEMCluster->weta2());
3173 ATH_MSG_INFO("REGTEST TrigEMCluster->ehad1() returns " << thisEMCluster->ehad1());
3174 ATH_MSG_INFO("REGTEST TrigEMCluster->Eta1() returns " << thisEMCluster->Eta1());
3175 }
3176
3177 ATH_MSG_INFO("REGTEST ==========END of TrigEMCluster DUMP===========");
3178 ATH_MSG_DEBUG("dumpTrigEMCluster() succeeded");
3179
3180 return StatusCode::SUCCESS;
3181}
3182
3183StatusCode TrigEDMChecker::dumpxAODTrigEMCluster ATLAS_NOT_THREAD_SAFE() {
3184
3185 ATH_MSG_DEBUG("in dumpxAODTrigEMCluster()");
3186
3187 ATH_MSG_INFO("REGTEST ==========START of TrigEMCluster DUMP===========");
3188
3191
3192 StatusCode sc = evtStore()->retrieve(EMCluster,lastEMCluster);
3193 if (sc.isFailure()) {
3194 ATH_MSG_INFO("REGTEST No xAOD::TrigEMCluster found");
3195 return StatusCode::SUCCESS;
3196 }
3197 ATH_MSG_INFO("REGTEST xAOD::TrigEMCluster retrieved");
3198
3199
3200 for (int i=0; EMCluster != lastEMCluster; ++EMCluster, ++i) {
3201
3202 const xAOD::TrigEMCluster* thisEMCluster = &(*EMCluster);
3203
3204 ATH_MSG_INFO("REGTEST Looking at xAOD::TrigEMCluster " << i);
3205
3206 ATH_MSG_INFO("REGTEST xAOD::TrigEMCluster->energy() returns " << thisEMCluster->energy());
3207 ATH_MSG_INFO("REGTEST xAOD::TrigEMCluster->e() returns " << thisEMCluster->energy());
3208 ATH_MSG_INFO("REGTEST xAOD::TrigEMCluster->phi() returns " << thisEMCluster->phi());
3209
3210 ATH_MSG_INFO("REGTEST xAOD::TrigEMCluster->eta() returns " << thisEMCluster->eta());
3211 ATH_MSG_INFO("REGTEST xAOD::TrigEMCluster->e237() returns " << thisEMCluster->e237());
3212 ATH_MSG_INFO("REGTEST xAOD::TrigEMCluster->e277() returns " << thisEMCluster->e277());
3213 ATH_MSG_INFO("REGTEST xAOD::TrigEMCluster->fracs1() returns " << thisEMCluster->fracs1());
3214 ATH_MSG_INFO("REGTEST xAOD::TrigEMCluster->weta2() returns " << thisEMCluster->weta2());
3215 ATH_MSG_INFO("REGTEST xAOD::TrigEMCluster->ehad1() returns " << thisEMCluster->ehad1());
3216 ATH_MSG_INFO("REGTEST xAOD::TrigEMCluster->Eta1() returns " << thisEMCluster->eta1());
3217 }
3218
3219 ATH_MSG_INFO("REGTEST ==========END of xAOD::TrigEMCluster DUMP===========");
3220 ATH_MSG_DEBUG("dumpxAODTrigEMCluster() succeeded");
3221
3222 return StatusCode::SUCCESS;
3223}
3224
3226
3227StatusCode TrigEDMChecker::dumpTrigTauClusterContainer ATLAS_NOT_THREAD_SAFE() {
3228
3229 ATH_MSG_DEBUG("in dumpTrigTauClusterContainer()");
3230
3231 ATH_MSG_INFO("REGTEST ==========START of TrigTauClusterContainer/TrigTauClusterDetailsContainer DUMP===========");
3232
3235
3236 StatusCode sc = evtStore()->retrieve(TauCluster,lastTauCluster);
3237 if (sc.isFailure()) {
3238 ATH_MSG_INFO("REGTEST No TrigTauClusterContainer found");
3239 return StatusCode::SUCCESS;
3240 }
3241 ATH_MSG_INFO("REGTEST TrigTauClusterContainer retrieved");
3242
3243
3244 int nClusters = 0;
3245 for (int i=0; TauCluster != lastTauCluster; ++TauCluster, ++i) {
3246
3247 ATH_MSG_INFO("REGTEST Looking at TrigTauClusterContainer " << i);
3248
3249 TrigTauClusterContainer::const_iterator TauClusterItr = TauCluster->begin();
3250 TrigTauClusterContainer::const_iterator TauClusterItrE = TauCluster->end();
3251
3252 for (int j=0; TauClusterItr != TauClusterItrE; ++TauClusterItr, ++j ) {
3253 nClusters++;
3254 ATH_MSG_INFO("REGTEST Looking at TrigTauCluster " << j);
3255
3256 ATH_MSG_INFO("REGTEST TrigTauCluster->energy() returns " << (*TauClusterItr)->energy());
3257 ATH_MSG_INFO("REGTEST TrigTauCluster->et() returns " << (*TauClusterItr)->et());
3258 ATH_MSG_INFO("REGTEST TrigTauCluster->EMCalibEnergy() returns " << (*TauClusterItr)->EMCalibEnergy());
3259
3260 ATH_MSG_INFO("REGTEST TrigTauCluster->EMenergy() returns " << (*TauClusterItr)->EMenergy());
3261 ATH_MSG_INFO("REGTEST TrigTauCluster->HADenergy() returns " << (*TauClusterItr)->HADenergy());
3262 ATH_MSG_INFO("REGTEST TrigTauCluster->eta() returns " << (*TauClusterItr)->eta());
3263 ATH_MSG_INFO("REGTEST TrigTauCluster->phi() returns " << (*TauClusterItr)->phi());
3264 ATH_MSG_INFO("REGTEST TrigTauCluster->IsoFrac() returns " << (*TauClusterItr)->IsoFrac());
3265 ATH_MSG_INFO("REGTEST TrigTauCluster->stripWidth() returns " << (*TauClusterItr)->stripWidth());
3266 ATH_MSG_INFO("REGTEST TrigTauCluster->numStripCells() returns " << (*TauClusterItr)->numStripCells());
3267 ATH_MSG_INFO("REGTEST TrigTauCluster->CaloRadius() returns " << (*TauClusterItr)->CaloRadius());
3268 ATH_MSG_INFO("REGTEST TrigTauCluster->numTotCells() returns " << (*TauClusterItr)->numTotCells());
3269
3270
3271 if( (*TauClusterItr)->clusterDetails() == 0 )
3272 ATH_MSG_WARNING("REGTEST TrigTauCluster-> Details link is MISSING ");
3273 else{
3274 ATH_MSG_INFO("REGTEST TrigTauCluster->Energy in Narrow cone : EM[0/1/2/3]="
3275 <<(*TauClusterItr)->EMenergyNarrow(0) << " " << (*TauClusterItr)->EMenergyNarrow(1) << " "
3276 <<(*TauClusterItr)->EMenergyNarrow(2) << " ");
3277 ATH_MSG_INFO("REGTEST TrigTauCluster->Energy in Narrow cone : HAD[0/1/2]="
3278 <<(*TauClusterItr)->HADenergyNarrow(0) << " " << (*TauClusterItr)->HADenergyNarrow(1) << " "
3279 <<(*TauClusterItr)->HADenergyNarrow(2));
3280 }
3281 }
3282 }
3283
3284 int nDetails = 0;
3287 sc = evtStore()->retrieve(TauDetailsCluster,lastTauDetailsCluster);
3288 if (sc.isFailure()) {
3289 ATH_MSG_INFO("REGTEST No TrigTauDetailsClusterContainer found");
3290 return StatusCode::SUCCESS;
3291 }
3292 ATH_MSG_INFO("REGTEST TrigTauDetailsClusterContainer retrieved");
3293
3294 for (int i=0; TauDetailsCluster != lastTauDetailsCluster; ++TauDetailsCluster, ++i) {
3295
3296 ATH_MSG_INFO("REGTEST Looking at TrigTauClusterDetailsContainer " << i);
3297
3298 TrigTauClusterDetailsContainer::const_iterator TauDetailsClusterItr = TauDetailsCluster->begin();
3299 TrigTauClusterDetailsContainer::const_iterator TauDetailsClusterItrE = TauDetailsCluster->end();
3300
3301 for (int j=0; TauDetailsClusterItr != TauDetailsClusterItrE; ++TauDetailsClusterItr, ++j ) {
3302 nDetails++;
3303 ATH_MSG_INFO("REGTEST Looking at TrigTauClusterDetails " << j);
3304
3305 for(unsigned int i = 0; i<4; ++i ) {
3306 ATH_MSG_INFO("REGTEST TrigTauClusterDetails-> EM["<<i <<"] Radius/EnergyNar/EnergyMid/EnergyWid returns "
3307 << (*TauDetailsClusterItr)->EMRadius(i) << " "
3308 << (*TauDetailsClusterItr)->EMenergyNarrow(i) << " "
3309 << (*TauDetailsClusterItr)->EMenergyMedium(i) << " "
3310 << (*TauDetailsClusterItr)->EMenergyWide(i));
3311 }
3312 for(unsigned int i = 0; i<3; ++i ) {
3313 ATH_MSG_INFO("REGTEST TrigTauClusterDetails-> HAD["<<i <<"] Radius/EnergyNar/EnergyMid/EnergyWid returns "
3314 << (*TauDetailsClusterItr)->HADRadius(i) << " "
3315 << (*TauDetailsClusterItr)->HADenergyNarrow(i) << " "
3316 << (*TauDetailsClusterItr)->HADenergyMedium(i) << " "
3317 << (*TauDetailsClusterItr)->HADenergyWide(i));
3318 }
3319 }
3320 }
3321
3322 if( nDetails != nClusters)
3323 ATH_MSG_WARNING("REGTEST inconsistent number of TrigTauClusters ("<< nClusters<< ") and TrigTauClusterDetails ("
3324 << nDetails << ")");
3325
3326 ATH_MSG_INFO("REGTEST ==========END of TrigTauClusterContainer/TrigTauClusterDetailsContainer DUMP===========");
3327
3328 ATH_MSG_DEBUG("dumpTrigTauClusterContainer() succeeded");
3329
3330 return StatusCode::SUCCESS;
3331}
3332
3334
3335StatusCode TrigEDMChecker::dumpTrigEMClusterContainer ATLAS_NOT_THREAD_SAFE() {
3336
3337 ATH_MSG_DEBUG("in dumpTrigEMClusterContainer()");
3338
3339 ATH_MSG_INFO("REGTEST ==========START of TrigEMClusterContainer DUMP===========");
3340
3343
3344 StatusCode sc = evtStore()->retrieve(EMCluster,lastEMCluster);
3345 if (sc.isFailure()) {
3346 ATH_MSG_INFO("REGTEST No TrigEMClusterContainer found");
3347 return StatusCode::SUCCESS;
3348 }
3349 ATH_MSG_INFO("REGTEST TrigEMClusterContainer retrieved");
3350
3351
3352 for (int i=0; EMCluster != lastEMCluster; ++EMCluster, ++i) {
3353
3354 ATH_MSG_INFO("REGTEST Looking at TrigEMClusterContainer " << i);
3355
3356 TrigEMClusterContainer::const_iterator EMClusterItr = EMCluster->begin();
3357 TrigEMClusterContainer::const_iterator EMClusterItrE = EMCluster->end();
3358
3359 for (int j=0; EMClusterItr != EMClusterItrE; ++EMClusterItr, ++j ) {
3360
3361 ATH_MSG_INFO("REGTEST Looking at TrigEMCluster " << j);
3362
3363 ATH_MSG_INFO("REGTEST TrigEMCluster->energy() returns " << (*EMClusterItr)->energy());
3364 ATH_MSG_INFO("REGTEST TrigEMCluster->et() returns " << (*EMClusterItr)->et());
3365 ATH_MSG_INFO("REGTEST TrigEMCluster->eta() returns " << (*EMClusterItr)->eta());
3366 ATH_MSG_INFO("REGTEST TrigEMCluster->phi() returns " << (*EMClusterItr)->phi());
3367 ATH_MSG_INFO("REGTEST TrigEMCluster->print() gives");
3368 int level = msg().level();
3369 // little trick to print out stuff
3370 msg().setLevel(MSG::DEBUG);
3371 (*EMClusterItr)->print(msg());
3372 msg().setLevel(level);
3373 }
3374 }
3375
3376 ATH_MSG_INFO("REGTEST ==========END of TrigEMClusterContainer DUMP===========");
3377 ATH_MSG_DEBUG("dumpTrigEMClusterContainer() succeeded");
3378
3379 return StatusCode::SUCCESS;
3380}
3381
3382StatusCode TrigEDMChecker::dumpxAODTrigEMClusterContainer ATLAS_NOT_THREAD_SAFE() {
3383
3384 ATH_MSG_DEBUG("in dumpxAODTrigEMClusterContainer()");
3385
3386 ATH_MSG_INFO("REGTEST ==========START of xAODTrigEMClusterContainer DUMP===========");
3387
3390
3391 StatusCode sc = evtStore()->retrieve(EMCluster,lastEMCluster);
3392 if (sc.isFailure()) {
3393 ATH_MSG_INFO("REGTEST No xAOD::TrigEMClusterContainer found");
3394 return StatusCode::SUCCESS;
3395 }
3396 ATH_MSG_INFO("REGTEST xAOD::TrigEMClusterContainer retrieved");
3397
3398
3399 for (int i=0; EMCluster != lastEMCluster; ++EMCluster, ++i) {
3400
3401 ATH_MSG_INFO("REGTEST Looking at xAOD::TrigEMClusterContainer " << i);
3402
3403 xAOD::TrigEMClusterContainer::const_iterator EMClusterItr = EMCluster->begin();
3404 xAOD::TrigEMClusterContainer::const_iterator EMClusterItrE = EMCluster->end();
3405
3406 for (int j=0; EMClusterItr != EMClusterItrE; ++EMClusterItr, ++j ) {
3407
3408 ATH_MSG_INFO("REGTEST Looking at xAOD::TrigEMCluster " << j);
3409 ATH_MSG_INFO("REGTEST xAOD::TrigEMCluster->energy() returns " << (*EMClusterItr)->energy());
3410 ATH_MSG_INFO("REGTEST xAOD::TrigEMCluster->et() returns " << (*EMClusterItr)->et());
3411 ATH_MSG_INFO("REGTEST xAOD::TrigEMCluster->eta() returns " << (*EMClusterItr)->eta());
3412 ATH_MSG_INFO("REGTEST xAOD::TrigEMCluster->phi() returns " << (*EMClusterItr)->phi());
3413 //msg() <<MSG::INFO << "REGTEST xAOD::TrigEMCluster->print() gives" << endmsg;
3414 //int level = msg().level();
3415 // little trick to print out stuff
3416 //msg().setLevel(MSG::DEBUG);
3417 //(*EMClusterItr)->print(msg());
3418 //msg().setLevel(level);
3419 }
3420 }
3421
3422 ATH_MSG_INFO("REGTEST ==========END of TrigEMClusterContainer DUMP===========");
3423 ATH_MSG_DEBUG("dumpTrigEMClusterContainer() succeeded");
3424
3425 return StatusCode::SUCCESS;
3426}
3427
3429
3430StatusCode TrigEDMChecker::dumpTileMuFeatureContainer ATLAS_NOT_THREAD_SAFE() {
3431
3432 ATH_MSG_DEBUG("in dumpTileMuFeatureContainer()");
3433 ATH_MSG_INFO("REGTEST ==========START of TileMuFeatureContainer DUMP===========");
3434
3437
3438 StatusCode sc = evtStore()->retrieve(TileMu, lastTileMu);
3439 if (sc.isFailure()) {
3440 ATH_MSG_INFO("REGTEST No TileMuFeatureContainer found");
3441 return StatusCode::SUCCESS;
3442 }
3443 ATH_MSG_INFO("REGTEST TileMuFeatureContainer retrieved");
3444
3445 for (int i=0; TileMu != lastTileMu; ++TileMu, ++i) {
3446 ATH_MSG_INFO("REGTEST Looking at TileMuFeatureContainer " << i);
3449
3450 for(int j=0; TileMuItr != TileMuItrE; ++TileMuItr, ++j) {
3451 ATH_MSG_INFO("REGTEST Looking at TileMuFeature " << j);
3452 ATH_MSG_INFO("REGTEST TileMuFeature->eta() returns " << (*TileMuItr)->eta());
3453 ATH_MSG_INFO("REGTEST TileMuFeature->phi() returns " << (*TileMuItr)->phi());
3454 ATH_MSG_INFO("REGTEST TileMuFeature->enedep().at(0) returns " << (*TileMuItr)->enedep().at(0));
3455 ATH_MSG_INFO("REGTEST TileMuFeature->enedep().at(1) returns " << (*TileMuItr)->enedep().at(1));
3456 ATH_MSG_INFO("REGTEST TileMuFeature->enedep().at(2) returns " << (*TileMuItr)->enedep().at(2));
3457 ATH_MSG_INFO("REGTEST TileMuFeature->enedep().at(3) returns " << (*TileMuItr)->enedep().at(3));
3458 ATH_MSG_INFO("REGTEST TileMuFeature->quality() returns " << (*TileMuItr)->quality());
3459
3460 }
3461 }
3462
3463 ATH_MSG_INFO("REGTEST ==========END of TileMuFeatureContainer DUMP===========");
3464 ATH_MSG_DEBUG("dumpTileMuFeatureContainer() succeeded");
3465
3466 return StatusCode::SUCCESS;
3467}
3468
3470
3471StatusCode TrigEDMChecker::dumpTileTrackMuFeatureContainer ATLAS_NOT_THREAD_SAFE() {
3472
3473 ATH_MSG_DEBUG("in dumpTileTrackMuFeatureContainer()");
3474 ATH_MSG_INFO("REGTEST ==========START of TileTrackMuFeatureContainer DUMP===========");
3475
3478
3479 StatusCode sc = evtStore()->retrieve(TileTrackMu, lastTileTrackMu);
3480 if (sc.isFailure()) {
3481 ATH_MSG_INFO("REGTEST No TileTrackMuFeatureContainer found");
3482 return StatusCode::SUCCESS;
3483 }
3484 ATH_MSG_INFO("REGTEST TileTrackMuFeatureContainer retrieved");
3485
3486 for (int i=0; TileTrackMu!=lastTileTrackMu; ++TileTrackMu, ++i) {
3487 ATH_MSG_INFO("REGTEST Looking at TileTrackMuFeatureContainer " << i);
3488
3489 TileTrackMuFeatureContainer::const_iterator TileTrackMuItr = TileTrackMu->begin();
3490 TileTrackMuFeatureContainer::const_iterator TileTrackMuItrE= TileTrackMu->end();
3491
3492 for (int j=0; TileTrackMuItr != TileTrackMuItrE; ++TileTrackMuItr, ++j) {
3493 ATH_MSG_INFO("REGTEST Looking at TileTrackMuFeature " << j);
3494 ATH_MSG_INFO("REGTEST TileTrackMuFeature->PtTR_Trk() returns " << (*TileTrackMuItr)->PtTR_Trk());
3495 ATH_MSG_INFO("REGTEST TileTrackMuFeature->EtaTR_Trk() returns " << (*TileTrackMuItr)->EtaTR_Trk());
3496 ATH_MSG_INFO("REGTEST TileTrackMuFeature->PhiTR_Trk() returns " << (*TileTrackMuItr)->PhiTR_Trk());
3497 ATH_MSG_INFO("REGTEST TileTrackMuFeature->Typ_IDTrk() returns " << (*TileTrackMuItr)->Typ_IDTrk());
3498
3499 ATH_MSG_INFO("REGTEST TileMuFeature info: ");
3500 ElementLink<TileMuFeatureContainer> TileMuEL = (*TileTrackMuItr)->TileMuLink();
3501 const TileMuFeature* TileMu;
3502 if ( !TileMuEL.isValid() ) {
3503 ATH_MSG_INFO("REGTEST No TileMuFeature (Something Wrong)");
3504 TileMu = 0;
3505 } else{
3506 TileMu = *TileMuEL;
3507 }
3508
3509 if( TileMu != 0 ){
3510 ATH_MSG_INFO("REGTEST TileMuLink->eta() returns " << TileMu->eta());
3511 ATH_MSG_INFO("REGTEST TileMuLink->phi() returns " << TileMu->phi());
3512 ATH_MSG_INFO("REGTEST TileMuLink->enedep().at(0) returns " << TileMu->enedep().at(0));
3513 ATH_MSG_INFO("REGTEST TileMuLink->enedep().at(1) returns " << TileMu->enedep().at(1));
3514 ATH_MSG_INFO("REGTEST TileMuLink->enedep().at(2) returns " << TileMu->enedep().at(2));
3515 ATH_MSG_INFO("REGTEST TileMuLink->enedep().at(3) returns " << TileMu->enedep().at(3));
3516 ATH_MSG_INFO("REGTEST TileMuLink->quality() returns " << TileMu->quality());
3517 }
3518
3519 ATH_MSG_INFO("REGTEST TrigInDetTrack info: ");
3520 ElementLink<TrigInDetTrackCollection> IDScanEL = (*TileTrackMuItr)->IDScanLink();
3521 const TrigInDetTrack* Track;
3522 if ( !IDScanEL.isValid() ) {
3523 ATH_MSG_INFO("REGTEST No valid IDtracks");
3524 Track = 0;
3525 } else{
3526 Track = *IDScanEL;
3527 }
3528
3529 if (Track != 0) {
3530 ATH_MSG_INFO("REGTEST IDScanLink->algorithmId() returns " << Track->algorithmId());
3531 ATH_MSG_INFO("REGTEST IDScanLink->chi2() returns " << Track->chi2());
3532 ATH_MSG_INFO("REGTEST IDScanLink->NStrawHits() returns ");
3533 ATH_MSG_INFO("REGTEST IDScanLink->NStraw() returns " << Track->NStraw());
3534 ATH_MSG_INFO("REGTEST IDScanLink->NStrawTime() returns " << Track->NStrawTime());
3535 ATH_MSG_INFO("REGTEST IDScanLink->NTRHits() returns " << Track->NTRHits());
3536 ATH_MSG_INFO("REGTEST IDScanLink->param()->phi0() returns " << Track->param()->phi0());
3537 ATH_MSG_INFO("REGTEST IDScanLink->param()->eta() returns " << Track->param()->eta());
3538 ATH_MSG_INFO("REGTEST IDScanLink->param()->pT() returns " << Track->param()->pT());
3539 }
3540 }
3541 }
3542
3543 ATH_MSG_INFO("REGTEST ==========END of TileTrackMuFeatureContainer DUMP===========");
3544 ATH_MSG_DEBUG("dumpTileTrackMuFeatureContainer() succeeded");
3545 return StatusCode::SUCCESS;
3546}
3547
3549StatusCode TrigEDMChecker::dumpxAODTauJetContainer ATLAS_NOT_THREAD_SAFE() {
3550
3551 ATH_MSG_DEBUG("In dumpxAODTauJetContainer");
3552 ATH_MSG_INFO( "REGTEST ==========START of xAOD::TauJetContainer DUMP===========" );
3553 const xAOD::TauJetContainer * TauJetcont = 0;
3554 StatusCode sc = evtStore() -> retrieve (TauJetcont, "HLT_xAOD__TauJetContainer_TrigTauRecMerged");
3555
3556 if (sc.isFailure()) {
3557
3558 ATH_MSG_INFO("REGTEST No Tau container HLT_xAOD__TauJetContainer_TrigTauRecMerged");
3559
3560
3561 return StatusCode::SUCCESS;
3562 }
3563
3564
3565 for(xAOD::TauJetContainer::const_iterator tauIt = TauJetcont->begin(); tauIt != TauJetcont->end();++tauIt){
3566
3567 ATH_MSG_INFO( "REGTEST (*tauIt)->eta() returns " << (*tauIt)->eta() );
3568 ATH_MSG_INFO( "REGTEST (*tauIt)->phi() returns " << (*tauIt)->phi() );
3569 ATH_MSG_INFO( "REGTEST (*tauIt)->pt() returns " << (*tauIt)->pt() );
3570
3571 // for numTracks()
3572 int EFnTracks = -1;
3573 #ifndef XAODTAU_VERSIONS_TAUJET_V3_H
3574 EFnTracks = (*tauIt)->nTracks();
3575 #else
3576 (*tauIt)->detail(xAOD::TauJetParameters::nChargedTracks, EFnTracks);
3577 #endif
3578
3579 ATH_MSG_INFO( "REGTEST (*tauIt)->nTracks() returns " << EFnTracks );
3580
3581 // for nTracksIsolation()
3582 int EFWidenTrack = -1;
3583 #ifndef XAODTAU_VERSIONS_TAUJET_V3_H
3584 EFWidenTrack = (*tauIt)->nWideTracks();
3585 #else
3586 (*tauIt)->detail(xAOD::TauJetParameters::nIsolatedTracks, EFWidenTrack);
3587 #endif
3588
3589 ATH_MSG_INFO( "REGTEST (*tauIt)->nWideTracks() returns " << EFWidenTrack );
3590
3591 //bool test = false;
3592 float trkAvgDist=0;
3593 float etOvPtLead=0;
3594 float emRadius=0;
3595 float hadRadius=0;
3596 float IsoFrac=0;
3597 float centFrac=0;
3598 float ipSigLeadTrk=0;
3599 float trFlightPathSig=0;
3600 float dRmax=0;
3601 float massTrkSys=0;
3602 float PSSFraction=0;
3603 float EMPOverTrkSysP=0;
3604 float ChPiEMEOverCaloEME=0;
3605 float EtEm=0;
3606 float EtHad=0;
3607
3608 if ( (*tauIt)->detail(xAOD::TauJetParameters::trkAvgDist,trkAvgDist))
3609 ATH_MSG_INFO( "REGTEST TauDetails->trkAvgDist() returns " << trkAvgDist);
3610
3611 if ( (*tauIt)->detail(xAOD::TauJetParameters::etOverPtLeadTrk,etOvPtLead))
3612 ATH_MSG_INFO( "REGTEST TauDetails->etOverPtLeadTrk() returns " << etOvPtLead);
3613
3614 if ( (*tauIt)->detail(xAOD::TauJetParameters::EMRadius,emRadius))
3615 ATH_MSG_INFO( "REGTEST TauDetails->EMRadius() returns " << emRadius);
3616
3617 if ( (*tauIt)->detail(xAOD::TauJetParameters::hadRadius,hadRadius))
3618 ATH_MSG_INFO( "REGTEST TauDetails->hadRadius() returns " << hadRadius);
3619
3620 if ( (*tauIt)->detail(xAOD::TauJetParameters::isolFrac,IsoFrac))
3621 ATH_MSG_INFO( "REGTEST TauDetails->isolFrac() returns " << IsoFrac);
3622
3623 if ( (*tauIt)->detail(xAOD::TauJetParameters::centFrac,centFrac))
3624 ATH_MSG_INFO( "REGTEST TauDetails->centFrac() returns " << centFrac);
3625
3626 if ( (*tauIt)->detail(xAOD::TauJetParameters::ipSigLeadTrk,ipSigLeadTrk))
3627 ATH_MSG_INFO( "REGTEST TauDetails->ipSigLeadTrk() returns " << ipSigLeadTrk);
3628
3629 if ( (*tauIt)->detail(xAOD::TauJetParameters::trFlightPathSig,trFlightPathSig))
3630 ATH_MSG_INFO( "REGTEST TauDetails->trFlightPathSig() returns " << trFlightPathSig);
3631
3632 if ( (*tauIt)->detail(xAOD::TauJetParameters::dRmax,dRmax))
3633 ATH_MSG_INFO( "REGTEST TauDetails->dRmax() returns " << dRmax);
3634
3635 if ( (*tauIt)->detail(xAOD::TauJetParameters::massTrkSys,massTrkSys)){
3636 massTrkSys /=1000;
3637 ATH_MSG_INFO( "REGTEST TauDetails->massTrkSys() returns " << massTrkSys);}
3638
3639 if ( (*tauIt)->detail(xAOD::TauJetParameters::PSSFraction,PSSFraction))
3640 ATH_MSG_INFO( "REGTEST TauDetails->PSSFraction() returns " << PSSFraction);
3641
3642 if ( (*tauIt)->detail(xAOD::TauJetParameters::EMPOverTrkSysP,EMPOverTrkSysP))
3643 ATH_MSG_INFO( "REGTEST TauDetails->EMPOverTrkSysP() returns " << EMPOverTrkSysP);
3644
3645 if ( (*tauIt)->detail(xAOD::TauJetParameters::ChPiEMEOverCaloEME,ChPiEMEOverCaloEME))
3646 ATH_MSG_INFO( "REGTEST TauDetails->ChPiEMEOverCaloEME() returns " << ChPiEMEOverCaloEME);
3647
3648 if ( (*tauIt)->detail(xAOD::TauJetParameters::etEMAtEMScale,EtEm)){
3649 EtEm /=1000;
3650 ATH_MSG_INFO( "REGTEST TauDetails->etEMAtEMScale() returns " << EtEm);}
3651
3652 if ( (*tauIt)->detail(xAOD::TauJetParameters::etHadAtEMScale,EtHad)){
3653 EtHad /=1000;
3654 ATH_MSG_INFO( "REGTEST TauDetails->etHadAtEMScale() returns " << EtHad);}
3655
3656
3657 if( !(*tauIt)->jetLink().isValid() ) {
3658 ATH_MSG_WARNING("tau does not have jet seed");
3659 return StatusCode::SUCCESS;
3660 }
3661
3662 const xAOD::Jet* pJetSeed = *((*tauIt)->jetLink());
3663
3666
3667 for (int clusCount = 0; clusItr != clusItrE; ++clusItr, ++clusCount) {
3668
3669 ATH_MSG_INFO( "REGTEST Tau Cluster " << clusCount << " pt = " << (*clusItr)->pt()
3670 << " eta = " << (*clusItr)->eta()
3671 << " phi = " << (*clusItr)->phi() );
3672
3673 }
3674
3675
3676 for (unsigned int trackNum = 0; trackNum < (*tauIt)->nTracks(); ++trackNum) {
3677
3678 const xAOD::TrackParticle *linkTrack = (*tauIt)->track(trackNum)->track();
3679 if (!linkTrack) {
3680 ATH_MSG_WARNING("can't get tau linked track");
3681 return StatusCode::SUCCESS;
3682 } else {
3683 ATH_MSG_DEBUG("Got the tau linked track");
3684 }
3685
3686 ATH_MSG_INFO( "REGTEST Tau linked track " << trackNum << " pt = " << linkTrack->pt()
3687 << " eta = " << linkTrack->eta()
3688 << " phi = " << linkTrack->phi() );
3689
3690 }
3691
3692
3693 }// end for
3694
3695 return StatusCode::SUCCESS;
3696
3697}
3698
3699
3701
3702StatusCode TrigEDMChecker::dumpTauJetContainer ATLAS_NOT_THREAD_SAFE() {
3703
3704 ATH_MSG_INFO("REGTEST ==========START of TauJetContainer DUMP===========");
3705
3706 using namespace Analysis;
3707
3708 StatusCode sCode=StatusCode::FAILURE;
3709 int ntag=1;
3710 std::string TauContainerTags[]={"HLT_TrigTauRecMerged"};
3711 for (int itag=0; itag < ntag; itag++) {
3712 const TauJetContainer* TauJetcont = nullptr;
3713 sCode=evtStore()->retrieve(TauJetcont , TauContainerTags[itag]);
3714 if( sCode.isFailure() ){
3715 ATH_MSG_INFO("Failed to retrieve TauJetContainer with key " << TauContainerTags[itag]);
3716 continue;
3717 }
3718
3719 for(Analysis::TauJetContainer::const_iterator tauIt = TauJetcont->begin(); tauIt != TauJetcont->end(); ++tauIt){
3720
3721 bool IsTaurec = false;
3722 bool Is1p3p = false;
3723 if ((*tauIt)->hasAuthor( TauJetParameters::tauRec)) {
3724 ATH_MSG_INFO("Is TauRec Seeded ");
3725 IsTaurec = true;
3726 }
3727
3728 if ((*tauIt)->hasAuthor( TauJetParameters::tau1P3P)) {
3729 ATH_MSG_INFO("Is Tau1p3p Seeded ");
3730 Is1p3p = true;
3731 }
3732
3733 if ((*tauIt)->hasAuthor( TauJetParameters::unknown)) {
3734 ATH_MSG_INFO("Is unknown seeded ");
3735 }
3736
3737 const Analysis::TauCommonDetails* TauDetails = (*tauIt)->details<const Analysis::TauCommonDetails>();
3738 if (TauDetails == NULL) {
3739 ATH_MSG_INFO(" TauDetails == NULL ");
3740 continue;
3741 }
3742
3743 ATH_MSG_INFO("REGTEST (*tauIt)->eta() returns " << (*tauIt)->eta());
3744 ATH_MSG_INFO("REGTEST (*tauIt)->phi() returns " << (*tauIt)->phi());
3745 ATH_MSG_INFO("REGTEST (*tauIt)->numTrack() returns " << (*tauIt)->numTrack());
3746 ATH_MSG_INFO("REGTEST TauDetails->nLooseTrk() returns " << TauDetails->nLooseTrk());
3747 ATH_MSG_INFO("REGTEST TauDetails->leadTrkPt() returns " << TauDetails->leadTrkPt());
3748 ATH_MSG_INFO("REGTEST TauDetails->leadLooseTrkPt() returns " << TauDetails->leadLooseTrkPt());
3749 ATH_MSG_INFO("REGTEST TauDetails->ipZ0SinThetaSigLeadTrk() returns " << TauDetails->ipZ0SinThetaSigLeadTrk());
3750 ATH_MSG_INFO("REGTEST TauDetails->ipSigLeadTrk() returns "<<TauDetails->ipSigLeadTrk());
3751 ATH_MSG_INFO("REGTEST TauDetails->ipSigLeadLooseTrk() returns "<<TauDetails->ipSigLeadLooseTrk());
3752 ATH_MSG_INFO("REGTEST TauDetails->trkWidth2() returns "<<TauDetails->trkWidth2());
3753 ATH_MSG_INFO("REGTEST TauDetails->trFlightPathSig() returns "<< TauDetails->trFlightPathSig());
3754
3755 if(IsTaurec) {
3756 ATH_MSG_INFO("Calo seeded");
3757 ATH_MSG_INFO("REGTEST TauDetails->seedCalo_etHadCalib() returns " << TauDetails->seedCalo_etHadCalib());
3758 ATH_MSG_INFO("REGTEST TauDetails->seedCalo_etEMCalib() returns " << TauDetails->seedCalo_etEMCalib());
3759 ATH_MSG_INFO("REGTEST TauDetails->seedCalo_EMRadius() returns " << TauDetails->seedCalo_EMRadius());
3760 ATH_MSG_INFO("REGTEST TauDetails->seedCalo_isolFrac() returns " << TauDetails->seedCalo_isolFrac());
3761 ATH_MSG_INFO("REGTEST TauDetails->seedCalo_centFrac() returns " << TauDetails->seedCalo_centFrac());
3762 ATH_MSG_INFO("REGTEST TauDetails->seedCalo_stripWidth2() returns " << TauDetails->seedCalo_stripWidth2());
3763 ATH_MSG_INFO("REGTEST TauDetails->seedCalo_nStrip() returns " << TauDetails->seedCalo_nStrip());
3764 ATH_MSG_INFO("REGTEST TauDetails->seedCalo_etEMAtEMScale() returns " << TauDetails->seedCalo_etEMAtEMScale());
3765 ATH_MSG_INFO("REGTEST TauDetails->seedCalo_etHADAtEMScale() returns " << TauDetails->seedCalo_etHadAtEMScale());
3766 ATH_MSG_INFO("REGTEST TauDetails->seedCalo_hadRadius() returns " << TauDetails->seedCalo_hadRadius());
3767 ATH_MSG_INFO("REGTEST TauDetails->seedCalo_nIsolLooseTrk() returns " << TauDetails->seedCalo_nIsolLooseTrk());
3768 ATH_MSG_INFO("REGTEST TauDetails->seedCalo_trkAvgDist() returns " << TauDetails->seedCalo_trkAvgDist());
3769 ATH_MSG_INFO("REGTEST TauDetails->seedCalo_trkRmsDist() returns " << TauDetails->seedCalo_trkRmsDist());
3770 }
3771
3772 if(Is1p3p) {
3773 ATH_MSG_INFO("Track seeded");
3774 ATH_MSG_INFO("REGTEST TauDetails->seedTrk_EMRadius() returns " << TauDetails->seedTrk_EMRadius());
3775 ATH_MSG_INFO("REGTEST TauDetails->seedTrk_isolFrac() returns " << TauDetails->seedTrk_isolFrac());
3776 ATH_MSG_INFO("REGTEST TauDetails->seedTrk_etChrgHadOverSumTrkPt () returns " << TauDetails->seedTrk_etChrgHadOverSumTrkPt ());
3777 ATH_MSG_INFO("REGTEST TauDetails->seedTrk_isolFracWide() returns " << TauDetails->seedTrk_isolFracWide());
3778 ATH_MSG_INFO("REGTEST TauDetails->seedTrk_etHadAtEMScale() returns " << TauDetails->seedTrk_etHadAtEMScale());
3779 ATH_MSG_INFO("REGTEST TauDetails->seedTrk_etEMAtEMScale() returns " << TauDetails->seedTrk_etEMAtEMScale());
3780 ATH_MSG_INFO("REGTEST TauDetails->seedTrk_etEMCL() returns " << TauDetails->seedTrk_etEMCL());
3781 ATH_MSG_INFO("REGTEST TauDetails->seedTrk_etChrgEM() returns " << TauDetails->seedTrk_etChrgEM());
3782 ATH_MSG_INFO("REGTEST TauDetails->seedTrk_etNeuEM() returns " << TauDetails->seedTrk_etNeuEM());
3783 ATH_MSG_INFO("REGTEST TauDetails->seedTrk_etResNeuEM() returns " << TauDetails->seedTrk_etResNeuEM());
3784 ATH_MSG_INFO("REGTEST TauDetails->seedTrk_hadLeakEt() returns " << TauDetails->seedTrk_hadLeakEt());
3785 ATH_MSG_INFO("REGTEST TauDetails->seedTrk_sumEMCellEtOverLeadTrkPt() returns " << TauDetails->seedTrk_sumEMCellEtOverLeadTrkPt());
3786 ATH_MSG_INFO("REGTEST TauDetails->seedTrk_secMaxStripEt() returns " << TauDetails->seedTrk_secMaxStripEt());
3787 ATH_MSG_INFO("REGTEST TauDetails->seedTrk_stripWidth2() returns " << TauDetails->seedTrk_stripWidth2());
3788 ATH_MSG_INFO("REGTEST TauDetails->seedTrk_nStrip() returns " << TauDetails->seedTrk_nStrip());
3789 ATH_MSG_INFO("REGTEST TauDetails->seedTrk_etChrgHad() returns " << TauDetails->seedTrk_etChrgHad());
3790 ATH_MSG_INFO("REGTEST TauDetails->seedTrk_nOtherCoreTrk() returns " << TauDetails->seedTrk_nOtherCoreTrk());
3791 ATH_MSG_INFO("REGTEST TauDetails->seedTrk_nIsolTrk() returns " << TauDetails->seedTrk_nIsolTrk());
3792 ATH_MSG_INFO("REGTEST TauDetails->seedTrk_etIsolEM() returns " << TauDetails->seedTrk_etIsolEM());
3793 ATH_MSG_INFO("REGTEST TauDetails->seedTrk_etIsolHad() returns " << TauDetails->seedTrk_etIsolHad());
3794 }
3795
3796 const Analysis::TauJet* tj = *tauIt;
3797 if ( tj->clusterLink().isValid() ) {
3798 ATH_MSG_INFO("REGTEST CaloCluster present");
3799 } else {
3800 ATH_MSG_INFO("REGTEST CaloCluster missing");
3801 }
3802
3803 if( TauDetails->looseTrk().size() !=0 ) {
3804 ATH_MSG_INFO("REGTEST TauDetails->looseTrk() link present ");
3805 } else {
3806 ATH_MSG_INFO("REGTEST TauDetails->looseTrk() link missing ");
3807 }
3808
3809 if ( tj->cellClusterLink().isValid() ) {
3810 ATH_MSG_INFO("REGTEST CellCaloCluster present");
3811 } else {
3812 ATH_MSG_INFO("REGTEST CellCaloCluster missing");
3813 }
3814
3815 if ( tj->jetLink().isValid() ) {
3816 ATH_MSG_INFO("REGTEST Jet present");
3817 } else {
3818 ATH_MSG_INFO("REGTEST Jet missing");
3819 }
3820
3821 if ( tj->jetLink().isValid() ) {
3822 ATH_MSG_INFO("REGTEST Jet present");
3823 } else {
3824 ATH_MSG_INFO("REGTEST Jet missing");
3825 }
3826
3827 ATH_MSG_INFO("REGTEST numTrack returns " << tj->numTrack());
3828
3829 if ( tj->trackLinkVector().size() != 0 ) {
3830 ATH_MSG_INFO("REGTEST TrackLinkVector present");
3831 } else {
3832 ATH_MSG_INFO("REGTEST TrackkLinkVector missing");
3833 }
3834
3835 ATH_MSG_INFO("REGTEST author returns " << tj->author());
3836 ATH_MSG_INFO("REGTEST ROIWord returns " << tj->author());
3837 }
3838 }
3839
3842 StatusCode sc = evtStore()->retrieve(TauJet, lastTauJet);
3843 if (sc.isFailure()) {
3844 ATH_MSG_INFO("REGTEST No TauJetContainer found");
3845 return StatusCode::FAILURE;
3846 }
3847 else ATH_MSG_DEBUG("Found TauJetContainer");
3848
3849 ATH_MSG_INFO("REGTEST TauJetContainer retrieved");
3850
3851 for ( ; TauJet != lastTauJet ; ++TauJet ) {
3852 ATH_MSG_INFO("REGTEST TauJetContainer key: " << TauJet.key());
3853 }
3854
3855 return StatusCode::SUCCESS;
3856}
3857
3859
3860 ATH_MSG_DEBUG("In dumpxAODTrackParticle()");
3861
3862 ATH_MSG_INFO("REGTEST ==========START of xAOD::TrackParticle DUMP===========");
3863
3864 std::vector<std::string> SGkeys;
3865 SGkeys.push_back("HLT_xAOD__TrackParticleContainer_InDetTrigTrackingxAODCnv_Bjet_EFID");
3866 SGkeys.push_back("HLT_xAOD__TrackParticleContainer_InDetTrigTrackingxAODCnv_Bphysics_EFID");
3867 SGkeys.push_back("HLT_xAOD__TrackParticleContainer_InDetTrigTrackingxAODCnv_Electron_EFID");
3868 SGkeys.push_back("HLT_xAOD__TrackParticleContainer_InDetTrigTrackingxAODCnv_FullScan_EFID");
3869 SGkeys.push_back("HLT_xAOD__TrackParticleContainer_InDetTrigTrackingxAODCnv_Muon_EFID");
3870 SGkeys.push_back("HLT_xAOD__TrackParticleContainer_InDetTrigTrackingxAODCnv_Photon_EFID");
3871 SGkeys.push_back("HLT_xAOD__TrackParticleContainer_InDetTrigTrackingxAODCnv_Tau_EFID");
3872
3873 StatusCode returnsc = StatusCode::SUCCESS;
3874
3875 for (unsigned int SGkey = 0; SGkey < SGkeys.size(); ++SGkey) {
3876 const xAOD::TrackParticleContainer* trackParticleContainer=0;
3877 StatusCode sc = evtStore()->retrieve(trackParticleContainer,SGkeys.at(SGkey));
3878 if (sc.isFailure()) {
3879 ATH_MSG_INFO("REGTEST No track particle container found with key " << SGkeys.at(SGkey));
3880 continue;
3881 }
3882 ATH_MSG_INFO("REGTEST TrackParticleContainer retrieved with key " << SGkeys.at(SGkey)
3883 << " and size " << trackParticleContainer->size());
3884
3885 xAOD::TrackParticleContainer::const_iterator trackParticleItr = trackParticleContainer->begin();
3886 xAOD::TrackParticleContainer::const_iterator trackParticleLast = trackParticleContainer->end();
3887
3888 for (int index = 0; trackParticleItr != trackParticleLast; ++trackParticleItr, ++index) {
3889 ATH_MSG_INFO("REGTEST Looking at Track Particle " << index);
3890
3891 ATH_MSG_INFO("REGTEST IParticle functions:");
3892 ATH_MSG_INFO("REGTEST pt: " << (*trackParticleItr)->pt()
3893 << "/eta: " << (*trackParticleItr)->eta()
3894 << "/phi: " << (*trackParticleItr)->phi()
3895 << "/m: " << (*trackParticleItr)->m()
3896 << "/e: " << (*trackParticleItr)->e()
3897 << "/rapidity: " << (*trackParticleItr)->rapidity());
3898
3899 ATH_MSG_INFO("REGTEST Defining parameters functions:");
3900 ATH_MSG_INFO("REGTEST charge: " << (*trackParticleItr)->charge()
3901 << "/d0: " << (*trackParticleItr)->d0()
3902 << "/z0: " << (*trackParticleItr)->z0()
3903 << "/phi0: " << (*trackParticleItr)->phi0()
3904 << "/theta: " << (*trackParticleItr)->theta()
3905 << "/qOverP: " << (*trackParticleItr)->qOverP()
3906 << "/vx: " << (*trackParticleItr)->vx()
3907 << "/vy: " << (*trackParticleItr)->vy()
3908 << "/vz: " << (*trackParticleItr)->vz());
3909
3910 // Curvilinear functions skipped
3911
3912 ATH_MSG_INFO("REGTEST Fit quality functions:");
3913 ATH_MSG_INFO("REGTEST chiSquared: " << (*trackParticleItr)->chiSquared()
3914 << "/numberDoF: " << (*trackParticleItr)->numberDoF());
3915
3916 // TrackInfo functions skipped
3917
3918 ATH_MSG_INFO("REGTEST summaryValue variables:");
3919 msg() << MSG::INFO << "REGTEST ";
3920 uint8_t numberOfBLayerHits = 0;
3921 if ( (*trackParticleItr)->summaryValue(numberOfBLayerHits, xAOD::numberOfBLayerHits) ) {
3922 msg() << "/numberOfBLayerHits: " << static_cast<int>(numberOfBLayerHits);
3923 } else {
3924 msg() << "/numberOfBLayerHits not found";
3925 }
3926
3927 uint8_t numberOfPixelHits = 0;
3928 if ( (*trackParticleItr)->summaryValue(numberOfPixelHits, xAOD::numberOfPixelHits) ) {
3929 msg() << "/numberOfPixelHits: " << static_cast<int>(numberOfPixelHits);
3930 } else {
3931 msg() << "/numberOfPixelHits not found";
3932 }
3933
3934 uint8_t numberOfPixelHoles = 0;
3935 if ( (*trackParticleItr)->summaryValue(numberOfPixelHoles, xAOD::numberOfPixelHoles) ) {
3936 msg() << "/numberOfPixelHoles: " << static_cast<int>(numberOfPixelHoles);
3937 } else {
3938 msg() << "/numberOfPixelHoles not found";
3939 }
3940
3941 uint8_t numberOfSCTHits = 0;
3942 if ( (*trackParticleItr)->summaryValue(numberOfSCTHits, xAOD::numberOfSCTHits) ) {
3943 msg() << "/numberOfSCTHits: " << static_cast<int>(numberOfSCTHits);
3944 } else {
3945 msg() << "/numberOfSCTHits not found";
3946 }
3947
3948 uint8_t numberOfSCTHoles = 0;
3949 if ( (*trackParticleItr)->summaryValue(numberOfSCTHoles, xAOD::numberOfSCTHoles) ) {
3950 msg() << "/numberOfSCTHoles: " << static_cast<int>(numberOfSCTHoles);
3951 } else {
3952 msg() << "/numberOfSCTHoles not found";
3953 }
3954
3955 uint8_t numberOfTRTHits = 0;
3956 if ( (*trackParticleItr)->summaryValue(numberOfTRTHits, xAOD::numberOfTRTHits) ) {
3957 msg() << "/numberOfTRTHits: " << static_cast<int>(numberOfTRTHits);
3958 } else {
3959 msg() << "/numberOfTRTHits not found";
3960 }
3961
3962 uint8_t numberOfTRTHoles = 0;
3963 if ( (*trackParticleItr)->summaryValue(numberOfTRTHoles, xAOD::numberOfTRTHoles) ) {
3964 msg() << "/numberOfTRTHoles: " << static_cast<int>(numberOfTRTHoles);
3965 } else {
3966 msg() << "/numberOfTRTHoles not found";
3967 }
3968 msg() << endmsg;
3969 }
3970 }
3971
3972 ATH_MSG_INFO("REGTEST ==========END of xAOD::TrackParticle DUMP===========");
3973 ATH_MSG_DEBUG("dumpxAODTrackParticles() succeeded");
3974
3975 return returnsc;
3976}
3977
3979
3980 ATH_MSG_DEBUG("In dumpxAODVertex()");
3981
3982 ATH_MSG_INFO("REGTEST ==========START of xAOD::Vertex DUMP===========");
3983
3984 const xAOD::VertexContainer* vertexContainer=0;
3985 StatusCode sc = evtStore()->retrieve(vertexContainer,"HLT_xAOD__VertexContainer_xPrimVx");
3986 if (sc.isFailure()) {
3987 ATH_MSG_INFO("REGTEST No vertex container");
3988 return StatusCode::FAILURE;
3989 }
3990 ATH_MSG_INFO("REGTEST VertexContainer retrieved");
3991
3992 xAOD::VertexContainer::const_iterator vertexItr = vertexContainer->begin();
3993 xAOD::VertexContainer::const_iterator vertexLast = vertexContainer->end();
3994
3995 for (int index = 0; vertexItr != vertexLast; ++vertexItr, ++index) {
3996 ATH_MSG_INFO("REGTEST Looking at Vertex " << index);
3997
3998 ATH_MSG_INFO("REGTEST Public Member Functions:");
3999 ATH_MSG_INFO("REGTEST x: " << (*vertexItr)->x()
4000 << "/y: " << (*vertexItr)->y()
4001 << "/z: " << (*vertexItr)->z());
4002
4003 ATH_MSG_INFO("REGTEST Public Member Functions:");
4004 ATH_MSG_INFO("REGTEST chiSquared: " << (*vertexItr)->chiSquared()
4005 << "/numberDoF: " << (*vertexItr)->numberDoF());
4006 }
4007
4008 ATH_MSG_INFO("REGTEST ==========END of xAOD::Vertex DUMP===========");
4009 ATH_MSG_DEBUG("dumpxAODVertex() succeeded");
4010
4011 return StatusCode::SUCCESS;
4012}
4013
4015 using namespace TrigCompositeUtils; // LinkInfo
4016 ATH_MSG_INFO( "REGTEST ==========START of TDT DUMP===========" );
4017 // Note: This minimal TDT dumper is for use during run-3 dev
4018 std::string chain = m_dumpNavForChain;
4019 if (chain.empty()) {
4020 chain = "HLT_.*";
4021 }
4022 std::vector<std::string> confChains = m_trigDec->getListOfTriggers(chain);
4023 for (const auto& item : confChains) {
4024 bool passed = m_trigDec->isPassed(item);
4025 ATH_MSG_INFO(" HLT Item " << item << " (numeric ID " << TrigConf::HLTUtils::string2hash(item, "Identifier") << ") passed raw? " << passed);
4026 if (m_trigDec->getNavigationFormat() == "TriggerElement") {
4027 ATH_MSG_DEBUG(" Skipping Run 2 features in this dumper");
4028 continue;
4029 }
4030 std::vector< LinkInfo<xAOD::IParticleContainer> > passFeatures = m_trigDec->features<xAOD::IParticleContainer>(item);
4031 if (passFeatures.size()) {
4032 ATH_MSG_INFO(" " << item << " Passed Final IParticle features size: " << passFeatures.size());
4033 for (const LinkInfo<xAOD::IParticleContainer>& li : passFeatures) {
4034 if (!li.isValid()) {
4035 ATH_MSG_WARNING(" Unable to access feature - link invalid.");
4036 } else {
4037 try {
4038 std::string state = "ACTIVE";
4039 if (li.state == ActiveState::INACTIVE) state = "INACTIVE";
4040 else if (li.state == ActiveState::UNSET) state = "UNSET";
4041 ATH_MSG_INFO(" IParticle Feature from " << li.link.dataID() << " index:" << li.link.index() << " pt:" << (*li.link)->pt() << " eta:" << (*li.link)->eta() << " phi:" << (*li.link)->phi() << " state:" << state);
4042 } catch (const std::exception& e) {
4043 ATH_MSG_WARNING(" Unable to dereference feature {" << e.what() << "}");
4044 }
4045 }
4046 }
4047 }
4048 std::vector< LinkInfo<xAOD::IParticleContainer> > passAndFailFeatures = m_trigDec->features<xAOD::IParticleContainer>(item, TrigDefs::includeFailedDecisions);
4049 if (passAndFailFeatures.size()) {
4050 ATH_MSG_INFO(" " << item << " Passed+Failed Final IParticle features size: " << passAndFailFeatures.size());
4051 for (const LinkInfo<xAOD::IParticleContainer>& li : passAndFailFeatures) {
4052 if (!li.isValid()) {
4053 ATH_MSG_WARNING(" Unable to access feature - link invalid.");
4054 } else {
4055 try {
4056 std::string state = "ACTIVE";
4057 if (li.state == ActiveState::INACTIVE) state = "INACTIVE";
4058 else if (li.state == ActiveState::UNSET) state = "UNSET";
4059 ATH_MSG_INFO(" IParticle Feature from " << li.link.dataID() << " index:" << li.link.index() << " pt:" << (*li.link)->pt() << " eta:" << (*li.link)->eta() << " phi:" << (*li.link)->phi() << " state:" << state);
4060 } catch (const std::exception& e) {
4061 ATH_MSG_WARNING(" Unable to dereference feature {" << e.what() << "}");
4062 }
4063 }
4064 }
4065 }
4066 std::vector< LinkInfo<xAOD::IParticleContainer> > allFeatures = m_trigDec->features<xAOD::IParticleContainer>(item, TrigDefs::includeFailedDecisions, "", TrigDefs::allFeaturesOfType);
4067 if (allFeatures.size()) {
4068 ATH_MSG_INFO(" " << item << " Passed+Failed ALL IParticle features size: " << allFeatures.size());
4069 for (const LinkInfo<xAOD::IParticleContainer>& li : allFeatures) {
4070 if (!li.isValid()) {
4071 ATH_MSG_WARNING(" Unable to access feature - link invalid.");
4072 } else {
4073 try {
4074 std::string state = "ACTIVE";
4075 if (li.state == ActiveState::INACTIVE) state = "INACTIVE";
4076 else if (li.state == ActiveState::UNSET) state = "UNSET";
4077 ATH_MSG_INFO(" IParticle Feature from " << li.link.dataID() << " index:" << li.link.index() << " pt:" << (*li.link)->pt() << " eta:" << (*li.link)->eta() << " phi:" << (*li.link)->phi() << " state:" << state);
4078 } catch (const std::exception& e) {
4079 ATH_MSG_WARNING(" Unable to dereference feature {" << e.what() << "}");
4080 }
4081 }
4082 }
4083 }
4084 }
4085
4086 if (m_trigDec->getNavigationFormat() == "TrigComposite") {
4087 // Check associateToEventView helper function
4088 std::vector< LinkInfo<xAOD::IParticleContainer> > muons = m_trigDec->features<xAOD::IParticleContainer>("HLT_mu24_idperf_L1MU20", TrigDefs::Physics, "HLT_MuonL2CBInfo");
4089 SG::ReadHandle<xAOD::TrackParticleContainer> muonTracksReadHandle(m_muonTracksKey, Gaudi::Hive::currentContext());
4090 for (const LinkInfo<xAOD::IParticleContainer>& mu : muons) {
4091 // Note: auto here refers to type std::pair< xAOD::TrackParticleContainer::const_iterator, xAOD::TrackParticleContainer::const_iterator>
4092 const auto roiTrackItPair = m_trigDec->associateToEventView<xAOD::TrackParticleContainer>(muonTracksReadHandle, mu, "roi");
4093 const xAOD::TrackParticleContainer::const_iterator startIt = roiTrackItPair.first;
4094 const xAOD::TrackParticleContainer::const_iterator stopIt = roiTrackItPair.second;
4095 ATH_MSG_INFO("Muon pT: " << (*mu.link)->pt() << " is from the same ROI as tracks with index "
4096 << std::distance(muonTracksReadHandle->begin(), startIt) << "-" << std::distance(muonTracksReadHandle->begin(), stopIt)
4097 << ", which is " << std::distance(startIt, stopIt) << " tracks, out of " << muonTracksReadHandle->size() << " total tracks.");
4098 for (xAOD::TrackParticleContainer::const_iterator it = startIt; it != stopIt; ++it) {
4099 ATH_MSG_VERBOSE(" -- Track " << std::distance(startIt, it) << " in this ROI, pT: " << (*it)->pt() );
4100 }
4101 }
4102 }
4103
4104 ATH_MSG_INFO( "REGTEST ==========END of TDT DUMP===========" );
4105 return StatusCode::SUCCESS;
4106}
4107
4109 ATH_MSG_INFO( "REGTEST ==========START of xAOD::TrigCompositeContainer DUMP===========" );
4110
4113 const CLID TrigCompositeCLID = static_cast<CLID>( ClassID_traits< xAOD::TrigCompositeContainer >::ID() );
4114 evtStore()->keys(TrigCompositeCLID, m_dumpTrigCompositeContainers);
4115 std::string typeNameTC;
4116 ATH_CHECK(m_clidSvc->getTypeNameOfID(TrigCompositeCLID, typeNameTC));
4117 ATH_MSG_DEBUG("dumpTrigComposite got " << m_dumpTrigCompositeContainers.size() << " keys for " << typeNameTC);
4118 } else {
4119 ATH_MSG_DEBUG("Using supplied " << m_dumpTrigCompositeContainers.size() << " keys");
4120 }
4121
4122 for ( const std::string & key: m_dumpTrigCompositeContainers ) {
4123 // get the collection
4125 ATH_MSG_WARNING("Absent TrigCompositeContainer: " << key );
4126 continue;
4127 }
4128 ATH_MSG_DEBUG( "#################### Dumping container of : " << key );
4129 const xAOD::TrigCompositeContainer* cont= nullptr;
4130 ATH_CHECK( evtStore()->retrieve( cont, key ) );
4131
4132 size_t count = 0;
4133 for ( auto tc: *cont ) {
4134 ATH_MSG_DEBUG("########## ELEMENT " << count++);
4135 ATH_MSG_DEBUG(*tc);
4136 // Get the objects we know of
4137 for (size_t i = 0; i < tc->linkColNames().size(); ++i) ATH_CHECK(checkTrigCompositeElementLink(tc, i));
4138 }
4139 }
4140 ATH_MSG_INFO( "REGTEST ==========END of xAOD::TrigCompositeContainer DUMP===========" );
4141 return StatusCode::SUCCESS;
4142}
4143
4144
4145
4147
4148 const std::string name = tc->linkColNames().at(element);
4149 const CLID clid = static_cast<CLID>(tc->linkColClids().at(element));
4150
4152
4153 const ElementLink<TrigRoiDescriptorCollection> elementLink = tc->objectLink<TrigRoiDescriptorCollection>(name);
4154 if (!elementLink.isValid()) ATH_MSG_WARNING(" Invalid element link to TrigRoiDescriptorCollection, link name:'" << name << "'");
4155 else ATH_MSG_DEBUG(" Dereferenced link '" << name << "'' to TrigRoiDescriptor:" << *elementLink);
4156
4157 } else if (clid == ClassID_traits< DataVector< LVL1::RecEmTauRoI > >::ID()) { // There could be a few ROI types....
4158 // CLASS_DEF( DataVector< LVL1::RecEmTauRoI >, 6256, 1 )
4159
4161 if (!elementLink.isValid()) ATH_MSG_WARNING(" Invalid element link to LVL1::RecEmTauRoI, link name:'" << name << "'");
4162 else ATH_MSG_DEBUG(" Dereferenced link '" << name << "' to LVL1::RecEmTauRoI:" << *elementLink);
4163
4165
4166 const ElementLink<xAOD::TrigCompositeContainer> elementLink = tc->objectLink<xAOD::TrigCompositeContainer>(name);
4167 if (!elementLink.isValid()) ATH_MSG_WARNING(" Invalid element link to TrigComposite, link name:'" << name << "'");
4168 else ATH_MSG_DEBUG(" Dereferenced link '" << name << "' to TrigComposite, TC name:'" << (*elementLink)->name() << "'");
4169
4170 } else if (clid == ClassID_traits< ViewContainer >::ID()) {
4171
4172 const ElementLink<ViewContainer> elementLink = tc->objectLink<ViewContainer>(name);
4173 if (!elementLink.isValid()) ATH_MSG_WARNING(" Invalid element link to View, link name:'" << name << "'");
4174 else ATH_MSG_DEBUG(" Dereferenced link '" << name << "' to View:'" << *elementLink);
4175
4176 } else if (name == "feature") {
4177
4179
4180 const ElementLink<xAOD::TrigEMClusterContainer> elementLink = tc->objectLink<xAOD::TrigEMClusterContainer>(name);
4181 if (!elementLink.isValid()) ATH_MSG_WARNING(" Invalid element link to xAOD::TrigEMClusterContainer 'feature'");
4182 else ATH_MSG_DEBUG(" Dereferenced xAOD::TrigEMClusterContainer link 'feature', Energy:" << (*elementLink)->energy());
4183
4185
4186 const ElementLink<xAOD::TrigMissingETContainer> elementLink = tc->objectLink<xAOD::TrigMissingETContainer>(name);
4187 if (!elementLink.isValid()) ATH_MSG_WARNING(" Invalid element link to xAOD::TrigMissingETContainer 'feature'");
4188 else ATH_MSG_DEBUG(" Dereferenced xAOD::TrigMissingETContainer link 'feature', ex:" << (*elementLink)->ex() << " ey:" << (*elementLink)->ey());
4189
4190 } else {
4191
4192 try {
4193 const ElementLink<xAOD::IParticleContainer> elementLink = tc->objectLink<xAOD::IParticleContainer>(name);
4194 if (!elementLink.isValid()) ATH_MSG_WARNING(" Invalid element link to 'feature'");
4195 else ATH_MSG_DEBUG(" Dereferenced IParticle link 'feature', pt:" << (*elementLink)->pt() << " eta:" << (*elementLink)->eta() << " phi:" << (*elementLink)->phi());
4196 } catch(std::runtime_error& e) {
4197 ATH_MSG_WARNING(" Cannot dereference 'feature' as IParticle: '" << e.what() << "'");
4198 }
4199
4200 }
4201
4202 } else {
4203 ATH_MSG_DEBUG(" Ignoring link to '" << name << "' with link CLID " << clid);
4204 }
4205
4206 return StatusCode::SUCCESS;
4207
4208}
4209
4210
4211StatusCode TrigEDMChecker::TrigCompositeNavigationToDot(std::string& returnValue, bool& pass) {
4212
4213 using namespace TrigCompositeUtils;
4214
4215 // This constexpr is evaluated at compile time
4216 const CLID TrigCompositeCLID = static_cast<CLID>( ClassID_traits< xAOD::TrigCompositeContainer >::ID() );
4217 std::vector<std::string> keys;
4218 if ( m_dumpTrigCompositeContainers.size() == 0 ) {
4219 evtStore()->keys(TrigCompositeCLID, keys);
4220 }
4221 else {
4223 }
4224 std::string typeNameTC;
4225 ATH_CHECK(m_clidSvc->getTypeNameOfID(TrigCompositeCLID, typeNameTC));
4226 ATH_MSG_DEBUG("Got " << keys.size() << " keys for " << typeNameTC);
4227
4229 DecisionIDContainer chainIDs;
4230 chainIDs.insert( chainID.numeric() );
4231
4232 std::set<int> converted;
4233
4234 const Trig::ChainGroup* cg = m_trigDec->getChainGroup(m_dumpNavForChain);
4236 std::vector<std::string> chains = cg->getListOfTriggers();
4237 for (const std::string& chain : chains) {
4238 const TrigConf::HLTChain* hltChain = m_trigDec->ExperimentalAndExpertMethods().getChainConfigurationDetails(chain);
4239 const HLT::Identifier chainID_tmp( hltChain->chain_name() );
4240 chainIDs.insert( chainID_tmp.numeric() );
4241 const std::vector<size_t> legMultiplicites = hltChain->leg_multiplicities();
4242 if (legMultiplicites.size() == 0) {
4243 ATH_MSG_ERROR("chain " << chainID_tmp << " has invalid configuration, no multiplicity data.");
4244 } else if (legMultiplicites.size() > 1) {
4245 // For multi-leg chains, the DecisionIDs are handled per leg.
4246 // We don't care here exactly how many objects are required per leg, just that there are two-or-more legs
4247 for (size_t legNumeral = 0; legNumeral < legMultiplicites.size(); ++legNumeral) {
4248 const HLT::Identifier legID = TrigCompositeUtils::createLegName(chainID_tmp, legNumeral);
4249 chainIDs.insert( legID.numeric() );
4250 }
4251 }
4252 }
4253
4254 // First retrieve them all (this should not be needed in future)
4255 const DecisionContainer* container = nullptr;
4256 for (const std::string& key : keys) ATH_CHECK( evtStore()->retrieve( container, key ) );
4257
4258 std::stringstream ss;
4259 ss << "digraph {" << std::endl;
4260 ss << " node [shape=rectangle]" << std::endl;
4261 ss << " rankdir = BT" << std::endl;
4262
4263 // Now process them
4264 for (const std::string& key : keys) {
4265 if ( not m_doDumpAllTrigComposite ) {
4266 if ( not key.starts_with( "HLTNav_") ) { // Nav containers should always start with HLTNav_
4267 continue;
4268 }
4269 }
4270 ATH_CHECK( evtStore()->retrieve( container, key ) );
4271 ATH_MSG_DEBUG("Processing collection " << key << " to be added to the navigation graph");
4272 // ss << " rank=same" << std::endl; // dot cannot handle this is seems
4273 bool writtenHeader = false;
4274 for (const Decision* tc : *container ) {
4275 // Output my ID in the graph.
4276 const DecisionContainer* container = dynamic_cast<const DecisionContainer*>( tc->container() );
4278 std::vector<ElementLink<DecisionContainer>> seedELs = tc->objectCollectionLinks<DecisionContainer>("seed");
4279 const bool isHypoAlgNode = tc->name() == "H";
4280 const bool isComboHypoAlgNode = tc->name() == "CH";
4281 const std::vector<DecisionID>& decisions = tc->decisions();
4282 const uint32_t selfKey = selfEL.key();
4283 const uint32_t selfIndex = selfEL.index();
4284 if (m_dumpNavForChain != "") {
4285 bool doDump = false;
4286 // Check me
4287 for (DecisionID id : decisions) {
4288 if (chainIDs.count(id) == 1) {
4289 doDump = true;
4290 break;
4291 }
4292 }
4293 // Check my seeds
4294 if (!doDump and (isHypoAlgNode or isComboHypoAlgNode) and not m_excludeFailedHypoNodes) {
4295 for (const ElementLink<DecisionContainer>& s : seedELs) {
4296 const std::vector<DecisionID>& seedDecisions = (*s)->decisions();
4297 for (DecisionID id : seedDecisions) {
4298 if (chainIDs.count(id) == 1) {
4299 doDump = true;
4300 break;
4301 }
4302 }
4303 }
4304 }
4305 if (!doDump) {
4306 continue;
4307 }
4308 }
4309 if (!writtenHeader) {
4310 writtenHeader = true;
4311 ss << " subgraph " << key << " {" << std::endl;
4312 ss << " label=\"" << key << "\"" << std::endl;
4313 }
4314 const std::string scheme = "rdpu9";
4315 std::string color = "1";
4316 if (tc->name() == "L1") { color = "1"; }
4317 else if (tc->name() == "F") { color = "2"; }
4318 else if (tc->name() == "IM") { color = "3"; }
4319 else if (tc->name() == "H") { color = "4"; }
4320 else if (tc->name() == "CH") { color = "5"; }
4321 else if (tc->name() == "SF") { color = "6"; }
4322 else if (tc->name() == "HLTPassRaw") { color = "7"; }
4323 ss << " \"" << selfKey << "_" << selfIndex << "\" [colorscheme="<<scheme<<",style=filled,fillcolor="<<color<<",label=<<B>Container</B>=" << typeNameTC;
4324 if (tc->name() != "") ss << " <B>Name</B>=" << tc->name();
4325 ss << "<BR/><B>Key</B>=" << key << "<BR/><B>Index</B>=" << selfIndex;
4326 const bool isRemapped = tc->isRemapped();
4327 if (isHypoAlgNode) ss << " <B>linksRemapped</B>=" << (isRemapped ? "Y" : "N");
4328 if (decisions.size() > 0) {
4329 ss << "<BR/><B>Pass</B>=";
4330 size_t c = 0;
4331 for (unsigned decisionID : decisions) {
4332 HLT::Identifier dID(decisionID);
4333 std::string highlight = (dID.numeric() == chainID.numeric() ? "<B>[CHAIN:" : "");
4334 if (highlight == "" and chainIDs.count(dID.numeric()) == 1 and TrigCompositeUtils::isLegId(dID)) {
4335 highlight = "<B>[LEG" + std::to_string(TrigCompositeUtils::getIndexFromLeg(dID)) + ":";
4336 }
4337 ss << std::hex << highlight << decisionID << (!highlight.empty() ? "]</B>" : "") << std::dec << ",";
4338 if (c++ == 5) {
4339 ss << "<BR/>";
4340 c = 0;
4341 }
4342 }
4343 }
4344 ss << ">]" << std::endl;
4345 // Output all the things I link to
4346 size_t seedCount = 0;
4347 for (size_t i = 0; i < tc->linkColNames().size(); ++i) {
4348 const std::string link = tc->linkColNames().at(i);
4349 if (link == "seed" || link == "seed__COLL") {
4350 ElementLink<DecisionContainer> seedEL = seedELs.at(seedCount++);
4351 const uint32_t seedKey = tc->linkColKeys().at(i);
4352 const uint32_t seedIndex = tc->linkColIndices().at(i);
4353 ATH_CHECK( seedKey == seedEL.key() );
4354 ATH_CHECK( seedIndex == seedEL.index() );
4355 if (m_dumpNavForChain != "") { // Only print "seed" link to nodes we include in our search
4356 const std::vector<DecisionID> seedDecisions = (*seedEL)->decisions();
4357 bool doSeedLink = false;
4358 for (DecisionID id : seedDecisions) {
4359 if (chainIDs.count(id) == 1) {
4360 doSeedLink = true;
4361 break;
4362 }
4363 }
4364 if (!doSeedLink) {
4365 continue;
4366 }
4367 }
4368 ss << " \"" << selfKey << "_" << selfIndex << "\" -> \"" << seedKey << "_" << seedIndex << "\" [colorscheme="<<scheme<<",color=9,fontcolor=8,label=\"seed\"]" << std::endl;
4369 } else {
4370 // Start with my class ID
4371 std::string linkColour = "12";
4372 std::string linkBackground = "11";
4373 const std::string extScheme = "paired12";
4374 if (link == "roi") { linkColour="2"; linkBackground="1"; }
4375 else if (link == "initialRoI") { linkColour="2"; linkBackground="1"; }
4376 else if (link == "initialRecRoI") { linkColour="8"; linkBackground="7"; }
4377 else if (link == "feature") { linkColour="4"; linkBackground="3"; }
4378 else if (link == "view") { linkColour="10"; linkBackground="9"; }
4379 const CLID linkCLID = static_cast<CLID>( tc->linkColClids().at(i) );
4380 // Use it to get my class name
4381 std::string tname;
4382 ATH_CHECK(m_clidSvc->getTypeNameOfID(linkCLID, tname));
4383 // Now get the sgkey I'm linking to & the index
4384 const SG::sgkey_t key = (isRemapped ? static_cast<SG::sgkey_t>( tc->linkColKeysRemap().at(i) ) : static_cast<SG::sgkey_t>( tc->linkColKeys().at(i) ));
4385 const unsigned index = (isRemapped ? tc->linkColIndicesRemap().at(i) : tc->linkColIndices().at(i));
4386 // Look it up
4387 CLID checkCLID;
4388 const std::string* keyStr = evtStore()->keyToString(key, checkCLID); // I don't own this str
4389 if (keyStr != nullptr && checkCLID != linkCLID) {
4390 std::string tnameOfCheck;
4391 m_clidSvc->getTypeNameOfID(checkCLID, tnameOfCheck).ignore(); // Might be invalid. But we don't care.
4392 ATH_MSG_ERROR("Inconsistent CLID " << checkCLID << " [" << tnameOfCheck << "] stored in storegate for key " << key
4393 << ". We were expecting " << linkCLID << " [" << tname << "]");
4394 }
4395
4396 std::string tnameEscape;
4397 for (std::string::const_iterator i = tname.begin(); i != tname.end(); ++i) {
4398 unsigned char c = *i;
4399 if (c == '<') {
4400 tnameEscape += "&lt;";
4401 } else if (c == '>') {
4402 tnameEscape += "&gt;";
4403 } else {
4404 tnameEscape += c;
4405 }
4406 }
4407
4408 // Print
4409 ss << " \"" << selfKey << "_" << selfIndex << "\" -> \"" << key << "_" << index << "\" ";
4410 ss << "[colorscheme="<<extScheme<<",color="<<linkColour<<",fontcolor="<<linkColour<<",arrowhead=empty,label=\"" << link << "\"]" << std::endl;
4411
4412 // Check if we are linking to self (e.g. a dummy-feature), don't output a new box for this
4413 const bool linkToSelf = (selfKey == key and selfIndex == index);
4414
4415 if (converted.count(key + index) == 0 and not linkToSelf) {
4416 ss << " \"" << key << "_" << index << "\" [colorscheme="<<extScheme<<",style=filled,fillcolor="<<linkBackground<<",label=<<B>Container</B>=" << tnameEscape << "<BR/><B>Key</B>=";
4417 if (keyStr != nullptr) ss << *keyStr;
4418 else ss << "[<I>KEY "<< key <<" NOT IN STORE</I>] ";
4419 ss << "<BR/><B>Index</B>=" << index << ">]";
4420 }
4421
4422 converted.insert(key + index);
4423 }
4424 }
4425 }
4426 if (writtenHeader) {
4427 ss << " }" << std::endl;
4428 }
4429 }
4430
4431 ss << "}" << std::endl;
4432
4433 returnValue.assign( ss.str() );
4434 return StatusCode::SUCCESS;
4435}
4436
4438{
4439 // Get object from store
4440 const xAOD::TrigNavigation * navigationHandle = nullptr;
4441 ATH_CHECK( evtStore()->retrieve( navigationHandle, m_navigationHandleKey.key() ) );
4442 // Proper version doesn't work - conversion issue?
4443 //SG::ReadHandle< xAOD::TrigNavigation > navigationHandle = SG::ReadHandle< xAOD::TrigNavigation >( m_navigationHandleKey );
4444 //if ( !navigationHandle.isValid() ) ATH_MSG_FATAL( "Could not retrieve navigation" );
4445
4446 // Get serialised navigation info
4447 const std::vector< unsigned int > serialisedNavigation = navigationHandle->serialized();
4448 ATH_MSG_INFO( "Serialised navigation size: " << serialisedNavigation.size() );
4449
4450 // Convert the input
4451 HLT::Navigation* testNav = m_navigationTool.get();
4452 testNav->deserialize( serialisedNavigation );
4453
4454 // Make a map of TE name hashes
4455 const xAOD::TriggerMenuContainer * testMenu = nullptr;
4456 ATH_CHECK( inputMetaStore()->retrieve( testMenu, "TriggerMenu" ) );
4457 std::map< int, std::string > hash2string;
4458 for ( auto const& sequence : testMenu->front()->sequenceInputTEs() ) {
4459 for ( auto const& name : sequence ) {
4461 hash2string[ hash ] = name;
4462 }
4463 }
4464
4465 // Map TE names to chain names
4466 unsigned int chainCounter = 0;
4467 std::map< int, std::string > hash2chain;
4468 for ( auto const& chain : testMenu->front()->chainSignatureOutputTEs() ) {
4469
4470 // Find the chain name
4471 std::string chainName = testMenu->front()->chainNames()[ chainCounter ];
4472 ++chainCounter;
4473
4474 // Find all associated TEs
4475 for ( auto const& signature : chain ) {
4476 for ( auto const& name : signature ) {
4478 hash2string[ hash ] = name; // for decoding
4479 hash2chain[ hash ] = chainName;
4480 }
4481 }
4482 }
4483
4484 // Define a map of TE features, to the TEs that use them. Needs a custom sort lambda
4485 auto cmpLambda = []( const HLT::TriggerElement::FeatureAccessHelper &lhs, const HLT::TriggerElement::FeatureAccessHelper &rhs) {
4486
4487 // Compare indices if CLID matches
4488 if ( lhs.getCLID() == rhs.getCLID() ) return ( lhs.getIndex() < rhs.getIndex() );
4489
4490 // Compare CLIDs
4491 else return ( lhs.getCLID() < rhs.getCLID() );
4492 };
4493 std::map< HLT::TriggerElement::FeatureAccessHelper, std::vector< HLT::TriggerElement* >, decltype(cmpLambda) > feature2element(cmpLambda);
4494
4495 // Retrieve all TE features and add them to the map
4496 std::vector< HLT::TriggerElement* > allTEs;
4497 testNav->getAll( allTEs, false );
4498 for ( auto element : allTEs ) {
4499
4500 // Add TE features to the big map
4501 for ( auto helper : element->getFeatureAccessHelpers() ) {
4502 feature2element[ helper ].push_back( element );
4503 }
4504 }
4505
4506 // Debug - output all TEs and their ancestors
4507 // No duplication - only print terminal nodes
4508 for ( auto element : allTEs ) {
4509 if ( testNav->isTerminalNode( element ) ) {
4510 ATH_MSG_INFO( "+++++++++++ " << hash2string[ element->getId() ] << " is terminal node" );
4511 ATH_MSG_INFO( "ptr: " << element );
4512 std::queue< HLT::TriggerElement* > allAncestors;
4513 allAncestors.push( element );
4514 while ( allAncestors.size() ) {
4515
4516 HLT::TriggerElement * thisElement = allAncestors.front();
4517 allAncestors.pop();
4518 auto theseAncestors = thisElement->getRelated( HLT::TriggerElement::Relation::seededByRelation );
4519
4520 // Dump TE
4521 ATH_MSG_INFO( "te: " << thisElement->getId() << " " << hash2string[ thisElement->getId() ] );
4522 ATH_MSG_INFO( " chain: " << hash2chain[ thisElement->getId() ] );
4523 for ( const auto& helper : thisElement->getFeatureAccessHelpers() ) {
4524 ATH_MSG_INFO( " feat: " << helper );
4525 }
4526 ATH_MSG_INFO( theseAncestors.size() << " ancestors" );
4527
4528 // Examine ancestors
4529 for ( auto ancestor : theseAncestors ) {
4530 allAncestors.push( ancestor );
4531 }
4532 }
4533 }
4534 }
4535
4536 // Make the decision container
4538 auto decisionOutput = outputNavigation.ptr();
4539
4540 // Find unique chains associated with a feature
4541 std::map< HLT::TriggerElement const*, std::vector< int > > element2decisions;
4542 for ( const auto& pair : feature2element ) {
4543
4544 // Get the feature info
4545 std::string featureName = testNav->label( pair.first.getCLID(), pair.first.getIndex().subTypeIndex() );
4546 auto sgKey = evtStore()->stringToKey( featureName, pair.first.getCLID() );
4547
4548 // Store RoIs with appropriate label ?
4549 std::string storeFeatureName = "feature";
4550/* if ( pair.first.getCLID() == ClassID_traits< TrigRoiDescriptor >::ID() ) {
4551 storeFeatureName = "roi";
4552 }*/
4553
4554 // Make a decision object for the feature
4555 auto decision = TrigCompositeUtils::newDecisionIn( decisionOutput );
4556 decision->typelessSetObjectLink( storeFeatureName, sgKey, pair.first.getCLID(), pair.first.getIndex().objectsBegin(), pair.first.getIndex().objectsEnd() );
4557
4558 // Examine associated TEs, look for chains
4559 std::set< std::string > passedChains;
4560 for ( HLT::TriggerElement const* element : pair.second ) {
4561
4562 // TODO - find out what chains actually passed!
4563 passedChains.insert( hash2chain[ element->getId() ] );
4564
4565 // Index the TE
4566 int decisionNumber = decisionOutput->size() - 1;
4567 element2decisions[ element ].push_back( decisionNumber );
4568 }
4569
4570 // Store unique chains in the decision
4571 for ( auto& chain : passedChains ) {
4573 }
4574 }
4575
4576 // Store decision ancestry (had to go through once before to ensure indices populated)
4577 unsigned int decisionCounter = 0;
4578 for ( const auto& pair : feature2element ) {
4579
4580 // Get current decision
4581 auto decision = decisionOutput->at( decisionCounter );
4582 ++decisionCounter;
4583
4584 // Find ancestor TEs
4585 for ( auto element : pair.second ) {
4586 auto theseAncestors = element->getRelated( HLT::TriggerElement::Relation::seededByRelation );
4587 for ( auto ancestor : theseAncestors ) {
4588 for ( int decisionIndex : element2decisions[ ancestor ] ) {
4589 TrigCompositeUtils::linkToPrevious( decision, m_decisionsKey.key(), decisionIndex );
4590 }
4591 }
4592 }
4593 }
4594
4595 return StatusCode::SUCCESS;
4596}
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
Scalar theta() const
theta method
#define endmsg
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_ERROR(x)
#define ATH_MSG_INFO(x)
#define ATH_MSG_VERBOSE(x)
#define ATH_MSG_WARNING(x)
#define ATH_MSG_DEBUG(x)
bool isValid(const T &p)
Av: we implement here an ATLAS-sepcific convention: all particles which are 99xxxxx are fine.
Definition AtlasPID.h:878
std::vector< Identifier > ID
Helper functions intended to be called from the debugger.
uint32_t CLID
The Class ID type.
This file defines helper classes to deal with jet constituents.
bool passed(DecisionID id, const DecisionIDContainer &)
checks if required decision ID is in the set of IDs in the container
unsigned int uint
static Double_t ss
static Double_t tc
static Double_t sc
unsigned int DecisionID
std::set< DecisionID > DecisionIDContainer
xAOD::TrigCompositeContainer DecisionContainer
void diff(const Jet &rJet1, const Jet &rJet2, std::map< std::string, double > varDiff)
Difference between jets - Non-Class function required by trigger.
Definition Jet.cxx:631
Declaration of tau jet transient class.
StatusCode TrigEDMChecker::do_execute ATLAS_NOT_THREAD_SAFE()
Install fatal handler with default options.
static const int maxRepWarnings
Adapted from code by A.Hamilton to check trigger EDM; R.Goncalo 21/11/07.
@ TauJet
DataVector< SG::View > ViewContainer
View container for recording in StoreGate.
Definition View.h:290
Define macros for attributes used to control the static checker.
#define ATLAS_THREAD_SAFE
Basic detail class containing information for track and calo seeded tau reconstruction algorithms.
Object for taus common for ESD and AOD.
const ElementLink< CaloClusterContainer > cellClusterLink() const
ElementLink to cell CaloCluster, might be invalid the ID variables are calculated from this cluster i...
unsigned int numTrack() const
number of Tracks associated to Tau candidate, CAUTION not to be confused with numberOfTracks()!
const ElementLinkVector< Rec::TrackParticleContainer > & trackLinkVector() const
Get track link vector.
const ElementLink< CaloClusterContainer > clusterLink() const
ElementLink to seed CaloCluster, DEPRECATED as of release 13
const ElementLink< JetCollection > jetLink() const
ElementLink to seed Jet, might be invalid if not seeded from a Jet
TauJetParameters::Author author() const
Author of this object (DO NOT USE! only for backward compatibility)
const ServiceHandle< StoreGateSvc > & inputMetaStore() const
Const accessor for the input metadata store.
AthAnalysisAlgorithm(const std::string &name)
Constructor taking just a name.
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
hash_t hash(const std::string &histName) const
Method to calculate a 32-bit hash from a string.
const ElementLink< MuonFeatureContainer > & muFastTrackLink(void) const
const ElementLink< TrigInDetTrackCollection > & IDTrackLink(void) const
Derived DataVector<T>.
Definition DataVector.h:795
DataModel_detail::const_iterator< DataVector > const_iterator
Definition DataVector.h:838
const T * at(size_type n) const
Access an element, as an rvalue.
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.
size_type size() const noexcept
Returns the number of elements in the collection.
HLT::HLTResult is sumarising result of trigger decision evaluation (online/offline) It contains basic...
Definition HLTResult.h:51
bool isAccepted() const
gets HLT decision
Definition HLTResult.h:131
bool isPassThrough() const
forced-accepted (FA) event configuration the FA request(s) are set per chain and hlt level by the tig...
Definition HLTResult.h:146
bool isEmpty() const
true if result is empty
unsigned int size() const
TrigCompositeUtils::DecisionID numeric() const
numeric ID
bool deserialize(const std::vector< uint32_t > &input)
The Navigation class, organizes TriggerElements into the tree structure.
Definition Navigation.h:100
void getAll(std::vector< TriggerElement * > &output, const bool activeOnly=true) const
The query returning a collection of all TriggerElements.
static bool isTerminalNode(const TriggerElement *te)
queries if node is terminal (no more TriggerElement are seeded by it)
std::string label(class_id_type clid, const index_or_label_type &sti_or_label) const
the FeatureAccessHelper is a class used to keep track of features attached to this TE.
const ObjectIndex & getIndex() const
index in the external ojects array
TriggerElement is the basic ingreedient of the interface between HLT algorithms and the navigation It...
const std::vector< TriggerElement * > & getRelated(Relation rel) const
returns reference to the likns to other TriggerElements related by relation r
const std::vector< FeatureAccessHelper > & getFeatureAccessHelpers() const
returns all features which ara attached to this TE
virtual double phi() const =0
phi in [-pi,pi[
virtual double pt() const =0
transverse momentum
virtual double p() const =0
momentum magnitude
virtual double eta() const =0
pseudo rapidity
Top level AOD object storing LVL1 RoIs.
Definition LVL1_ROI.h:43
const emtaus_type & getEmTauROIs() const
Get all the em/tau RoIs in the event.
Definition LVL1_ROI.h:65
float zeta(void) const
Definition MuonFeature.h:53
int saddress(void) const
Definition MuonFeature.h:47
float pt(void) const
Definition MuonFeature.h:48
int roiId(void) const
Definition MuonFeature.h:46
float beta(void) const
Definition MuonFeature.h:55
float phi(void) const
Definition MuonFeature.h:51
float dir_zeta(void) const
Definition MuonFeature.h:54
float radius(void) const
Definition MuonFeature.h:49
float dir_phi(void) const
Definition MuonFeature.h:52
float eta(void) const
Definition MuonFeature.h:50
virtual double pt() const
transverse momentum
virtual double pt() const
get pt data member
virtual double eta() const
get eta data member
virtual double phi() const
get phi data member
const Trk::Perigee * measuredPerigee() const
Accessor method for Perigee.
SG::Accessor< T, ALLOC > Accessor
Definition AuxElement.h:573
bool isAvailable(const ELT &e) const
Test to see if this variable exists in the store.
a const_iterator facade to DataHandle.
Definition SGIterator.h:164
pointer_type ptr()
Dereference the pointer.
const std::string & key() const
Get the key string with which the current object was stored.
Class to store TileMuId quantities.
Definition TileMu.h:25
float eta() const
Eta (computed as the average of the eta values of the TileCal cells where the muon goes through)
Definition TileMu.h:43
float phi() const
Phi (average value at the TileCal radius)
Definition TileMu.h:46
float quality() const
Quality flag (0 or 1): set to 0 if the "energy deposition path" is MIP like in all three samples (tig...
Definition TileMu.h:60
const std::vector< float > & enedep() const
Energy deposition by the muons in TileCal: 1st component: energy deposited in innermost layer (A cell...
Definition TileMu.h:54
HLT chain configuration information.
const std::vector< size_t > & leg_multiplicities() const
static HLTHash string2hash(const std::string &, const std::string &category="TE")
hash function translating TE names into identifiers
SG::WriteHandleKey< TrigCompositeUtils::DecisionContainer > m_decisionsKey
StatusCode dumpTrigInDetTrackCollection()
StatusCode dumpTrigPassBits()
StatusCode dumpTrigEFBphysContainer()
bool m_doDumpxAODTrigMissingET
StatusCode dumpxAODTrackParticle()
ToolHandle< Rec::IMuonPrintingTool > m_muonPrinter
PublicToolHandle< Trig::TrigDecisionTool > m_trigDec
StatusCode dumpHLTResult()
StatusCode dumpTrigComposite()
Dump information on TrigComposite collections.
StatusCode dumpxAODTrigMinBias()
StatusCode dumpTrigL2BphysContainer()
bool m_doDumpTrigTauContainer
bool m_doDumpTrigVertexCollection
bool m_doDumpTrigEFBphysContainer
StatusCode TrigCompositeNavigationToDot(std::string &returnValue, bool &pass)
Construct graph of HLT navigation in Run-3.
StatusCode checkTrigCompositeElementLink(const xAOD::TrigComposite *tc, size_t element)
Dump details on element links within TrigComposites.
bool m_doDumpTrigPhotonContainer
bool m_doDumpxAODTrigEMClusterContainer
bool m_doDumpTrigMuonEFContainer
SG::ReadHandleKey< xAOD::TrigNavigation > m_navigationHandleKey
bool m_doDumpxAODTrigElectronContainer
StatusCode dumpLVL1_ROI()
StatusCode dumpNavigation()
StatusCode dumpxAODTrigMissingET()
ToolHandle< HLT::Navigation > m_navigationTool
ServiceHandle< ::IClassIDSvc > m_clidSvc
bool m_doDumpxAODElectronContainer
bool m_doDumpTrigL2BjetContainer
StatusCode dumpTrackParticleContainer()
bool m_doDumpTrigElectronContainer
StatusCode dumpxAODElectronContainer()
StatusCode dumpxAODPhotonContainer()
bool m_doDumpTrigEMClusterContainer
bool m_doDumpxAODTauJetContainer
StatusCode dumpxAODVertex()
bool m_doDumpTrigInDetTrackCollection
bool m_doDumpTrigL2BphysContainer
bool m_doDumpAll
a handle on Store Gate for access to the Event Store
std::vector< std::string > m_dumpTrigCompositeContainers
bool m_doDumpTrigEFBjetContainer
StatusCode dumpxAODTrigPhotonContainer()
bool m_doDumpTrigMuonEFIsolationContainer
void dumpTrigSpacePointCounts()
bool m_doDumpTrigTauTracksInfo
bool m_doDumpTrackParticleContainer
bool m_doDumpTrigMuonEFInfoContainer
bool m_doDumpCombinedMuonFeature
bool m_doDumpTileTrackMuFeature
bool m_doDumpTrigCompsiteNavigation
Gaudi::Property< bool > m_excludeFailedHypoNodes
bool m_doDumpxAODTrigPhotonContainer
bool m_doDumpxAODPhotonContainer
StatusCode dumpxAODMuonContainer()
TrigEDMChecker(const std::string &name, ISvcLocator *pSvcLocator)
bool m_doDumpxAODTrackParticle
virtual ~TrigEDMChecker()
bool m_doDumpxAODJetContainer
StatusCode dumpxAODTrigElectronContainer()
bool m_doDumpTrigTauClusterContainer
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_muonTracksKey
bool m_doDumpxAODTrigEMCluster
bool m_doDumpAllTrigComposite
bool m_doDumpxAODMuonContainer
StatusCode dumpTDT()
void printMuonTrk(const TrigMuonEFTrack *muonTrack)
Gaudi::Property< std::string > m_dumpNavForChain
StatusCode dumpxAODJetContainer()
virtual StatusCode initialize() override
virtual StatusCode execute() override
Class with calibrated variables for egamma clustering.
float ehad1() const
get hadronic Energy (first hadronic layer)
float weta2() const
get cluster width (based on a 3x5 cluster - 2nd layer)
float e277() const
get Energy in a 7x7 cluster (no calibration) around hottest cell
float fracs1() const
get Energy in a 7 strips (around hottest strip) minus energy in 3 strips divided by energy in 3 strip...
float Eta1() const
get Eta sampling 1 (strip layer)
float e237() const
get Energy in a 3x7 cluster (no calibration) around hottest cell
encapsulates LVL2 track parameters and covariance matrix The vector of track parameters consists of
void surfaceCoordinate(double c)
Setter: surface reference coordinate for non-perigee surfaces.
void eta(const double eta)
Setter: pseudorapidity.
void z0(const double z0)
Setter: longitudinal impact parameter.
double ea0() const
variance of transverse impact parameter
void phi0(const double phi0)
Setter: azimuthal angle of the momentum.
void a0(const double a0)
Setter: transverse impact parameter.
double eeta() const
variance of pseudorapidity
void surfaceType(TrigSurfaceType s)
Setter: surface type PERIGEE=0, BARREL=1, ENDCAP=2.
double ez0() const
variance of longitudinal impact parameter
void cov(const std::vector< double > *cov)
Setter: covariance matrix of track parameters.
double ephi0() const
variance of azimuthal angle of the momentum
double epT() const
variance of transverse momentum
void pT(const double pT)
Setter: transverse momentum.
const HepMcParticleLink * bestMatchSi(const TrigInDetTrack *p_trig_trk) const
int bestMatchSiHits(const TrigInDetTrack *p_trig_trk) const
bool hasTruth(const TrigInDetTrack *p_trig_trk) const
methods to get truth-match objects
int bestMatchTRTHits(const TrigInDetTrack *p_trig_trk) const
const HepMcParticleLink * bestMatchTRT(const TrigInDetTrack *p_trig_trk) const
const TrigInDetTrackTruth * truth(const TrigInDetTrack *p_trig_trk) const
unsigned int nrMatches() const
returns number of matching particles
represents a LVL2 ID track
const Rec::TrackParticle * getIDTrackParticle() const
Get associated ID track.
TrigMuonEFCbTrack * CombinedTrack()
unsigned short int MuonType() const
TrigMuonEFTrack * ExtrapolatedTrack()
TrigMuonEFTrack * SpectrometerTrack()
const TrigMuonEFInfoTrackContainer * TrackContainer() const
bool hasTrack() const
EDM class for holding results of EF muon isolation calculation.
int trackPosition() const
Position of the muon in the TrigMuonEFInfoTrack container.
const TrigMuonEFInfoTrack * getEFMuonInfoTrack() const
Access the muon we calculated the isolation for.
const TrigMuonEFInfo * getMuonInfo() const
Access the muon info object we calculated the isolation for.
Contains basic information about trackc collection associated with Tau RoI.
float scalarPtSumCore() const
const P4PtEtaPhiM & threeFastestTracks() const
float leadingTrackPt() const
float scalarPtSumIso() const
bool isPassed(unsigned int condition=TrigDefs::Physics) const
tells if chain group passed
std::vector< std::string > getListOfTriggers() const
const Amg::Vector3D & momentum() const
Access method for the momentum.
Trk::RecVertex inherits from Trk::Vertex.
Definition RecVertex.h:44
const TrackSummary * trackSummary() const
accessor function for TrackSummary.
const Track * originalTrack() const
Return pointer to associated track.
double charge() const
Return charge of the particle.
const VxCandidate * reconstructedVertex() const
Get a pointer to the primary vertex.
A summary of the information contained by a track.
const Amg::Vector3D & position() const
return position of vertex
Definition Vertex.cxx:63
STL class.
virtual double eta() const
The pseudorapidity ( ) of the particle.
virtual double e() const
The total energy of the particle.
virtual double phi() const
The azimuthal angle ( ) of the particle.
@ ETACALOFRAME
Eta in the calo frame (for egamma)
@ PHICALOFRAME
Phi in the calo frame (for egamma)
A vector of jet constituents at the scale used during jet finding.
iterator begin() const
iterator on the first constituent
size_t size() const
number of constituents
iterator end() const
iterator after the last constituent
JetConstituentVector getConstituents() const
Return a vector of consituents. The object behaves like vector<const IParticle*>. See JetConstituentV...
Definition Jet_v1.cxx:147
virtual double phi() const override final
The azimuthal angle ( ) of the particle (has range to .)
virtual double pt() const override final
The transverse momentum ( ) of the particle.
virtual double eta() const override final
The pseudorapidity ( ) of the particle.
uint32_t roiId() const
accessor method: ID of L1 RoI
float eta() const
accessor method: eta
pType particleType() const
accessor method: particle Type
float phi() const
accessor method: phi
float fitmass() const
accessor method: mass from vertex fit
float mass() const
accessor method: mass
float eta() const
get Eta (calibrated)
float phi() const
get Phi (calibrated)
float e237() const
get Energy in a 3x7 cluster (no calibration) around hottest cell
float eta1() const
get Eta sampling 1 (strip layer)
float e277() const
get Energy in a 7x7 cluster (no calibration) around hottest cell
float ehad1() const
get hadronic Energy (first hadronic layer)
float weta2() const
get cluster width (based on a 3x5 cluster - 2nd layer)
float energy() const
get Energy (calibrated)
float fracs1() const
get Energy in a 7 strips (around hottest strip) minus energy in 3 strips divided by energy in 3 strip...
int flag() const
Get the status flag.
float ex() const
Get the x component of the missing energy.
float exComponent(unsigned int index) const
Get the x component fo the energy of a component.
const std::string & nameOfComponent(unsigned int index) const
Get the name of a component.
float eyComponent(unsigned int index) const
Get the y component fo the energy of a component.
uint32_t roiWord() const
Get the ROI word.
float sumE() const
Get the sum of the E of the missing energy.
float calib0Component(unsigned int index) const
Get Calib0.
float calib1Component(unsigned int index) const
Get Calib1.
unsigned int getNumberOfComponents() const
Get the number of components.
float ezComponent(unsigned int index) const
Get the z component fo the energy of a component.
float sumEt() const
Get the sum of the ET of the missing energy.
short statusComponent(unsigned int index) const
Get Status.
float ez() const
Get the z component of the missing energy.
float sumOfSignsComponent(unsigned int index) const
Get SumOfSigns.
float sumEComponent(unsigned int index) const
Get SumE.
float ey() const
Get the y component of the missing energy.
float sumEtComponent(unsigned int index) const
Get SumEt.
unsigned short usedChannelsComponent(unsigned int index) const
Get used Channels.
const std::vector< unsigned int > & serialized() const
expose the navigation information (in serialized form)
unsigned int sctSpEndcapA() const
unsigned int pixelClusTotBins() const
unsigned int sctSpBarrel() const
unsigned int pixelClusSizeBins() const
const std::vector< float > & contentsPixelClusEndcapC() const
getters
const std::vector< float > & contentsPixelClusEndcapA() const
unsigned int sctSpEndcapC() const
const std::vector< float > & contentsPixelClusBarrel() const
const std::vector< float > & triggerEnergies() const
Return the trigger energies of each counter.
const std::vector< float > & triggerTimes() const
Return the relative times of the triggers.
const std::vector< float > & eta_phi() const
unsigned int phiBins() const
unsigned int etaBins() const
const std::vector< float > & z0_pt() const
getters
unsigned int z0Bins() const
unsigned int ptBins() const
const std::vector< float > & vtxTrkPtSqSum() const
const std::vector< unsigned int > & vtxNtrks() const
getters
double chi2(TH1 *h0, TH1 *h1)
bool contains(const std::string &s, const std::string &regx)
does a string contain the substring
Definition hcg.cxx:114
int count(std::string s, const std::string &regx)
count how many occurances of a regx are in a string
Definition hcg.cxx:146
Eigen::Matrix< double, 3, 1 > Vector3D
The namespace of all packages in PhysicsAnalysis/JetTagging.
uint32_t sgkey_t
Type used for hashed StoreGate key+CLID pairs.
Definition sgkey_t.h:32
float j(const xAOD::IParticle &, const xAOD::TrackMeasurementValidation &hit, const Eigen::Matrix3d &jab_inv)
HLT::Identifier createLegName(const HLT::Identifier &chainIdentifier, size_t counter)
Generate the HLT::Identifier which corresponds to a specific leg of a given chain.
@ UNSET
Default property of state.
Definition ActiveState.h:19
@ INACTIVE
The link was inactive for all of the HLT Chains requested in the TDT.
Definition ActiveState.h:21
Decision * newDecisionIn(DecisionContainer *dc, const std::string &name)
Helper method to create a Decision object, place it in the container and return a pointer to it.
int32_t getIndexFromLeg(const HLT::Identifier &legIdentifier)
Extract the numeric index of a leg identifier.
SG::WriteHandle< DecisionContainer > createAndStore(const SG::WriteHandleKey< DecisionContainer > &key, const EventContext &ctx)
Creates and right away records the DecisionContainer with the key.
void linkToPrevious(Decision *d, const std::string &previousCollectionKey, size_t previousIndex)
Links to the previous object, location of previous 'seed' decision supplied by hand.
void addDecisionID(DecisionID id, Decision *d)
Appends the decision (given as ID) to the decision object.
bool isLegId(const HLT::Identifier &legIdentifier)
Recognise whether the chain ID is a leg ID.
static const unsigned int includeFailedDecisions
Run3 synonym of alsoDeactivateTEs.
static const unsigned int allFeaturesOfType
Run 3 "enum". Return all features along legs (still with type and container checks)
ParametersT< TrackParametersDim, Charged, PerigeeSurface > Perigee
@ theta
Definition ParamDefs.h:66
@ qOverP
perigee
Definition ParamDefs.h:67
@ phi
Definition ParamDefs.h:75
@ d0
Definition ParamDefs.h:63
@ px
Definition ParamDefs.h:59
@ z0
Definition ParamDefs.h:64
@ py
Definition ParamDefs.h:60
ParametersBase< TrackParametersDim, Charged > TrackParameters
@ numberOfPixelHits
number of pixel layers on track with absence of hits
@ numberOfBLayerHits
these are the hits in the 0th pixel layer?
-event-from-file
Definition index.py:1
status
Definition merge.py:16
retrieve(aClass, aKey=None)
Definition PyKernel.py:110
@ deltaPhi2
difference between the cluster phi (second sampling) and the phi of the track extrapolated to the sec...
@ deltaEta1
difference between the cluster eta (first sampling) and the eta of the track extrapolated to the firs...
@ e237
uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 3x7
Definition EgammaEnums.h:78
@ ethad
ET leakage into hadronic calorimeter with exclusion of energy in CaloSampling::TileGap3.
Definition EgammaEnums.h:46
@ e2ts1
2nd max in strips calc by summing 3 strips
@ e335
uncalibrated energy (sum of cells) of the third sampling in a rectangle of size 3x5
Definition EgammaEnums.h:87
@ e132
uncalibrated energy (sum of cells) in strips in a 3x2 window in cells in eta X phi
Definition EgammaEnums.h:37
@ e011
uncalibrated energy (sum of cells) in presampler in a 1x1 window in cells in eta X phi
Definition EgammaEnums.h:31
@ e2tsts1
energy of the cell corresponding to second energy maximum in the first sampling
@ etcone20
Calorimeter isolation.
@ ptcone20
Track isolation.
@ hadRadius
Get hadron calorimeter radius.
Definition TauDefs.h:192
@ EMRadius
Get E_T radius.
Definition TauDefs.h:190
@ etHadAtEMScale
Get Hadronic energy at EM scale.
Definition TauDefs.h:196
@ isolFrac
Get isolation fraction.
Definition TauDefs.h:198
@ trkAvgDist
Get calibrated EM transverse energy (DEPRECATED since r19)
Definition TauDefs.h:214
@ etEMAtEMScale
Get EM energy at EM scale.
Definition TauDefs.h:194
@ centFrac
Get centrality fraction.
Definition TauDefs.h:200
@ dRmax
Get maximal dR of tracks associated to calo-seeded tau.
Definition TauDefs.h:226
Jet_v1 Jet
Definition of the current "jet version".
TrigVertexCountsContainer_v1 TrigVertexCountsContainer
PhotonContainer_v1 PhotonContainer
Definition of the current "photon container version".
TrigPassBitsContainer_v1 TrigPassBitsContainer
Define the latest version of the trig pass bits container class.
TrigMissingETContainer_v1 TrigMissingETContainer
DataVector of TrigMissingET - the current version.
TrigCompositeContainer_v1 TrigCompositeContainer
Declare the latest version of the container.
TrigElectronContainer_v1 TrigElectronContainer
Declare the latest version of the container.
ElectronContainer_v1 ElectronContainer
Definition of the current "electron container version".
TrigBphys_v1 TrigBphys
Definition TrigBphys.h:18
TriggerMenuContainer_v1 TriggerMenuContainer
Define the latest version of the trigger menu container class.
CaloCluster_v1 CaloCluster
Define the latest version of the calorimeter cluster class.
TrigComposite_v1 TrigComposite
Declare the latest version of the class.
TrigSpacePointCountsContainer_v1 TrigSpacePointCountsContainer
TrigEMClusterContainer_v1 TrigEMClusterContainer
Define the latest version of the trigger EM cluster container.
TrigTrackCountsContainer_v1 TrigTrackCountsContainer
TrigPhotonContainer_v1 TrigPhotonContainer
Declare the latest version of the container.
TrackParticle_v1 TrackParticle
Reference the current persistent version:
VertexContainer_v1 VertexContainer
Definition of the current "Vertex container version".
TrigPassBits_v1 TrigPassBits
Define the latest version of the trigger pass bits class.
TrackParticleContainer_v1 TrackParticleContainer
Definition of the current "TrackParticle container version".
TrigEMCluster_v1 TrigEMCluster
Define the latest version of the trigger EM cluster class.
TrigNavigation_v1 TrigNavigation
Define the latest version of the trigger navigation class.
JetContainer_v1 JetContainer
Definition of the current "jet container version".
TauJetContainer_v3 TauJetContainer
Definition of the current "taujet container version".
MuonContainer_v1 MuonContainer
Definition of the current "Muon container version".
TrigBphysContainer_v1 TrigBphysContainer
@ numberOfPixelHoles
number of pixel layers on track with absence of hits [unit8_t].
@ numberOfTRTHits
number of TRT hits [unit8_t].
@ numberOfTRTHoles
number of TRT holes [unit8_t].
@ numberOfBLayerHits
these are the hits in the first pixel layer, i.e.
@ numberOfSCTHits
number of hits in SCT [unit8_t].
@ numberOfPixelHits
these are the pixel hits, including the b-layer [unit8_t].
@ numberOfSCTHoles
number of SCT holes [unit8_t].
DataVector< IParticle > IParticleContainer
Simple convenience declaration of IParticleContainer.
Default, invalid implementation of ClassID_traits.
Helper to keep a Decision object, ElementLink and ActiveState (with respect to some requested ChainGr...
Definition LinkInfo.h:22
MsgStream & msg
Definition testRead.cxx:32