ATLAS Offline Software
Loading...
Searching...
No Matches
ISegmentEdgeClassifierTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4#ifndef MUONINFERENCEINTERFACES_ISEGMENTEDGECLASSIFIERTOOL_H
5#define MUONINFERENCEINTERFACES_ISEGMENTEDGECLASSIFIERTOOL_H
6
7#include "GaudiKernel/IAlgTool.h"
8#include "GaudiKernel/EventContext.h"
11
12namespace MuonML {
13
34 class ISegmentEdgeClassifierTool : virtual public IAlgTool {
35 public:
36 virtual ~ISegmentEdgeClassifierTool() = default;
38
42 virtual StatusCode buildGraph(const EventContext& ctx,
43 const xAOD::MuonSegmentContainer& segments,
44 SegmentEdgeGraph& graph) const = 0;
45
50 virtual StatusCode classifyEdges(const EventContext& ctx,
51 const SegmentEdgeGraph& graph,
52 std::vector<SegmentEdgeScore>& scores) const = 0;
53 };
54}
55#endif
Interface for segment-edge GNN classification.
virtual StatusCode buildGraph(const EventContext &ctx, const xAOD::MuonSegmentContainer &segments, SegmentEdgeGraph &graph) const =0
Build a GNN graph from segments, extracting node features and computing edge connections based on kin...
virtual ~ISegmentEdgeClassifierTool()=default
DeclareInterfaceID(ISegmentEdgeClassifierTool, 1, 0)
virtual StatusCode classifyEdges(const EventContext &ctx, const SegmentEdgeGraph &graph, std::vector< SegmentEdgeScore > &scores) const =0
Run ONNX inference on the graph and return edge classification scores.
MuonSegmentContainer_v1 MuonSegmentContainer
Definition of the current "MuonSegment container version".