ATLAS Offline Software
FPGATrackSimGNNPatternRecoTool.h
Go to the documentation of this file.
1 // Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
2 
3 #ifndef FPGATRACKSIMGNNPATTERNRECOTOOL_H
4 #define FPGATRACKSIMGNNPATTERNRECOTOOL_H
5 
28 #include "GaudiKernel/ToolHandle.h"
29 
31 
37 
38 class FPGATrackSimGNNPatternRecoTool : public extends <AthAlgTool, IFPGATrackSimRoadFinderTool>
39 {
40  public:
42  using base_class::base_class;
43 
44  virtual StatusCode initialize() override;
45 
47  // FPGATrackSimRoadFinderToolI
48 
49  virtual StatusCode getRoads(const std::vector<std::shared_ptr<const FPGATrackSimHit>> & hits, std::vector<std::shared_ptr<const FPGATrackSimRoad>> & roads) override;
50  virtual int getSubRegion() const override{ return 0; }
51 
52  private:
53 
55  // Properties
56 
57  Gaudi::Property<bool> m_doGNNRootOutput { this, "doGNNRootOutput", false, "Flag for GNN Root Output Tool" };
58  Gaudi::Property<int> m_regionNum { this, "regionNum", -1, "region number"};
59 
61  // Handles
62  ToolHandle<FPGATrackSimGNNGraphHitSelectorTool> m_GNNGraphHitSelectorTool {this, "GNNGraphHitSelector", "FPGATrackSimGNNGraphHitSelectorTool", "Graph HitSelector Tool"};
63  ToolHandle<FPGATrackSimGNNGraphConstructionTool> m_GNNGraphConstructionTool {this, "GNNGraphConstruction", "FPGATrackSimGNNGraphConstructionTool", "Graph Construction Tool"};
64  ToolHandleArray<FPGATrackSimGNNEdgeClassifierTool> m_GNNEdgeClassifierTools {this, "GNNEdgeClassifiers", {}, "One GNNEdgeClassifierTool per region"};
65  ToolHandle<FPGATrackSimGNNEdgeClassifierTool> m_selectedGNNEdgeClassifierTool;
66  ToolHandle<FPGATrackSimGNNRoadMakerTool> m_GNNRoadMakerTool {this, "GNNRoadMaker", "FPGATrackSimGNNRoadMakerTool", "Road Maker Tool"};
67  ToolHandle<FPGATrackSimGNNRootOutputTool> m_GNNRootOutputTool {this, "GNNRootOutput", "FPGATrackSimGNNRootOutputTool", "GNN ROOT Output Tool"};
68 };
69 
70 
71 #endif // FPGATRACKSIMGNNPATTERNRECOTOOL_H
FPGATrackSimGNNPatternRecoTool::m_GNNEdgeClassifierTools
ToolHandleArray< FPGATrackSimGNNEdgeClassifierTool > m_GNNEdgeClassifierTools
Definition: FPGATrackSimGNNPatternRecoTool.h:64
FPGATrackSimGNNPatternRecoTool::m_doGNNRootOutput
Gaudi::Property< bool > m_doGNNRootOutput
Definition: FPGATrackSimGNNPatternRecoTool.h:57
TRTCalib_Extractor.hits
hits
Definition: TRTCalib_Extractor.py:35
FPGATrackSimGNNPatternRecoTool
Definition: FPGATrackSimGNNPatternRecoTool.h:39
FPGATrackSimGNNRoadMakerTool.h
Implements algorithm to construct a road from a list of hits using edge scores.
FPGATrackSimGNNRootOutputTool.h
Implements tool to output hit, edge and road information from GNN pattern recognition pipeline.
FPGATrackSimGNNPatternRecoTool::m_regionNum
Gaudi::Property< int > m_regionNum
Definition: FPGATrackSimGNNPatternRecoTool.h:58
IFPGATrackSimRoadFinderTool.h
Interface declaration for road finder tools.
FPGATrackSimGNNPatternRecoTool::initialize
virtual StatusCode initialize() override
Definition: FPGATrackSimGNNPatternRecoTool.cxx:6
FPGATrackSimGNNGraphConstructionTool.h
Implements graph construction tool to build edges (connections) between hits.
FPGATrackSimGNNEdgeClassifierTool.h
Implements edge classification by inferencing on an Interaction Network GNN.
FPGATrackSimGNNPatternRecoTool::m_GNNGraphHitSelectorTool
ToolHandle< FPGATrackSimGNNGraphHitSelectorTool > m_GNNGraphHitSelectorTool
Definition: FPGATrackSimGNNPatternRecoTool.h:62
FPGATrackSimGNNPatternRecoTool::m_selectedGNNEdgeClassifierTool
ToolHandle< FPGATrackSimGNNEdgeClassifierTool > m_selectedGNNEdgeClassifierTool
Definition: FPGATrackSimGNNPatternRecoTool.h:65
FPGATrackSimGNNPatternRecoTool::getSubRegion
virtual int getSubRegion() const override
Definition: FPGATrackSimGNNPatternRecoTool.h:50
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
FPGATrackSimGNNPatternRecoTool::m_GNNGraphConstructionTool
ToolHandle< FPGATrackSimGNNGraphConstructionTool > m_GNNGraphConstructionTool
Definition: FPGATrackSimGNNPatternRecoTool.h:63
FPGATrackSimGNNGraphHitSelectorTool.h
Implements hit selection as a tool for graph construction for GNN pipeline.
FPGATrackSimGNNPatternRecoTool::m_GNNRoadMakerTool
ToolHandle< FPGATrackSimGNNRoadMakerTool > m_GNNRoadMakerTool
Definition: FPGATrackSimGNNPatternRecoTool.h:66
FPGATrackSimGNNPatternRecoTool::m_GNNRootOutputTool
ToolHandle< FPGATrackSimGNNRootOutputTool > m_GNNRootOutputTool
Definition: FPGATrackSimGNNPatternRecoTool.h:67
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:29