ATLAS Offline Software
TrigInDetTrackSeedingTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TRIGINDETPATTRECOTOOLS_TRIGINDETTRACKSEEDINGTOOL_H
6 #define TRIGINDETPATTRECOTOOLS_TRIGINDETTRACKSEEDINGTOOL_H
7 
8 #include "GaudiKernel/ToolHandle.h"
12 #include <string>
13 #include <vector>
14 
17 
18 
21 
22 #include "GNN_FasTrackConnector.h"
23 #include "GNN_Geometry.h"
24 #include "GNN_DataStorage.h"
25 
26 class AtlasDetectorID;
27 class SCT_ID;
28 class PixelID;
29 
30 class TrigInDetTrackSeedingTool: public extends<AthAlgTool, ITrigInDetTrackSeedingTool> {
31  public:
32 
33  // standard AlgTool methods
34  TrigInDetTrackSeedingTool(const std::string&,const std::string&,const IInterface*);
36 
37  // standard Athena methods
38  virtual StatusCode initialize() override;
39  virtual StatusCode finalize() override;
40 
41  //concrete implementations
42  virtual TrigInDetTrackSeedingResult findSeeds(const IRoiDescriptor&, std::vector<TrigInDetTracklet>&, const EventContext&) const override final;
43 
44  protected:
45 
46  void createGraphNodes(const SpacePointCollection*, std::vector<TrigFTF_GNN_Node>&, unsigned short, float, float) const;
47 
48  std::pair<int, int> buildTheGraph(const IRoiDescriptor&, const std::unique_ptr<TrigFTF_GNN_DataStorage>&, std::vector<TrigFTF_GNN_Edge>&) const;
49 
50  int runCCA(int, std::vector<TrigFTF_GNN_Edge>&) const;
51 
52  ToolHandle<ITrigL2LayerNumberTool> m_layerNumberTool {this, "layerNumberTool", "TrigL2LayerNumberToolITk"};
53 
54  const AtlasDetectorID* m_atlasId = nullptr;
55  const SCT_ID* m_sctId = nullptr;
56  const PixelID* m_pixelId = nullptr;
57 
58  SG::ReadCondHandleKey<InDet::BeamSpotData> m_beamSpotKey { this, "BeamSpotKey", "BeamSpotData", "SG key for beam spot" };
59 
60  //offline/EF containers
61  SG::ReadHandleKey<SpacePointContainer> m_sctSpacePointsContainerKey{this, "SCT_SP_ContainerName", "ITkStripTrigSpacePoints"};
62  SG::ReadHandleKey<SpacePointContainer> m_pixelSpacePointsContainerKey{this, "PixelSP_ContainerName", "ITkPixelTrigSpacePoints"};
63 
64  BooleanProperty m_filter_phi{this, "DoPhiFiltering", true};
65  BooleanProperty m_useBeamTilt{this, "UseBeamTilt", false};
66  BooleanProperty m_usePixelSpacePoints{this, "UsePixelSpacePoints", true};
67  BooleanProperty m_useSctSpacePoints{this, "UseSctSpacePoints", false};
68  BooleanProperty m_LRTmode{this, "LRTMode",false};
69  BooleanProperty m_useML{this, "useML", true};
70 
71  UnsignedIntegerProperty m_nMaxPhiSlice{this, "nMaxPhiSlice", 53};
72  BooleanProperty m_doubletFilterRZ{this, "Doublet_FilterRZ", true};
73  BooleanProperty m_useEtaBinning{this, "UseEtaBinning", true};
74  FloatProperty m_minPt{this, "pTmin", 1000.0};
75  IntegerProperty m_nMaxEdges{this, "MaxGraphEdges", 2000000};
76  StringProperty m_connectionFile{this, "ConnectionFileName", "binTables_ITK_RUN4.txt"};
77 
78  float m_phiSliceWidth{};
79 
81  ToolHandle<IRegSelTool> m_regsel_pix { this, "RegSelTool_Pixel", "RegSelTool/RegSelTool_Pixel" };
82  ToolHandle<IRegSelTool> m_regsel_sct { this, "RegSelTool_SCT", "RegSelTool/RegSelTool_SCT" };
83 
84  std::unique_ptr<GNN_FasTrackConnector> m_connector = nullptr;
85  std::vector<TrigInDetSiLayer> m_layerGeometry;
86  std::unique_ptr<const TrigFTF_GNN_Geometry> m_geo = nullptr;
87 
88 
89 };
90 #endif
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
IRegSelTool.h
TrigInDetTrackSeedingTool::m_useBeamTilt
BooleanProperty m_useBeamTilt
Definition: TrigInDetTrackSeedingTool.h:65
TrigInDetTrackSeedingTool::m_doubletFilterRZ
BooleanProperty m_doubletFilterRZ
Definition: TrigInDetTrackSeedingTool.h:72
TrigInDetTrackSeedingTool::m_useML
BooleanProperty m_useML
Definition: TrigInDetTrackSeedingTool.h:69
TrigInDetTrackSeedingTool::m_useSctSpacePoints
BooleanProperty m_useSctSpacePoints
Definition: TrigInDetTrackSeedingTool.h:67
TrigInDetTrackSeedingTool::m_beamSpotKey
SG::ReadCondHandleKey< InDet::BeamSpotData > m_beamSpotKey
Definition: TrigInDetTrackSeedingTool.h:58
GNN_FasTrackConnector.h
TrigInDetTrackSeedingTool
Definition: TrigInDetTrackSeedingTool.h:30
TrigInDetTrackSeedingTool::m_nMaxPhiSlice
UnsignedIntegerProperty m_nMaxPhiSlice
Definition: TrigInDetTrackSeedingTool.h:71
TrigInDetTrackSeedingTool::m_minPt
FloatProperty m_minPt
Definition: TrigInDetTrackSeedingTool.h:74
ITrigL2LayerNumberTool.h
TrigInDetTrackSeedingTool::m_layerGeometry
std::vector< TrigInDetSiLayer > m_layerGeometry
Definition: TrigInDetTrackSeedingTool.h:85
SG::ReadHandleKey< SpacePointContainer >
TrigInDetTrackSeedingTool::m_usePixelSpacePoints
BooleanProperty m_usePixelSpacePoints
Definition: TrigInDetTrackSeedingTool.h:66
ITrigInDetTrackSeedingTool.h
TrigInDetTrackSeedingTool::m_regsel_pix
ToolHandle< IRegSelTool > m_regsel_pix
region selector tools
Definition: TrigInDetTrackSeedingTool.h:81
TrigInDetTrackSeedingTool::m_connectionFile
StringProperty m_connectionFile
Definition: TrigInDetTrackSeedingTool.h:76
SpacePointContainer.h
TrigInDetTrackSeedingTool::m_LRTmode
BooleanProperty m_LRTmode
Definition: TrigInDetTrackSeedingTool.h:68
TrigInDetTrackSeedingTool::~TrigInDetTrackSeedingTool
virtual ~TrigInDetTrackSeedingTool()
Definition: TrigInDetTrackSeedingTool.h:35
TrigInDetTrackSeedingTool::m_sctSpacePointsContainerKey
SG::ReadHandleKey< SpacePointContainer > m_sctSpacePointsContainerKey
Definition: TrigInDetTrackSeedingTool.h:61
TrigInDetTrackSeedingTool::m_regsel_sct
ToolHandle< IRegSelTool > m_regsel_sct
Definition: TrigInDetTrackSeedingTool.h:82
TrigInDetTrackSeedingTool::initialize
virtual StatusCode initialize() override
Definition: TrigInDetTrackSeedingTool.cxx:29
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
TrigInDetTrackSeedingTool::m_useEtaBinning
BooleanProperty m_useEtaBinning
Definition: TrigInDetTrackSeedingTool.h:73
AthAlgTool.h
TrigInDetTrackSeedingTool::findSeeds
virtual TrigInDetTrackSeedingResult findSeeds(const IRoiDescriptor &, std::vector< TrigInDetTracklet > &, const EventContext &) const override final
Definition: TrigInDetTrackSeedingTool.cxx:102
TrigInDetTrackSeedingTool::createGraphNodes
void createGraphNodes(const SpacePointCollection *, std::vector< TrigFTF_GNN_Node > &, unsigned short, float, float) const
Definition: TrigInDetTrackSeedingTool.cxx:289
TrigInDetTrackSeedingTool::m_phiSliceWidth
float m_phiSliceWidth
Definition: TrigInDetTrackSeedingTool.h:78
TrigInDetTrackSeedingTool::finalize
virtual StatusCode finalize() override
Definition: TrigInDetTrackSeedingTool.cxx:95
TrigInDetTrackSeedingTool::TrigInDetTrackSeedingTool
TrigInDetTrackSeedingTool(const std::string &, const std::string &, const IInterface *)
Definition: TrigInDetTrackSeedingTool.cxx:21
TrigInDetTrackSeedingTool::m_layerNumberTool
ToolHandle< ITrigL2LayerNumberTool > m_layerNumberTool
Definition: TrigInDetTrackSeedingTool.h:52
TrigInDetTrackSeedingTool::m_geo
std::unique_ptr< const TrigFTF_GNN_Geometry > m_geo
Definition: TrigInDetTrackSeedingTool.h:86
TrigInDetTrackSeedingTool::m_sctId
const SCT_ID * m_sctId
Definition: TrigInDetTrackSeedingTool.h:55
TrigInDetTrackSeedingResult
Definition: TrigInDetTrackSeedingResult.h:8
TrigInDetTrackSeedingTool::m_pixelId
const PixelID * m_pixelId
Definition: TrigInDetTrackSeedingTool.h:56
TrigInDetTrackSeedingTool::runCCA
int runCCA(int, std::vector< TrigFTF_GNN_Edge > &) const
Definition: TrigInDetTrackSeedingTool.cxx:533
SG::ReadCondHandleKey< InDet::BeamSpotData >
SCT_ID
Definition: SCT_ID.h:68
TrigInDetTrackSeedingTool::m_connector
std::unique_ptr< GNN_FasTrackConnector > m_connector
Definition: TrigInDetTrackSeedingTool.h:84
SpacePointCollection
Definition: SpacePointCollection.h:40
TrigInDetTrackSeedingTool::m_filter_phi
BooleanProperty m_filter_phi
Definition: TrigInDetTrackSeedingTool.h:64
TrigInDetTrackSeedingTool::buildTheGraph
std::pair< int, int > buildTheGraph(const IRoiDescriptor &, const std::unique_ptr< TrigFTF_GNN_DataStorage > &, std::vector< TrigFTF_GNN_Edge > &) const
Definition: TrigInDetTrackSeedingTool.cxx:308
TrigInDetTrackSeedingTool::m_atlasId
const AtlasDetectorID * m_atlasId
Definition: TrigInDetTrackSeedingTool.h:54
BeamSpotData.h
TrigInDetTrackSeedingTool::m_pixelSpacePointsContainerKey
SG::ReadHandleKey< SpacePointContainer > m_pixelSpacePointsContainerKey
Definition: TrigInDetTrackSeedingTool.h:62
TrigInDetTrackSeedingTool::m_nMaxEdges
IntegerProperty m_nMaxEdges
Definition: TrigInDetTrackSeedingTool.h:75
GNN_DataStorage.h
PixelID
Definition: PixelID.h:67
AtlasDetectorID
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
Definition: AtlasDetectorID.h:57
GNN_Geometry.h