ATLAS Offline Software
Loading...
Searching...
No Matches
SiSpacePointsSeedToolConfig.py
Go to the documentation of this file.
1# Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2# Configuration of SiSpacePointsSeedTool_xk package
3from AthenaConfiguration.ComponentFactory import CompFactory
4from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
5from AthenaConfiguration.Enums import BeamType
6from AthenaCommon import SystemOfUnits as Units
7
8
10 flags, name="InDetSpSeedsMaker_Cosmic", **kwargs):
11 acc = ComponentAccumulator()
12
13 kwargs.setdefault("fieldScale",flags.BField.configuredSolenoidFieldScale)
14
15 acc.setPrivateTools(CompFactory.InDet.SiSpacePointsSeedMaker_Cosmic(
16 name, **kwargs))
17 return acc
18
19
21 flags, name="InDetSpSeedsMaker_HeavyIon", **kwargs):
22 acc = ComponentAccumulator()
23 # Disable Overlap space points, they do not really contribute
24 kwargs["useOverlapSpCollection"] = False
25 kwargs.setdefault("useVertexPosition", flags.Tracking.ActiveConfig.useVertexPositionDuringSeeding)
26 if flags.Tracking.ActiveConfig.extension == "HeavyIonLowPt":
27 kwargs.setdefault("pTmax", flags.Tracking.ActiveConfig.maxPT)
28 kwargs.setdefault("radMin", 0 * Units.mm)
29 kwargs.setdefault("maxSeedsForSpacePoint", 4)
30 kwargs.setdefault("minVRadius1", 0 * Units.mm)
31 kwargs.setdefault("maxVRadius1", 70 * Units.mm)
32 kwargs.setdefault("minVRadius2", 45 * Units.mm)
33 kwargs.setdefault("maxVRadius2", 150 * Units.mm)
34 kwargs.setdefault("minVRadius3", 70 * Units.mm)
35 kwargs.setdefault("radStep", 10)
36 kwargs.setdefault("mindRadius", 10)
37 kwargs.setdefault("mindRadiusTop", 10)
38
39 kwargs.setdefault("maxdImpact",
40 flags.Tracking.ActiveConfig.maxPrimaryImpact)
41 kwargs.setdefault("maxZ", flags.Tracking.ActiveConfig.maxZImpact)
42 kwargs.setdefault("minZ", -flags.Tracking.ActiveConfig.maxZImpact)
43 kwargs.setdefault("maxdImpactPPS",
44 flags.Tracking.ActiveConfig.maxdImpactPPSSeeds)
45 kwargs.setdefault("maxdImpactSSS",
46 flags.Tracking.ActiveConfig.maxdImpactSSSSeeds)
47 kwargs.setdefault("fieldScale",flags.BField.configuredSolenoidFieldScale)
48
49 if flags.Tracking.writeSeedValNtuple:
50 kwargs.setdefault("WriteNtuple", True)
51 acc.addService(CompFactory.THistSvc(
52 Output=["valNtuples DATAFILE='SeedMakerValidation.root' OPT='RECREATE'"]))
53
54 acc.setPrivateTools(CompFactory.InDet.SiSpacePointsSeedMaker_HeavyIon(
55 name+flags.Tracking.ActiveConfig.extension, **kwargs))
56 return acc
57
58
60 flags, name="InDetSpSeedsMaker_LowMomentum", **kwargs):
61 acc = ComponentAccumulator()
62
63 kwargs.setdefault("maxdImpact",
64 flags.Tracking.ActiveConfig.maxPrimaryImpact)
65 kwargs.setdefault("maxZ", flags.Tracking.ActiveConfig.maxZImpact)
66 kwargs.setdefault("minZ", -flags.Tracking.ActiveConfig.maxZImpact)
67 kwargs.setdefault("fieldScale",flags.BField.configuredSolenoidFieldScale)
68
69 kwargs.setdefault("maxRadius1",
70 0.75*flags.Tracking.ActiveConfig.radMax)
71 kwargs.setdefault("maxRadius2",
72 flags.Tracking.ActiveConfig.radMax)
73 kwargs.setdefault("pTmax", flags.Tracking.ActiveConfig.maxPT)
74 kwargs.setdefault("mindRadius", 4.0)
75
76 acc.setPrivateTools(CompFactory.InDet.SiSpacePointsSeedMaker_LowMomentum(
77 name+flags.Tracking.ActiveConfig.extension, **kwargs))
78 return acc
79
80
82 flags, name="InDetSpSeedsMaker_BeamGas", **kwargs):
83 acc = ComponentAccumulator()
84
85 kwargs.setdefault("maxdImpact",
86 flags.Tracking.ActiveConfig.maxPrimaryImpact)
87 kwargs.setdefault("maxZ", flags.Tracking.ActiveConfig.maxZImpact)
88 kwargs.setdefault("minZ", -flags.Tracking.ActiveConfig.maxZImpact)
89 kwargs.setdefault("fieldScale",flags.BField.configuredSolenoidFieldScale)
90
91 kwargs.setdefault("maxRadius1",
92 0.75*flags.Tracking.ActiveConfig.radMax)
93 kwargs.setdefault("maxRadius2",
94 flags.Tracking.ActiveConfig.radMax)
95 kwargs.setdefault("maxRadius3",
96 flags.Tracking.ActiveConfig.radMax)
97
98 acc.setPrivateTools(CompFactory.InDet.SiSpacePointsSeedMaker_BeamGas(
99 name, **kwargs))
100 return acc
101
102
104 flags, name="InDetSpSeedsMaker", **kwargs):
105 acc = ComponentAccumulator()
106
107 kwargs.setdefault("maxdImpact",
108 flags.Tracking.ActiveConfig.maxPrimaryImpact)
109 kwargs.setdefault("maxZ", flags.Tracking.ActiveConfig.maxZImpact)
110 kwargs.setdefault("minZ", -flags.Tracking.ActiveConfig.maxZImpact)
111 kwargs.setdefault("fieldScale",flags.BField.configuredSolenoidFieldScale)
112
113 if flags.Tracking.ActiveConfig.extension in ["", "Forward"]:
114 kwargs.setdefault("maxdImpactSSS",
115 flags.Tracking.ActiveConfig.maxdImpactSSSSeeds)
116 kwargs.setdefault("maxSeedsForSpacePointStrips",
117 flags.Tracking.ActiveConfig.maxSeedsPerSP_Strips)
118 kwargs.setdefault("maxSeedsForSpacePointPixels",
119 flags.Tracking.ActiveConfig.maxSeedsPerSP_Pixels)
120 kwargs.setdefault("alwaysKeepConfirmedStripSeeds",
121 flags.Tracking.ActiveConfig.keepAllConfirmedStripSeeds)
122 kwargs.setdefault("alwaysKeepConfirmedPixelSeeds",
123 flags.Tracking.ActiveConfig.keepAllConfirmedPixelSeeds)
124 kwargs.setdefault("mindRadius", 10)
125 kwargs.setdefault("maxSizeSP", 200)
126 kwargs.setdefault("dImpactCutSlopeUnconfirmedSSS", 1.25)
127 kwargs.setdefault("dImpactCutSlopeUnconfirmedPPP", 2.0)
128
129 if flags.Tracking.ActiveConfig.extension == "Forward":
130 kwargs.setdefault("checkEta", True)
131 kwargs.setdefault("etaMin", flags.Tracking.ActiveConfig.minEta)
132
133 elif flags.Tracking.ActiveConfig.extension == "R3LargeD0":
134 kwargs.setdefault("optimisePhiBinning", False)
135 kwargs.setdefault("maxSeedsForSpacePointStrips",
136 flags.Tracking.ActiveConfig.maxSeedsPerSP_Strips)
137 kwargs.setdefault("alwaysKeepConfirmedStripSeeds",
138 flags.Tracking.ActiveConfig.keepAllConfirmedStripSeeds)
139 kwargs.setdefault("maxdRadius", 150)
140 kwargs.setdefault("seedScoreBonusConfirmationSeed", -2000)
141
142 if flags.Tracking.writeSeedValNtuple:
143 kwargs.setdefault("WriteNtuple", True)
144 acc.addService(CompFactory.THistSvc(
145 Output=["valNtuples DATAFILE='SeedMakerValidation.root' OPT='RECREATE'"]))
146
147 acc.setPrivateTools(CompFactory.InDet.SiSpacePointsSeedMaker_ATLxk(
148 name+flags.Tracking.ActiveConfig.extension, **kwargs))
149 return acc
150
151
152def SiSpacePointsSeedMakerCfg(flags, **kwargs):
153 # Properties valid for all of the classes
154 kwargs.setdefault("pTmin", flags.Tracking.ActiveConfig.minPT)
155 kwargs.setdefault("radMax", flags.Tracking.ActiveConfig.radMax)
156 kwargs.setdefault("etaMax", flags.Tracking.ActiveConfig.maxEta)
157 kwargs.setdefault("usePixel", flags.Tracking.ActiveConfig.usePixelSeeding)
158 kwargs.setdefault("SpacePointsPixelName", 'PixelSpacePoints')
159 kwargs.setdefault("useSCT", flags.Tracking.ActiveConfig.useSCTSeeding)
160 kwargs.setdefault("SpacePointsSCTName", 'SCT_SpacePoints')
161 kwargs.setdefault("useOverlapSpCollection",
162 flags.Tracking.ActiveConfig.useSCTSeeding)
163 kwargs.setdefault("SpacePointsOverlapName", 'OverlapSpacePoints')
164
165 if flags.Tracking.ActiveConfig.usePrdAssociationTool:
166 # not all classes have that property !!!
167 kwargs.setdefault("PRDtoTrackMap", (
168 'InDetPRDtoTrackMap' + flags.Tracking.ActiveConfig.extension))
169
170 #
171 # --- Space points seeds maker, use different ones for cosmics and collisions
172 #
173 if flags.Beam.Type is BeamType.Cosmics:
174 return SiSpacePointsSeedMaker_CosmicCfg(flags, **kwargs)
175 elif flags.Tracking.ActiveConfig.extension in ["HeavyIon", "HeavyIonLowPt"]:
176 return SiSpacePointsSeedMaker_HeavyIonCfg(flags, **kwargs)
177 elif flags.Tracking.ActiveConfig.isLowPt:
178 return SiSpacePointsSeedMaker_LowMomentumCfg(flags, **kwargs)
179 elif flags.Tracking.ActiveConfig.extension == "BeamGas":
180 return SiSpacePointsSeedMaker_BeamGasCfg(flags, **kwargs)
181 else:
182 return SiSpacePointsSeedMaker_ATLxkCfg(flags, **kwargs)
183
184
185def TrigSiSpacePointsSeedMakerCfg(flags, **kwargs):
186
187 # Properties valid for all of the classes
188 kwargs.setdefault("pTmin", flags.Tracking.ActiveConfig.minPT)
189 kwargs.setdefault("radMax", flags.Tracking.ActiveConfig.radMax)
190 kwargs.setdefault("etaMax", flags.Tracking.ActiveConfig.maxEta)
191 kwargs.setdefault("usePixel", flags.Tracking.ActiveConfig.usePixelSeeding)
192 kwargs.setdefault("SpacePointsPixelName", 'PixelTrigSpacePoints')
193 kwargs.setdefault("useSCT", flags.Tracking.ActiveConfig.useSCTSeeding)
194 kwargs.setdefault("SpacePointsSCTName", 'SCT_TrigSpacePoints')
195 kwargs.setdefault("useOverlapSpCollection",
196 flags.Tracking.ActiveConfig.useSCTSeeding)
197 kwargs.setdefault("SpacePointsOverlapName", 'OverlapSpacePoints')
198
199 if flags.Tracking.ActiveConfig.usePrdAssociationTool:
200 # not all classes have that property !!!
201 kwargs.setdefault("PRDtoTrackMap", 'TrigPRDtoTrackMap') #2023fix + flags.Tracking.ActiveConfig.extension))
202
203 #
204 # --- Space points seeds maker, use different ones for cosmics and collisions
205 #
206 if flags.Tracking.ActiveConfig.input_name=="cosmics":
207 return SiSpacePointsSeedMaker_CosmicCfg(flags, **kwargs)
208 elif flags.Tracking.ActiveConfig.input_name=="minBiasPixel":
209 return SiSpacePointsSeedMaker_LowMomentumCfg(flags, **kwargs)
210 # elif flags.Reco.EnableHI: #2023fix - in principle minBias and HI should use specific versions too
211 # return SiSpacePointsSeedMaker_HeavyIonCfg(flags, **kwargs)
212 # elif flags.Tracking.ActiveConfig.isLowPt:
213 # return SiSpacePointsSeedMaker_LowMomentumCfg(flags, **kwargs)
214 else:
215 kwargs.setdefault("maxdImpact", flags.Tracking.ActiveConfig.maxPrimaryImpact)
216 kwargs.setdefault("maxZ", flags.Tracking.ActiveConfig.maxZImpact)
217 kwargs.setdefault("minZ", -flags.Tracking.ActiveConfig.maxZImpact)
218
220 name = 'TrigSiSpacePointsSeedMaker_'+flags.Tracking.ActiveConfig.input_name,
221 **kwargs)
222
223
224def ITkSiSpacePointsSeedMakerCfg(flags, name="ITkSpSeedsMaker", **kwargs):
225 acc = ComponentAccumulator()
226
227 kwargs.setdefault("pTmin", flags.Tracking.ActiveConfig.minPTSeed)
228 kwargs.setdefault("maxdImpact",
229 flags.Tracking.ActiveConfig.maxPrimaryImpactSeed)
230 kwargs.setdefault("maxZ", flags.Tracking.ActiveConfig.maxZImpactSeed)
231 kwargs.setdefault("minZ", -flags.Tracking.ActiveConfig.maxZImpactSeed)
232 kwargs.setdefault("radMax", flags.Tracking.ActiveConfig.radMax)
233 kwargs.setdefault("etaMax", flags.Tracking.ActiveConfig.maxEta)
234
235 kwargs.setdefault("usePixel",
236 flags.Tracking.ActiveConfig.useITkPixel and
237 flags.Tracking.ActiveConfig.useITkPixelSeeding)
238 kwargs.setdefault("SpacePointsPixelName", 'ITkPixelSpacePoints')
239 kwargs.setdefault("useStrip",
240 flags.Tracking.ActiveConfig.useITkStrip and
241 flags.Tracking.ActiveConfig.useITkStripSeeding)
242 kwargs.setdefault("SpacePointsStripName", 'ITkStripSpacePoints')
243 kwargs.setdefault("useOverlapSpCollection",
244 flags.Tracking.ActiveConfig.useITkStrip and
245 flags.Tracking.ActiveConfig.useITkStripSeeding)
246 kwargs.setdefault("SpacePointsOverlapName", 'ITkOverlapSpacePoints')
247
248 if flags.Tracking.ActiveConfig.usePrdAssociationTool:
249 # not all classes have that property !!!
250 kwargs.setdefault("PRDtoTrackMap", (
251 'ITkPRDtoTrackMap' + flags.Tracking.ActiveConfig.extension))
252
253 if flags.Tracking.doITkFastTracking:
254 kwargs.setdefault("useFastTracking", True)
255 kwargs.setdefault("maxSeedsForSpacePoint", 3)
256
257 if flags.Tracking.ActiveConfig.extension == "LargeD0":
258 kwargs.setdefault("isLRT", True)
259
260 if flags.Tracking.writeSeedValNtuple:
261 kwargs.setdefault("WriteNtuple", True)
262 acc.addService(CompFactory.THistSvc(
263 Output=["valNtuples DATAFILE='SeedMakerValidation.root' OPT='RECREATE'"]))
264
265 acc.setPrivateTools(CompFactory.ITk.SiSpacePointsSeedMaker(
266 name+flags.Tracking.ActiveConfig.extension, **kwargs))
267 return acc
SiSpacePointsSeedMaker_LowMomentumCfg(flags, name="InDetSpSeedsMaker_LowMomentum", **kwargs)
SiSpacePointsSeedMaker_BeamGasCfg(flags, name="InDetSpSeedsMaker_BeamGas", **kwargs)
SiSpacePointsSeedMaker_HeavyIonCfg(flags, name="InDetSpSeedsMaker_HeavyIon", **kwargs)
SiSpacePointsSeedMaker_ATLxkCfg(flags, name="InDetSpSeedsMaker", **kwargs)
ITkSiSpacePointsSeedMakerCfg(flags, name="ITkSpSeedsMaker", **kwargs)
SiSpacePointsSeedMaker_CosmicCfg(flags, name="InDetSpSeedsMaker_Cosmic", **kwargs)