ATLAS Offline Software
GNNTrackFinderTritonTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #pragma once
6 
7 // System include(s).
8 #include <iostream>
9 #include <list>
10 #include <memory>
11 
14 #include "ISpacepointFeatureTool.h"
16 
17 class MsgStream;
18 
19 namespace InDet {
28 class GNNTrackFinderTritonTool : public extends<AthAlgTool, IGNNTrackFinder> {
29  public:
30  using base_class::base_class;
31  virtual StatusCode initialize() override;
32 
34  // Main methods for local track finding asked by the IGNNTrackFinder
36 
45  virtual StatusCode getTracks(
46  const std::vector<const Trk::SpacePoint*>& spacepoints,
47  std::vector<std::vector<uint32_t> >& tracks) const override;
48 
49  virtual MsgStream& dump(MsgStream& out) const override;
50  virtual std::ostream& dump(std::ostream& out) const override;
51 
52 
53  private:
54  ToolHandle<AthInfer::IAthInferenceTool> m_gnnTrackingTritonTool{
55  this, "TritonTool", "AthInfer::TritonTool"};
56  ToolHandle<ISpacepointFeatureTool> m_spacepointFeatureTool{
57  this, "SpacepointFeatureTool", "InDet::SpacepointFeatureTool"};
58 
59  StringProperty m_featureNames{this, "FeatureNames",
60  "r,phi,z,cluster_x_1,cluster_y_1,cluster_z_1,cluster_x_2,cluster_y_2,cluster_z_2,count_1,charge_count_1,loc_eta_1,loc_phi_1,localDir0_1,localDir1_1,localDir2_1,lengthDir0_1,lengthDir1_1,lengthDir2_1,glob_eta_1,glob_phi_1,eta_angle_1,phi_angle_1,count_2,charge_count_2,loc_eta_2,loc_phi_2,localDir0_2,localDir1_2,localDir2_2,lengthDir0_2,lengthDir1_2,lengthDir2_2,glob_eta_2,glob_phi_2,eta_angle_2,phi_angle_2,eta,cluster_r_1,cluster_phi_1,cluster_eta_1,cluster_r_2,cluster_phi_2,cluster_eta_2",
61  "Feature names for the GNN pipeline"};
62 
63  std::vector<std::string> m_featureNamesVec;
64  MsgStream& dumpevent (MsgStream& out) const;
65 };
66 
67 MsgStream& operator << (MsgStream& ,const GNNTrackFinderTritonTool&);
68 std::ostream& operator << (std::ostream&,const GNNTrackFinderTritonTool&);
69 
70 } // namespace InDet
71 
InDet::GNNTrackFinderTritonTool::initialize
virtual StatusCode initialize() override
Definition: GNNTrackFinderTritonTool.cxx:15
InDet::GNNTrackFinderTritonTool
InDet::GNNTrackFinderTritonTool is a tool that produces track candidates with graph neural networks-b...
Definition: GNNTrackFinderTritonTool.h:28
InDet::GNNTrackFinderTritonTool::m_spacepointFeatureTool
ToolHandle< ISpacepointFeatureTool > m_spacepointFeatureTool
Definition: GNNTrackFinderTritonTool.h:56
InDet::GNNTrackFinderTritonTool::m_featureNames
StringProperty m_featureNames
Definition: GNNTrackFinderTritonTool.h:59
InDet
Primary Vertex Finder.
Definition: VP1ErrorUtils.h:36
python.AthDsoLogger.out
out
Definition: AthDsoLogger.py:70
InDet::GNNTrackFinderTritonTool::m_gnnTrackingTritonTool
ToolHandle< AthInfer::IAthInferenceTool > m_gnnTrackingTritonTool
Definition: GNNTrackFinderTritonTool.h:54
InDet::GNNTrackFinderTritonTool::dump
virtual MsgStream & dump(MsgStream &out) const override
Definition: GNNTrackFinderTritonTool.cxx:75
IGNNTrackFinder.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
IAthInferenceTool.h
InDet::GNNTrackFinderTritonTool::dumpevent
MsgStream & dumpevent(MsgStream &out) const
Definition: GNNTrackFinderTritonTool.cxx:86
InDet::operator<<
MsgStream & operator<<(MsgStream &, const GNNTrackFinderTritonTool &)
InDet::GNNTrackFinderTritonTool::getTracks
virtual StatusCode getTracks(const std::vector< const Trk::SpacePoint * > &spacepoints, std::vector< std::vector< uint32_t > > &tracks) const override
Get track candidates from a list of space points.
Definition: GNNTrackFinderTritonTool.cxx:24
ISpacepointFeatureTool.h
InDet::GNNTrackFinderTritonTool::m_featureNamesVec
std::vector< std::string > m_featureNamesVec
Definition: GNNTrackFinderTritonTool.h:63