5#ifndef ACTSTRACKRECONSTRUCTION_TRACKFINDINGGNNALG_H
6#define ACTSTRACKRECONSTRUCTION_TRACKFINDINGGNNALG_H
23#include "Acts/EventData/ProxyAccessor.hpp"
24#include "Acts/EventData/TrackContainer.hpp"
25#include "Acts/EventData/VectorTrackContainer.hpp"
41#include "GaudiKernel/EventContext.h"
71 virtual StatusCode
execute(
const EventContext &ctx)
const override;
75 ToolHandle<GenericMonitoringTool>
m_monTool{
this,
"MonTool",
"",
79 this,
"TrackParamsEstimationTool",
"",
"Track Param Estimation from Seeds"};
81 this,
"FitterTool",
"",
"Track fitting tool"};
94 "ITkPixelSpacePoints"};
97 this,
"xAODInputSpacePointsContainerKey",
"ITkStripSpacePoints"};
100 this,
"xAODInputSpacePointsOverlapContainerKey",
101 "ITkStripOverlapSpacePoints"};
104 this,
"ACTSTracksLocation",
"",
105 "Output track collection (ActsTrk variant)"};
109 this,
"maxPropagationStep", 1000,
110 "Maximum number of steps for one propagate call"};
113 "Path to the module map files"};
115 Gaudi::Property<std::string>
m_gnnPath{
this,
"gnnPath",
"",
116 "Path to the gnn file"};
119 this,
"usePhiOverlapSps",
false,
"Wether to use phi overlap spacepoints"};
122 this,
"maxGpuInstances", 1,
123 "Number of events that can be on GPU in parallel"};
126 this,
"numTrtContexts", 1,
"Number of TensorRT contexts to allocate"};
129 this,
"varianceInflation", 1.0,
130 "Factor that is multiplied to all initial variances"};
133 this,
"tightSeeds",
false,
134 "Use tight seeds instead of spread seeds for param estimation"};
137 "Edge cut to apply after the GNN"};
140 this,
"minCandidateMeasurements", 7,
141 "Minimum number of spacepoints to cut for in the GNN candidates"};
144 this,
"minDeltaR", 10.0,
145 "Minimum difference in R to build the initial parameters"};
148 this,
"relaxCentralHoleSel",
false,
"Relax holes from 2 to 4 in central region"};
151 this,
"relaxMeasurementSel",
true,
"Apply 7,7,7 measurement sel"};
154 this,
"offlineZ0Sel",
false,
"Apply offline z0 selection"};
157 "CUDA device index for GNN inference"};
171 mutable std::optional<std::counting_semaphore<>> m_gpuInstanceCount
Exception-safe IChronoSvc caller.
This is an Identifier helper class for the SCT subdetector.
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< std::string > m_moduleMapPath
Gaudi::Property< std::string > m_gnnPath
Gaudi::Property< bool > m_relaxCentralHoleSel
std::unique_ptr< const Acts::Logger > m_logger
logging instance
const SCT_ID * m_stripIdHelper
detail::OnTrackCalibrator< MutableTrackStateBackend > m_uncalibMeasCalibrator
Acts::TrackSelector::EtaBinnedConfig m_trackSelectorConfig
Gaudi::Property< unsigned int > m_numTrtContexts
std::optional< std::counting_semaphore<> > m_gpuInstanceCount ATLAS_THREAD_SAFE
ToolHandle< ITrackParamsEstimationTool > m_paramEstimationTool
Gaudi::Property< double > m_edgeCut
virtual StatusCode initialize() override
Gaudi::Property< bool > m_relaxMeasurementSel
std::unique_ptr< ActsPlugins::GnnPipeline > m_gnnPipeline
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
Gaudi::Property< unsigned int > m_minCandidateMeasurements
TrackFindingGNNAlg(const std::string &name, ISvcLocator *pSvcLocator)
Gaudi::Property< bool > m_tightSeeds
ServiceHandle< ActsTrk::ITrackingGeometrySvc > m_trackingGeometrySvc
SG::WriteHandleKey< TrackContainer > m_trackContainerKey
Gaudi::Property< unsigned int > m_maxGpuInstances
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
Gaudi::Property< bool > m_usePhiOverlapSps
SG::ReadHandleKey< xAOD::SpacePointContainer > m_xaodStripSpacePointContainerKey
detail::xAODUncalibMeasSurfAcc m_uncalibMeasSurfAccessor
ToolHandle< GenericMonitoringTool > m_monTool
Gaudi::Property< unsigned int > m_maxPropagationStep
virtual ~TrackFindingGNNAlg()
ToolHandle< IFitterTool > m_fitterTool
Gaudi::Property< int > m_cudaDeviceIndex
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.
This is an Identifier helper class for the SCT subdetector.
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...