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(
"useHVCollisionRegion", flags.Tracking.ActiveConfig.useHoughVertexFilter)
66 kwargs.setdefault(
"hvCollisionRegionTolerance", 10. * ActsUnits.mm)
67 kwargs.setdefault(
"inputHoughVtx",
"HoughVertices" if flags.Tracking.ActiveConfig.useHoughVertexFilter
else "")
68 kwargs.setdefault(
"doSeedQualitySelection",
True)
71 kwargs.setdefault(
"seedConfCentralZMin", -450.0 * ActsUnits.mm)
72 kwargs.setdefault(
"seedConfCentralZMax", 450.0 * ActsUnits.mm)
73 kwargs.setdefault(
"seedConfCentralRMax", 140.0 * ActsUnits.mm)
74 kwargs.setdefault(
"seedConfCentralNTopLargeR", 0)
75 kwargs.setdefault(
"seedConfCentralNTopSmallR", 0)
76 kwargs.setdefault(
"seedConfCentralMinBottomRadius", 40.0 * ActsUnits.mm)
77 kwargs.setdefault(
"seedConfCentralMaxZOrigin", 200.0 * ActsUnits.mm)
78 kwargs.setdefault(
"seedConfCentralMinImpact", 1.0 * ActsUnits.mm)
80 kwargs.setdefault(
"seedConfForwardZMin", -2800.0 * ActsUnits.mm)
81 kwargs.setdefault(
"seedConfForwardZMax", 2800.0 * ActsUnits.mm)
82 kwargs.setdefault(
"seedConfForwardRMax", 140.0 * ActsUnits.mm)
83 kwargs.setdefault(
"seedConfForwardNTopLargeR", 0)
84 kwargs.setdefault(
"seedConfForwardNTopSmallR", 0)
85 kwargs.setdefault(
"seedConfForwardMinBottomRadius", 40.0 * ActsUnits.mm)
86 kwargs.setdefault(
"seedConfForwardMaxZOrigin", 200.0 * ActsUnits.mm)
87 kwargs.setdefault(
"seedConfForwardMinImpact", 1.0 * ActsUnits.mm)
89 kwargs.setdefault(
"seedConfirmation" ,
True)
90 kwargs.setdefault(
"seedConfirmationInFilter",
False)
92 acc.setPrivateTools(CompFactory.ActsTrk.GridTripletSeedingTool(name, **kwargs))
96 name: str =
"ActsInDetStripSeedingTool",
97 **kwargs) -> ComponentAccumulator:
98 acc = ComponentAccumulator()
101 impactMax = 20. * ActsUnits.mm
102 collisionRegionAbsMax = 200. * ActsUnits.mm
104 kwargs.setdefault(
"doSeedQualitySelection",
False)
106 kwargs.setdefault(
"gridRMax" , 600. * ActsUnits.mm)
107 kwargs.setdefault(
"deltaRMin" , 10. * ActsUnits.mm)
108 kwargs.setdefault(
"deltaRMax" , 600. * ActsUnits.mm)
109 kwargs.setdefault(
"impactMax" , impactMax)
111 kwargs.setdefault(
"rMax" , flags.Tracking.ActiveConfig.radMax)
112 kwargs.setdefault(
"deltaRMinTopSP" , 10. * ActsUnits.mm)
113 kwargs.setdefault(
"deltaRMaxTopSP" , 300. * ActsUnits.mm)
114 kwargs.setdefault(
"deltaRMinBottomSP" , 10. * ActsUnits.mm)
115 kwargs.setdefault(
"deltaRMaxBottomSP" , 300. * ActsUnits.mm)
116 kwargs.setdefault(
"deltaZMax" , 900. * ActsUnits.mm)
117 kwargs.setdefault(
"interactionPointCut" ,
False)
119 kwargs.setdefault(
"deltaRMiddleMinSPRange" , 5 * ActsUnits.mm)
120 kwargs.setdefault(
"deltaRMiddleMaxSPRange" , 5 * ActsUnits.mm)
121 kwargs.setdefault(
"useDetailedDoubleMeasurementInfo" ,
True)
122 kwargs.setdefault(
"maxPtScattering", float(
"inf"))
124 kwargs.setdefault(
"useDeltaRorTopRadius" ,
False)
125 kwargs.setdefault(
"seedConfirmationInFilter" ,
False)
126 kwargs.setdefault(
"impactWeightFactor" , 1.)
127 kwargs.setdefault(
"compatSeedLimit" , 4)
128 kwargs.setdefault(
"numSeedIncrement" , 1.)
129 kwargs.setdefault(
"seedWeightIncrement" , 10100.)
130 kwargs.setdefault(
"maxSeedsPerSpMConf" , 100)
131 kwargs.setdefault(
"maxQualitySeedsPerSpMConf" , 100)
133 kwargs.setdefault(
"zBinNeighborsTop", [
134 (0, 0), (-1, 0), (-1, 0), (-1, 0), (-1, 0), (-1, 1),
135 (0, 1), (0, 1), (0, 1), (0, 1), (0, 0)
137 kwargs.setdefault(
"zBinNeighborsBottom", [
138 (0, 0), (0, 1), (0, 1), (0, 2), (0, 1), (0, 0),
139 (-1, 0), (-2, 0), (-1, 0), (-1, 0), (0, 0)
141 kwargs.setdefault(
"zBinsCustomLooping" , [6, 7, 8, 9, 10, 11, 5, 4, 3, 2, 1])
142 kwargs.setdefault(
"zBinEdges", [ -2800. , -2500. , -1400. , -925. , -450. , -250. , 250. , 450. , 925. , 1400. , 2500. , 2800.])
144 kwargs.setdefault(
"rBinEdges", [0, kwargs[
'rMax']])
145 kwargs.setdefault(
"collisionRegionMin", -1. * collisionRegionAbsMax)
146 kwargs.setdefault(
"collisionRegionMax", collisionRegionAbsMax)
147 kwargs.setdefault(
"useHVCollisionRegion", flags.Tracking.ActiveConfig.useHoughVertexFilter)
148 kwargs.setdefault(
"hvCollisionRegionTolerance", 10. * ActsUnits.mm)
149 kwargs.setdefault(
"inputHoughVtx",
"HoughVertices" if flags.Tracking.ActiveConfig.useHoughVertexFilter
else "")
151 kwargs.setdefault(
"minPt", flags.Tracking.ActiveConfig.minPT / GaudiUnits.GeV * ActsUnits.GeV)
152 kwargs.setdefault(
"cotThetaMax" , 7.40626311)
153 kwargs.setdefault(
"zMax", 2800 * ActsUnits.mm)
154 kwargs.setdefault(
"zMin", -2800 * ActsUnits.mm)
156 kwargs.setdefault(
"phiBinDeflectionCoverage" , 1)
157 kwargs.setdefault(
"maxPhiBins" , 200)
158 kwargs.setdefault(
"sigmaScattering", 5.0)
159 kwargs.setdefault(
"maxSeedsPerSpM" , 5)
162 kwargs.setdefault(
"seedConfirmation" ,
True)
163 kwargs.setdefault(
"seedConfCentralZMin", -450.0 * ActsUnits.mm)
164 kwargs.setdefault(
"seedConfCentralZMax", 450.0 * ActsUnits.mm)
165 kwargs.setdefault(
"seedConfCentralRMax", 140.0 * ActsUnits.mm)
166 kwargs.setdefault(
"seedConfCentralNTopLargeR", 1)
167 kwargs.setdefault(
"seedConfCentralNTopSmallR", 2)
168 kwargs.setdefault(
"seedConfCentralMinBottomRadius", 40.0 * ActsUnits.mm)
169 kwargs.setdefault(
"seedConfCentralMaxZOrigin", 200.0 * ActsUnits.mm)
170 kwargs.setdefault(
"seedConfCentralMinImpact", 1.0 * ActsUnits.mm)
171 kwargs.setdefault(
"seedConfForwardZMin", -2800.0 * ActsUnits.mm)
172 kwargs.setdefault(
"seedConfForwardZMax", 2800.0 * ActsUnits.mm)
173 kwargs.setdefault(
"seedConfForwardRMax", 140.0 * ActsUnits.mm)
174 kwargs.setdefault(
"seedConfForwardNTopLargeR", 1)
175 kwargs.setdefault(
"seedConfForwardNTopSmallR", 2)
176 kwargs.setdefault(
"seedConfForwardMinBottomRadius", 40.0 * ActsUnits.mm)
177 kwargs.setdefault(
"seedConfForwardMaxZOrigin", 200.0 * ActsUnits.mm)
178 kwargs.setdefault(
"seedConfForwardMinImpact", 1.0 * ActsUnits.mm)
180 acc.setPrivateTools(CompFactory.ActsTrk.GridTripletSeedingTool(name, **kwargs))
246 **kwargs) -> ComponentAccumulator:
247 acc = ComponentAccumulator()
249 kwargs.setdefault(
'processPixels', flags.Detector.EnablePixel)
250 kwargs.setdefault(
'processStrips', flags.Detector.EnableSCT)
251 kwargs.setdefault(
'estimateParameters', flags.Acts.Seeds.doAnalysis)
253 if kwargs[
'processPixels']:
255 if kwargs[
'processStrips']:
259 if kwargs[
'estimateParameters']:
260 if kwargs[
'processPixels']:
261 from ActsConfig.ActsAnalysisConfig
import ActsPixelSeedsToTrackParamsAlgCfg
262 acc.merge(ActsPixelSeedsToTrackParamsAlgCfg(flags,
263 **extractChildKwargs(prefix=
'PixelSeedsToTrackParamsAlg.', **kwargs)))
265 if kwargs[
'processStrips']:
266 from ActsConfig.ActsAnalysisConfig
import ActsStripSeedsToTrackParamsAlgCfg
267 acc.merge(ActsStripSeedsToTrackParamsAlgCfg(flags,
268 **extractChildKwargs(prefix=
'StripSeedsToTrackParamsAlg.', **kwargs)))
273 acc = ComponentAccumulator()
274 processPixels = flags.Detector.EnablePixel
275 processStrips = flags.Detector.EnableSCT
277 kwargs.setdefault(
'processPixels', processPixels)
278 kwargs.setdefault(
'processStrips', processStrips)
279 kwargs.setdefault(
'estimateParameters', flags.Tracking.ActiveConfig.storeTrackSeeds
or flags.Acts.Seeds.doAnalysis)
281 from InDetConfig.ITkActsHelpers
import isFastPrimaryPass
284 kwargs.setdefault(
'PixelSeedingAlg.name', f
'{flags.Tracking.ActiveConfig.extension}PixelSeedingAlg')
285 kwargs.setdefault(
'PixelSeedingAlg.useFastTracking', isFastPrimaryPass(flags))
286 kwargs.setdefault(
'PixelSeedingAlg.OutputSeeds', f
'{flags.Tracking.ActiveConfig.extension}PixelSeeds')
288 pixelSpacePoints = [
'PixelSpacePoints']
289 kwargs.setdefault(
'PixelSeedingAlg.InputSpacePoints', pixelSpacePoints)
292 if flags.Tracking.ActiveConfig.storeTrackSeeds
or flags.Acts.Seeds.doAnalysis:
293 kwargs.setdefault(
'PixelSeedsToTrackParamsAlg.name', f
'{flags.Tracking.ActiveConfig.extension}PixelSeedsToTrackParamsAlg')
294 kwargs.setdefault(
'PixelSeedsToTrackParamsAlg.extension', flags.Tracking.ActiveConfig.extension)
295 kwargs.setdefault(
'PixelSeedsToTrackParamsAlg.InputSeedContainerKey', kwargs[
'PixelSeedingAlg.OutputSeeds'])
296 kwargs.setdefault(
'PixelSeedsToTrackParamsAlg.OutputTrackParamsCollectionKey', f
'{flags.Tracking.ActiveConfig.extension}PixelEstimatedTrackParams')
297 kwargs.setdefault(
'PixelSeedsToTrackParamsAlg.DetectorElementsKey' ,
'PixelDetectorElementCollection')
301 kwargs.setdefault(
'StripSeedingAlg.name', f
'{flags.Tracking.ActiveConfig.extension}StripSeedingAlg')
302 kwargs.setdefault(
'StripSeedingAlg.OutputSeeds', f
'{flags.Tracking.ActiveConfig.extension}SCT_Seeds')
303 kwargs.setdefault(
'StripSeedingAlg.InputSpacePoints', [
'SCT_SpacePoints',
'OverlapSpacePoints'])
305 if flags.Tracking.ActiveConfig.storeTrackSeeds
or flags.Acts.Seeds.doAnalysis:
306 kwargs.setdefault(
'StripSeedsToTrackParamsAlg.name', f
'{flags.Tracking.ActiveConfig.extension}StripSeedsToTrackParamsAlg')
307 kwargs.setdefault(
'StripSeedsToTrackParamsAlg.extension', flags.Tracking.ActiveConfig.extension)
308 kwargs.setdefault(
'StripSeedsToTrackParamsAlg.InputSeedContainerKey', kwargs[
'StripSeedingAlg.OutputSeeds'])
309 kwargs.setdefault(
'StripSeedsToTrackParamsAlg.OutputTrackParamsCollectionKey', f
'{flags.Tracking.ActiveConfig.extension}SCT_EstimatedTrackParams')
310 kwargs.setdefault(
'StripSeedsToTrackParamsAlg.DetectorElementsKey' ,
'SCT_DetectorElementCollection')
314 if flags.Tracking.ActiveConfig.storeTrackSeeds:
316 processPixels = processPixels,
317 processStrips = processStrips))
325 **kwargs: dict) -> ComponentAccumulator:
328 acc = ComponentAccumulator()
330 seedKeyPixels = f
'{flags.Tracking.ActiveConfig.extension}PixelSeeds'
331 seedKeyStrips = f
'{flags.Tracking.ActiveConfig.extension}SCT_Seeds'
332 paramsKeyPixels = f
'{flags.Tracking.ActiveConfig.extension}PixelEstimatedTrackParams'
333 paramsKeyStrips = f
'{flags.Tracking.ActiveConfig.extension}SCT_EstimatedTrackParams'
334 trackKeyPixels = f
'SiSPTracksSeedSegments{flags.Tracking.ActiveConfig.extension}PixelTracks'
335 trackKeyStrips = f
'SiSPTracksSeedSegments{flags.Tracking.ActiveConfig.extension}StripTracks'
336 particleKeyPixels = f
'SiSPSeedSegments{flags.Tracking.ActiveConfig.extension}PixelTrackParticles'
337 particleKeyStrips = f
'SiSPSeedSegments{flags.Tracking.ActiveConfig.extension}StripTrackParticles'
339 trackKey = f
'SiSPTracksSeedSegments{flags.Tracking.ActiveConfig.extension}Tracks'
340 particleKey = f
'SiSPSeedSegments{flags.Tracking.ActiveConfig.extension}TrackParticles'
342 from ActsConfig.ActsSeedingConfig
import ActsSeedToTrackCnvAlgCfg
346 from ActsConfig.ActsAnalysisConfig
import ActsPixelSeedsToTrackParamsAlgCfg
347 acc.merge(ActsPixelSeedsToTrackParamsAlgCfg(flags,
348 name = f
'{flags.Tracking.ActiveConfig.extension}PixelSeedsToTrackParamsAlg',
349 extension = flags.Tracking.ActiveConfig.extension,
350 InputSeedContainerKey = seedKeyPixels,
351 OutputTrackParamsCollectionKey = paramsKeyPixels,
352 DetectorElementsKey =
'PixelDetectorElementCollection'))
355 acc.merge(ActsSeedToTrackCnvAlgCfg(flags,
356 name=f
"{flags.Tracking.ActiveConfig.extension}PixelSeedToTrackCnvAlg",
357 EstimatedTrackParametersKey = [paramsKeyPixels],
358 SeedContainerKey = [seedKeyPixels],
359 ACTSTracksLocation = trackKeyPixels))
362 if flags.Tracking.doTruth:
363 from ActsConfig.ActsTruthConfig
import ActsTrackFindingValidationAlgCfg, ActsInDetTrackToTruthAssociationAlgCfg
364 acc.merge(ActsInDetTrackToTruthAssociationAlgCfg(flags,
365 name = f
"{trackKeyPixels}TrackToTruthAssociationAlg",
366 ACTSTracksLocation = trackKeyPixels,
367 AssociationMapOut = f
"{trackKeyPixels}ToTruthParticleAssociation"))
369 acc.merge(ActsTrackFindingValidationAlgCfg(flags,
370 name = f
"{trackKeyPixels}TrackFindingValidationAlg",
371 TrackToTruthAssociationMap = f
"{trackKeyPixels}ToTruthParticleAssociation"))
377 from InDetConfig.ITkActsParticleCreationConfig
import ITkActsTrackParticleCreationCfg
378 acc.merge(ITkActsTrackParticleCreationCfg(flags,
379 TrackContainers = [trackKeyPixels],
380 TrackParticleContainer = particleKeyPixels))
385 from ActsConfig.ActsAnalysisConfig
import ActsStripSeedsToTrackParamsAlgCfg
386 acc.merge(ActsStripSeedsToTrackParamsAlgCfg(flags,
387 name = f
'{flags.Tracking.ActiveConfig.extension}StripSeedsToTrackParamsAlg',
388 extension = flags.Tracking.ActiveConfig.extension,
389 InputSeedContainerKey = seedKeyStrips,
390 OutputTrackParamsCollectionKey = paramsKeyStrips,
391 DetectorElementsKey =
'SCT_DetectorElementCollection'))
394 acc.merge(ActsSeedToTrackCnvAlgCfg(flags,
395 name=f
"{flags.Tracking.ActiveConfig.extension}StripSeedToTrackCnvAlg",
396 EstimatedTrackParametersKey = [paramsKeyStrips],
397 SeedContainerKey = [seedKeyStrips],
398 ACTSTracksLocation = trackKeyStrips))
401 if flags.Tracking.doTruth:
402 from ActsConfig.ActsTruthConfig
import ActsTrackFindingValidationAlgCfg, ActsInDetTrackToTruthAssociationAlgCfg
403 acc.merge(ActsInDetTrackToTruthAssociationAlgCfg(flags,
404 name=f
"{trackKeyStrips}TrackToTruthAssociationAlg",
405 ACTSTracksLocation = trackKeyStrips,
406 AssociationMapOut = f
"{trackKeyStrips}ToTruthParticleAssociation"))
408 acc.merge(ActsTrackFindingValidationAlgCfg(flags,
409 name = f
"{trackKeyStrips}TrackFindingValidationAlg",
410 TrackToTruthAssociationMap = f
"{trackKeyStrips}ToTruthParticleAssociation"))
415 from InDetConfig.ITkActsParticleCreationConfig
import ITkActsTrackParticleCreationCfg
416 acc.merge(ITkActsTrackParticleCreationCfg(flags,
417 TrackContainers = [trackKeyStrips],
418 TrackParticleContainer = particleKeyStrips))
422 if processPixels
and processStrips:
425 acc.merge(ActsSeedToTrackCnvAlgCfg(flags,
426 name=f
"{flags.Tracking.ActiveConfig.extension}SeedToTrackCnvAlg",
427 EstimatedTrackParametersKey = [paramsKeyPixels, paramsKeyStrips],
428 SeedContainerKey = [seedKeyPixels, seedKeyStrips],
429 ACTSTracksLocation = trackKey))
432 if flags.Tracking.doTruth:
433 from ActsConfig.ActsTruthConfig
import ActsTrackFindingValidationAlgCfg, ActsInDetTrackToTruthAssociationAlgCfg
434 acc.merge(ActsInDetTrackToTruthAssociationAlgCfg(flags,
435 name=f
"{trackKey}TrackToTruthAssociationAlg",
436 ACTSTracksLocation = trackKey,
437 AssociationMapOut = f
"{trackKey}ToTruthParticleAssociation"))
439 acc.merge(ActsTrackFindingValidationAlgCfg(flags,
440 name = f
"{trackKey}TrackFindingValidationAlg",
441 TrackToTruthAssociationMap = f
"{trackKey}ToTruthParticleAssociation"))
446 from InDetConfig.ITkActsParticleCreationConfig
import ITkActsTrackParticleCreationCfg
447 acc.merge(ITkActsTrackParticleCreationCfg(flags,
448 TrackContainers = [trackKey],
449 TrackParticleContainer = particleKey))