ATLAS Offline Software
Loading...
Searching...
No Matches
ActsSeedingInDetConfig Namespace Reference

Functions

ComponentAccumulator ActsInDetPixelSeedingToolCfg (flags, str name="ActsInDetPixelSeedingTool", **kwargs)
ComponentAccumulator ActsInDetStripSeedingToolCfg (flags, str name="ActsInDetStripSeedingTool", **kwargs)
ComponentAccumulator ActsInDetPixelSeedingAlgCfg (flags, str name='ActsInDetPixelSeedingAlg', **kwargs)
ComponentAccumulator ActsInDetStripSeedingAlgCfg (flags, str name='ActsInDetStripSeedingAlg', **kwargs)
ComponentAccumulator ActsInDetMainSeedingCfg (flags, **kwargs)
ComponentAccumulator ActsInDetSeedingCfg (flags, **kwargs)
ComponentAccumulator ActsInDetStoreTrackSeedsCfg (flags, *, bool processPixels, bool processStrips, **dict kwargs)

Function Documentation

◆ ActsInDetMainSeedingCfg()

ComponentAccumulator ActsSeedingInDetConfig.ActsInDetMainSeedingCfg ( flags,
** kwargs )

Definition at line 239 of file ActsSeedingInDetConfig.py.

240 **kwargs) -> ComponentAccumulator:
241 acc = ComponentAccumulator()
242
243 kwargs.setdefault('processPixels', flags.Detector.EnablePixel)
244 kwargs.setdefault('processStrips', flags.Detector.EnableSCT)
245 kwargs.setdefault('estimateParameters', flags.Acts.Seeds.doAnalysis)
246
247 if kwargs['processPixels']:
248 acc.merge(ActsInDetPixelSeedingAlgCfg(flags, **extractChildKwargs(prefix='PixelSeedingAlg.', **kwargs)))
249 if kwargs['processStrips']:
250 acc.merge(ActsInDetStripSeedingAlgCfg(flags, **extractChildKwargs(prefix='StripSeedingAlg.', **kwargs)))
251
252
253 if kwargs['estimateParameters']:
254 if kwargs['processPixels']:
255 from ActsConfig.ActsAnalysisConfig import ActsPixelSeedsToTrackParamsAlgCfg
256 acc.merge(ActsPixelSeedsToTrackParamsAlgCfg(flags,
257 **extractChildKwargs(prefix='PixelSeedsToTrackParamsAlg.', **kwargs)))
258
259 if kwargs['processStrips']:
260 from ActsConfig.ActsAnalysisConfig import ActsStripSeedsToTrackParamsAlgCfg
261 acc.merge(ActsStripSeedsToTrackParamsAlgCfg(flags,
262 **extractChildKwargs(prefix='StripSeedsToTrackParamsAlg.', **kwargs)))
263
264 return acc
265

◆ ActsInDetPixelSeedingAlgCfg()

ComponentAccumulator ActsSeedingInDetConfig.ActsInDetPixelSeedingAlgCfg ( flags,
str name = 'ActsInDetPixelSeedingAlg',
** kwargs )

Definition at line 178 of file ActsSeedingInDetConfig.py.

180 **kwargs) -> ComponentAccumulator:
181 acc = ComponentAccumulator()
182
183 # Beam Spot Cond is a requirement
184 from BeamSpotConditions.BeamSpotConditionsConfig import BeamSpotCondAlgCfg
185 acc.merge(BeamSpotCondAlgCfg(flags))
186
187 from MagFieldServices.MagFieldServicesConfig import AtlasFieldCacheCondAlgCfg
188 acc.merge(AtlasFieldCacheCondAlgCfg(flags))
189
190 from PixelGeoModel.PixelGeoModelConfig import PixelReadoutGeometryCfg
191 acc.merge(PixelReadoutGeometryCfg(flags))
192
193 useFastTracking = False
194
195 if "SeedTool" not in kwargs:
196 kwargs.setdefault('SeedTool', acc.popToolsAndMerge(ActsInDetPixelSeedingToolCfg(flags)))
197
198 kwargs.setdefault("useFastTracking", useFastTracking)
199 kwargs.setdefault('InputSpacePoints', ['PixelSpacePoints'])
200 kwargs.setdefault('OutputSeeds', 'ActsPixelSeeds')
201 kwargs.setdefault('UsePixel', True)
202
203 if flags.Acts.doMonitoring and 'MonTool' not in kwargs:
204 pass
205
206 acc.addEventAlgo(CompFactory.ActsTrk.SeedingAlg(name, **kwargs))
207 return acc
208
209

◆ ActsInDetPixelSeedingToolCfg()

ComponentAccumulator ActsSeedingInDetConfig.ActsInDetPixelSeedingToolCfg ( flags,
str name = "ActsInDetPixelSeedingTool",
** kwargs )

Definition at line 10 of file ActsSeedingInDetConfig.py.

12 **kwargs) -> ComponentAccumulator:
13 acc = ComponentAccumulator()
14
15
16 kwargs.setdefault("numSeedIncrement" , float("inf"))
17 kwargs.setdefault("deltaZMax" , float("inf"))
18 kwargs.setdefault("maxPtScattering", float("inf"))
19 kwargs.setdefault("useVariableMiddleSPRange", False)
20 kwargs.setdefault("rMax", 280. * ActsUnits.mm)
21 kwargs.setdefault("minPt", flags.Tracking.ActiveConfig.minPT / GaudiUnits.GeV * ActsUnits.GeV)
22 kwargs.setdefault("impactMax", flags.Tracking.ActiveConfig.maxPrimaryImpact / GaudiUnits.mm * ActsUnits.mm)
23 kwargs.setdefault("rBinEdges", [0, kwargs['rMax']])
24 kwargs.setdefault("rRangeMiddleSP", [
25 [0,0],
26 [0,0],
27 [0,0],
28 [20, 260],
29 [20, 260],
30 [40, 260],
31 [20, 260],
32 [20, 260],
33 [0,0],
34 [0,0],
35 [0, 0]])
36
37 kwargs.setdefault("cotThetaMax" , 7.40626311)
38 kwargs.setdefault("zMax", 2800. * ActsUnits.mm)
39 kwargs.setdefault("zMin", -2800. * ActsUnits.mm)
40
41 kwargs.setdefault("deltaRMin" , 10. * ActsUnits.mm)
42 kwargs.setdefault("deltaRMax" , 270. * ActsUnits.mm)
43 kwargs.setdefault("deltaRMinBottomSP" , 10. * ActsUnits.mm)
44 kwargs.setdefault("deltaRMaxBottomSP" , 270. * ActsUnits.mm)
45 kwargs.setdefault("deltaRMinTopSP" , 10. * ActsUnits.mm)
46 kwargs.setdefault("deltaRMaxTopSP" , 270. * ActsUnits.mm)
47 kwargs.setdefault("gridRMax" , kwargs['rMax'])
48 kwargs.setdefault("phiBinDeflectionCoverage" , 1)
49 kwargs.setdefault("maxPhiBins" , 200)
50 kwargs.setdefault("sigmaScattering", 5.0)
51 kwargs.setdefault("radLengthPerSeed", 0.0980450)
52 kwargs.setdefault("maxSeedsPerSpM" , 5)
53 kwargs.setdefault("deltaRMiddleMinSPRange" , 0 * ActsUnits.mm)
54 kwargs.setdefault("deltaRMiddleMaxSPRange" , 0 * ActsUnits.mm)
55 kwargs.setdefault("zBinEdges", [ -2800. , -2500. , -1400. , -925. , -450. , -250. , 250. , 450. , 925. , 1400. , 2500. , 2800.])
56 kwargs.setdefault("zBinsCustomLooping" , [6, 7, 8, 9, 10, 11, 5, 4, 3, 2, 1])
57 kwargs.setdefault("zBinNeighborsTop", [
58 (0, 0), (-1, 0), (-1, 0), (-1, 0), (-1, 0), (-2, 2),
59 (0, 1), (0, 1), (0, 1), (0, 1), (0, 0)
60 ])
61 kwargs.setdefault("zBinNeighborsBottom", [
62 (0, 0), (0, 1), (0, 1), (0, 1), (0, 1), (0, 0),
63 (-1, 0), (-1, 0), (-1, 0), (-1, 0), (0, 0)
64 ])
65 kwargs.setdefault("doSeedQualitySelection", True)
66
67 # Seed confirmation
68 kwargs.setdefault("seedConfCentralZMin", -450.0 * ActsUnits.mm)
69 kwargs.setdefault("seedConfCentralZMax", 450.0 * ActsUnits.mm)
70 kwargs.setdefault("seedConfCentralRMax", 140.0 * ActsUnits.mm)
71 kwargs.setdefault("seedConfCentralNTopLargeR", 0)
72 kwargs.setdefault("seedConfCentralNTopSmallR", 0)
73 kwargs.setdefault("seedConfCentralMinBottomRadius", 40.0 * ActsUnits.mm)
74 kwargs.setdefault("seedConfCentralMaxZOrigin", 200.0 * ActsUnits.mm)
75 kwargs.setdefault("seedConfCentralMinImpact", 1.0 * ActsUnits.mm)
76
77 kwargs.setdefault("seedConfForwardZMin", -2800.0 * ActsUnits.mm)
78 kwargs.setdefault("seedConfForwardZMax", 2800.0 * ActsUnits.mm)
79 kwargs.setdefault("seedConfForwardRMax", 140.0 * ActsUnits.mm)
80 kwargs.setdefault("seedConfForwardNTopLargeR", 0)
81 kwargs.setdefault("seedConfForwardNTopSmallR", 0)
82 kwargs.setdefault("seedConfForwardMinBottomRadius", 40.0 * ActsUnits.mm)
83 kwargs.setdefault("seedConfForwardMaxZOrigin", 200.0 * ActsUnits.mm)
84 kwargs.setdefault("seedConfForwardMinImpact", 1.0 * ActsUnits.mm)
85
86 kwargs.setdefault("seedConfirmation" , True)
87 kwargs.setdefault("seedConfirmationInFilter", False)
88
89 acc.setPrivateTools(CompFactory.ActsTrk.SeedingTool(name, **kwargs))
90 return acc
91

◆ ActsInDetSeedingCfg()

ComponentAccumulator ActsSeedingInDetConfig.ActsInDetSeedingCfg ( flags,
** kwargs )

Definition at line 266 of file ActsSeedingInDetConfig.py.

266def ActsInDetSeedingCfg(flags,**kwargs) -> ComponentAccumulator:
267 acc = ComponentAccumulator()
268 processPixels = flags.Detector.EnablePixel
269 processStrips = flags.Detector.EnableSCT
270
271 kwargs.setdefault('processPixels', processPixels)
272 kwargs.setdefault('processStrips', processStrips)
273 kwargs.setdefault('estimateParameters', flags.Tracking.ActiveConfig.storeTrackSeeds or flags.Acts.Seeds.doAnalysis)
274
275 from InDetConfig.ITkActsHelpers import isFastPrimaryPass
276 if processPixels:
277 # Seeding algo
278 kwargs.setdefault('PixelSeedingAlg.name', f'{flags.Tracking.ActiveConfig.extension}PixelSeedingAlg')
279 kwargs.setdefault('PixelSeedingAlg.useFastTracking', isFastPrimaryPass(flags))
280 kwargs.setdefault('PixelSeedingAlg.OutputSeeds', f'{flags.Tracking.ActiveConfig.extension}PixelSeeds')
281
282 pixelSpacePoints = ['PixelSpacePoints']
283 kwargs.setdefault('PixelSeedingAlg.InputSpacePoints', pixelSpacePoints)
284
285 # Setup the seed to track parameters algorithms either if we persistify them or we want to run the ActsMonitoring
286 if flags.Tracking.ActiveConfig.storeTrackSeeds or flags.Acts.Seeds.doAnalysis:
287 kwargs.setdefault('PixelSeedsToTrackParamsAlg.name', f'{flags.Tracking.ActiveConfig.extension}PixelSeedsToTrackParamsAlg')
288 kwargs.setdefault('PixelSeedsToTrackParamsAlg.extension', flags.Tracking.ActiveConfig.extension)
289 kwargs.setdefault('PixelSeedsToTrackParamsAlg.InputSeedContainerKey', kwargs['PixelSeedingAlg.OutputSeeds'])
290 kwargs.setdefault('PixelSeedsToTrackParamsAlg.OutputTrackParamsCollectionKey', f'{flags.Tracking.ActiveConfig.extension}PixelEstimatedTrackParams')
291 kwargs.setdefault('PixelSeedsToTrackParamsAlg.DetectorElementsKey' , 'PixelDetectorElementCollection')
292
293 if processStrips:
294 # Seeding algo
295 kwargs.setdefault('StripSeedingAlg.name', f'{flags.Tracking.ActiveConfig.extension}StripSeedingAlg')
296 kwargs.setdefault('StripSeedingAlg.OutputSeeds', f'{flags.Tracking.ActiveConfig.extension}SCT_Seeds')
297 kwargs.setdefault('StripSeedingAlg.InputSpacePoints', ['SCT_SpacePoints', 'OverlapSpacePoints'])
298
299 if flags.Tracking.ActiveConfig.storeTrackSeeds or flags.Acts.Seeds.doAnalysis:
300 kwargs.setdefault('StripSeedsToTrackParamsAlg.name', f'{flags.Tracking.ActiveConfig.extension}StripSeedsToTrackParamsAlg')
301 kwargs.setdefault('StripSeedsToTrackParamsAlg.extension', flags.Tracking.ActiveConfig.extension)
302 kwargs.setdefault('StripSeedsToTrackParamsAlg.InputSeedContainerKey', kwargs['StripSeedingAlg.OutputSeeds'])
303 kwargs.setdefault('StripSeedsToTrackParamsAlg.OutputTrackParamsCollectionKey', f'{flags.Tracking.ActiveConfig.extension}SCT_EstimatedTrackParams')
304 kwargs.setdefault('StripSeedsToTrackParamsAlg.DetectorElementsKey' , 'SCT_DetectorElementCollection')
305
306 acc.merge(ActsInDetMainSeedingCfg(flags, **kwargs))
307
308 if flags.Tracking.ActiveConfig.storeTrackSeeds:
309 acc.merge(ActsInDetStoreTrackSeedsCfg(flags,
310 processPixels = processPixels,
311 processStrips = processStrips))
312
313 return acc
314

◆ ActsInDetStoreTrackSeedsCfg()

ComponentAccumulator ActsSeedingInDetConfig.ActsInDetStoreTrackSeedsCfg ( flags,
* ,
bool processPixels,
bool processStrips,
**dict kwargs )

Definition at line 315 of file ActsSeedingInDetConfig.py.

319 **kwargs: dict) -> ComponentAccumulator:
320
321
322 acc = ComponentAccumulator()
323
324 seedKeyPixels = f'{flags.Tracking.ActiveConfig.extension}PixelSeeds'
325 seedKeyStrips = f'{flags.Tracking.ActiveConfig.extension}SCT_Seeds'
326 paramsKeyPixels = f'{flags.Tracking.ActiveConfig.extension}PixelEstimatedTrackParams'
327 paramsKeyStrips = f'{flags.Tracking.ActiveConfig.extension}SCT_EstimatedTrackParams'
328 trackKeyPixels = f'SiSPTracksSeedSegments{flags.Tracking.ActiveConfig.extension}PixelTracks'
329 trackKeyStrips = f'SiSPTracksSeedSegments{flags.Tracking.ActiveConfig.extension}StripTracks'
330 particleKeyPixels = f'SiSPSeedSegments{flags.Tracking.ActiveConfig.extension}PixelTrackParticles'
331 particleKeyStrips = f'SiSPSeedSegments{flags.Tracking.ActiveConfig.extension}StripTrackParticles'
332
333 trackKey = f'SiSPTracksSeedSegments{flags.Tracking.ActiveConfig.extension}Tracks'
334 particleKey = f'SiSPSeedSegments{flags.Tracking.ActiveConfig.extension}TrackParticles'
335
336 from ActsConfig.ActsSeedingConfig import ActsSeedToTrackCnvAlgCfg
337
338 if processPixels:
339 # Create track parameters from pixel seeds
340 from ActsConfig.ActsAnalysisConfig import ActsPixelSeedsToTrackParamsAlgCfg
341 acc.merge(ActsPixelSeedsToTrackParamsAlgCfg(flags,
342 name = f'{flags.Tracking.ActiveConfig.extension}PixelSeedsToTrackParamsAlg',
343 extension = flags.Tracking.ActiveConfig.extension,
344 InputSeedContainerKey = seedKeyPixels,
345 OutputTrackParamsCollectionKey = paramsKeyPixels,
346 DetectorElementsKey = 'PixelDetectorElementCollection'))
347
348 # Convert pixel seed to Acts track
349 acc.merge(ActsSeedToTrackCnvAlgCfg(flags,
350 name=f"{flags.Tracking.ActiveConfig.extension}PixelSeedToTrackCnvAlg",
351 EstimatedTrackParametersKey = [paramsKeyPixels],
352 SeedContainerKey = [seedKeyPixels],
353 ACTSTracksLocation = trackKeyPixels))
354
355 # Truth
356 if flags.Tracking.doTruth:
357 from ActsConfig.ActsTruthConfig import ActsTrackFindingValidationAlgCfg, ActsInDetTrackToTruthAssociationAlgCfg
358 acc.merge(ActsInDetTrackToTruthAssociationAlgCfg(flags,
359 name = f"{trackKeyPixels}TrackToTruthAssociationAlg",
360 ACTSTracksLocation = trackKeyPixels,
361 AssociationMapOut = f"{trackKeyPixels}ToTruthParticleAssociation"))
362
363 acc.merge(ActsTrackFindingValidationAlgCfg(flags,
364 name = f"{trackKeyPixels}TrackFindingValidationAlg",
365 TrackToTruthAssociationMap = f"{trackKeyPixels}ToTruthParticleAssociation"))
366
367 # Track Particle creation and persistification
368 # - input track collection: trackKeyPixels
369 # - output track particle collection: particleKeyPixels
370 # although the name has 'ITk', it seems okay for Inner Detector
371 from InDetConfig.ITkActsParticleCreationConfig import ITkActsTrackParticleCreationCfg
372 acc.merge(ITkActsTrackParticleCreationCfg(flags,
373 TrackContainers = [trackKeyPixels],
374 TrackParticleContainer = particleKeyPixels))
375
376
377 if processStrips:
378 # Create track parameters from strip seeds
379 from ActsConfig.ActsAnalysisConfig import ActsStripSeedsToTrackParamsAlgCfg
380 acc.merge(ActsStripSeedsToTrackParamsAlgCfg(flags,
381 name = f'{flags.Tracking.ActiveConfig.extension}StripSeedsToTrackParamsAlg',
382 extension = flags.Tracking.ActiveConfig.extension,
383 InputSeedContainerKey = seedKeyStrips,
384 OutputTrackParamsCollectionKey = paramsKeyStrips,
385 DetectorElementsKey = 'SCT_DetectorElementCollection'))
386
387 # Convert strip seed to Acts track
388 acc.merge(ActsSeedToTrackCnvAlgCfg(flags,
389 name=f"{flags.Tracking.ActiveConfig.extension}StripSeedToTrackCnvAlg",
390 EstimatedTrackParametersKey = [paramsKeyStrips],
391 SeedContainerKey = [seedKeyStrips],
392 ACTSTracksLocation = trackKeyStrips))
393
394 # Truth
395 if flags.Tracking.doTruth:
396 from ActsConfig.ActsTruthConfig import ActsTrackFindingValidationAlgCfg, ActsInDetTrackToTruthAssociationAlgCfg
397 acc.merge(ActsInDetTrackToTruthAssociationAlgCfg(flags,
398 name=f"{trackKeyStrips}TrackToTruthAssociationAlg",
399 ACTSTracksLocation = trackKeyStrips,
400 AssociationMapOut = f"{trackKeyStrips}ToTruthParticleAssociation"))
401
402 acc.merge(ActsTrackFindingValidationAlgCfg(flags,
403 name = f"{trackKeyStrips}TrackFindingValidationAlg",
404 TrackToTruthAssociationMap = f"{trackKeyStrips}ToTruthParticleAssociation"))
405
406 # Track Particle creation and persistification
407 # - input track collection: trackKeyStrips
408 # - output track particle collection: particleKeyStrips
409 from InDetConfig.ITkActsParticleCreationConfig import ITkActsTrackParticleCreationCfg
410 acc.merge(ITkActsTrackParticleCreationCfg(flags,
411 TrackContainers = [trackKeyStrips],
412 TrackParticleContainer = particleKeyStrips))
413
414 # If both pixel and strips are processed, also make track particles from the sum
415 # This will provide the complete seed efficiency for ACTS
416 if processPixels and processStrips:
417 # Parameter estimation has already been performed
418 # Convert seeds to Acts tracks
419 acc.merge(ActsSeedToTrackCnvAlgCfg(flags,
420 name=f"{flags.Tracking.ActiveConfig.extension}SeedToTrackCnvAlg",
421 EstimatedTrackParametersKey = [paramsKeyPixels, paramsKeyStrips],
422 SeedContainerKey = [seedKeyPixels, seedKeyStrips],
423 ACTSTracksLocation = trackKey))
424
425 # Truth
426 if flags.Tracking.doTruth:
427 from ActsConfig.ActsTruthConfig import ActsTrackFindingValidationAlgCfg, ActsInDetTrackToTruthAssociationAlgCfg
428 acc.merge(ActsInDetTrackToTruthAssociationAlgCfg(flags,
429 name=f"{trackKey}TrackToTruthAssociationAlg",
430 ACTSTracksLocation = trackKey,
431 AssociationMapOut = f"{trackKey}ToTruthParticleAssociation"))
432
433 acc.merge(ActsTrackFindingValidationAlgCfg(flags,
434 name = f"{trackKey}TrackFindingValidationAlg",
435 TrackToTruthAssociationMap = f"{trackKey}ToTruthParticleAssociation"))
436
437 # Track Particle creation and persistification
438 # - input track collection: trackKey
439 # - output track particle collection: particleKey
440 from InDetConfig.ITkActsParticleCreationConfig import ITkActsTrackParticleCreationCfg
441 acc.merge(ITkActsTrackParticleCreationCfg(flags,
442 TrackContainers = [trackKey],
443 TrackParticleContainer = particleKey))
444
445 return acc

◆ ActsInDetStripSeedingAlgCfg()

ComponentAccumulator ActsSeedingInDetConfig.ActsInDetStripSeedingAlgCfg ( flags,
str name = 'ActsInDetStripSeedingAlg',
** kwargs )

Definition at line 210 of file ActsSeedingInDetConfig.py.

212 **kwargs) -> ComponentAccumulator:
213 acc = ComponentAccumulator()
214
215 # Beam Spot Cond is a requirement
216 from BeamSpotConditions.BeamSpotConditionsConfig import BeamSpotCondAlgCfg
217 acc.merge(BeamSpotCondAlgCfg(flags))
218
219 from MagFieldServices.MagFieldServicesConfig import AtlasFieldCacheCondAlgCfg
220 acc.merge(AtlasFieldCacheCondAlgCfg(flags))
221
222 from SCT_GeoModel.SCT_GeoModelConfig import SCT_ReadoutGeometryCfg
223 acc.merge(SCT_ReadoutGeometryCfg(flags))
224
225 if "SeedTool" not in kwargs:
226 kwargs.setdefault('SeedTool', acc.popToolsAndMerge(ActsInDetStripSeedingToolCfg(flags)))
227
228 kwargs.setdefault('InputSpacePoints', ['SCT_SpacePoints', 'OverlapSpacePoints'])
229 kwargs.setdefault('OutputSeeds', 'ActsSCT_Seeds')
230 kwargs.setdefault('UsePixel', False)
231
232 if flags.Acts.doMonitoring and 'MonTool' not in kwargs:
233 pass
234
235 acc.addEventAlgo(CompFactory.ActsTrk.SeedingAlg(name, **kwargs))
236 return acc
237
238

◆ ActsInDetStripSeedingToolCfg()

ComponentAccumulator ActsSeedingInDetConfig.ActsInDetStripSeedingToolCfg ( flags,
str name = "ActsInDetStripSeedingTool",
** kwargs )

Definition at line 92 of file ActsSeedingInDetConfig.py.

94 **kwargs) -> ComponentAccumulator:
95 acc = ComponentAccumulator()
96
97
98 impactMax = 20. * ActsUnits.mm
99 collisionRegionAbsMax = 200. * ActsUnits.mm
100
101 kwargs.setdefault("doSeedQualitySelection", False)
102 # For SpacePointGridConfig
103 kwargs.setdefault("gridRMax" , 600. * ActsUnits.mm)
104 kwargs.setdefault("deltaRMin" , 10. * ActsUnits.mm)
105 kwargs.setdefault("deltaRMax" , 600. * ActsUnits.mm)
106 kwargs.setdefault("impactMax" , impactMax)
107 # For SeedfinderConfig
108 kwargs.setdefault("rMax" , flags.Tracking.ActiveConfig.radMax)
109 kwargs.setdefault("deltaRMinTopSP" , 10. * ActsUnits.mm)
110 kwargs.setdefault("deltaRMaxTopSP" , 300. * ActsUnits.mm)
111 kwargs.setdefault("deltaRMinBottomSP" , 10. * ActsUnits.mm)
112 kwargs.setdefault("deltaRMaxBottomSP" , 300. * ActsUnits.mm)
113 kwargs.setdefault("deltaZMax" , 900. * ActsUnits.mm)
114 kwargs.setdefault("interactionPointCut" , False)
115
116 kwargs.setdefault("deltaRMiddleMinSPRange" , 5 * ActsUnits.mm)
117 kwargs.setdefault("deltaRMiddleMaxSPRange" , 5 * ActsUnits.mm)
118 kwargs.setdefault("useDetailedDoubleMeasurementInfo" , True)
119 kwargs.setdefault("maxPtScattering", float("inf"))
120 # For SeedFilterConfig
121 kwargs.setdefault("useDeltaRorTopRadius" , False)
122 kwargs.setdefault("seedConfirmationInFilter" , False)
123 kwargs.setdefault("impactWeightFactor" , 1.)
124 kwargs.setdefault("compatSeedLimit" , 4)
125 kwargs.setdefault("numSeedIncrement" , 1.)
126 kwargs.setdefault("seedWeightIncrement" , 10100.)
127 kwargs.setdefault("maxSeedsPerSpMConf" , 100)
128 kwargs.setdefault("maxQualitySeedsPerSpMConf" , 100)
129 # For seeding algorithm
130 kwargs.setdefault("zBinNeighborsTop", [
131 (0, 0), (-1, 0), (-1, 0), (-1, 0), (-1, 0), (-1, 1),
132 (0, 1), (0, 1), (0, 1), (0, 1), (0, 0)
133 ])
134 kwargs.setdefault("zBinNeighborsBottom", [
135 (0, 0), (0, 1), (0, 1), (0, 2), (0, 1), (0, 0),
136 (-1, 0), (-2, 0), (-1, 0), (-1, 0), (0, 0)
137 ])
138 kwargs.setdefault("zBinsCustomLooping" , [6, 7, 8, 9, 10, 11, 5, 4, 3, 2, 1])
139 kwargs.setdefault("zBinEdges", [ -2800. , -2500. , -1400. , -925. , -450. , -250. , 250. , 450. , 925. , 1400. , 2500. , 2800.])
140
141 kwargs.setdefault("rBinEdges", [0, kwargs['rMax']])
142 kwargs.setdefault("collisionRegionMin", -1. * collisionRegionAbsMax)
143 kwargs.setdefault("collisionRegionMax", collisionRegionAbsMax)
144
145 kwargs.setdefault("minPt", flags.Tracking.ActiveConfig.minPT / GaudiUnits.GeV * ActsUnits.GeV)
146 kwargs.setdefault("cotThetaMax" , 7.40626311) # eta = 2.7
147 kwargs.setdefault("zMax", 2800 * ActsUnits.mm)
148 kwargs.setdefault("zMin", -2800 * ActsUnits.mm)
149
150 kwargs.setdefault("phiBinDeflectionCoverage" , 1)
151 kwargs.setdefault("maxPhiBins" , 200)
152 kwargs.setdefault("sigmaScattering", 5.0)
153 kwargs.setdefault("maxSeedsPerSpM" , 5)
154
155 # Seed confirmation
156 kwargs.setdefault("seedConfirmation" , True)
157 kwargs.setdefault("seedConfCentralZMin", -450.0 * ActsUnits.mm)
158 kwargs.setdefault("seedConfCentralZMax", 450.0 * ActsUnits.mm)
159 kwargs.setdefault("seedConfCentralRMax", 140.0 * ActsUnits.mm)
160 kwargs.setdefault("seedConfCentralNTopLargeR", 1)
161 kwargs.setdefault("seedConfCentralNTopSmallR", 2)
162 kwargs.setdefault("seedConfCentralMinBottomRadius", 40.0 * ActsUnits.mm)
163 kwargs.setdefault("seedConfCentralMaxZOrigin", 200.0 * ActsUnits.mm)
164 kwargs.setdefault("seedConfCentralMinImpact", 1.0 * ActsUnits.mm)
165 kwargs.setdefault("seedConfForwardZMin", -2800.0 * ActsUnits.mm)
166 kwargs.setdefault("seedConfForwardZMax", 2800.0 * ActsUnits.mm)
167 kwargs.setdefault("seedConfForwardRMax", 140.0 * ActsUnits.mm)
168 kwargs.setdefault("seedConfForwardNTopLargeR", 1)
169 kwargs.setdefault("seedConfForwardNTopSmallR", 2)
170 kwargs.setdefault("seedConfForwardMinBottomRadius", 40.0 * ActsUnits.mm)
171 kwargs.setdefault("seedConfForwardMaxZOrigin", 200.0 * ActsUnits.mm)
172 kwargs.setdefault("seedConfForwardMinImpact", 1.0 * ActsUnits.mm)
173
174 acc.setPrivateTools(CompFactory.ActsTrk.SeedingTool(name, **kwargs))
175 return acc
176
177# ACTS algorithm using Athena objects upstream