ATLAS Offline Software
Loading...
Searching...
No Matches
SiTrackMakerConfig.py
Go to the documentation of this file.
1# Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2# Configuration of SiTrackMakerTool_xk package
3from AthenaConfiguration.ComponentFactory import CompFactory
4from AthenaConfiguration.Enums import BeamType
5
6
7def SiTrackMaker_xkCfg(flags, name="InDetSiTrackMaker", **kwargs):
8 # To produce BeamSpotData and AtlasFieldCacheCondObj
9 from BeamSpotConditions.BeamSpotConditionsConfig import BeamSpotCondAlgCfg
10 from MagFieldServices.MagFieldServicesConfig import (
11 AtlasFieldCacheCondAlgCfg)
12 acc = BeamSpotCondAlgCfg(flags)
13 acc.merge(AtlasFieldCacheCondAlgCfg(flags))
14
15 if "RoadTool" not in kwargs:
16 from InDetConfig.SiDetElementsRoadToolConfig import (
17 SiDetElementsRoadMaker_xkCfg)
18 kwargs.setdefault("RoadTool", acc.popToolsAndMerge(
19 SiDetElementsRoadMaker_xkCfg(flags)))
20
21 if "CombinatorialTrackFinder" not in kwargs:
22 from InDetConfig.SiCombinatorialTrackFinderToolConfig import (
23 SiCombinatorialTrackFinder_xkCfg)
24 kwargs.setdefault("CombinatorialTrackFinder", acc.popToolsAndMerge(
25 SiCombinatorialTrackFinder_xkCfg(flags)))
26
27 kwargs.setdefault("useSCT", flags.Tracking.ActiveConfig.useSCT)
28 kwargs.setdefault("usePixel", flags.Tracking.ActiveConfig.usePixel)
29
30 kwargs.setdefault("pTmin", flags.Tracking.ActiveConfig.minPT)
31 kwargs.setdefault("pTminBrem", flags.Tracking.ActiveConfig.minPTBrem)
32 kwargs.setdefault("nClustersMin", flags.Tracking.ActiveConfig.minClusters)
33 kwargs.setdefault("nHolesMax", flags.Tracking.ActiveConfig.nHolesMax)
34 kwargs.setdefault("nHolesGapMax", flags.Tracking.ActiveConfig.nHolesGapMax)
35 kwargs.setdefault("UseSeedFilter",
36 flags.Tracking.ActiveConfig.useSeedFilter)
37 kwargs.setdefault("Xi2max", flags.Tracking.ActiveConfig.Xi2max)
38 kwargs.setdefault("Xi2maxNoAdd", flags.Tracking.ActiveConfig.Xi2maxNoAdd)
39 kwargs.setdefault("nWeightedClustersMin",
40 flags.Tracking.ActiveConfig.nWeightedClustersMin)
41
42 kwargs.setdefault("CosmicTrack", flags.Beam.Type is BeamType.Cosmics)
43 kwargs.setdefault("Xi2maxMultiTracks", flags.Tracking.ActiveConfig.Xi2max)
44 kwargs.setdefault("useSSSseedsFilter", True)
45 kwargs.setdefault("doMultiTracksProd", True)
46
47 kwargs.setdefault("useBremModel",
48 flags.Tracking.ActiveConfig.doBremRecoverySi)
49 kwargs.setdefault("doCaloSeededBrem", flags.Tracking.doCaloSeededBrem)
50
51 if kwargs["useBremModel"] and kwargs["doCaloSeededBrem"]:
52 from InDetConfig.InDetCaloClusterROISelectorConfig import (
53 CaloClusterROIPhiRZContainerMakerCfg)
54 acc.merge(CaloClusterROIPhiRZContainerMakerCfg(flags))
55
56 kwargs.setdefault("doHadCaloSeedSSS", flags.Tracking.doHadCaloSeededSSS)
57
58 if kwargs["doHadCaloSeedSSS"]:
59 from InDetConfig.InDetCaloClusterROISelectorConfig import (
60 HadCaloClusterROIPhiRZContainerMakerCfg)
61 acc.merge(HadCaloClusterROIPhiRZContainerMakerCfg(flags))
62
63 kwargs.setdefault("phiWidth", flags.Tracking.phiWidthBrem)
64 kwargs.setdefault("etaWidth", flags.Tracking.etaWidthBrem)
65 kwargs.setdefault("EMROIPhiRZContainer", "InDetCaloClusterROIPhiRZ0GeV")
66 kwargs.setdefault("HadROIPhiRZContainer", "InDetHadCaloClusterROIPhiRZ")
67 kwargs.setdefault("UseAssociationTool",
68 flags.Tracking.ActiveConfig.usePrdAssociationTool)
69
70 if flags.Beam.Type is BeamType.Cosmics:
71 kwargs.setdefault("TrackPatternRecoInfo",
72 'SiSpacePointsSeedMaker_Cosmic')
73
74 elif flags.Tracking.ActiveConfig.extension == "LowPt":
75 kwargs.setdefault("TrackPatternRecoInfo",
76 'SiSpacePointsSeedMaker_LowMomentum')
77
78 elif (flags.Tracking.ActiveConfig.extension == "VeryLowPt" or
79 (flags.Tracking.ActiveConfig.extension == "Pixel" and
80 flags.Tracking.doMinBias)):
81 kwargs.setdefault("TrackPatternRecoInfo",
82 'SiSpacePointsSeedMaker_VeryLowMomentum')
83
84 elif flags.Tracking.ActiveConfig.extension == "HeavyIon":
85 kwargs.setdefault("TrackPatternRecoInfo",
86 'SiSpacePointsSeedMaker_HeavyIon')
87
88 elif flags.Tracking.ActiveConfig.extension == "BeamGas":
89 kwargs.setdefault("TrackPatternRecoInfo",
90 'SiSpacePointsSeedMaker_BeamGas')
91
92 elif flags.Tracking.ActiveConfig.extension == "Forward":
93 kwargs.setdefault("TrackPatternRecoInfo",
94 'SiSpacePointsSeedMaker_ForwardTracks')
95
96 elif "LargeD0" in flags.Tracking.ActiveConfig.extension:
97 kwargs.setdefault("TrackPatternRecoInfo",
98 'SiSpacePointsSeedMaker_LargeD0')
99
100 else:
101 kwargs.setdefault("TrackPatternRecoInfo", 'SiSPSeededFinder')
102
103 # Enable storing seeds if requested.
104 # Always for primary pass. Only if appropriate flag is set for other passes.
105 if (flags.Tracking.doStoreTrackSeeds and
106 (flags.Tracking.ActiveConfig.extension == "" or flags.Tracking.ActiveConfig.storeTrackSeeds) and
107 "SeedToTrackConversion" not in kwargs):
108 from InDetConfig.SeedToTrackConversionToolConfig import (
109 SeedToTrackConversionToolCfg)
110 kwargs.setdefault("SeedToTrackConversion", acc.popToolsAndMerge(
111 SeedToTrackConversionToolCfg(flags)))
112 kwargs.setdefault("SeedSegmentsWrite", True)
113
114 acc.setPrivateTools(CompFactory.InDet.SiTrackMaker_xk(
115 name+flags.Tracking.ActiveConfig.extension, **kwargs))
116 return acc
117
118
119def TrigSiTrackMaker_xkCfg(flags, name="TrigSiTrackMaker", **kwargs):
120 # To produce BeamSpotData and AtlasFieldCacheCondObj
121 from BeamSpotConditions.BeamSpotConditionsConfig import BeamSpotCondAlgCfg
122 from MagFieldServices.MagFieldServicesConfig import (
123 AtlasFieldCacheCondAlgCfg)
124 acc = BeamSpotCondAlgCfg(flags)
125 acc.merge(AtlasFieldCacheCondAlgCfg(flags))
126
127 if "RoadTool" not in kwargs:
128 from InDetConfig.SiDetElementsRoadToolConfig import (
129 SiDetElementsRoadMaker_xkCfg)
130 kwargs.setdefault("RoadTool", acc.popToolsAndMerge(
131 SiDetElementsRoadMaker_xkCfg(flags)))
132
133 if "CombinatorialTrackFinder" not in kwargs:
134 from InDetConfig.SiCombinatorialTrackFinderToolConfig import (
135 SiCombinatorialTrackFinder_xk_Trig_Cfg)
136 kwargs.setdefault("CombinatorialTrackFinder", acc.popToolsAndMerge(
137 SiCombinatorialTrackFinder_xk_Trig_Cfg(flags)))
138
139 kwargs.setdefault("pTmin", flags.Tracking.ActiveConfig.minPT)
140 kwargs.setdefault("nClustersMin", flags.Tracking.ActiveConfig.nClustersMin)
141 kwargs.setdefault("nHolesMax", flags.Tracking.ActiveConfig.nHolesMax)
142 kwargs.setdefault("nHolesGapMax",
143 flags.Tracking.ActiveConfig.nHolesGapMax)
144 kwargs.setdefault("UseSeedFilter",
145 flags.Tracking.ActiveConfig.useSeedFilter)
146 kwargs.setdefault("Xi2max", flags.Tracking.ActiveConfig.Xi2max)
147 kwargs.setdefault("Xi2maxNoAdd", flags.Tracking.ActiveConfig.Xi2maxNoAdd)
148 kwargs.setdefault("nWeightedClustersMin",
149 flags.Tracking.ActiveConfig.nWeightedClustersMin)
150 kwargs.setdefault("Xi2maxMultiTracks", flags.Tracking.ActiveConfig.Xi2max)
151 kwargs.setdefault("UseAssociationTool", False)
152
153 kwargs.setdefault("useBremModel",
154 flags.Tracking.ActiveConfig.doBremRecoverySi)
155
156 kwargs.setdefault("CosmicTrack",
157 flags.Tracking.ActiveConfig.input_name == "cosmics")
158
159 acc.setPrivateTools(CompFactory.InDet.SiTrackMaker_xk(name, **kwargs))
160 return acc
161
162
163def ITkSiTrackMaker_xkCfg(flags, name="ITkSiTrackMaker", **kwargs):
164 # To produce BeamSpotData and AtlasFieldCacheCondObj
165 from BeamSpotConditions.BeamSpotConditionsConfig import BeamSpotCondAlgCfg
166 from MagFieldServices.MagFieldServicesConfig import (
167 AtlasFieldCacheCondAlgCfg)
168 acc = BeamSpotCondAlgCfg(flags)
169 acc.merge(AtlasFieldCacheCondAlgCfg(flags))
170
171 if "RoadTool" not in kwargs:
172 from InDetConfig.SiDetElementsRoadToolConfig import (
173 ITkSiDetElementsRoadMaker_xkCfg)
174 kwargs.setdefault("RoadTool", acc.popToolsAndMerge(
175 ITkSiDetElementsRoadMaker_xkCfg(flags)))
176
177 if "CombinatorialTrackFinder" not in kwargs:
178 from InDetConfig.SiCombinatorialTrackFinderToolConfig import (
179 ITkSiCombinatorialTrackFinder_xkCfg)
180 kwargs.setdefault("CombinatorialTrackFinder", acc.popToolsAndMerge(
181 ITkSiCombinatorialTrackFinder_xkCfg(flags)))
182
183 kwargs.setdefault("useSCT", flags.Tracking.ActiveConfig.useITkStrip)
184 kwargs.setdefault("usePixel", flags.Tracking.ActiveConfig.useITkPixel)
185 kwargs.setdefault("etaBins", flags.Tracking.ActiveConfig.etaBins)
186 kwargs.setdefault("pTBins", flags.Tracking.ActiveConfig.minPT)
187 kwargs.setdefault("pTmin", flags.Tracking.ActiveConfig.minPT[0])
188 kwargs.setdefault("pTminBrem", flags.Tracking.ActiveConfig.minPTBrem[0])
189 kwargs.setdefault("nClustersMin",
190 min(flags.Tracking.ActiveConfig.minClusters))
191 kwargs.setdefault("nHolesMax", flags.Tracking.ActiveConfig.nHolesMax[0])
192 kwargs.setdefault("nHolesGapMax",
193 flags.Tracking.ActiveConfig.nHolesGapMax[0])
194 kwargs.setdefault("UseSeedFilter",
195 flags.Tracking.ActiveConfig.useSeedFilter)
196 kwargs.setdefault("Xi2max", flags.Tracking.ActiveConfig.Xi2max[0])
197 kwargs.setdefault("Xi2maxNoAdd", flags.Tracking.ActiveConfig.Xi2maxNoAdd[0])
198 kwargs.setdefault("nWeightedClustersMin",
199 flags.Tracking.ActiveConfig.nWeightedClustersMin[0])
200 kwargs.setdefault("CosmicTrack", flags.Beam.Type is BeamType.Cosmics)
201 kwargs.setdefault("Xi2maxMultiTracks",
202 flags.Tracking.ActiveConfig.Xi2max[0])
203 kwargs.setdefault("doMultiTracksProd", True)
204
205 # Disabled for second passes in reco
206 kwargs.setdefault("useBremModel",
207 flags.Tracking.ActiveConfig.doBremRecoverySi)
208 kwargs.setdefault("doCaloSeededBrem", flags.Tracking.doCaloSeededBrem)
209
210 if kwargs["useBremModel"] and kwargs["doCaloSeededBrem"]:
211 from InDetConfig.InDetCaloClusterROISelectorConfig import (
212 ITkCaloClusterROIPhiRZContainerMakerCfg)
213 acc.merge(ITkCaloClusterROIPhiRZContainerMakerCfg(flags))
214
215 kwargs.setdefault("doHadCaloSeedSSS", flags.Tracking.doHadCaloSeededSSS)
216
217 if kwargs["doHadCaloSeedSSS"]:
218 from InDetConfig.InDetCaloClusterROISelectorConfig import (
219 ITkHadCaloClusterROIPhiRZContainerMakerCfg)
220 acc.merge(ITkHadCaloClusterROIPhiRZContainerMakerCfg(flags))
221
222 kwargs.setdefault("phiWidth", flags.Tracking.phiWidthBrem)
223 kwargs.setdefault("etaWidth", flags.Tracking.etaWidthBrem)
224 kwargs.setdefault("EMROIPhiRZContainer", "ITkCaloClusterROIPhiRZ0GeV")
225 kwargs.setdefault("HadROIPhiRZContainer", "ITkHadCaloClusterROIPhiRZ")
226 kwargs.setdefault("UseAssociationTool",
227 flags.Tracking.ActiveConfig.usePrdAssociationTool)
228 kwargs.setdefault("ITKGeometry", True)
229
230 if flags.Beam.Type is BeamType.Cosmics:
231 kwargs.setdefault("TrackPatternRecoInfo",
232 'SiSpacePointsSeedMaker_Cosmic')
233
234 elif flags.Tracking.ActiveConfig.extension == "Conversion":
235 kwargs.setdefault("TrackPatternRecoInfo",
236 'SiSpacePointsSeedMaker_ITkConversionTracks')
237
238 elif flags.Tracking.ActiveConfig.extension == "LargeD0":
239 kwargs.setdefault("TrackPatternRecoInfo",
240 'SiSpacePointsSeedMaker_LargeD0')
241
242 elif flags.Tracking.ActiveConfig.extension == "LowPt":
243 kwargs.setdefault("TrackPatternRecoInfo",
244 'SiSpacePointsSeedMaker_LowMomentum')
245
246 else:
247 kwargs.setdefault("TrackPatternRecoInfo", 'SiSPSeededFinder')
248
249 if (flags.Tracking.doStoreTrackSeeds and
250 "SeedToTrackConversion" not in kwargs):
251 from InDetConfig.SeedToTrackConversionToolConfig import (
252 ITkSeedToTrackConversionToolCfg)
253 kwargs.setdefault("SeedToTrackConversion", acc.popToolsAndMerge(
254 ITkSeedToTrackConversionToolCfg(flags)))
255 kwargs.setdefault("SeedSegmentsWrite", True)
256
257 acc.setPrivateTools(CompFactory.InDet.SiTrackMaker_xk(
258 name+flags.Tracking.ActiveConfig.extension, **kwargs))
259 return acc
#define min(a, b)
Definition cfImp.cxx:40
ITkSiTrackMaker_xkCfg(flags, name="ITkSiTrackMaker", **kwargs)
TrigSiTrackMaker_xkCfg(flags, name="TrigSiTrackMaker", **kwargs)
SiTrackMaker_xkCfg(flags, name="InDetSiTrackMaker", **kwargs)