Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
z
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
:
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Properties
Related Functions
:
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
v
w
x
z
Files
File List
File Members
All
$
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Variables
$
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Enumerations
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
v
x
z
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Macros
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
GitLab
LXR
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Modules
Pages
Trigger
EFTracking
FPGATrackSim
FPGATrackSimGNN
src
FPGATrackSimGNNEdgeClassifierTool.h
Go to the documentation of this file.
1
// Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
2
3
#ifndef FPGATRACKSIMGNNEDGECLASSIFIERTOOL_H
4
#define FPGATRACKSIMGNNEDGECLASSIFIERTOOL_H
5
17
#include "
AthenaBaseComps/AthAlgTool.h
"
18
19
#include "
FPGATrackSimObjects/FPGATrackSimGNNHit.h
"
20
#include "
FPGATrackSimObjects/FPGATrackSimGNNEdge.h
"
21
22
#include "
AthOnnxInterfaces/IOnnxRuntimeInferenceTool.h
"
23
#include <onnxruntime_cxx_api.h>
24
25
class
FPGATrackSimGNNEdgeClassifierTool
:
public
AthAlgTool
26
{
27
public
:
28
30
// AthAlgTool
31
32
FPGATrackSimGNNEdgeClassifierTool
(
const
std::string&,
const
std::string&,
const
IInterface*);
33
34
virtual
StatusCode
initialize
()
override
;
35
37
// Functions
38
39
virtual
StatusCode
scoreEdges
(
const
std::vector<std::shared_ptr<FPGATrackSimGNNHit>> &
hits
, std::vector<std::shared_ptr<FPGATrackSimGNNEdge>> & edges);
40
41
private
:
42
44
// Handles
45
46
ToolHandle<AthOnnx::IOnnxRuntimeInferenceTool>
m_GNNInferenceTool
{
this
,
"GNNInferenceTool"
,
"AthOnnx::OnnxRuntimeInferenceTool"
};
47
49
// Helpers
50
51
std::vector<float>
getNodeFeatures
(
const
std::vector<std::shared_ptr<FPGATrackSimGNNHit>> &
hits
);
52
std::vector<int64_t>
getEdgeList
(
const
std::vector<std::shared_ptr<FPGATrackSimGNNEdge>> & edges);
53
std::vector<float>
getEdgeFeatures
(
const
std::vector<std::shared_ptr<FPGATrackSimGNNEdge>> & edges);
54
55
StringArrayProperty
m_gnnFeatureNamesVec
{
56
this
,
"GNNFeatureNames"
,
57
{
"r"
,
"phi"
,
"z"
,
"eta"
,
"cluster_r_1"
,
"cluster_phi_1"
,
"cluster_z_1"
,
"cluster_eta_1"
,
"cluster_r_2"
,
"cluster_phi_2"
,
"cluster_z_2"
,
"cluster_eta_2"
},
58
"Feature names for the GNN model"
};
59
FloatArrayProperty
m_gnnFeatureScalesVec
{
60
this
,
"GNNFeatureScales"
,
61
{1000.0, 3.14159265359, 1000.0, 1.0, 1000.0, 3.14159265359, 1000.0, 1.0, 1000.0, 3.14159265359, 1000.0, 1.0},
62
"Feature scales for the GNN model"
};
63
64
};
65
66
67
#endif // FPGATRACKSIMGNNEDGECLASSIFIERTOOL_H
FPGATrackSimGNNEdgeClassifierTool::FPGATrackSimGNNEdgeClassifierTool
FPGATrackSimGNNEdgeClassifierTool(const std::string &, const std::string &, const IInterface *)
Definition:
FPGATrackSimGNNEdgeClassifierTool.cxx:8
FPGATrackSimGNNEdgeClassifierTool::scoreEdges
virtual StatusCode scoreEdges(const std::vector< std::shared_ptr< FPGATrackSimGNNHit >> &hits, std::vector< std::shared_ptr< FPGATrackSimGNNEdge >> &edges)
Definition:
FPGATrackSimGNNEdgeClassifierTool.cxx:23
TRTCalib_Extractor.hits
hits
Definition:
TRTCalib_Extractor.py:35
IOnnxRuntimeInferenceTool.h
FPGATrackSimGNNEdgeClassifierTool::m_gnnFeatureNamesVec
StringArrayProperty m_gnnFeatureNamesVec
Definition:
FPGATrackSimGNNEdgeClassifierTool.h:55
FPGATrackSimGNNEdge.h
FPGATrackSim-specific class to represent an edge as a connection between two hits in the detector use...
FPGATrackSimGNNEdgeClassifierTool::m_gnnFeatureScalesVec
FloatArrayProperty m_gnnFeatureScalesVec
Definition:
FPGATrackSimGNNEdgeClassifierTool.h:59
FPGATrackSimGNNEdgeClassifierTool::getNodeFeatures
std::vector< float > getNodeFeatures(const std::vector< std::shared_ptr< FPGATrackSimGNNHit >> &hits)
Definition:
FPGATrackSimGNNEdgeClassifierTool.cxx:53
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition:
PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
FPGATrackSimGNNEdgeClassifierTool::getEdgeFeatures
std::vector< float > getEdgeFeatures(const std::vector< std::shared_ptr< FPGATrackSimGNNEdge >> &edges)
Definition:
FPGATrackSimGNNEdgeClassifierTool.cxx:98
FPGATrackSimGNNEdgeClassifierTool
Definition:
FPGATrackSimGNNEdgeClassifierTool.h:26
FPGATrackSimGNNHit.h
FPGATrackSim-specific class to represent an hit in the detector used for GNN pattern recognition.
FPGATrackSimGNNEdgeClassifierTool::getEdgeList
std::vector< int64_t > getEdgeList(const std::vector< std::shared_ptr< FPGATrackSimGNNEdge >> &edges)
Definition:
FPGATrackSimGNNEdgeClassifierTool.cxx:81
FPGATrackSimGNNEdgeClassifierTool::initialize
virtual StatusCode initialize() override
Definition:
FPGATrackSimGNNEdgeClassifierTool.cxx:11
FPGATrackSimGNNEdgeClassifierTool::m_GNNInferenceTool
ToolHandle< AthOnnx::IOnnxRuntimeInferenceTool > m_GNNInferenceTool
Definition:
FPGATrackSimGNNEdgeClassifierTool.h:46
AthAlgTool
Definition:
AthAlgTool.h:26
Generated on Thu Mar 13 2025 21:10:50 for ATLAS Offline Software by
1.8.18