ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
Acts
ActsTrackReconstruction
src
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
9
#include "
GeoPrimitives/GeoPrimitives.h
"
10
11
// Base Class
12
#include "
AthenaBaseComps/AthReentrantAlgorithm.h
"
13
14
15
// Tools
16
#include "
ActsToolInterfaces/IGnnPipelineTool.h
"
17
#include "
ActsGeometryInterfaces/ITrackingGeometrySvc.h
"
18
#include "
ActsToolInterfaces/ITrackParamsEstimationTool.h
"
19
#include "
ActsCalibrators/xAODUncalibMeasSurfAcc.h
"
20
21
// ACTS
22
#include "Acts/TrackFinding/TrackSelector.hpp"
23
24
// ActsTrk
25
#include "
ActsEvent/SeedContainer.h
"
26
#include "
ActsEvent/TrackContainer.h
"
27
#include "
ActsEvent/ContextUtility.h
"
28
#include "
ActsInterop/Logger.h
"
29
#include "
ActsToolInterfaces/IFitterTool.h
"
30
31
// Athena
32
#include "
AthenaMonitoringKernel/GenericMonitoringTool.h
"
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
43
#include "
StoreGate/ReadHandleKey.h
"
44
#include "
StoreGate/WriteHandleKey.h
"
45
#include "
src/detail/Definitions.h
"
46
#include "
src/detail/OnTrackCalibrator.h
"
47
48
namespace
ActsTrk
{
49
class
TrackFindingGNNAlg
:
public
AthReentrantAlgorithm
{
50
public
:
51
TrackFindingGNNAlg
(
const
std::string &name, ISvcLocator *pSvcLocator);
52
virtual
~TrackFindingGNNAlg
();
53
54
virtual
StatusCode
initialize
()
override
;
55
virtual
StatusCode
execute
(
const
EventContext &ctx)
const override
;
56
57
private
:
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
70
ContextUtility
m_ctxProvider
{
this
};
71
ServiceHandle<IChronoStatSvc>
m_chronoSvc
{
"ChronoStatSvc"
, name()};
72
73
detail::xAODUncalibMeasSurfAcc
m_uncalibMeasSurfAccessor
{};
74
detail::OnTrackCalibrator<MutableTrackStateBackend>
75
m_uncalibMeasCalibrator
{};
76
77
// Input: Spacepoint containers
78
SG::ReadHandleKey<xAOD::SpacePointContainer>
79
m_xaodPixelSpacePointContainerKey
{
this
,
"xAODInputPixelSpacePoints"
,
80
"ITkPixelSpacePoints"
};
81
SG::ReadHandleKey<xAOD::SpacePointContainer>
82
m_xaodStripSpacePointContainerKey
{
83
this
,
"xAODInputSpacePointsContainerKey"
,
"ITkStripSpacePoints"
};
84
SG::ReadHandleKey<xAOD::SpacePointContainer>
85
m_xaodStripSpacePointOverlapContainerKey
{
86
this
,
"xAODInputSpacePointsOverlapContainerKey"
,
87
"ITkStripOverlapSpacePoints"
};
88
89
SG::WriteHandleKey<TrackContainer>
m_trackContainerKey
{
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
ITrackingGeometrySvc.h
AthReentrantAlgorithm.h
ContextUtility.h
GenericMonitoringTool.h
GeoPrimitives.h
IFitterTool.h
IGnnPipelineTool.h
ITrackParamsEstimationTool.h
OnTrackCalibrator.h
SeedContainer.h
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
WriteHandleKey.h
Property holding a SG store/key/clid from which a WriteHandle is made.
TrackContainer.h
Logger.h
Definitions.h
ActsTrk::ContextUtility
Utility class to handle the three contexts neeeded in an ACTS reconstruction job 1) GeometryContext -...
Definition
ContextUtility.h:27
ActsTrk::TrackFindingGNNAlg::m_relaxCentralHoleSel
Gaudi::Property< bool > m_relaxCentralHoleSel
Definition
TrackFindingGNNAlg.h:110
ActsTrk::TrackFindingGNNAlg::m_logger
std::unique_ptr< const Acts::Logger > m_logger
logging instance
Definition
TrackFindingGNNAlg.h:125
ActsTrk::TrackFindingGNNAlg::m_uncalibMeasCalibrator
detail::OnTrackCalibrator< MutableTrackStateBackend > m_uncalibMeasCalibrator
Definition
TrackFindingGNNAlg.h:75
ActsTrk::TrackFindingGNNAlg::m_trackSelectorConfig
Acts::TrackSelector::EtaBinnedConfig m_trackSelectorConfig
Definition
TrackFindingGNNAlg.h:119
ActsTrk::TrackFindingGNNAlg::m_paramEstimationTool
ToolHandle< ITrackParamsEstimationTool > m_paramEstimationTool
Definition
TrackFindingGNNAlg.h:62
ActsTrk::TrackFindingGNNAlg::initialize
virtual StatusCode initialize() override
Definition
TrackFindingGNNAlg.cxx:49
ActsTrk::TrackFindingGNNAlg::m_relaxMeasurementSel
Gaudi::Property< bool > m_relaxMeasurementSel
Definition
TrackFindingGNNAlg.h:113
ActsTrk::TrackFindingGNNAlg::m_xaodStripSpacePointOverlapContainerKey
SG::ReadHandleKey< xAOD::SpacePointContainer > m_xaodStripSpacePointOverlapContainerKey
Definition
TrackFindingGNNAlg.h:85
ActsTrk::TrackFindingGNNAlg::m_offlineZ0Sel
Gaudi::Property< bool > m_offlineZ0Sel
Definition
TrackFindingGNNAlg.h:116
ActsTrk::TrackFindingGNNAlg::execute
virtual StatusCode execute(const EventContext &ctx) const override
Definition
TrackFindingGNNAlg.cxx:116
ActsTrk::TrackFindingGNNAlg::m_xaodPixelSpacePointContainerKey
SG::ReadHandleKey< xAOD::SpacePointContainer > m_xaodPixelSpacePointContainerKey
Definition
TrackFindingGNNAlg.h:79
ActsTrk::TrackFindingGNNAlg::logger
const Acts::Logger & logger() const
Private access to the logger.
Definition
TrackFindingGNNAlg.h:122
ActsTrk::TrackFindingGNNAlg::m_varianceInflation
Gaudi::Property< double > m_varianceInflation
Definition
TrackFindingGNNAlg.h:98
ActsTrk::TrackFindingGNNAlg::TrackFindingGNNAlg
TrackFindingGNNAlg(const std::string &name, ISvcLocator *pSvcLocator)
Definition
TrackFindingGNNAlg.cxx:41
ActsTrk::TrackFindingGNNAlg::m_tightSeeds
Gaudi::Property< bool > m_tightSeeds
Definition
TrackFindingGNNAlg.h:102
ActsTrk::TrackFindingGNNAlg::m_trackingGeometrySvc
ServiceHandle< ActsTrk::ITrackingGeometrySvc > m_trackingGeometrySvc
Definition
TrackFindingGNNAlg.h:61
ActsTrk::TrackFindingGNNAlg::m_trackContainerKey
SG::WriteHandleKey< TrackContainer > m_trackContainerKey
Definition
TrackFindingGNNAlg.h:89
ActsTrk::TrackFindingGNNAlg::m_minDeltaR
Gaudi::Property< double > m_minDeltaR
Definition
TrackFindingGNNAlg.h:106
ActsTrk::TrackFindingGNNAlg::m_ctxProvider
ContextUtility m_ctxProvider
Utility to fetch the geometry, magnetic field and calibration context in the event.
Definition
TrackFindingGNNAlg.h:70
ActsTrk::TrackFindingGNNAlg::m_chronoSvc
ServiceHandle< IChronoStatSvc > m_chronoSvc
Definition
TrackFindingGNNAlg.h:71
ActsTrk::TrackFindingGNNAlg::m_xaodStripSpacePointContainerKey
SG::ReadHandleKey< xAOD::SpacePointContainer > m_xaodStripSpacePointContainerKey
Definition
TrackFindingGNNAlg.h:82
ActsTrk::TrackFindingGNNAlg::m_uncalibMeasSurfAccessor
detail::xAODUncalibMeasSurfAcc m_uncalibMeasSurfAccessor
Definition
TrackFindingGNNAlg.h:73
ActsTrk::TrackFindingGNNAlg::m_monTool
ToolHandle< GenericMonitoringTool > m_monTool
Definition
TrackFindingGNNAlg.h:59
ActsTrk::TrackFindingGNNAlg::m_gnnPipelineTool
ToolHandle< ActsTrk::IGnnPipelineTool > m_gnnPipelineTool
Definition
TrackFindingGNNAlg.h:66
ActsTrk::TrackFindingGNNAlg::m_maxPropagationStep
Gaudi::Property< unsigned int > m_maxPropagationStep
Definition
TrackFindingGNNAlg.h:94
ActsTrk::TrackFindingGNNAlg::~TrackFindingGNNAlg
virtual ~TrackFindingGNNAlg()
ActsTrk::TrackFindingGNNAlg::m_fitterTool
ToolHandle< IFitterTool > m_fitterTool
Definition
TrackFindingGNNAlg.h:64
ActsTrk::detail::OnTrackCalibrator
Inner detector / ITk calibrator implementation used in the KalmanFilterTool.
Definition
OnTrackCalibrator.h:27
ActsTrk::detail::xAODUncalibMeasSurfAcc
Helper class to access the Acts::surface associated with an Uncalibrated xAOD measurement.
Definition
xAODUncalibMeasSurfAcc.h:22
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition
AthReentrantAlgorithm.h:74
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition
StoreGate/StoreGate/ReadHandleKey.h:40
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition
StoreGate/StoreGate/WriteHandleKey.h:40
ServiceHandle
Definition
ClusterMakerTool.h:36
ActsTrk
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
Definition
MdtCalibInput.h:31
xAODUncalibMeasSurfAcc.h
Generated on
for ATLAS Offline Software by
1.17.0