ATLAS Offline Software
TrigInDetPattRecoTools/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"
11 
14 
17 #include "GNN_DataStorage.h"
18 #include <string>
19 #include <vector>
20 #include <utility> //for std::pair
21 #include <tuple>
22 #include <memory>
23 #include <array>
24 
25 class AtlasDetectorID;
26 class SCT_ID;
27 class PixelID;
28 
29 class SeedingToolBase: public AthAlgTool {
30  public:
31  SeedingToolBase(const std::string& t,const std::string& n,const IInterface* p): AthAlgTool(t,n,p){}
32 
33  protected:
34 
38 
39  virtual StatusCode initialize();
40  virtual StatusCode finalize();
41 
42  std::pair<int, int> buildTheGraph(const IRoiDescriptor&, const std::unique_ptr<GNN_DataStorage>&, std::vector<GNN_Edge>&) const;
43 
44  int runCCA(int, std::vector<GNN_Edge>&) const;
45 
46  void extractSeedsFromTheGraph(int, int, int, std::vector<GNN_Edge>&, std::vector<std::tuple<float, int, std::vector<unsigned int> > >&) const;
47 
48  ToolHandle<ITrigL2LayerNumberTool> m_layerNumberTool {this, "layerNumberTool", "TrigL2LayerNumberToolITk"};
49 
50  const AtlasDetectorID* m_atlasId = nullptr;
51  const SCT_ID* m_sctId = nullptr;
52  const PixelID* m_pixelId = nullptr;
53 
54  BooleanProperty m_filter_phi{this, "DoPhiFiltering", true};
55  BooleanProperty m_useBeamTilt{this, "UseBeamTilt", false};
56  BooleanProperty m_LRTmode{this, "LRTMode",false};
57  BooleanProperty m_useML{this, "useML", true};
58 
59  UnsignedIntegerProperty m_nMaxPhiSlice{this, "nMaxPhiSlice", 53};
60  BooleanProperty m_doubletFilterRZ{this, "Doublet_FilterRZ", true};
61  BooleanProperty m_useEtaBinning{this, "UseEtaBinning", true};
62  BooleanProperty m_matchBeforeCreate{this, "MatchBeforeCreate", true};
63  FloatProperty m_minPt{this, "pTmin", 1000.0};
64  FloatProperty m_etaBinOverride{this, "etaBin", 0.0f, "specify non-zero to override eta bin width from connection file (default 0.2 in createLinkingScheme.py)"};
65  IntegerProperty m_nMaxEdges{this, "MaxGraphEdges", 2000000};
66  IntegerProperty m_nBufferEdges{this, "BufferEdges", 200000};
67  StringProperty m_connectionFile{this, "ConnectionFileName", "binTables_ITK_RUN4.txt"};
68  StringProperty m_lutFile{this, "MLpredictorLutFileName", "gbts_ml_pixel_barrel_loose.lut"};
69 
70  BooleanProperty m_useGPUseedExtraction{this, "UseGPUseedExtraction", true};
71  BooleanProperty m_useOldTunings{this, "UseOldTunings", false};
72 
73  FloatProperty m_tau_ratio_cut{this, "tau_ratio_cut", 0.007};
74 
75  float m_phiSliceWidth = 0.;
76 
77  std::unique_ptr<GNN_FasTrackConnector> m_connector = nullptr;
78  std::vector<TrigInDetSiLayer> m_layerGeometry;
79  std::unique_ptr<const TrigFTF_GNN_Geometry> m_geo = nullptr;
80  std::vector<std::array<float, 5> > m_mlLUT;
81 };
82 
83 #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:78
SeedingToolBase::m_matchBeforeCreate
BooleanProperty m_matchBeforeCreate
Definition: TrigInDetPattRecoTools/src/SeedingToolBase.h:62
IRegSelTool.h
TrigFTF_GNN_DataStorage
Definition: GNN_DataStorage.h:80
SeedingToolBase::initialize
virtual StatusCode initialize()
Definition: TrigInDetPattRecoTools/src/SeedingToolBase.cxx:24
SeedingToolBase::m_pixelId
const PixelID * m_pixelId
Definition: TrigInDetPattRecoTools/src/SeedingToolBase.h:52
SeedingToolBase
Definition: TrigInDetPattRecoTools/src/SeedingToolBase.h:29
GNN_FasTrackConnector.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:98
SeedingToolBase::m_nBufferEdges
IntegerProperty m_nBufferEdges
Definition: TrigInDetPattRecoTools/src/SeedingToolBase.h:66
SeedingToolBase::m_nMaxEdges
IntegerProperty m_nMaxEdges
Definition: TrigInDetPattRecoTools/src/SeedingToolBase.h:65
SeedingToolBase::m_sctId
const SCT_ID * m_sctId
Definition: TrigInDetPattRecoTools/src/SeedingToolBase.h:51
SeedingToolBase::m_connector
std::unique_ptr< GNN_FasTrackConnector > m_connector
Definition: TrigInDetPattRecoTools/src/SeedingToolBase.h:77
SeedingToolBase::m_useBeamTilt
BooleanProperty m_useBeamTilt
Definition: TrigInDetPattRecoTools/src/SeedingToolBase.h:55
ITrigL2LayerNumberTool.h
SeedingToolBase::m_filter_phi
BooleanProperty m_filter_phi
Definition: TrigInDetPattRecoTools/src/SeedingToolBase.h:54
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
TrigFTF_GNN_Node
Definition: GNN_DataStorage.h:18
SeedingToolBase::GNN_Node
TrigFTF_GNN_Node GNN_Node
Definition: TrigInDetPattRecoTools/src/SeedingToolBase.h:35
SeedingToolBase::m_mlLUT
std::vector< std::array< float, 5 > > m_mlLUT
Definition: TrigInDetPattRecoTools/src/SeedingToolBase.h:80
SeedingToolBase::m_lutFile
StringProperty m_lutFile
Definition: TrigInDetPattRecoTools/src/SeedingToolBase.h:68
SeedingToolBase::extractSeedsFromTheGraph
void extractSeedsFromTheGraph(int, int, int, std::vector< GNN_Edge > &, std::vector< std::tuple< float, int, std::vector< unsigned int > > > &) const
Definition: TrigInDetPattRecoTools/src/SeedingToolBase.cxx:416
SeedingToolBase::m_useGPUseedExtraction
BooleanProperty m_useGPUseedExtraction
Definition: TrigInDetPattRecoTools/src/SeedingToolBase.h:70
SeedingToolBase::GNN_Edge
TrigFTF_GNN_Edge GNN_Edge
Definition: TrigInDetPattRecoTools/src/SeedingToolBase.h:37
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:209
SeedingToolBase::SeedingToolBase
SeedingToolBase(const std::string &t, const std::string &n, const IInterface *p)
Definition: TrigInDetPattRecoTools/src/SeedingToolBase.h:31
SeedingToolBase::m_LRTmode
BooleanProperty m_LRTmode
Definition: TrigInDetPattRecoTools/src/SeedingToolBase.h:56
TrigFTF_GNN_Edge
Definition: GNN_DataStorage.h:108
SeedingToolBase::m_minPt
FloatProperty m_minPt
Definition: TrigInDetPattRecoTools/src/SeedingToolBase.h:63
beamspotman.n
n
Definition: beamspotman.py:727
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:50
SeedingToolBase::finalize
virtual StatusCode finalize()
Definition: TrigInDetPattRecoTools/src/SeedingToolBase.cxx:93
SeedingToolBase::m_connectionFile
StringProperty m_connectionFile
Definition: TrigInDetPattRecoTools/src/SeedingToolBase.h:67
SeedingToolBase::m_doubletFilterRZ
BooleanProperty m_doubletFilterRZ
Definition: TrigInDetPattRecoTools/src/SeedingToolBase.h:60
SeedingToolBase::m_layerNumberTool
ToolHandle< ITrigL2LayerNumberTool > m_layerNumberTool
Definition: TrigInDetPattRecoTools/src/SeedingToolBase.h:48
SeedingToolBase::m_useEtaBinning
BooleanProperty m_useEtaBinning
Definition: TrigInDetPattRecoTools/src/SeedingToolBase.h:61
SeedingToolBase::m_geo
std::unique_ptr< const TrigFTF_GNN_Geometry > m_geo
Definition: TrigInDetPattRecoTools/src/SeedingToolBase.h:79
SeedingToolBase::m_etaBinOverride
FloatProperty m_etaBinOverride
Definition: TrigInDetPattRecoTools/src/SeedingToolBase.h:64
SeedingToolBase::m_phiSliceWidth
float m_phiSliceWidth
Definition: TrigInDetPattRecoTools/src/SeedingToolBase.h:75
SCT_ID
Definition: SCT_ID.h:68
SeedingToolBase::m_useML
BooleanProperty m_useML
Definition: TrigInDetPattRecoTools/src/SeedingToolBase.h:57
SeedingToolBase::GNN_DataStorage
TrigFTF_GNN_DataStorage GNN_DataStorage
Definition: TrigInDetPattRecoTools/src/SeedingToolBase.h:36
SeedingToolBase::m_useOldTunings
BooleanProperty m_useOldTunings
Definition: TrigInDetPattRecoTools/src/SeedingToolBase.h:71
AthAlgTool
Definition: AthAlgTool.h:26
GNN_DataStorage.h
PixelID
Definition: PixelID.h:67
SeedingToolBase::m_tau_ratio_cut
FloatProperty m_tau_ratio_cut
Definition: TrigInDetPattRecoTools/src/SeedingToolBase.h:73
SeedingToolBase::runCCA
int runCCA(int, std::vector< GNN_Edge > &) const
Definition: TrigInDetPattRecoTools/src/SeedingToolBase.cxx:348
SeedingToolBase::m_nMaxPhiSlice
UnsignedIntegerProperty m_nMaxPhiSlice
Definition: TrigInDetPattRecoTools/src/SeedingToolBase.h:59
AtlasDetectorID
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
Definition: AtlasDetectorID.h:52
GNN_Geometry.h