ATLAS Offline Software
Loading...
Searching...
No Matches
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
26
28#include "GaudiKernel/ToolHandle.h"
29
31
37
38class 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
Implements edge classification by inferencing on an Interaction Network GNN.
Implements graph construction tool to build edges (connections) between hits.
Implements hit selection as a tool for graph construction for GNN pipeline.
Implements algorithm to construct a road from a list of hits using edge scores.
Implements tool to output hit, edge and road information from GNN pattern recognition pipeline.
Interface declaration for road finder tools.
ToolHandle< FPGATrackSimGNNGraphHitSelectorTool > m_GNNGraphHitSelectorTool
ToolHandle< FPGATrackSimGNNRootOutputTool > m_GNNRootOutputTool
virtual StatusCode getRoads(const std::vector< std::shared_ptr< const FPGATrackSimHit > > &hits, std::vector< std::shared_ptr< const FPGATrackSimRoad > > &roads) override
ToolHandle< FPGATrackSimGNNEdgeClassifierTool > m_selectedGNNEdgeClassifierTool
ToolHandleArray< FPGATrackSimGNNEdgeClassifierTool > m_GNNEdgeClassifierTools
ToolHandle< FPGATrackSimGNNRoadMakerTool > m_GNNRoadMakerTool
ToolHandle< FPGATrackSimGNNGraphConstructionTool > m_GNNGraphConstructionTool