Loading [MathJax]/jax/input/TeX/config.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
FPGATrackSimGNNRootOutputTool.cxx
Go to the documentation of this file.
1 // Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
2 
4 
6 // AthAlgTool
7 
8 FPGATrackSimGNNRootOutputTool::FPGATrackSimGNNRootOutputTool(const std::string& algname, const std::string& name, const IInterface *ifc) :
9  AthAlgTool(algname, name, ifc)
10 {
11 }
12 
14 {
15  ATH_CHECK(m_tHistSvc.retrieve());
17  return StatusCode::SUCCESS;
18 }
19 
21 // Functions
22 
24 {
25  m_hit_tree = new TTree("FPGATrackSimHit","FPGATrackSimHit");
26  m_hit_tree->Branch("hit_id",&m_hit_id);
27  m_hit_tree->Branch("hit_module_id",&m_hit_module_id);
28  m_hit_tree->Branch("hit_x",&m_hit_x);
29  m_hit_tree->Branch("hit_y",&m_hit_y);
30  m_hit_tree->Branch("hit_z",&m_hit_z);
31  m_hit_tree->Branch("hit_r",&m_hit_r);
32  m_hit_tree->Branch("hit_phi",&m_hit_phi);
33  m_hit_tree->Branch("hit_isPixel",&m_hit_isPixel);
34  m_hit_tree->Branch("hit_isStrip",&m_hit_isStrip);
35  m_hit_tree->Branch("hit_hitType",&m_hit_hitType);
36  m_hit_tree->Branch("hit_uniqueID",&m_hit_uniqueID);
37  m_hit_tree->Branch("hit_eventIndex",&m_hit_eventIndex);
38  m_hit_tree->Branch("hit_cluster_x",&m_hit_cluster_x);
39  m_hit_tree->Branch("hit_cluster_y",&m_hit_cluster_y);
40  m_hit_tree->Branch("hit_cluster_z",&m_hit_cluster_z);
41 
42  m_GNNHit_tree = new TTree("FPGATrackSimGNNHit","FPGATrackSimGNNHit");
43  m_GNNHit_tree->Branch("hit_id",&m_GNNHit_id);
44  m_GNNHit_tree->Branch("hit_module_id",&m_GNNHit_module_id);
45  m_GNNHit_tree->Branch("hit_road_id",&m_GNNHit_road_id);
46  m_GNNHit_tree->Branch("hit_x",&m_GNNHit_x);
47  m_GNNHit_tree->Branch("hit_y",&m_GNNHit_y);
48  m_GNNHit_tree->Branch("hit_z",&m_GNNHit_z);
49  m_GNNHit_tree->Branch("hit_r",&m_GNNHit_r);
50  m_GNNHit_tree->Branch("hit_phi",&m_GNNHit_phi);
51  m_GNNHit_tree->Branch("hit_eta",&m_GNNHit_eta);
52  m_GNNHit_tree->Branch("hit_cluster_x_1",&m_GNNHit_cluster_x_1);
53  m_GNNHit_tree->Branch("hit_cluster_y_1",&m_GNNHit_cluster_y_1);
54  m_GNNHit_tree->Branch("hit_cluster_z_1",&m_GNNHit_cluster_z_1);
55  m_GNNHit_tree->Branch("hit_cluster_r_1",&m_GNNHit_cluster_r_1);
56  m_GNNHit_tree->Branch("hit_cluster_phi_1",&m_GNNHit_cluster_phi_1);
57  m_GNNHit_tree->Branch("hit_cluster_eta_1",&m_GNNHit_cluster_eta_1);
58  m_GNNHit_tree->Branch("hit_cluster_x_2",&m_GNNHit_cluster_x_2);
59  m_GNNHit_tree->Branch("hit_cluster_y_2",&m_GNNHit_cluster_y_2);
60  m_GNNHit_tree->Branch("hit_cluster_z_2",&m_GNNHit_cluster_z_2);
61  m_GNNHit_tree->Branch("hit_cluster_r_2",&m_GNNHit_cluster_r_2);
62  m_GNNHit_tree->Branch("hit_cluster_phi_2",&m_GNNHit_cluster_phi_2);
63  m_GNNHit_tree->Branch("hit_cluster_eta_2",&m_GNNHit_cluster_eta_2);
64 
65  m_GNNEdge_tree = new TTree("FPGATrackSimGNNEdge","FPGATrackSimGNNEdge");
66  m_GNNEdge_tree->Branch("edge_index_1",&m_GNNEdge_index_1);
67  m_GNNEdge_tree->Branch("edge_index_2",&m_GNNEdge_index_2);
68  m_GNNEdge_tree->Branch("edge_dr",&m_GNNEdge_dR);
69  m_GNNEdge_tree->Branch("edge_dphi",&m_GNNEdge_dPhi);
70  m_GNNEdge_tree->Branch("edge_dz",&m_GNNEdge_dZ);
71  m_GNNEdge_tree->Branch("edge_deta",&m_GNNEdge_dEta);
72  m_GNNEdge_tree->Branch("edge_phislope",&m_GNNEdge_phiSlope);
73  m_GNNEdge_tree->Branch("edge_rphislope",&m_GNNEdge_rPhiSlope);
74  m_GNNEdge_tree->Branch("edge_score",&m_GNNEdge_score);
75 
76  m_road_tree = new TTree("FPGATrackSimRoad","FPGATrackSimRoad");
77  m_road_tree->Branch("road_id",&m_road_id);
78  m_road_tree->Branch("road_nHits",&m_road_nHits);
79  m_road_tree->Branch("road_nHits_layer",&m_road_nHits_layer);
80  m_road_tree->Branch("road_nLayers",&m_road_nLayers);
81  m_road_tree->Branch("road_hit_uniqueID",&m_road_hit_uniqueID);
82  m_road_tree->Branch("road_hit_barcode",&m_road_hit_barcode);
83  m_road_tree->Branch("road_hit_z",&m_road_hit_z);
84  m_road_tree->Branch("road_hit_r",&m_road_hit_r);
85 
86  ATH_CHECK(m_tHistSvc->regTree(Form("/TRIGFPGATrackSimGNNOUTPUT/%s",m_hit_tree->GetName()), m_hit_tree));
87  ATH_CHECK(m_tHistSvc->regTree(Form("/TRIGFPGATrackSimGNNOUTPUT/%s",m_GNNHit_tree->GetName()), m_GNNHit_tree));
88  ATH_CHECK(m_tHistSvc->regTree(Form("/TRIGFPGATrackSimGNNOUTPUT/%s",m_GNNEdge_tree->GetName()), m_GNNEdge_tree));
89  ATH_CHECK(m_tHistSvc->regTree(Form("/TRIGFPGATrackSimGNNOUTPUT/%s",m_road_tree->GetName()), m_road_tree));
90 
91  return StatusCode::SUCCESS;
92 }
93 
94 StatusCode FPGATrackSimGNNRootOutputTool::fillTree(const std::vector<std::shared_ptr<const FPGATrackSimHit>> & hits,
95  const std::vector<std::shared_ptr<FPGATrackSimGNNHit>> & gnn_hits,
96  const std::vector<std::shared_ptr<FPGATrackSimGNNEdge>> & edges,
97  const std::vector<std::shared_ptr<const FPGATrackSimRoad>> & roads)
98 {
99  // fill the FPGATrackSimHits
100  int hit_count = 0;
101  for (const auto& hit : hits) {
102  m_hit_id.push_back(hit_count);
103  m_hit_module_id.push_back(hit->getIdentifier());
104  m_hit_x.push_back(hit->getX());
105  m_hit_y.push_back(hit->getY());
106  m_hit_z.push_back(hit->getZ());
107  m_hit_r.push_back(hit->getR());
108  m_hit_phi.push_back(hit->getGPhi());
109  m_hit_isPixel.push_back(hit->isPixel());
110  m_hit_isStrip.push_back(hit->isStrip());
111  m_hit_hitType.push_back(static_cast<int>(hit->getHitType()));
112  m_hit_uniqueID.push_back(hit->getUniqueID());
113  m_hit_eventIndex.push_back(hit->getEventIndex());
114  m_hit_cluster_x.push_back(hit->getOriginalHit().getX());
115  m_hit_cluster_y.push_back(hit->getOriginalHit().getY());
116  m_hit_cluster_z.push_back(hit->getOriginalHit().getZ());
117  hit_count++;
118  }
119  m_hit_tree->Fill();
120 
121  // fill the FPGATrackSimGNNHits
122  for (const auto& hit : gnn_hits) {
123  m_GNNHit_id.push_back(hit->getHitID());
124  m_GNNHit_module_id.push_back(hit->getIdentifier());
125  m_GNNHit_road_id.push_back(hit->getRoadID());
126  m_GNNHit_x.push_back(hit->getX());
127  m_GNNHit_y.push_back(hit->getY());
128  m_GNNHit_z.push_back(hit->getZ());
129  m_GNNHit_r.push_back(hit->getR());
130  m_GNNHit_phi.push_back(hit->getPhi());
131  m_GNNHit_eta.push_back(hit->getEta());
132  m_GNNHit_cluster_x_1.push_back(hit->getCluster1X());
133  m_GNNHit_cluster_y_1.push_back(hit->getCluster1Y());
134  m_GNNHit_cluster_z_1.push_back(hit->getCluster1Z());
135  m_GNNHit_cluster_r_1.push_back(hit->getCluster1R());
136  m_GNNHit_cluster_phi_1.push_back(hit->getCluster1Phi());
137  m_GNNHit_cluster_eta_1.push_back(hit->getCluster1Eta());
138  m_GNNHit_cluster_x_2.push_back(hit->getCluster2X());
139  m_GNNHit_cluster_y_2.push_back(hit->getCluster2Y());
140  m_GNNHit_cluster_z_2.push_back(hit->getCluster2Z());
141  m_GNNHit_cluster_r_2.push_back(hit->getCluster2R());
142  m_GNNHit_cluster_phi_2.push_back(hit->getCluster2Phi());
143  m_GNNHit_cluster_eta_2.push_back(hit->getCluster2Eta());
144  }
145  m_GNNHit_tree->Fill();
146 
147  // fill the FPGATrackSimGNNEdges
148  for (const auto& edge : edges) {
149  m_GNNEdge_index_1.push_back(edge->getEdgeIndex1());
150  m_GNNEdge_index_2.push_back(edge->getEdgeIndex2());
151  m_GNNEdge_dR.push_back(edge->getEdgeDR());
152  m_GNNEdge_dPhi.push_back(edge->getEdgeDPhi());
153  m_GNNEdge_dZ.push_back(edge->getEdgeDZ());
154  m_GNNEdge_dEta.push_back(edge->getEdgeDEta());
155  m_GNNEdge_phiSlope.push_back(edge->getEdgePhiSlope());
156  m_GNNEdge_rPhiSlope.push_back(edge->getEdgeRPhiSlope());
157  m_GNNEdge_score.push_back(edge->getEdgeScore());
158  }
159  m_GNNEdge_tree->Fill();
160 
161  for (const auto& road : roads) {
162  m_road_id.push_back(road->getRoadID());
163  m_road_nHits.push_back(road->getNHits());
164  m_road_nHits_layer.push_back(road->getNHits_layer());
165  m_road_nLayers.push_back(road->getNLayers());
166 
167  std::vector<std::vector<HepMcParticleLink::barcode_type>> road_hit_uniqueID(road->getNLayers());
168  std::vector<std::vector<HepMcParticleLink::barcode_type>> road_hit_barcode(road->getNLayers());
169  std::vector<std::vector<float>> road_hit_z(road->getNLayers());
170  std::vector<std::vector<float>> road_hit_r(road->getNLayers());
171  for (size_t l = 0; l < road->getNLayers(); ++l) {
172  for (const auto &layerH : road->getHits(l)) {
173  road_hit_uniqueID[l].push_back((*layerH).getUniqueID());
174  road_hit_barcode[l].push_back((*layerH).getBarcode());
175  road_hit_z[l].push_back((*layerH).getOriginalHit().getZ());
176  road_hit_r[l].push_back((*layerH).getOriginalHit().getR());
177  }
178  }
179 
180  m_road_hit_uniqueID.push_back(road_hit_uniqueID);
181  m_road_hit_barcode.push_back(road_hit_barcode);
182  m_road_hit_z.push_back(road_hit_z);
183  m_road_hit_r.push_back(road_hit_r);
184 
185  }
186  m_road_tree->Fill();
187 
188  resetVectors();
189 
190  return StatusCode::SUCCESS;
191 }
192 
194 {
195  m_hit_id.clear();
196  m_hit_module_id.clear();
197  m_hit_x.clear();
198  m_hit_y.clear();
199  m_hit_z.clear();
200  m_hit_r.clear();
201  m_hit_phi.clear();
202  m_hit_isPixel.clear();
203  m_hit_isStrip.clear();
204  m_hit_hitType.clear();
205  m_hit_uniqueID.clear();
206  m_hit_eventIndex.clear();
207  m_hit_cluster_x.clear();
208  m_hit_cluster_y.clear();
209  m_hit_cluster_z.clear();
210  m_GNNHit_id.clear();
211  m_GNNHit_module_id.clear();
212  m_GNNHit_road_id.clear();
213  m_GNNHit_x.clear();
214  m_GNNHit_y.clear();
215  m_GNNHit_z.clear();
216  m_GNNHit_r.clear();
217  m_GNNHit_phi.clear();
218  m_GNNHit_eta.clear();
219  m_GNNHit_cluster_x_1.clear();
220  m_GNNHit_cluster_y_1.clear();
221  m_GNNHit_cluster_z_1.clear();
222  m_GNNHit_cluster_r_1.clear();
223  m_GNNHit_cluster_phi_1.clear();
224  m_GNNHit_cluster_eta_1.clear();
225  m_GNNHit_cluster_x_2.clear();
226  m_GNNHit_cluster_y_2.clear();
227  m_GNNHit_cluster_z_2.clear();
228  m_GNNHit_cluster_r_2.clear();
229  m_GNNHit_cluster_phi_2.clear();
230  m_GNNHit_cluster_eta_2.clear();
231  m_GNNEdge_index_1.clear();
232  m_GNNEdge_index_2.clear();
233  m_GNNEdge_dR.clear();
234  m_GNNEdge_dPhi.clear();
235  m_GNNEdge_dZ.clear();
236  m_GNNEdge_dEta.clear();
237  m_GNNEdge_phiSlope.clear();
238  m_GNNEdge_rPhiSlope.clear();
239  m_GNNEdge_score.clear();
240  m_road_id.clear();
241  m_road_nHits.clear();
242  m_road_nHits_layer.clear();
243  m_road_nLayers.clear();
244  m_road_hit_uniqueID.clear();
245  m_road_hit_barcode.clear();
246  m_road_hit_z.clear();
247  m_road_hit_r.clear();
248 }
FPGATrackSimGNNRootOutputTool::m_road_hit_uniqueID
std::vector< std::vector< std::vector< HepMcParticleLink::barcode_type > > > m_road_hit_uniqueID
Definition: FPGATrackSimGNNRootOutputTool.h:123
FPGATrackSimGNNRootOutputTool::m_GNNHit_id
std::vector< unsigned int > m_GNNHit_id
Definition: FPGATrackSimGNNRootOutputTool.h:85
FPGATrackSimGNNRootOutputTool::m_GNNHit_module_id
std::vector< unsigned int > m_GNNHit_module_id
Definition: FPGATrackSimGNNRootOutputTool.h:86
FPGATrackSimGNNRootOutputTool::m_road_tree
TTree * m_road_tree
Definition: FPGATrackSimGNNRootOutputTool.h:118
FPGATrackSimGNNRootOutputTool::m_GNNHit_cluster_eta_1
std::vector< float > m_GNNHit_cluster_eta_1
Definition: FPGATrackSimGNNRootOutputTool.h:99
getMenu.algname
algname
Definition: getMenu.py:54
FPGATrackSimGNNRootOutputTool::m_hit_phi
std::vector< float > m_hit_phi
Definition: FPGATrackSimGNNRootOutputTool.h:74
TRTCalib_Extractor.hits
hits
Definition: TRTCalib_Extractor.py:35
FPGATrackSimGNNRootOutputTool::m_GNNHit_cluster_phi_1
std::vector< float > m_GNNHit_cluster_phi_1
Definition: FPGATrackSimGNNRootOutputTool.h:98
FPGATrackSimGNNRootOutputTool::m_road_nHits
std::vector< size_t > m_road_nHits
Definition: FPGATrackSimGNNRootOutputTool.h:120
FPGATrackSimGNNRootOutputTool::m_GNNHit_tree
TTree * m_GNNHit_tree
Definition: FPGATrackSimGNNRootOutputTool.h:84
FPGATrackSimGNNRootOutputTool::m_GNNHit_r
std::vector< float > m_GNNHit_r
Definition: FPGATrackSimGNNRootOutputTool.h:91
FPGATrackSimGNNRootOutputTool::m_hit_y
std::vector< float > m_hit_y
Definition: FPGATrackSimGNNRootOutputTool.h:71
FPGATrackSimGNNRootOutputTool::bookTree
StatusCode bookTree()
Definition: FPGATrackSimGNNRootOutputTool.cxx:23
FPGATrackSimGNNRootOutputTool.h
Implements tool to output hit, edge and road information from GNN pattern recognition pipeline.
FPGATrackSimGNNRootOutputTool::m_road_hit_r
std::vector< std::vector< std::vector< float > > > m_road_hit_r
Definition: FPGATrackSimGNNRootOutputTool.h:126
FPGATrackSimGNNRootOutputTool::m_hit_x
std::vector< float > m_hit_x
Definition: FPGATrackSimGNNRootOutputTool.h:70
UploadAMITag.l
list l
Definition: UploadAMITag.larcaf.py:158
FPGATrackSimGNNRootOutputTool::m_GNNEdge_dPhi
std::vector< float > m_GNNEdge_dPhi
Definition: FPGATrackSimGNNRootOutputTool.h:111
FPGATrackSimGNNRootOutputTool::m_GNNHit_cluster_y_2
std::vector< float > m_GNNHit_cluster_y_2
Definition: FPGATrackSimGNNRootOutputTool.h:101
FPGATrackSimGNNRootOutputTool::m_hit_uniqueID
std::vector< HepMcParticleLink::barcode_type > m_hit_uniqueID
Definition: FPGATrackSimGNNRootOutputTool.h:78
FPGATrackSimGNNRootOutputTool::m_GNNHit_cluster_eta_2
std::vector< float > m_GNNHit_cluster_eta_2
Definition: FPGATrackSimGNNRootOutputTool.h:105
FPGATrackSimGNNRootOutputTool::m_GNNHit_cluster_z_1
std::vector< float > m_GNNHit_cluster_z_1
Definition: FPGATrackSimGNNRootOutputTool.h:96
FPGATrackSimGNNRootOutputTool::resetVectors
void resetVectors()
Definition: FPGATrackSimGNNRootOutputTool.cxx:193
FPGATrackSimGNNRootOutputTool::fillTree
StatusCode fillTree(const std::vector< std::shared_ptr< const FPGATrackSimHit >> &hits, const std::vector< std::shared_ptr< FPGATrackSimGNNHit >> &gnn_hits, const std::vector< std::shared_ptr< FPGATrackSimGNNEdge >> &edges, const std::vector< std::shared_ptr< const FPGATrackSimRoad >> &roads)
Definition: FPGATrackSimGNNRootOutputTool.cxx:94
FPGATrackSimGNNRootOutputTool::m_GNNHit_y
std::vector< float > m_GNNHit_y
Definition: FPGATrackSimGNNRootOutputTool.h:89
FPGATrackSimGNNRootOutputTool::m_GNNHit_cluster_phi_2
std::vector< float > m_GNNHit_cluster_phi_2
Definition: FPGATrackSimGNNRootOutputTool.h:104
FPGATrackSimGNNRootOutputTool::m_hit_tree
TTree * m_hit_tree
Definition: FPGATrackSimGNNRootOutputTool.h:67
FPGATrackSimGNNRootOutputTool::m_GNNHit_phi
std::vector< float > m_GNNHit_phi
Definition: FPGATrackSimGNNRootOutputTool.h:92
FPGATrackSimGNNRootOutputTool::m_hit_isStrip
std::vector< bool > m_hit_isStrip
Definition: FPGATrackSimGNNRootOutputTool.h:76
FPGATrackSimGNNRootOutputTool::m_hit_eventIndex
std::vector< long > m_hit_eventIndex
Definition: FPGATrackSimGNNRootOutputTool.h:79
FPGATrackSimGNNRootOutputTool::m_hit_hitType
std::vector< int > m_hit_hitType
Definition: FPGATrackSimGNNRootOutputTool.h:77
FPGATrackSimGNNRootOutputTool::m_hit_isPixel
std::vector< bool > m_hit_isPixel
Definition: FPGATrackSimGNNRootOutputTool.h:75
FPGATrackSimGNNRootOutputTool::m_road_hit_z
std::vector< std::vector< std::vector< float > > > m_road_hit_z
Definition: FPGATrackSimGNNRootOutputTool.h:125
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
FPGATrackSimGNNRootOutputTool::m_GNNHit_x
std::vector< float > m_GNNHit_x
Definition: FPGATrackSimGNNRootOutputTool.h:88
FPGATrackSimGNNRootOutputTool::m_GNNEdge_dZ
std::vector< float > m_GNNEdge_dZ
Definition: FPGATrackSimGNNRootOutputTool.h:112
FPGATrackSimGNNRootOutputTool::m_GNNEdge_score
std::vector< float > m_GNNEdge_score
Definition: FPGATrackSimGNNRootOutputTool.h:116
FPGATrackSimGNNRootOutputTool::m_GNNEdge_index_1
std::vector< unsigned int > m_GNNEdge_index_1
Definition: FPGATrackSimGNNRootOutputTool.h:108
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
FPGATrackSimGNNRootOutputTool::m_GNNHit_cluster_y_1
std::vector< float > m_GNNHit_cluster_y_1
Definition: FPGATrackSimGNNRootOutputTool.h:95
FPGATrackSimGNNRootOutputTool::m_GNNHit_cluster_x_1
std::vector< float > m_GNNHit_cluster_x_1
Definition: FPGATrackSimGNNRootOutputTool.h:94
FPGATrackSimGNNRootOutputTool::m_hit_r
std::vector< float > m_hit_r
Definition: FPGATrackSimGNNRootOutputTool.h:73
FPGATrackSimGNNRootOutputTool::m_GNNHit_road_id
std::vector< int > m_GNNHit_road_id
Definition: FPGATrackSimGNNRootOutputTool.h:87
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
FPGATrackSimGNNRootOutputTool::m_hit_id
std::vector< unsigned int > m_hit_id
Definition: FPGATrackSimGNNRootOutputTool.h:68
FPGATrackSimGNNRootOutputTool::m_road_hit_barcode
std::vector< std::vector< std::vector< HepMcParticleLink::barcode_type > > > m_road_hit_barcode
Definition: FPGATrackSimGNNRootOutputTool.h:124
FPGATrackSimGNNRootOutputTool::FPGATrackSimGNNRootOutputTool
FPGATrackSimGNNRootOutputTool(const std::string &, const std::string &, const IInterface *)
Definition: FPGATrackSimGNNRootOutputTool.cxx:8
FPGATrackSimGNNRootOutputTool::m_hit_cluster_y
std::vector< float > m_hit_cluster_y
Definition: FPGATrackSimGNNRootOutputTool.h:81
FPGATrackSimGNNRootOutputTool::m_hit_cluster_z
std::vector< float > m_hit_cluster_z
Definition: FPGATrackSimGNNRootOutputTool.h:82
FPGATrackSimGNNRootOutputTool::m_hit_module_id
std::vector< unsigned int > m_hit_module_id
Definition: FPGATrackSimGNNRootOutputTool.h:69
FPGATrackSimGNNRootOutputTool::m_GNNEdge_rPhiSlope
std::vector< float > m_GNNEdge_rPhiSlope
Definition: FPGATrackSimGNNRootOutputTool.h:115
FPGATrackSimGNNRootOutputTool::m_GNNEdge_tree
TTree * m_GNNEdge_tree
Definition: FPGATrackSimGNNRootOutputTool.h:107
FPGATrackSimGNNRootOutputTool::m_GNNHit_eta
std::vector< float > m_GNNHit_eta
Definition: FPGATrackSimGNNRootOutputTool.h:93
FPGATrackSimGNNRootOutputTool::m_GNNEdge_dR
std::vector< float > m_GNNEdge_dR
Definition: FPGATrackSimGNNRootOutputTool.h:110
FPGATrackSimGNNRootOutputTool::m_GNNEdge_index_2
std::vector< unsigned int > m_GNNEdge_index_2
Definition: FPGATrackSimGNNRootOutputTool.h:109
FPGATrackSimGNNRootOutputTool::m_GNNHit_cluster_x_2
std::vector< float > m_GNNHit_cluster_x_2
Definition: FPGATrackSimGNNRootOutputTool.h:100
AthAlgTool
Definition: AthAlgTool.h:26
FPGATrackSimGNNRootOutputTool::initialize
virtual StatusCode initialize() override
Definition: FPGATrackSimGNNRootOutputTool.cxx:13
FPGATrackSimGNNRootOutputTool::m_GNNEdge_phiSlope
std::vector< float > m_GNNEdge_phiSlope
Definition: FPGATrackSimGNNRootOutputTool.h:114
FPGATrackSimGNNRootOutputTool::m_road_id
std::vector< int > m_road_id
Definition: FPGATrackSimGNNRootOutputTool.h:119
FPGATrackSimGNNRootOutputTool::m_hit_z
std::vector< float > m_hit_z
Definition: FPGATrackSimGNNRootOutputTool.h:72
FPGATrackSimGNNRootOutputTool::m_tHistSvc
ServiceHandle< ITHistSvc > m_tHistSvc
Definition: FPGATrackSimGNNRootOutputTool.h:62
FPGATrackSimGNNRootOutputTool::m_GNNHit_cluster_r_2
std::vector< float > m_GNNHit_cluster_r_2
Definition: FPGATrackSimGNNRootOutputTool.h:103
FPGATrackSimGNNRootOutputTool::m_hit_cluster_x
std::vector< float > m_hit_cluster_x
Definition: FPGATrackSimGNNRootOutputTool.h:80
FPGATrackSimGNNRootOutputTool::m_road_nHits_layer
std::vector< std::vector< size_t > > m_road_nHits_layer
Definition: FPGATrackSimGNNRootOutputTool.h:121
FPGATrackSimGNNRootOutputTool::m_GNNEdge_dEta
std::vector< float > m_GNNEdge_dEta
Definition: FPGATrackSimGNNRootOutputTool.h:113
FPGATrackSimGNNRootOutputTool::m_GNNHit_cluster_z_2
std::vector< float > m_GNNHit_cluster_z_2
Definition: FPGATrackSimGNNRootOutputTool.h:102
FPGATrackSimGNNRootOutputTool::m_GNNHit_z
std::vector< float > m_GNNHit_z
Definition: FPGATrackSimGNNRootOutputTool.h:90
FPGATrackSimGNNRootOutputTool::m_road_nLayers
std::vector< size_t > m_road_nLayers
Definition: FPGATrackSimGNNRootOutputTool.h:122
FPGATrackSimGNNRootOutputTool::m_GNNHit_cluster_r_1
std::vector< float > m_GNNHit_cluster_r_1
Definition: FPGATrackSimGNNRootOutputTool.h:97