 |
ATLAS Offline Software
|
Go to the documentation of this file.
3 #ifndef FPGATrackSimGNNRoadMakerTool_H
4 #define FPGATrackSimGNNRoadMakerTool_H
17 #include "GaudiKernel/ServiceHandle.h"
24 #include <boost/graph/adjacency_list.hpp>
25 #include <boost/graph/connected_components.hpp>
48 const std::vector<std::shared_ptr<FPGATrackSimGNNHit>> & gnn_hits,
49 const std::vector<std::shared_ptr<FPGATrackSimGNNEdge>> & edges,
50 std::vector<std::shared_ptr<const FPGATrackSimRoad>> & roads);
58 ToolHandle<ITrigL2LayerNumberTool>
m_layerNumberTool{
this,
"LayerNumberTool",
"TrigL2LayerNumberToolITk"};
63 Gaudi::Property<float>
m_edgeScoreCut {
this,
"edgeScoreCut", 0.0,
"Cut value for edge scores to pass for road making algorithm" };
64 Gaudi::Property<std::string>
m_roadMakerTool {
this,
"roadMakerTool",
"",
"Algorithm to perform graph segmentation into roads"};
65 Gaudi::Property<bool>
m_doGNNPixelSeeding {
this,
"doGNNPixelSeeding",
false,
"Flag to configure for GNN Pixel Seeding" };
77 typedef boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS>
m_Graph;
88 void doScoreCut(
const std::vector<std::shared_ptr<FPGATrackSimGNNEdge>> & edges);
90 void addRoads(
const std::vector<std::shared_ptr<const FPGATrackSimHit>> &
hits,
91 const std::vector<std::shared_ptr<FPGATrackSimGNNHit>> & gnn_hits,
92 std::vector<std::shared_ptr<const FPGATrackSimRoad>> & roads);
93 void addRoad(
const std::vector<std::shared_ptr<const FPGATrackSimHit>> &
hits,
const std::vector<int>& road_hitIDs);
94 void addRoadForPixelSeed(
const std::vector<std::shared_ptr<const FPGATrackSimHit>> &
hits,
const std::vector<int>& road_hitIDs);
104 #endif // FPGATrackSimGNNRoadMakerTool_H
FPGATrackSim-specific class to represent an edge as a connection between two hits in the detector use...
::StatusCode StatusCode
StatusCode definition for legacy code.
FPGATrackSim-specific class to represent an hit in the detector used for GNN pattern recognition.
Defines a class for roads.