ATLAS Offline Software
TrigEDMChecker.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TRIG_EDM_CHECKER_H
6 #define TRIG_EDM_CHECKER_H
7 
8 #include "GaudiKernel/IClassIDSvc.h"
9 #include "GaudiKernel/ToolHandle.h"
10 
22 
23 #include <string>
24 
25 // forward declarations of muon track classes used in TrigMuonEFInfo
26 class TrigMuonEFTrack;
27 class TrigMuonEFCbTrack;
28 
29 // fwd declare muon printing tool
30 namespace Rec {
31  class IMuonPrintingTool;
32 }
33 
35 
36  public:
37 
38  TrigEDMChecker(const std::string& name, ISvcLocator* pSvcLocator);
39  virtual ~TrigEDMChecker();
40 
41  virtual StatusCode initialize() override;
42  virtual StatusCode execute() override;
43 
44  private:
46 
49 
54 
57 
59  StatusCode dumpTrigMissingET ATLAS_NOT_THREAD_SAFE();
60 
63 
66 
69 
72 
74  StatusCode dumpTrigEFBjetContainer ATLAS_NOT_THREAD_SAFE();
75 
77  StatusCode dumpTrigL2BjetContainer ATLAS_NOT_THREAD_SAFE();
78 
80  StatusCode dumpTrigTauClusterContainer ATLAS_NOT_THREAD_SAFE();
81 
83  StatusCode dumpTrigEMCluster ATLAS_NOT_THREAD_SAFE();
84 
86  StatusCode dumpTrigEMClusterContainer ATLAS_NOT_THREAD_SAFE();
87 
88 
90  StatusCode dumpxAODTrigEMCluster ATLAS_NOT_THREAD_SAFE();
91 
93  StatusCode dumpxAODTrigEMClusterContainer ATLAS_NOT_THREAD_SAFE();
94 
96  StatusCode dumpCombinedMuonFeature ATLAS_NOT_THREAD_SAFE();
97  StatusCode dumpCombinedMuonFeatureContainer ATLAS_NOT_THREAD_SAFE();
98 
101 
103  StatusCode dumpTileMuFeatureContainer ATLAS_NOT_THREAD_SAFE();
104 
106  StatusCode dumpTileTrackMuFeatureContainer ATLAS_NOT_THREAD_SAFE();
107 
109  StatusCode dumpTrigPhotonContainer ATLAS_NOT_THREAD_SAFE();
110 
112  StatusCode dumpTrigMuonEFContainer ATLAS_NOT_THREAD_SAFE();
113 
115  StatusCode dumpTrigMuonEFInfoContainer ATLAS_NOT_THREAD_SAFE();
116  void printMuonTrk(const TrigMuonEFTrack* muonTrack);
117  void printMuonTrk(const TrigMuonEFCbTrack* muonTrack);
118 
121 
123  StatusCode dumpTrigMuonEFIsolationContainer ATLAS_NOT_THREAD_SAFE();
124 
126  StatusCode dumpTrigElectronContainer ATLAS_NOT_THREAD_SAFE();
127 
130 
133 
136 
139 
141  StatusCode dumpTrigTauContainer ATLAS_NOT_THREAD_SAFE();
142 
144  StatusCode dumpTrigTauTracksInfo ATLAS_NOT_THREAD_SAFE();
145 
148 
151 
153  StatusCode dumpTrigVertexCollection ATLAS_NOT_THREAD_SAFE();
154 
156  StatusCode dumpxAODTauJetContainer ATLAS_NOT_THREAD_SAFE();
157 
159  StatusCode dumpTauJetContainer ATLAS_NOT_THREAD_SAFE ();
160 
163 
166 
169 
172 
176  void dumpTrigT2MBTSBits();
177  void dumpTrigVertexCounts();
178  void dumpTrigTrackCounts();
179 
181  std::vector<std::string> m_dumpTrigCompositeContainers;
182 
185  Gaudi::Property<std::string> m_dumpNavForChain {this, "DumpNavigationForChain", "", "Optional chain to restrict navigation dump info."};
186  Gaudi::Property<bool> m_excludeFailedHypoNodes {this, "excludeFailedHypoNodes", false,
187  "Optional flag to exclude nodes which fail the hypothesis tool for a chain when dumping navigation graphs."};
188 
195 
202 
204 
212  StatusCode TrigCompositeNavigationToDot(std::string& returnValue, bool& pass);
213 
214  ToolHandle<Rec::IMuonPrintingTool> m_muonPrinter{this, "MuonPrinter", "Rec::MuonPrintingTool/MuonPrintingTool"};
215 
217 
218  SG::ReadHandleKey< xAOD::TrackParticleContainer > m_muonTracksKey{ this, "MuonTracksKey", "HLT_IDTrack_Muon_FTF"};
219  SG::ReadHandleKey< xAOD::TrigNavigation > m_navigationHandleKey{ this, "TrigNavigation", "TrigNavigation", "" };
220  SG::WriteHandleKey<TrigCompositeUtils::DecisionContainer> m_decisionsKey{ this, "Decisions", "RoIDecisions", "Decisions created from TEs" };
221  ToolHandle< HLT::Navigation > m_navigationTool{ this, "NavigationTool", "HLT::Navigation/Navigation", "" };
222  PublicToolHandle< Trig::TrigDecisionTool > m_trigDec{ this, "TriggerDecisionTool", "Trig::TrigDecisionTool/TrigDecisionTool", ""};
223 
226 };
227 
228 #endif // TRIG_EDM_CHECKER_H
229 
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
TrigEDMChecker::m_navigationHandleKey
SG::ReadHandleKey< xAOD::TrigNavigation > m_navigationHandleKey
Definition: TrigEDMChecker.h:219
TrigEDMChecker::ATLAS_NOT_THREAD_SAFE
StatusCode dumpTrigMuonEFContainer ATLAS_NOT_THREAD_SAFE()
TrigEDMChecker::m_excludeFailedHypoNodes
Gaudi::Property< bool > m_excludeFailedHypoNodes
Definition: TrigEDMChecker.h:186
TrigEDMChecker::dumpxAODTrigElectronContainer
StatusCode dumpxAODTrigElectronContainer()
Definition: TrigEDMChecker.cxx:1668
TrigEDMChecker::m_doDumpTrigEMCluster
bool m_doDumpTrigEMCluster
Definition: TrigEDMChecker.h:82
TrigEDMChecker::m_doDumpxAODJetContainer
bool m_doDumpxAODJetContainer
Definition: TrigEDMChecker.h:64
TrigEDMChecker::ATLAS_NOT_THREAD_SAFE
StatusCode dumpTauJetContainer ATLAS_NOT_THREAD_SAFE()
TrigEDMChecker::m_doDumpNavigation
bool m_doDumpNavigation
Definition: TrigEDMChecker.h:183
AthAnalysisAlgorithm
Definition: AthAnalysisAlgorithm.h:34
TrigEDMChecker::m_muonPrinter
ToolHandle< Rec::IMuonPrintingTool > m_muonPrinter
Definition: TrigEDMChecker.h:214
TrigEDMChecker::m_doDumpTrigInDetTrackCollection
bool m_doDumpTrigInDetTrackCollection
Definition: TrigEDMChecker.h:149
TrigEDMChecker::m_doDumpxAODTrigMissingET
bool m_doDumpxAODTrigMissingET
Definition: TrigEDMChecker.h:61
TrigEDMChecker::m_doTDTCheck
bool m_doTDTCheck
Definition: TrigEDMChecker.h:170
TrigEDMChecker::dumpxAODTrigPhotonContainer
StatusCode dumpxAODTrigPhotonContainer()
Definition: TrigEDMChecker.cxx:1726
TrigEDMChecker::dumpxAODTrigMinBias
StatusCode dumpxAODTrigMinBias()
Definition: TrigEDMChecker.cxx:819
TrigEDMChecker::m_doDumpTrigMuonEFContainer
bool m_doDumpTrigMuonEFContainer
Definition: TrigEDMChecker.h:111
TrigEDMChecker::m_doDumpTrigElectronContainer
bool m_doDumpTrigElectronContainer
Definition: TrigEDMChecker.h:125
TrigEDMChecker::m_doDumpTrigL2BphysContainer
bool m_doDumpTrigL2BphysContainer
Definition: TrigEDMChecker.h:67
TrigEDMChecker::ATLAS_NOT_THREAD_SAFE
StatusCode dumpTrigElectronContainer ATLAS_NOT_THREAD_SAFE()
TrigMuonEFTrack
Definition: TrigMuonEFTrack.h:27
TrigEDMChecker::TrigEDMChecker
TrigEDMChecker(const std::string &name, ISvcLocator *pSvcLocator)
Definition: TrigEDMChecker.cxx:112
TrigEDMChecker::m_dumpNavForChain
Gaudi::Property< std::string > m_dumpNavForChain
Definition: TrigEDMChecker.h:185
TrigEDMChecker::dumpNavigation
StatusCode dumpNavigation()
Definition: TrigEDMChecker.cxx:4445
TrigEDMChecker::ATLAS_NOT_THREAD_SAFE
StatusCode do_execute ATLAS_NOT_THREAD_SAFE()
TrigEDMChecker::ATLAS_NOT_THREAD_SAFE
StatusCode dumpTrigVertexCollection ATLAS_NOT_THREAD_SAFE()
TrigEDMChecker::m_dumpTrigCompositeContainers
std::vector< std::string > m_dumpTrigCompositeContainers
Definition: TrigEDMChecker.h:181
TrigEDMChecker::m_trackWarningNum
int m_trackWarningNum
Definition: TrigEDMChecker.h:224
TrigEDMChecker::dumpxAODPhotonContainer
StatusCode dumpxAODPhotonContainer()
Definition: TrigEDMChecker.cxx:1925
TrigEDMChecker::m_doDumpxAODTauJetContainer
bool m_doDumpxAODTauJetContainer
Definition: TrigEDMChecker.h:155
TrigEDMChecker::m_doDumpMuonFeature
bool m_doDumpMuonFeature
Definition: TrigEDMChecker.h:99
TrigDecisionTool.h
TrigEDMChecker::ATLAS_NOT_THREAD_SAFE
StatusCode dumpTrigPhotonContainer ATLAS_NOT_THREAD_SAFE()
SG::ReadHandleKey< xAOD::TrackParticleContainer >
TrigEDMChecker::ATLAS_NOT_THREAD_SAFE
StatusCode dumpTrigEMClusterContainer ATLAS_NOT_THREAD_SAFE()
TrigEDMChecker::m_doDumpTrackParticleContainer
bool m_doDumpTrackParticleContainer
Definition: TrigEDMChecker.h:55
TrigEDMChecker::ATLAS_NOT_THREAD_SAFE
StatusCode dumpxAODTrigEMClusterContainer ATLAS_NOT_THREAD_SAFE()
IMuonPrintingTool.h
TrigEDMChecker::ATLAS_NOT_THREAD_SAFE
StatusCode dumpTrigEFBjetContainer ATLAS_NOT_THREAD_SAFE()
TrigEDMChecker::m_doDumpxAODTrigEMCluster
bool m_doDumpxAODTrigEMCluster
Definition: TrigEDMChecker.h:89
TrigEDMChecker::ATLAS_NOT_THREAD_SAFE
StatusCode dumpCombinedMuonFeatureContainer ATLAS_NOT_THREAD_SAFE()
TrigEDMChecker::dumpxAODVertex
StatusCode dumpxAODVertex()
Definition: TrigEDMChecker.cxx:3986
TrigNavigation.h
TrigEDMChecker::m_doDumpxAODVertex
bool m_doDumpxAODVertex
Definition: TrigEDMChecker.h:164
TrigEDMChecker::m_doDumpTrigMuonEFInfoContainer
bool m_doDumpTrigMuonEFInfoContainer
Definition: TrigEDMChecker.h:114
TrigEDMChecker::m_doDumpxAODTrigEMClusterContainer
bool m_doDumpxAODTrigEMClusterContainer
Definition: TrigEDMChecker.h:92
TrigEDMChecker::m_doDumpxAODTrigElectronContainer
bool m_doDumpxAODTrigElectronContainer
Definition: TrigEDMChecker.h:128
TrigEDMChecker::m_doDumpTrigEMClusterContainer
bool m_doDumpTrigEMClusterContainer
Definition: TrigEDMChecker.h:85
TrigEDMChecker::ATLAS_NOT_THREAD_SAFE
StatusCode dumpTrigMissingET ATLAS_NOT_THREAD_SAFE()
TrigEDMChecker::ATLAS_NOT_THREAD_SAFE
StatusCode dumpTileTrackMuFeatureContainer ATLAS_NOT_THREAD_SAFE()
TrigCompositeUtils.h
TrigEDMChecker::dumpxAODTrackParticle
StatusCode dumpxAODTrackParticle()
Definition: TrigEDMChecker.cxx:3866
TrigEDMChecker::m_doDumpAllTrigComposite
bool m_doDumpAllTrigComposite
Definition: TrigEDMChecker.h:180
TrigEDMChecker::m_doDumpHLTResult
bool m_doDumpHLTResult
Definition: TrigEDMChecker.h:146
TrigEDMChecker::dumpTrigPassBits
StatusCode dumpTrigPassBits()
Definition: TrigEDMChecker.cxx:582
TrigEDMChecker::~TrigEDMChecker
virtual ~TrigEDMChecker()
Definition: TrigEDMChecker.cxx:169
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition: StoreGate/StoreGate/WriteHandleKey.h:40
TrigEDMChecker::dumpTrigL2BphysContainer
StatusCode dumpTrigL2BphysContainer()
Definition: TrigEDMChecker.cxx:2441
TrigEDMChecker::ATLAS_NOT_THREAD_SAFE
StatusCode dumpTrigTauTracksInfo ATLAS_NOT_THREAD_SAFE()
TrigEDMChecker::m_doDumpxAODElectronContainer
bool m_doDumpxAODElectronContainer
Definition: TrigEDMChecker.h:134
Rec
Name: MuonSpContainer.h Package : offline/Reconstruction/MuonIdentification/muonEvent.
Definition: FakeTrackBuilder.h:10
TrigEDMChecker::m_doDumpTrigCompsiteNavigation
bool m_doDumpTrigCompsiteNavigation
Definition: TrigEDMChecker.h:203
TrigEDMChecker::dumpTrigComposite
StatusCode dumpTrigComposite()
Dump information on TrigComposite collections.
Definition: TrigEDMChecker.cxx:4116
TrigEDMChecker::m_doDumpTrigPhotonContainer
bool m_doDumpTrigPhotonContainer
Definition: TrigEDMChecker.h:108
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
TrigEDMChecker::m_doDumpStoreGate
bool m_doDumpStoreGate
Definition: TrigEDMChecker.h:167
TrigEDMChecker::initialize
virtual StatusCode initialize() override
Definition: TrigEDMChecker.cxx:171
TrigEDMChecker::dumpHLTResult
StatusCode dumpHLTResult()
Definition: TrigEDMChecker.cxx:2108
TrigEDMChecker::TrigCompositeNavigationToDot
StatusCode TrigCompositeNavigationToDot(std::string &returnValue, bool &pass)
Construct graph of HLT navigation in Run-3.
Definition: TrigEDMChecker.cxx:4219
TrigEDMChecker::dumpTrigT2MBTSBits
void dumpTrigT2MBTSBits()
Definition: TrigEDMChecker.cxx:681
TrigEDMChecker::m_doDumpTrigEFBphysContainer
bool m_doDumpTrigEFBphysContainer
Definition: TrigEDMChecker.h:70
TrigEDMChecker::dumpTrigTrackCounts
void dumpTrigTrackCounts()
Definition: TrigEDMChecker.cxx:749
TrigEDMChecker::m_doDumpxAODPhotonContainer
bool m_doDumpxAODPhotonContainer
Definition: TrigEDMChecker.h:137
TrigEDMChecker::dumpxAODElectronContainer
StatusCode dumpxAODElectronContainer()
Definition: TrigEDMChecker.cxx:1769
Navigation.h
AthAnalysisAlgorithm.h
TrigEDMChecker::m_doDumpxAODMuonContainer
bool m_doDumpxAODMuonContainer
Definition: TrigEDMChecker.h:119
TrigEDMChecker::printMuonTrk
void printMuonTrk(const TrigMuonEFTrack *muonTrack)
Definition: TrigEDMChecker.cxx:1540
TrigEDMChecker::m_doDumpxAODTrackParticle
bool m_doDumpxAODTrackParticle
Definition: TrigEDMChecker.h:161
xAOD::TrigComposite_v1
Class used to describe composite objects in the HLT.
Definition: TrigComposite_v1.h:52
TrigEDMChecker::m_doDumpCombinedMuonFeature
bool m_doDumpCombinedMuonFeature
Definition: TrigEDMChecker.h:95
TrigEDMChecker::m_doDumpTrigTauContainer
bool m_doDumpTrigTauContainer
Definition: TrigEDMChecker.h:140
TrigEDMChecker::dumpxAODJetContainer
StatusCode dumpxAODJetContainer()
Definition: TrigEDMChecker.cxx:2538
TrigCompositeContainer.h
TrigEDMChecker::dumpTrigEFBphysContainer
StatusCode dumpTrigEFBphysContainer()
Definition: TrigEDMChecker.cxx:2343
WriteHandleKey.h
Property holding a SG store/key/clid from which a WriteHandle is made.
TrigEDMChecker::m_doDumpTrigEFBjetContainer
bool m_doDumpTrigEFBjetContainer
Definition: TrigEDMChecker.h:73
TrigEDMChecker::m_doDumpTileTrackMuFeature
bool m_doDumpTileTrackMuFeature
Definition: TrigEDMChecker.h:105
TrigEDMChecker::m_clidSvc
ServiceHandle< ::IClassIDSvc > m_clidSvc
Definition: TrigEDMChecker.h:216
TrigEDMChecker::dumpTrigVertexCounts
void dumpTrigVertexCounts()
Definition: TrigEDMChecker.cxx:715
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
TrigMuonEFCbTrack
Definition: TrigMuonEFCbTrack.h:28
TrigEDMChecker::ATLAS_NOT_THREAD_SAFE
StatusCode dumpTrigTauContainer ATLAS_NOT_THREAD_SAFE()
TrigEDMChecker::ATLAS_NOT_THREAD_SAFE
StatusCode dumpMuonFeature ATLAS_NOT_THREAD_SAFE()
TrigEDMChecker::m_muonTracksKey
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_muonTracksKey
Definition: TrigEDMChecker.h:218
TrigEDMChecker::ATLAS_NOT_THREAD_SAFE
StatusCode dumpxAODTauJetContainer ATLAS_NOT_THREAD_SAFE()
TrigEDMChecker::m_doDumpTrigMuonEFIsolationContainer
bool m_doDumpTrigMuonEFIsolationContainer
Definition: TrigEDMChecker.h:122
TrigEDMChecker::ATLAS_NOT_THREAD_SAFE
StatusCode dumpTrigEMCluster ATLAS_NOT_THREAD_SAFE()
TrigEDMChecker::dumpTrigSpacePointCounts
void dumpTrigSpacePointCounts()
Definition: TrigEDMChecker.cxx:613
TrigEDMChecker::m_doDumpTrigVertexCollection
bool m_doDumpTrigVertexCollection
Definition: TrigEDMChecker.h:152
TrigEDMChecker::dumpStoreGate
StatusCode dumpStoreGate()
TrigEDMChecker::execute
virtual StatusCode execute() override
Definition: TrigEDMChecker.cxx:243
TrigEDMChecker::dumpxAODTrigMissingET
StatusCode dumpxAODTrigMissingET()
Definition: TrigEDMChecker.cxx:833
TrigEDMChecker::m_doDumpLVL1_ROI
bool m_doDumpLVL1_ROI
Definition: TrigEDMChecker.h:52
TrigEDMChecker::dumpTrackParticleContainer
StatusCode dumpTrackParticleContainer()
Definition: TrigEDMChecker.cxx:1064
TrigEDMChecker::m_doDumpxAODTrigPhotonContainer
bool m_doDumpxAODTrigPhotonContainer
Definition: TrigEDMChecker.h:131
TrigEDMChecker::ATLAS_NOT_THREAD_SAFE
StatusCode dumpTrigL2BjetContainer ATLAS_NOT_THREAD_SAFE()
TrigEDMChecker::m_doDumpTrigTauClusterContainer
bool m_doDumpTrigTauClusterContainer
Definition: TrigEDMChecker.h:79
TrigEDMChecker::m_doDumpTauJetContainer
bool m_doDumpTauJetContainer
Definition: TrigEDMChecker.h:158
TrigEDMChecker::ATLAS_NOT_THREAD_SAFE
StatusCode dumpxAODTrigEMCluster ATLAS_NOT_THREAD_SAFE()
TrigEDMChecker::dumpxAODMuonContainer
StatusCode dumpxAODMuonContainer()
Definition: TrigEDMChecker.cxx:1345
TrigEDMChecker::m_navigationTool
ToolHandle< HLT::Navigation > m_navigationTool
Definition: TrigEDMChecker.h:221
TrigEDMChecker::checkTrigCompositeElementLink
StatusCode checkTrigCompositeElementLink(const xAOD::TrigComposite *tc, size_t element)
Dump details on element links within TrigComposites.
Definition: TrigEDMChecker.cxx:4154
TrigEDMChecker::ATLAS_NOT_THREAD_SAFE
StatusCode dumpTrigMuonEFIsolationContainer ATLAS_NOT_THREAD_SAFE()
TrigEDMChecker::m_decisionsKey
SG::WriteHandleKey< TrigCompositeUtils::DecisionContainer > m_decisionsKey
Definition: TrigEDMChecker.h:220
TrigEDMChecker::m_doDumpTrigMissingET
bool m_doDumpTrigMissingET
Definition: TrigEDMChecker.h:58
checker_macros.h
Define macros for attributes used to control the static checker.
TrigEDMChecker::ATLAS_NOT_THREAD_SAFE
StatusCode dumpTrigMuonEFInfoContainer ATLAS_NOT_THREAD_SAFE()
TrigEDMChecker::m_trigDec
PublicToolHandle< Trig::TrigDecisionTool > m_trigDec
Definition: TrigEDMChecker.h:222
TrigEDMChecker::m_doDumpxAODTrigMinBias
bool m_doDumpxAODTrigMinBias
Definition: TrigEDMChecker.h:173
TrigEDMChecker::m_doDumpTrigTauTracksInfo
bool m_doDumpTrigTauTracksInfo
Definition: TrigEDMChecker.h:143
TrigEDMChecker::ATLAS_NOT_THREAD_SAFE
StatusCode dumpTileMuFeatureContainer ATLAS_NOT_THREAD_SAFE()
TrigEDMChecker::m_doDumpTrigL2BjetContainer
bool m_doDumpTrigL2BjetContainer
Definition: TrigEDMChecker.h:76
TrigEDMChecker::ATLAS_NOT_THREAD_SAFE
StatusCode dumpCombinedMuonFeature ATLAS_NOT_THREAD_SAFE()
TrigEDMChecker::m_doDumpTileMuFeature
bool m_doDumpTileMuFeature
Definition: TrigEDMChecker.h:102
TrigEDMChecker::dumpLVL1_ROI
StatusCode dumpLVL1_ROI()
Definition: TrigEDMChecker.cxx:1171
TrigEDMChecker::dumpTDT
StatusCode dumpTDT()
Definition: TrigEDMChecker.cxx:4022
TrackParticleContainer.h
TrigEDMChecker
Definition: TrigEDMChecker.h:34
TrigEDMChecker::dumpTrigInDetTrackCollection
StatusCode dumpTrigInDetTrackCollection()
Definition: TrigEDMChecker.cxx:2139
ServiceHandle< ::IClassIDSvc >
TrigEDMChecker::ATLAS_NOT_THREAD_SAFE
StatusCode dumpTrigTauClusterContainer ATLAS_NOT_THREAD_SAFE()
TrigEDMChecker::m_doDumpAll
bool m_doDumpAll
a handle on Store Gate for access to the Event Store
Definition: TrigEDMChecker.h:48
TrigEDMChecker::m_vertexWarningNum
int m_vertexWarningNum
Definition: TrigEDMChecker.h:225
TrigEDMChecker::m_doDumpTrigPassBits
bool m_doDumpTrigPassBits
Definition: TrigEDMChecker.h:50