ATLAS Offline Software
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 
22 class AtlasDetectorID;
23 class SCT_ID;
24 class PixelID;
25 
26 class 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 
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
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
SeedingToolBase::m_layerGeometry
std::vector< TrigInDetSiLayer > m_layerGeometry
Definition: TrigInDetPattRecoTools/src/SeedingToolBase.h:72
SeedingToolBase::m_matchBeforeCreate
BooleanProperty m_matchBeforeCreate
Definition: TrigInDetPattRecoTools/src/SeedingToolBase.h:57
IRegSelTool.h
SeedingToolBase::m_pixelId
const PixelID * m_pixelId
Definition: TrigInDetPattRecoTools/src/SeedingToolBase.h:47
SeedingToolBase
Definition: TrigInDetPattRecoTools/src/SeedingToolBase.h:26
GNNR3_Geometry.h
SeedingToolBase::buildTheGraph
std::pair< int, int > buildTheGraph(const IRoiDescriptor &, const std::unique_ptr< GNN_DataStorage > &, std::vector< GNN_Edge > &) const
Definition: TrigInDetPattRecoTools/src/SeedingToolBase.cxx:71
TrigFTF_GNNR3_Edge
Definition: GNNR3_DataStorage.h:106
SeedingToolBase::m_nMaxEdges
IntegerProperty m_nMaxEdges
Definition: TrigInDetPattRecoTools/src/SeedingToolBase.h:60
SeedingToolBase::m_sctId
const SCT_ID * m_sctId
Definition: TrigInDetPattRecoTools/src/SeedingToolBase.h:46
SeedingToolBase::m_connector
std::unique_ptr< GNN_FasTrackConnector > m_connector
Definition: TrigInDetPattRecoTools/src/SeedingToolBase.h:71
GNNR3_DataStorage.h
SeedingToolBase::m_useBeamTilt
BooleanProperty m_useBeamTilt
Definition: TrigInDetPattRecoTools/src/SeedingToolBase.h:50
ITrigL2LayerNumberTool.h
SeedingToolBase::m_filter_phi
BooleanProperty m_filter_phi
Definition: TrigInDetPattRecoTools/src/SeedingToolBase.h:49
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
TrigFTF_GNNR3_Node
Definition: GNNR3_DataStorage.h:18
ITrigInDetTrackSeedingTool.h
GNNR3_FasTrackConnector.h
SeedingToolBase::GNNR3_Edge
TrigFTF_GNNR3_Edge GNNR3_Edge
Definition: TrigInDetR3PattRecoTools/src/SeedingToolBase.h:34
SeedingToolBase::finalize
virtual StatusCode finalize()
SeedingToolBase::m_useGPUseedExtraction
BooleanProperty m_useGPUseedExtraction
Definition: TrigInDetPattRecoTools/src/SeedingToolBase.h:64
SeedingToolBase::GNNR3_Node
TrigFTF_GNNR3_Node GNNR3_Node
Definition: TrigInDetR3PattRecoTools/src/SeedingToolBase.h:32
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:209
SeedingToolBase::SeedingToolBase
SeedingToolBase(const std::string &t, const std::string &n, const IInterface *p)
Definition: TrigInDetR3PattRecoTools/src/SeedingToolBase.h:28
SeedingToolBase::m_LRTmode
BooleanProperty m_LRTmode
Definition: TrigInDetPattRecoTools/src/SeedingToolBase.h:51
SeedingToolBase::m_minPt
FloatProperty m_minPt
Definition: TrigInDetPattRecoTools/src/SeedingToolBase.h:58
SeedingToolBase::initialize
virtual StatusCode initialize()
beamspotman.n
n
Definition: beamspotman.py:729
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
IRoiDescriptor
Describes the API of the Region of Ineterest geometry.
Definition: IRoiDescriptor.h:23
AthAlgTool.h
SeedingToolBase::m_atlasId
const AtlasDetectorID * m_atlasId
Definition: TrigInDetPattRecoTools/src/SeedingToolBase.h:45
SeedingToolBase::m_connectionFile
StringProperty m_connectionFile
Definition: TrigInDetPattRecoTools/src/SeedingToolBase.h:62
SeedingToolBase::m_doubletFilterRZ
BooleanProperty m_doubletFilterRZ
Definition: TrigInDetPattRecoTools/src/SeedingToolBase.h:55
SeedingToolBase::m_layerNumberTool
ToolHandle< ITrigL2LayerNumberTool > m_layerNumberTool
Definition: TrigInDetPattRecoTools/src/SeedingToolBase.h:43
SeedingToolBase::m_useEtaBinning
BooleanProperty m_useEtaBinning
Definition: TrigInDetPattRecoTools/src/SeedingToolBase.h:56
SeedingToolBase::m_geo
std::unique_ptr< const TrigFTF_GNN_Geometry > m_geo
Definition: TrigInDetPattRecoTools/src/SeedingToolBase.h:73
SeedingToolBase::m_etaBinOverride
FloatProperty m_etaBinOverride
Definition: TrigInDetPattRecoTools/src/SeedingToolBase.h:59
SeedingToolBase::m_phiSliceWidth
float m_phiSliceWidth
Definition: TrigInDetPattRecoTools/src/SeedingToolBase.h:69
SCT_ID
Definition: SCT_ID.h:68
SeedingToolBase::GNNR3_DataStorage
TrigFTF_GNNR3_DataStorage GNNR3_DataStorage
Definition: TrigInDetR3PattRecoTools/src/SeedingToolBase.h:33
SeedingToolBase::m_useML
BooleanProperty m_useML
Definition: TrigInDetPattRecoTools/src/SeedingToolBase.h:52
AthAlgTool
Definition: AthAlgTool.h:26
TrigFTF_GNNR3_DataStorage
Definition: GNNR3_DataStorage.h:79
PixelID
Definition: PixelID.h:67
SeedingToolBase::runCCA
int runCCA(int, std::vector< GNN_Edge > &) const
Definition: TrigInDetPattRecoTools/src/SeedingToolBase.cxx:318
SeedingToolBase::m_nMaxPhiSlice
UnsignedIntegerProperty m_nMaxPhiSlice
Definition: TrigInDetPattRecoTools/src/SeedingToolBase.h:54
AtlasDetectorID
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
Definition: AtlasDetectorID.h:57