Loading [MathJax]/jax/output/SVG/config.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
FPGATrackSimGNNPatternRecoTool.cxx
Go to the documentation of this file.
1 // Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
2 
4 
5 
7 {
11  ATH_CHECK(m_GNNRoadMakerTool.retrieve());
12  ATH_CHECK(m_GNNRootOutputTool.retrieve());
13 
14  return StatusCode::SUCCESS;
15 }
16 
17 StatusCode FPGATrackSimGNNPatternRecoTool::getRoads(const std::vector<std::shared_ptr<const FPGATrackSimHit>> & hits, std::vector<std::shared_ptr<const FPGATrackSimRoad>> & roads)
18 {
19  std::vector<std::shared_ptr<FPGATrackSimGNNHit>> graph_hits;
20  std::vector<std::shared_ptr<FPGATrackSimGNNEdge>> graph_edges;
21 
22  ATH_CHECK(m_GNNGraphHitSelectorTool->selectHits(hits, graph_hits)); // Go from FPGATrackSimHits to FPGATrackSimGNNHit -> get information needed for GNNPipeline
23  ATH_CHECK(m_GNNGraphConstructionTool->getEdges(graph_hits, graph_edges)); // Build edges using module map (or metric learning)
24  ATH_CHECK(m_GNNEdgeClassifierTool->scoreEdges(graph_hits, graph_edges)); // Score edges using IN GNN
25  ATH_CHECK(m_GNNRoadMakerTool->makeRoads(hits, graph_hits, graph_edges, roads)); // Build road candidates using connected components (need to make a C++ version of it)
26  if(m_doGNNRootOutput) ATH_CHECK(m_GNNRootOutputTool->fillTree(hits, graph_hits, graph_edges, roads)); // Output the hit/edge/road information into a ROOT file
27 
28  graph_hits.clear();
29  graph_edges.clear();
30  return StatusCode::SUCCESS;
31 }
32 
FPGATrackSimGNNPatternRecoTool::m_doGNNRootOutput
Gaudi::Property< bool > m_doGNNRootOutput
Definition: FPGATrackSimGNNPatternRecoTool.h:57
TRTCalib_Extractor.hits
hits
Definition: TRTCalib_Extractor.py:35
FPGATrackSimGNNPatternRecoTool::initialize
virtual StatusCode initialize() override
Definition: FPGATrackSimGNNPatternRecoTool.cxx:6
FPGATrackSimGNNPatternRecoTool::m_GNNEdgeClassifierTool
ToolHandle< FPGATrackSimGNNEdgeClassifierTool > m_GNNEdgeClassifierTool
Definition: FPGATrackSimGNNPatternRecoTool.h:63
FPGATrackSimGNNPatternRecoTool::m_GNNGraphHitSelectorTool
ToolHandle< FPGATrackSimGNNGraphHitSelectorTool > m_GNNGraphHitSelectorTool
Definition: FPGATrackSimGNNPatternRecoTool.h:61
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
FPGATrackSimGNNPatternRecoTool::m_GNNGraphConstructionTool
ToolHandle< FPGATrackSimGNNGraphConstructionTool > m_GNNGraphConstructionTool
Definition: FPGATrackSimGNNPatternRecoTool.h:62
FPGATrackSimGNNPatternRecoTool::m_GNNRoadMakerTool
ToolHandle< FPGATrackSimGNNRoadMakerTool > m_GNNRoadMakerTool
Definition: FPGATrackSimGNNPatternRecoTool.h:64
FPGATrackSimGNNPatternRecoTool::m_GNNRootOutputTool
ToolHandle< FPGATrackSimGNNRootOutputTool > m_GNNRootOutputTool
Definition: FPGATrackSimGNNPatternRecoTool.h:65
FPGATrackSimGNNPatternRecoTool.h
Implements road finding using GNNs for pattern recognition.
FPGATrackSimGNNPatternRecoTool::getRoads
virtual StatusCode getRoads(const std::vector< std::shared_ptr< const FPGATrackSimHit >> &hits, std::vector< std::shared_ptr< const FPGATrackSimRoad >> &roads) override
Definition: FPGATrackSimGNNPatternRecoTool.cxx:17