ATLAS Offline Software
Loading...
Searching...
No Matches
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
25class AtlasDetectorID;
26class SCT_ID;
27class PixelID;
28
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
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< std::array< float, 5 > > m_mlLUT
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)
void extractSeedsFromTheGraph(int, int, int, std::vector< GNN_Edge > &, std::vector< std::tuple< float, int, std::vector< unsigned int > > > &) const
std::unique_ptr< const TrigFTF_GNN_Geometry > m_geo