11 name: str =
"ActsInDetPixelSeedingTool",
12 **kwargs) -> ComponentAccumulator:
13 acc = ComponentAccumulator()
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", [
37 kwargs.setdefault(
"cotThetaMax" , 7.40626311)
38 kwargs.setdefault(
"zMax", 2800. * ActsUnits.mm)
39 kwargs.setdefault(
"zMin", -2800. * ActsUnits.mm)
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)
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)
65 kwargs.setdefault(
"doSeedQualitySelection",
True)
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)
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)
86 kwargs.setdefault(
"seedConfirmation" ,
True)
87 kwargs.setdefault(
"seedConfirmationInFilter",
False)
89 acc.setPrivateTools(CompFactory.ActsTrk.SeedingTool(name, **kwargs))
93 name: str =
"ActsInDetStripSeedingTool",
94 **kwargs) -> ComponentAccumulator:
95 acc = ComponentAccumulator()
98 impactMax = 20. * ActsUnits.mm
99 collisionRegionAbsMax = 200. * ActsUnits.mm
101 kwargs.setdefault(
"doSeedQualitySelection",
False)
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)
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)
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"))
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)
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)
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)
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.])
141 kwargs.setdefault(
"rBinEdges", [0, kwargs[
'rMax']])
142 kwargs.setdefault(
"collisionRegionMin", -1. * collisionRegionAbsMax)
143 kwargs.setdefault(
"collisionRegionMax", collisionRegionAbsMax)
145 kwargs.setdefault(
"minPt", flags.Tracking.ActiveConfig.minPT / GaudiUnits.GeV * ActsUnits.GeV)
146 kwargs.setdefault(
"cotThetaMax" , 7.40626311)
147 kwargs.setdefault(
"zMax", 2800 * ActsUnits.mm)
148 kwargs.setdefault(
"zMin", -2800 * ActsUnits.mm)
150 kwargs.setdefault(
"phiBinDeflectionCoverage" , 1)
151 kwargs.setdefault(
"maxPhiBins" , 200)
152 kwargs.setdefault(
"sigmaScattering", 5.0)
153 kwargs.setdefault(
"maxSeedsPerSpM" , 5)
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)
174 acc.setPrivateTools(CompFactory.ActsTrk.SeedingTool(name, **kwargs))
240 **kwargs) -> ComponentAccumulator:
241 acc = ComponentAccumulator()
243 kwargs.setdefault(
'processPixels', flags.Detector.EnablePixel)
244 kwargs.setdefault(
'processStrips', flags.Detector.EnableSCT)
245 kwargs.setdefault(
'estimateParameters', flags.Acts.Seeds.doAnalysis)
247 if kwargs[
'processPixels']:
249 if kwargs[
'processStrips']:
253 if kwargs[
'estimateParameters']:
254 if kwargs[
'processPixels']:
255 from ActsConfig.ActsAnalysisConfig
import ActsPixelSeedsToTrackParamsAlgCfg
256 acc.merge(ActsPixelSeedsToTrackParamsAlgCfg(flags,
257 **extractChildKwargs(prefix=
'PixelSeedsToTrackParamsAlg.', **kwargs)))
259 if kwargs[
'processStrips']:
260 from ActsConfig.ActsAnalysisConfig
import ActsStripSeedsToTrackParamsAlgCfg
261 acc.merge(ActsStripSeedsToTrackParamsAlgCfg(flags,
262 **extractChildKwargs(prefix=
'StripSeedsToTrackParamsAlg.', **kwargs)))
267 acc = ComponentAccumulator()
268 processPixels = flags.Detector.EnablePixel
269 processStrips = flags.Detector.EnableSCT
271 kwargs.setdefault(
'processPixels', processPixels)
272 kwargs.setdefault(
'processStrips', processStrips)
273 kwargs.setdefault(
'estimateParameters', flags.Tracking.ActiveConfig.storeTrackSeeds
or flags.Acts.Seeds.doAnalysis)
275 from InDetConfig.ITkActsHelpers
import isFastPrimaryPass
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')
282 pixelSpacePoints = [
'PixelSpacePoints']
283 kwargs.setdefault(
'PixelSeedingAlg.InputSpacePoints', pixelSpacePoints)
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')
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'])
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')
308 if flags.Tracking.ActiveConfig.storeTrackSeeds:
310 processPixels = processPixels,
311 processStrips = processStrips))
319 **kwargs: dict) -> ComponentAccumulator:
322 acc = ComponentAccumulator()
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'
333 trackKey = f
'SiSPTracksSeedSegments{flags.Tracking.ActiveConfig.extension}Tracks'
334 particleKey = f
'SiSPSeedSegments{flags.Tracking.ActiveConfig.extension}TrackParticles'
336 from ActsConfig.ActsSeedingConfig
import ActsSeedToTrackCnvAlgCfg
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'))
349 acc.merge(ActsSeedToTrackCnvAlgCfg(flags,
350 name=f
"{flags.Tracking.ActiveConfig.extension}PixelSeedToTrackCnvAlg",
351 EstimatedTrackParametersKey = [paramsKeyPixels],
352 SeedContainerKey = [seedKeyPixels],
353 ACTSTracksLocation = trackKeyPixels))
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"))
363 acc.merge(ActsTrackFindingValidationAlgCfg(flags,
364 name = f
"{trackKeyPixels}TrackFindingValidationAlg",
365 TrackToTruthAssociationMap = f
"{trackKeyPixels}ToTruthParticleAssociation"))
371 from InDetConfig.ITkActsParticleCreationConfig
import ITkActsTrackParticleCreationCfg
372 acc.merge(ITkActsTrackParticleCreationCfg(flags,
373 TrackContainers = [trackKeyPixels],
374 TrackParticleContainer = particleKeyPixels))
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'))
388 acc.merge(ActsSeedToTrackCnvAlgCfg(flags,
389 name=f
"{flags.Tracking.ActiveConfig.extension}StripSeedToTrackCnvAlg",
390 EstimatedTrackParametersKey = [paramsKeyStrips],
391 SeedContainerKey = [seedKeyStrips],
392 ACTSTracksLocation = trackKeyStrips))
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"))
402 acc.merge(ActsTrackFindingValidationAlgCfg(flags,
403 name = f
"{trackKeyStrips}TrackFindingValidationAlg",
404 TrackToTruthAssociationMap = f
"{trackKeyStrips}ToTruthParticleAssociation"))
409 from InDetConfig.ITkActsParticleCreationConfig
import ITkActsTrackParticleCreationCfg
410 acc.merge(ITkActsTrackParticleCreationCfg(flags,
411 TrackContainers = [trackKeyStrips],
412 TrackParticleContainer = particleKeyStrips))
416 if processPixels
and processStrips:
419 acc.merge(ActsSeedToTrackCnvAlgCfg(flags,
420 name=f
"{flags.Tracking.ActiveConfig.extension}SeedToTrackCnvAlg",
421 EstimatedTrackParametersKey = [paramsKeyPixels, paramsKeyStrips],
422 SeedContainerKey = [seedKeyPixels, seedKeyStrips],
423 ACTSTracksLocation = trackKey))
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"))
433 acc.merge(ActsTrackFindingValidationAlgCfg(flags,
434 name = f
"{trackKey}TrackFindingValidationAlg",
435 TrackToTruthAssociationMap = f
"{trackKey}ToTruthParticleAssociation"))
440 from InDetConfig.ITkActsParticleCreationConfig
import ITkActsTrackParticleCreationCfg
441 acc.merge(ITkActsTrackParticleCreationCfg(flags,
442 TrackContainers = [trackKey],
443 TrackParticleContainer = particleKey))