ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
MuonSpectrometer
MuonPhaseII
MuonTrackBuilding
MuonTrackFindingAlgs
python
TrackFindingConfig.py
Go to the documentation of this file.
1
# Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2
from
AthenaConfiguration.ComponentAccumulator
import
ComponentAccumulator
3
from
AthenaConfiguration.ComponentFactory
import
CompFactory
4
5
6
def
SegmentSelectorCfg
(flags, name="SegmentSelectionTool", **kwargs):
7
result = ComponentAccumulator()
8
the_tool = CompFactory.MuonR4.SegmentSelectionTool(name, **kwargs)
9
result.setPrivateTools(the_tool)
10
return
result
11
12
13
def
MSExtrapolatorCfg
(flags, name="MsExtrapolationTool", **kwargs):
14
kwargs.setdefault(
"MaxSteps"
, 10000)
15
kwargs.setdefault(
"InteractionEloss"
, flags.Acts.TrackingGeometry.MuonPassiveMaterial)
16
kwargs.setdefault(
"InteractionMultiScatering"
, flags.Acts.TrackingGeometry.MuonPassiveMaterial)
17
from
ActsConfig.ActsGeometryConfig
import
ActsExtrapolationToolCfg
18
return
ActsExtrapolationToolCfg(flags, name, **kwargs)
19
20
21
def
MSTrackFitterCfg
(flags, name="MSTrackFitTool", **kwargs):
22
result = ComponentAccumulator()
23
from
ActsConfig.ActsTrackFittingConfig
import
ActsFitterCfg
24
from
MuonSpacePointCalibrator.CalibrationConfig
import
MuonSpacePointCalibratorCfg, \
25
TruthSpacePointCalibratorCfg
26
from
ActsConfig.ActsConfigFlags
import
TrackFitterType
27
kwargs.setdefault(
"fitterKind"
, flags.Muon.TrackFitterType)
28
kwargs.setdefault(
"OutlierChi2Cut"
, 200000)
29
if
False
and
flags.Input.isMC:
30
kwargs.setdefault(
"MuonCalibrationTool"
, result.popToolsAndMerge(TruthSpacePointCalibratorCfg(flags)))
31
kwargs.setdefault(
"MuonCalibrationTool"
, result.popToolsAndMerge(MuonSpacePointCalibratorCfg(flags)))
32
33
if
kwargs[
"fitterKind"
] == TrackFitterType.GlobalChiSquareFitter:
34
kwargs.setdefault(
"IncludeScattering"
, flags.Acts.TrackingGeometry.MuonPassiveMaterial)
35
kwargs.setdefault(
"IncludeELoss"
, flags.Acts.TrackingGeometry.MuonPassiveMaterial)
36
kwargs.setdefault(
"MaxPropagationStep"
, 1000000)
37
kwargs.setdefault(
"MaxSurfacesPerNavStep"
, 10000000)
38
kwargs.setdefault(
"DoFreeToBoundCorrection"
,
True
)
39
kwargs.setdefault(
"MaxIterations"
, 30)
40
elif
kwargs[
"fitterKind"
] == TrackFitterType.KalmanFitter:
41
kwargs.setdefault(
"UseDirectNavigation"
,
False
)
42
43
44
fitTool = result.popToolsAndMerge(ActsFitterCfg(flags, name=name, **kwargs))
45
result.setPrivateTools(fitTool)
46
return
result
47
48
def
TrackSummaryToolCfg
(flags, name="MuonTrackSummaryTool", **kwargs) :
49
result = ComponentAccumulator()
50
theTool = CompFactory.MuonR4.TrackSummaryTool(name, **kwargs)
51
result.setPrivateTools(theTool)
52
return
result
53
54
def
TrackSummaryLockCfg
(flags,inContainer="", fillHoles = True, fillOutliers = True, **kwargs):
55
56
summaryDecors = [
"innerSmallHits"
,
"innerLargeHits"
,
57
"middleSmallHits"
,
"middleLargeHits"
,
58
"outerSmallHits"
,
"outerLargeHits"
,
59
"extendedSmallHits"
,
"extendedLargeHits"
,
60
"innerTriggerEtaHits"
,
"innerTriggerPhiHits"
,
61
"middleTriggerEtaHits"
,
"middleTriggerPhiHits"
,
62
"outerTriggerEtaHits"
,
"outerTriggerPhiHits"
]
63
if
fillHoles:
64
summaryDecors +=[
"innerSmallHoles"
,
"innerLargeHoles"
,
65
"middleSmallHoles"
,
"middleLargeHoles"
,
66
"outerSmallHoles"
,
"outerLargeHoles"
,
67
"extendedSmallHoles"
,
"extendedLargeHoles"
,
68
"innerTriggerEtaHoles"
,
"innerTriggerPhiHoles"
,
69
"middleTriggerEtaHoles"
,
"middleTriggerPhiHoles"
,
70
"outerTriggerEtaHoles"
,
"outerTriggerPhiHoles"
]
71
if
fillOutliers:
72
summaryDecors += [
"innerClosePrecisionHits"
,
"middleClosePrecisionHits"
,
73
"outerClosePrecisionHits"
,
"extendedClosePrecisionHits"
]
74
75
76
result = ComponentAccumulator()
77
kwargs.setdefault(
"Decorations"
, [f
"{inContainer}.{decor}"
for
decor
in
summaryDecors])
78
the_alg= CompFactory.DerivationFramework.LockDecorations(name=f
"MuonTrackSummaryLockAlg_{inContainer}"
, **kwargs)
79
result.addEventAlgo(the_alg, primary =
True
)
80
return
result
81
82
83
def
TruthTrackSeedingToolCfg
(flags, name = "TruthTrackSeedingTool", **kwargs):
84
result = ComponentAccumulator()
85
the_tool = CompFactory.MuonR4.TruthTrackSeederTool(name, **kwargs)
86
result.setPrivateTools(the_tool)
87
return
result
88
89
def
MsTrackSeedingToolCfg
(flags, name="MsTrackSeedingTool", **kwargs):
90
result = ComponentAccumulator()
91
from
ActsConfig.ActsGeometryConfig
import
ActsTrackingGeometrySvcCfg
92
result.merge(ActsTrackingGeometrySvcCfg(flags))
93
94
kwargs.setdefault(
"SegmentSelectionTool"
, result.popToolsAndMerge(
SegmentSelectorCfg
(flags)))
95
the_tool = CompFactory.MuonR4.MsTrackSeederTool(name, **kwargs)
96
result.setPrivateTools(the_tool)
97
return
result
98
99
def
MSTrackFinderAlgCfg
(flags, name="MSTrackFinderAlg", **kwargs):
100
result = ComponentAccumulator()
101
if
not
flags.Acts.TrackingGeometry.UseBlueprint:
102
raise
RuntimeError(
"Cannot setup the track finding alg with Gen 1 geometry"
)
103
from
MagFieldServices.MagFieldServicesConfig
import
AtlasFieldCacheCondAlgCfg
104
result.merge(AtlasFieldCacheCondAlgCfg(flags))
105
if
False
and
flags.Input.isMC:
106
kwargs.setdefault(
"SeedingTool"
, result.popToolsAndMerge(
TruthTrackSeedingToolCfg
(flags)))
107
kwargs.setdefault(
"SeedingTool"
, result.popToolsAndMerge(
MsTrackSeedingToolCfg
(flags)))
108
kwargs.setdefault(
"FittingTool"
, result.popToolsAndMerge(
MSTrackFitterCfg
(flags)))
109
from
MuonSpacePointCalibrator.CalibrationConfig
import
MuonSpacePointCalibratorCfg
110
kwargs.setdefault(
"Calibrator"
, result.popToolsAndMerge(MuonSpacePointCalibratorCfg(flags)))
111
kwargs.setdefault(
"SummaryTool"
, result.popToolsAndMerge(
TrackSummaryToolCfg
(flags)))
112
kwargs.setdefault(
"expressAtMsEntrance"
, flags.Muon.expressMsTrackAtEntrance)
113
kwargs.setdefault(
"ExtrapolationTool"
, result.popToolsAndMerge(
MSExtrapolatorCfg
(flags)))
114
the_alg = CompFactory.MuonR4.MsTrackFindingAlg(name, **kwargs)
115
result.addEventAlgo(the_alg, primary =
True
)
116
return
result
117
118
119
def
StandaloneTrackPartCnvCfg
(flags, name="MuonMsTrackParticleCnvR4", **kwargs):
120
from
ActsConfig.ActsEventCnvConfig
import
ActsTrackToTrackParticleCnvAlgCfg
121
kwargs.setdefault(
"BeamSpotKey"
,
""
)
122
kwargs.setdefault(
"VertexContainerKey"
,
""
)
123
kwargs.setdefault(
"ACTSTracksLocation"
,[
"MuonMsTracks"
])
124
kwargs.setdefault(
"TrackParticlesOutKey"
,
"MuonMsTrackParticles"
)
125
kwargs.setdefault(
"PerigeeExpression"
,
"DontRecalculate"
)
126
return
ActsTrackToTrackParticleCnvAlgCfg(flags, name=name, **kwargs)
127
128
def
MuonActsToTrkConvCfg
(flags, name="MuonActsToTrkConverterAlg", **kwargs):
129
result = ComponentAccumulator()
130
kwargs.setdefault(
'TrackParticles'
,
"MuonMsTrackParticles"
)
131
kwargs.setdefault(
'OutTrackContainer'
,
'MsTracksTrkCnv'
)
132
from
ActsConfig.ActsEventCnvConfig
import
xAODtoTrkConverterAlgCfg
133
result.merge(xAODtoTrkConverterAlgCfg(flags, name=name,
134
setupMuon =
True
, setupITk=
False
, **kwargs))
135
return
result
136
137
TrackFindingConfig.MSTrackFinderAlgCfg
MSTrackFinderAlgCfg(flags, name="MSTrackFinderAlg", **kwargs)
Definition
TrackFindingConfig.py:99
TrackFindingConfig.TrackSummaryToolCfg
TrackSummaryToolCfg(flags, name="MuonTrackSummaryTool", **kwargs)
Definition
TrackFindingConfig.py:48
TrackFindingConfig.TruthTrackSeedingToolCfg
TruthTrackSeedingToolCfg(flags, name="TruthTrackSeedingTool", **kwargs)
Definition
TrackFindingConfig.py:83
TrackFindingConfig.StandaloneTrackPartCnvCfg
StandaloneTrackPartCnvCfg(flags, name="MuonMsTrackParticleCnvR4", **kwargs)
Definition
TrackFindingConfig.py:119
TrackFindingConfig.MSExtrapolatorCfg
MSExtrapolatorCfg(flags, name="MsExtrapolationTool", **kwargs)
Definition
TrackFindingConfig.py:13
TrackFindingConfig.MuonActsToTrkConvCfg
MuonActsToTrkConvCfg(flags, name="MuonActsToTrkConverterAlg", **kwargs)
Definition
TrackFindingConfig.py:128
TrackFindingConfig.TrackSummaryLockCfg
TrackSummaryLockCfg(flags, inContainer="", fillHoles=True, fillOutliers=True, **kwargs)
Definition
TrackFindingConfig.py:54
TrackFindingConfig.SegmentSelectorCfg
SegmentSelectorCfg(flags, name="SegmentSelectionTool", **kwargs)
Definition
TrackFindingConfig.py:6
TrackFindingConfig.MsTrackSeedingToolCfg
MsTrackSeedingToolCfg(flags, name="MsTrackSeedingTool", **kwargs)
Definition
TrackFindingConfig.py:89
TrackFindingConfig.MSTrackFitterCfg
MSTrackFitterCfg(flags, name="MSTrackFitTool", **kwargs)
Definition
TrackFindingConfig.py:21
Generated on
for ATLAS Offline Software by
1.17.0