ATLAS Offline Software
Loading...
Searching...
No Matches
TrackFindingGNNAlg.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef ACTSTRACKRECONSTRUCTION_TRACKFINDINGGNNALG_H
6#define ACTSTRACKRECONSTRUCTION_TRACKFINDINGGNNALG_H
7
8// Ensure that the ATLAS eigen plugin is loaded first
10
11// Base Class
13
14
15// Tools
20
21// ACTS
22#include "Acts/TrackFinding/TrackSelector.hpp"
23
24// ActsTrk
28#include "ActsInterop/Logger.h"
30
31// Athena
33#include "GaudiKernel/EventContext.h"
34#include "GaudiKernel/IChronoStatSvc.h"
35#include "GaudiKernel/ServiceHandle.h"
36#include "GaudiKernel/ToolHandle.h"
37
38// STL
39#include <memory>
40#include <string>
41
42// Handle Keys
47
48namespace ActsTrk {
50public:
51 TrackFindingGNNAlg(const std::string &name, ISvcLocator *pSvcLocator);
53
54 virtual StatusCode initialize() override;
55 virtual StatusCode execute(const EventContext &ctx) const override;
56
57private:
58 // Tool Handles
59 ToolHandle<GenericMonitoringTool> m_monTool{this, "MonTool", "",
60 "Monitoring tool"};
61 ServiceHandle<ActsTrk::ITrackingGeometrySvc> m_trackingGeometrySvc{this, "TrackingGeometrySvc", "ActsTrackingGeometrySvc"};
62 ToolHandle<ITrackParamsEstimationTool> m_paramEstimationTool{
63 this, "TrackParamsEstimationTool", "", "Track Param Estimation from Seeds"};
64 ToolHandle<IFitterTool> m_fitterTool{
65 this, "FitterTool", "", "Track fitting tool"};
66 ToolHandle<ActsTrk::IGnnPipelineTool> m_gnnPipelineTool{
67 this, "GnnPipelineTool", "", "GNN seeding pipeline"};
68
72
76
77 // Input: Spacepoint containers
79 m_xaodPixelSpacePointContainerKey{this, "xAODInputPixelSpacePoints",
80 "ITkPixelSpacePoints"};
83 this, "xAODInputSpacePointsContainerKey", "ITkStripSpacePoints"};
86 this, "xAODInputSpacePointsOverlapContainerKey",
87 "ITkStripOverlapSpacePoints"};
88
90 this, "ACTSTracksLocation", "",
91 "Output track collection (ActsTrk variant)"};
92
93 // Configuration
94 Gaudi::Property<unsigned int> m_maxPropagationStep{
95 this, "maxPropagationStep", 1000,
96 "Maximum number of steps for one propagate call"};
97
98 Gaudi::Property<double> m_varianceInflation{
99 this, "varianceInflation", 1.0,
100 "Factor that is multiplied to all initial variances"};
101
102 Gaudi::Property<bool> m_tightSeeds{
103 this, "tightSeeds", false,
104 "Use tight seeds instead of spread seeds for param estimation"};
105
106 Gaudi::Property<double> m_minDeltaR{
107 this, "minDeltaR", 10.0,
108 "Minimum difference in R to build the initial parameters"};
109
110 Gaudi::Property<bool> m_relaxCentralHoleSel{
111 this, "relaxCentralHoleSel", false, "Relax holes from 2 to 4 in central region"};
112
113 Gaudi::Property<bool> m_relaxMeasurementSel{
114 this, "relaxMeasurementSel", true, "Apply 7,7,7 measurement sel"};
115
116 Gaudi::Property<bool> m_offlineZ0Sel{
117 this, "offlineZ0Sel", false, "Apply offline z0 selection"};
118
119 Acts::TrackSelector::EtaBinnedConfig m_trackSelectorConfig;
120
122 const Acts::Logger &logger() const { return *m_logger; }
123
125 std::unique_ptr<const Acts::Logger> m_logger;
126};
127
128} // namespace ActsTrk
129
130#endif
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
Utility class to handle the three contexts neeeded in an ACTS reconstruction job 1) GeometryContext -...
Gaudi::Property< bool > m_relaxCentralHoleSel
std::unique_ptr< const Acts::Logger > m_logger
logging instance
detail::OnTrackCalibrator< MutableTrackStateBackend > m_uncalibMeasCalibrator
Acts::TrackSelector::EtaBinnedConfig m_trackSelectorConfig
ToolHandle< ITrackParamsEstimationTool > m_paramEstimationTool
virtual StatusCode initialize() override
Gaudi::Property< bool > m_relaxMeasurementSel
SG::ReadHandleKey< xAOD::SpacePointContainer > m_xaodStripSpacePointOverlapContainerKey
Gaudi::Property< bool > m_offlineZ0Sel
virtual StatusCode execute(const EventContext &ctx) const override
SG::ReadHandleKey< xAOD::SpacePointContainer > m_xaodPixelSpacePointContainerKey
const Acts::Logger & logger() const
Private access to the logger.
Gaudi::Property< double > m_varianceInflation
TrackFindingGNNAlg(const std::string &name, ISvcLocator *pSvcLocator)
Gaudi::Property< bool > m_tightSeeds
ServiceHandle< ActsTrk::ITrackingGeometrySvc > m_trackingGeometrySvc
SG::WriteHandleKey< TrackContainer > m_trackContainerKey
Gaudi::Property< double > m_minDeltaR
ContextUtility m_ctxProvider
Utility to fetch the geometry, magnetic field and calibration context in the event.
ServiceHandle< IChronoStatSvc > m_chronoSvc
SG::ReadHandleKey< xAOD::SpacePointContainer > m_xaodStripSpacePointContainerKey
detail::xAODUncalibMeasSurfAcc m_uncalibMeasSurfAccessor
ToolHandle< GenericMonitoringTool > m_monTool
ToolHandle< ActsTrk::IGnnPipelineTool > m_gnnPipelineTool
Gaudi::Property< unsigned int > m_maxPropagationStep
ToolHandle< IFitterTool > m_fitterTool
Inner detector / ITk calibrator implementation used in the KalmanFilterTool.
Helper class to access the Acts::surface associated with an Uncalibrated xAOD measurement.
An algorithm that can be simultaneously executed in multiple threads.
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...