ATLAS Offline Software
Loading...
Searching...
No Matches
TrigInDetR3PattRecoTools/src/SeedingToolBase.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#ifndef TRIGINDETPATTRECOTOOLS_SEEDINGTOOLBASE_H
6#define TRIGINDETPATTRECOTOOLS_SEEDINGTOOLBASE_H
7
8#include "GaudiKernel/ToolHandle.h"
12#include <string>
13#include <vector>
14
17
19#include "GNNR3_Geometry.h"
20#include "GNNR3_DataStorage.h"
21
22class AtlasDetectorID;
23class SCT_ID;
24class PixelID;
25
26class SeedingToolBase: public AthAlgTool {
27 public:
28 SeedingToolBase(const std::string& t,const std::string& n,const IInterface* p): AthAlgTool(t,n,p){}
29
30 protected:
31
35
36 virtual StatusCode initialize();
37 virtual StatusCode finalize();
38
39 std::pair<int, int> buildTheGraph(const IRoiDescriptor&, const std::unique_ptr<GNNR3_DataStorage>&, std::vector<GNNR3_Edge>&) const;
40
41 int runCCA(int, std::vector<GNNR3_Edge>&) const;
42
43 ToolHandle<ITrigL2LayerNumberTool> m_layerNumberTool {this, "layerNumberTool", "TrigL2LayerNumberToolITk"};
44
45 const AtlasDetectorID* m_atlasId = nullptr;
46 const SCT_ID* m_sctId = nullptr;
47 const PixelID* m_pixelId = nullptr;
48
49 BooleanProperty m_filter_phi{this, "DoPhiFiltering", true};
50 BooleanProperty m_useBeamTilt{this, "UseBeamTilt", false};
51 BooleanProperty m_LRTmode{this, "LRTMode",false};
52 BooleanProperty m_useML{this, "useML", true};
53
54 UnsignedIntegerProperty m_nMaxPhiSlice{this, "nMaxPhiSlice", 53};
55 BooleanProperty m_doubletFilterRZ{this, "Doublet_FilterRZ", true};
56 BooleanProperty m_useEtaBinning{this, "UseEtaBinning", true};
57 BooleanProperty m_matchBeforeCreate{this, "MatchBeforeCreate", false};
58 FloatProperty m_minPt{this, "pTmin", 1000.0};
59 FloatProperty m_etaBinOverride{this, "etaBin", 0.0f, "specify non-zero to override eta bin width from connection file (default 0.2 in createLinkingScheme.py)"};
60 IntegerProperty m_nMaxEdges{this, "MaxGraphEdges", 2000000};
61 StringProperty m_connectionFile{this, "ConnectionFileName", "binTables_ITK_RUN4.txt"};
62
63 BooleanProperty m_useGPUseedExtraction{this, "UseGPUseedExtraction", true};
64
65 float m_phiSliceWidth = 0.;
66
67 std::unique_ptr<GNNR3_FasTrackConnector> m_connector = nullptr;
68 std::vector<TrigInDetSiLayer> m_layerGeometry;
69 std::unique_ptr<const TrigFTF_GNNR3_Geometry> m_geo = nullptr;
70};
71
72#endif
Property holding a SG store/key/clid from which a ReadHandle is made.
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
Describes the API of the Region of Ineterest geometry.
This is an Identifier helper class for the Pixel subdetector.
Definition PixelID.h:67
This is an Identifier helper class for the SCT subdetector.
Definition SCT_ID.h:68
int runCCA(int, std::vector< GNN_Edge > &) const
ToolHandle< ITrigL2LayerNumberTool > m_layerNumberTool
std::vector< TrigInDetSiLayer > m_layerGeometry
std::pair< int, int > buildTheGraph(const IRoiDescriptor &, const std::unique_ptr< GNN_DataStorage > &, std::vector< GNN_Edge > &) const
std::unique_ptr< GNN_FasTrackConnector > m_connector
SeedingToolBase(const std::string &t, const std::string &n, const IInterface *p)
virtual StatusCode initialize()
virtual StatusCode finalize()
std::unique_ptr< const TrigFTF_GNN_Geometry > m_geo