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