ATLAS Offline Software
Loading...
Searching...
No Matches
python.TrackingPassFlags Namespace Reference

Classes

class  RoIStrategy

Functions

 createTrackingPassFlags ()
 activateAthenaComponents (icf)
 ITk mode ####################.
 deactivateActsComponents (icf)
 createITkTrackingPassFlags ()
 createITkFastTrackingPassFlags ()
 createITkHeavyIonTrackingPassFlags ()
 Heavyion mode #######################.
 createITkFTFPassFlags ()
 ITk with FTF standalone mode ####.
 createITkFTFLargeD0PassFlags ()
 createITkLargeD0TrackingPassFlags ()
 ITk LRT mode ####################.
 createITkLargeD0FastTrackingPassFlags ()
 createITkLowPtTrackingPassFlags ()
 ITk LowPt mode ####################.
 createHighPileupTrackingPassFlags ()
 HighPileUP mode ####################.
 createMinBiasTrackingPassFlags ()
 MinBias mode ########################.
 createUPCTrackingPassFlags ()
 UPC mode ########################.
 createHIPTrackingPassFlags ()
 HIP mode ########################.
 createLowPtRoITrackingPassFlags ()
 LowPtRoI mode ########################.
 createR3LargeD0TrackingPassFlags ()
 R3LargeD0 mode ########################.
 createLowPtLargeD0TrackingPassFlags ()
 LowPtLargeD0 mode ########################.
 createLowPtTrackingPassFlags ()
 LowPt mode ########################.
 createITkConversionTrackingPassFlags ()
 ITkConversion mode ########################.
 createVeryLowPtTrackingPassFlags ()
 VeryLowPt mode ########################.
 createForwardTracksTrackingPassFlags ()
 ForwardTracks mode ########################.
 createBeamGasTrackingPassFlags ()
 BeamGas mode ########################.
 createVtxLumiTrackingPassFlags ()
 VtxLumi mode ########################.
 createVtxLumiHeavyIonTrackingPassFlags ()
 VtxLumiHeavyIon mode ################.
 createVtxBeamSpotTrackingPassFlags ()
 VtxBeamSpot mode ########################.
 createCosmicsTrackingPassFlags ()
 Cosmics mode ########################.
 createHeavyIonTrackingPassFlags ()
 Heavyion mode #######################.
 createPixelTrackingPassFlags ()
 Pixel mode ###############################################.
 createDisappearingTrackingPassFlags ()
 Disappearing mode ######################.
 createSCTTrackingPassFlags ()
 SCT mode ######################.
 createTRTTrackingPassFlags ()
 TRT subdetector tracklet cuts ##########.
 createTRTStandaloneTrackingPassFlags ()
 TRT standalone tracklet cuts ##########.
 printPrimaryConfig (flags)
 printActiveConfig (flags)

Variables

 flags = initConfigFlags()
 Files
 l = logging.getLogger('TrackingPassFlags')
 doBLS
 configuredSolenoidFieldScale

Function Documentation

◆ activateAthenaComponents()

activateAthenaComponents ( icf)

ITk mode ####################.

Definition at line 120 of file TrackingPassFlags.py.

120def activateAthenaComponents(icf):
121 icf.doAthenaCluster = True
122 icf.doAthenaSpacePoint = True
123 icf.doAthenaSeed = True
124 icf.doAthenaTrack = True
125 icf.doAthenaAmbiguityResolution = True
126

◆ createBeamGasTrackingPassFlags()

createBeamGasTrackingPassFlags ( )

BeamGas mode ########################.

Definition at line 494 of file TrackingPassFlags.py.

494def createBeamGasTrackingPassFlags():
495 icf = createTrackingPassFlags()
496 icf.extension = "BeamGas"
497 icf.usePrdAssociationTool = True
498 icf.minPT = lambda pcf: (
499 0.5 * Units.GeV * pcf.BField.configuredSolenoidFieldScale)
500 icf.maxPrimaryImpact = 300. * Units.mm
501 icf.maxZImpact = 2000. * Units.mm
502 icf.minClusters = 6
503 icf.maxHoles = 3
504 icf.maxPixelHoles = 3
505 icf.maxSctHoles = 3
506 icf.maxDoubleHoles = 1
507 icf.nHolesMax = 3
508 icf.nHolesGapMax = 3 # not as tight as 2*maxDoubleHoles
509 icf.doBremRecoverySi = False
510
511 return icf
512

◆ createCosmicsTrackingPassFlags()

createCosmicsTrackingPassFlags ( )

Cosmics mode ########################.

Definition at line 565 of file TrackingPassFlags.py.

565def createCosmicsTrackingPassFlags():
566 icf = createTrackingPassFlags()
567 icf.extension = "Cosmics"
568 icf.minPT = lambda pcf: (
569 0.5 * Units.GeV * pcf.BField.configuredSolenoidFieldScale)
570 icf.maxPrimaryImpact = 1000. * Units.mm
571 icf.maxZImpact = 10000. * Units.mm
572 icf.minClusters = 4
573 icf.minSiNotShared = 4
574 icf.maxHoles = 3
575 icf.maxPixelHoles = 3
576 icf.maxSctHoles = 3
577 icf.maxDoubleHoles = 1
578 icf.minTRTonTrk = 15
579 icf.roadWidth = 60.
580 icf.Xi2max = 60.
581 icf.Xi2maxNoAdd = 100.
582 icf.nWeightedClustersMin = 8
583 icf.nHolesMax = 3
584 icf.nHolesGapMax = 3 # not as tight as 2*maxDoubleHoles
585 icf.maxdImpactSSSSeeds = 20. * Units.mm
586 icf.doBremRecoverySi = False
587 icf.doZBoundary = False
588 icf.maxSeedsPerSP_Pixels = 5
589 icf.keepAllConfirmedPixelSeeds = False
590
591 return icf
592

◆ createDisappearingTrackingPassFlags()

createDisappearingTrackingPassFlags ( )

Disappearing mode ######################.

Definition at line 697 of file TrackingPassFlags.py.

697def createDisappearingTrackingPassFlags():
698 icf = createTrackingPassFlags()
699 icf.extension = "Disappearing"
700 icf.usePrdAssociationTool = True
701 icf.storeSeparateContainer = True
702 icf.minPT = lambda pcf: (
703 5 * Units.GeV * pcf.BField.configuredSolenoidFieldScale)
704 icf.minClusters = 4
705 icf.maxHoles = 0
706 icf.maxPixelHoles = 0
707 icf.maxSctHoles = 0
708 icf.maxDoubleHoles = 0
709 icf.minSiNotShared = 3
710 icf.maxShared = 0
711 icf.nHolesMax = 0
712 icf.nHolesGapMax = 0
713 icf.useSCT = True
714 icf.useSCTSeeding = False
715 icf.maxEta = 2.2
716 icf.doBremRecoverySi = False
717 def MainPassFlags(pcf):
718 return pcf.Tracking.__getattr__(pcf.Tracking.PrimaryPassConfig.value+'Pass')
719 icf.maxPrimaryImpact = lambda pcf: MainPassFlags(pcf).maxPrimaryImpact
720 icf.maxZImpact = lambda pcf: MainPassFlags(pcf).maxZImpact
721 icf.roadWidth = lambda pcf: MainPassFlags(pcf).roadWidth
722 return icf
723

◆ createForwardTracksTrackingPassFlags()

createForwardTracksTrackingPassFlags ( )

ForwardTracks mode ########################.

Definition at line 463 of file TrackingPassFlags.py.

463def createForwardTracksTrackingPassFlags():
464 icf = createTrackingPassFlags()
465 icf.extension = "Forward"
466 icf.usePrdAssociationTool = True
467 icf.useTIDE_Ambi = False
468 icf.useTRTExtension = False
469 icf.storeSeparateContainer = True
470 icf.minEta = 2.4 # restrict to minimal eta
471 icf.maxEta = 2.7
472 icf.minPT = lambda pcf: (
473 2 * Units.GeV * pcf.BField.configuredSolenoidFieldScale)
474 icf.minClusters = 3
475 icf.minSiNotShared = 3
476 icf.maxShared = 1
477 icf.minPixel = 3
478 icf.maxHoles = 1
479 icf.maxPixelHoles = 1
480 icf.maxSctHoles = 1
481 icf.maxDoubleHoles = 0
482 icf.nHolesMax = icf.maxHoles
483 icf.nHolesGapMax = icf.maxHoles
484 icf.radMax = 600. * Units.mm
485 icf.doBremRecoverySi = False
486 icf.doZBoundary = False
487
488 icf.RunPixelPID = False
489 icf.RunTRTPID = False
490
491 return icf
492

◆ createHeavyIonTrackingPassFlags()

createHeavyIonTrackingPassFlags ( )

Heavyion mode #######################.

Definition at line 594 of file TrackingPassFlags.py.

594def createHeavyIonTrackingPassFlags():
595 icf = createTrackingPassFlags()
596 icf.extension = "HeavyIon"
597 icf.maxPrimaryImpact = 10. * Units.mm
598 icf.maxZImpact = 200. * Units.mm
599 icf.minClusters = 9
600 icf.minSiNotShared = 7
601 icf.maxShared = 2 # was 1, cut is now on number of shared modules
602
603 icf.nHolesMax = 0
604 icf.nHolesGapMax = 0
605 icf.Xi2max = 6.
606 icf.Xi2maxNoAdd = 10.
607
608 icf.minPT = lambda pcf: (
609 0.5 * Units.GeV * pcf.BField.configuredSolenoidFieldScale)
610
611 icf.maxdImpactSSSSeeds = 20. * Units.mm
612 icf.maxdImpactPPSSeeds = 1.7
613
614 icf.maxHoles = 2
615 icf.maxPixelHoles = 1
616 icf.maxSctHoles = 1
617 icf.maxDoubleHoles = 0
618 icf.Xi2max = 9.
619 icf.Xi2maxNoAdd = 25.
620 icf.radMax = 600. * Units.mm # restrict to pixels + first SCT layer
621 icf.roadWidth = 20.
622 icf.doBremRecoverySi = False
623 icf.doZBoundary = False
624 icf.maxSeedsPerSP_Pixels = 5
625 icf.keepAllConfirmedPixelSeeds = False
626
627 return icf
628

◆ createHighPileupTrackingPassFlags()

createHighPileupTrackingPassFlags ( )

HighPileUP mode ####################.

Definition at line 243 of file TrackingPassFlags.py.

243def createHighPileupTrackingPassFlags():
244 icf = createTrackingPassFlags()
245 icf.extension = "HighPileup"
246 icf.minPT = lambda pcf : (
247 0.900 * Units.GeV * pcf.BField.configuredSolenoidFieldScale)
248 icf.minClusters = 9
249 icf.maxPixelHoles = 0
250 icf.doBremRecoverySi = False
251
252 return icf
253

◆ createHIPTrackingPassFlags()

createHIPTrackingPassFlags ( )

HIP mode ########################.

Definition at line 283 of file TrackingPassFlags.py.

283def createHIPTrackingPassFlags():
284 icf = createMinBiasTrackingPassFlags()
285 icf.extension = "HIP"
286 return icf
287
288

◆ createITkConversionTrackingPassFlags()

createITkConversionTrackingPassFlags ( )

ITkConversion mode ########################.

Definition at line 424 of file TrackingPassFlags.py.

424def createITkConversionTrackingPassFlags():
425 from ActsConfig.ActsTrackingPassFlags import createActsConversionTrackingPassFlags
426 icf = createActsConversionTrackingPassFlags()
427 deactivateActsComponents(icf)
428 activateAthenaComponents(icf)
429 icf.extension = "Conversion"
430 icf.Xi2max = [9.0]
431 icf.Xi2maxNoAdd = [25.0]
432 return icf
433

◆ createITkFastTrackingPassFlags()

createITkFastTrackingPassFlags ( )

Definition at line 145 of file TrackingPassFlags.py.

145def createITkFastTrackingPassFlags():
146 from ActsConfig.ActsTrackingPassFlags import createActsTrackingPassFlags
147 icf = createActsTrackingPassFlags()
148 deactivateActsComponents(icf)
149 activateAthenaComponents(icf)
150 icf.extension = ""
151 icf.Xi2max = [9.]
152 icf.Xi2maxNoAdd = [25.]
153 return icf
154
155

◆ createITkFTFLargeD0PassFlags()

createITkFTFLargeD0PassFlags ( )

Definition at line 183 of file TrackingPassFlags.py.

183def createITkFTFLargeD0PassFlags():
184 icf = createITkLargeD0FastTrackingPassFlags()
185 icf.addFlag("doHitDV" , False)
186 icf.addFlag("doDisappearingTrk" , False)
187 icf.addFlag("useTrigTrackFollowing", False)
188 icf.addFlag("useTrigRoadPredictor", False)
189 icf.addFlag("useTracklets", False)
190 icf.useSeedFilter = False
191 icf.minPT = lambda pcf : (
192 [1.0 * Units.GeV * pcf.BField.configuredSolenoidFieldScale])
193
194 icf.maxPrimaryImpact = [400.0 * Units.mm]
195 icf.maxPrimaryImpactSeed = 400.0 * Units.mm
196 icf.maxdImpactSSSSeeds = [400.0 * Units.mm]
197
198
199 return icf
200
201

◆ createITkFTFPassFlags()

createITkFTFPassFlags ( )

ITk with FTF standalone mode ####.

Definition at line 165 of file TrackingPassFlags.py.

165def createITkFTFPassFlags():
166 icf = createITkFastTrackingPassFlags()
167
168 icf.addFlag("doHitDV" , False)
169 icf.addFlag("doDisappearingTrk" , False)
170 icf.addFlag("useTrigTrackFollowing", False)
171 icf.addFlag("useTrigRoadPredictor", False)
172 icf.addFlag("useTracklets", False)
173 icf.useSeedFilter = False
174 icf.minPT = lambda pcf : (
175 [0.9 * Units.GeV * pcf.BField.configuredSolenoidFieldScale,
176 0.4 * Units.GeV * pcf.BField.configuredSolenoidFieldScale,
177 0.4 * Units.GeV * pcf.BField.configuredSolenoidFieldScale])
178 icf.minPTSeed = lambda pcf : (
179 0.9 * Units.GeV * pcf.BField.configuredSolenoidFieldScale)
180
181 return icf
182

◆ createITkHeavyIonTrackingPassFlags()

createITkHeavyIonTrackingPassFlags ( )

Heavyion mode #######################.

Definition at line 157 of file TrackingPassFlags.py.

157def createITkHeavyIonTrackingPassFlags():
158 from ActsConfig.ActsTrackingPassFlags import createActsHeavyIonTrackingPassFlags
159 icf = createActsHeavyIonTrackingPassFlags()
160 icf.extension = "HeavyIon"
161 return icf
162
163

◆ createITkLargeD0FastTrackingPassFlags()

createITkLargeD0FastTrackingPassFlags ( )

Definition at line 213 of file TrackingPassFlags.py.

213def createITkLargeD0FastTrackingPassFlags():
214 icf = createITkLargeD0TrackingPassFlags()
215 icf.useITkPixelSeeding = False
216 icf.useITkStripSeeding = True
217
218 icf.maxEta = 2.4
219 icf.etaBins = [-1.0, 2.4]
220 icf.minPT = lambda pcf : (
221 [5.0 * Units.GeV * pcf.BField.configuredSolenoidFieldScale])
222 icf.minPTSeed = lambda pcf : (
223 5.0 * Units.GeV * pcf.BField.configuredSolenoidFieldScale)
224 icf.nWeightedClustersMin = [8]
225 icf.maxPrimaryImpact = [150 * Units.mm]
226 icf.maxPrimaryImpactSeed = 150. * Units.mm
227 icf.maxdImpactSSSSeeds = [150.0 * Units.mm]
228 icf.maxZImpact = [200 * Units.mm]
229 icf.maxZImpactSeed = 200. * Units.mm
230 icf.radMax = 400. * Units.mm
231 return icf
232

◆ createITkLargeD0TrackingPassFlags()

createITkLargeD0TrackingPassFlags ( )

ITk LRT mode ####################.

Definition at line 203 of file TrackingPassFlags.py.

203def createITkLargeD0TrackingPassFlags():
204 from ActsConfig.ActsTrackingPassFlags import createActsLargeRadiusTrackingPassFlags
205 icf = createActsLargeRadiusTrackingPassFlags()
206 deactivateActsComponents(icf)
207 activateAthenaComponents(icf)
208 icf.extension = "LargeD0"
209 icf.Xi2max = [9.0]
210 icf.Xi2maxNoAdd = [25.0]
211 return icf
212

◆ createITkLowPtTrackingPassFlags()

createITkLowPtTrackingPassFlags ( )

ITk LowPt mode ####################.

Definition at line 234 of file TrackingPassFlags.py.

234def createITkLowPtTrackingPassFlags():
235 from ActsConfig.ActsTrackingPassFlags import createActsLowPtTrackingPassFlags
236 icf = createActsLowPtTrackingPassFlags()
237 deactivateActsComponents(icf)
238 activateAthenaComponents(icf)
239 icf.extension = "LowPt"
240 return icf
241

◆ createITkTrackingPassFlags()

createITkTrackingPassFlags ( )

Definition at line 134 of file TrackingPassFlags.py.

134def createITkTrackingPassFlags():
135 from ActsConfig.ActsTrackingPassFlags import createActsLegacyTrackingPassFlags
136 icf = createActsLegacyTrackingPassFlags()
137 deactivateActsComponents(icf)
138 activateAthenaComponents(icf)
139
140 icf.extension = ""
141 icf.Xi2max = [9.]
142 icf.Xi2maxNoAdd = [25.]
143 return icf
144

◆ createLowPtLargeD0TrackingPassFlags()

createLowPtLargeD0TrackingPassFlags ( )

LowPtLargeD0 mode ########################.

Definition at line 363 of file TrackingPassFlags.py.

363def createLowPtLargeD0TrackingPassFlags():
364 icf = createTrackingPassFlags()
365 icf.extension = "LowPtLargeD0"
366 icf.usePrdAssociationTool = True
367 icf.storeSeparateContainer = lambda pcf : pcf.Tracking.storeSeparateLargeD0Container
368 icf.maxPT = lambda pcf: (
369 1.0 * Units.TeV * pcf.BField.configuredSolenoidFieldScale)
370 icf.minPT = lambda pcf: (
371 100 * Units.MeV * pcf.BField.configuredSolenoidFieldScale)
372 icf.maxEta = 5
373 icf.maxPrimaryImpact = 300.0 * Units.mm
374 icf.maxZImpact = 1500.0 * Units.mm
375 icf.minClusters = 5
376 icf.minSiNotShared = 5
377 icf.maxShared = 2 # cut is now on number of shared modules
378 icf.minPixel = 0
379 icf.maxHoles = 2
380 icf.maxPixelHoles = 1
381 icf.maxSctHoles = 2
382 icf.maxDoubleHoles = 1
383 icf.radMax = 600. * Units.mm
384 icf.nHolesMax = icf.maxHoles
385 icf.nHolesGapMax = icf.maxHoles
386 icf.maxTracksPerSharedPRD = 2
387 icf.doBremRecoverySi = False
388
389 icf.RunPixelPID = False
390 icf.RunTRTPID = False
391
392 return icf
393

◆ createLowPtRoITrackingPassFlags()

createLowPtRoITrackingPassFlags ( )

LowPtRoI mode ########################.

Definition at line 290 of file TrackingPassFlags.py.

290def createLowPtRoITrackingPassFlags():
291 icf = createTrackingPassFlags()
292 icf.extension = "LowPtRoI"
293 icf.usePrdAssociationTool = True
294 icf.storeSeparateContainer = True
295 icf.maxPT = lambda pcf: (
296 0.850 * Units.GeV * pcf.BField.configuredSolenoidFieldScale)
297 icf.minPT = lambda pcf: (
298 0.050 * Units.GeV * pcf.BField.configuredSolenoidFieldScale)
299 icf.minClusters = 5
300 icf.minSiNotShared = 4
301 icf.maxShared = 1 # cut is now on number of shared modules
302 icf.minPixel = 2
303 icf.maxHoles = 2
304 icf.maxPixelHoles = 1
305 icf.maxSctHoles = 2
306 icf.maxDoubleHoles = 1
307 icf.radMax = 600. * Units.mm
308 icf.nHolesMax = icf.maxHoles
309 icf.nHolesGapMax = icf.maxHoles # not as tight as 2*maxDoubleHoles
310 icf.doBremRecoverySi = False
311 # Add custom flags valid for this pass only
312 icf.addFlag("z0WindowRoI", 30.0) # mm
313 icf.addFlag("doRandomSpot", False)
314 icf.addFlag("RoIStrategy", RoIStrategy.LeadTracks)
315 icf.addFlag("inputLowPtRoIfile","")
316
317 return icf
318
319

◆ createLowPtTrackingPassFlags()

createLowPtTrackingPassFlags ( )

LowPt mode ########################.

Definition at line 395 of file TrackingPassFlags.py.

395def createLowPtTrackingPassFlags():
396 icf = createTrackingPassFlags()
397 icf.extension = "LowPt"
398 icf.usePrdAssociationTool = True
399 icf.isLowPt = True
400 icf.maxPT = lambda pcf: (
401 pcf.BField.configuredSolenoidFieldScale *
402 (1e6 if pcf.Tracking.doMinBias else
403 pcf.Tracking.MainPass.minPT + 0.3) * Units.GeV)
404 icf.minPT = lambda pcf: (
405 0.05 * Units.GeV * pcf.BField.configuredSolenoidFieldScale)
406 icf.minClusters = 5
407 icf.minSiNotShared = 4
408 icf.maxShared = 1 # cut is now on number of shared modules
409 icf.minPixel = 2 # At least one pixel hit for low-pt (assoc. seeded on pixels!)
410 icf.maxHoles = 2
411 icf.maxPixelHoles = 1
412 icf.maxSctHoles = 2
413 icf.maxDoubleHoles = 1
414 icf.radMax = 600. * Units.mm
415 icf.nHolesMax = icf.maxHoles
416 icf.nHolesGapMax = icf.maxHoles # not as tight as 2*maxDoubleHoles
417 icf.maxPrimaryImpact = lambda pcf: (
418 100. * Units.mm if pcf.Tracking.doMinBias else 10. * Units.mm)
419 icf.doBremRecoverySi = False
420
421 return icf
422

◆ createMinBiasTrackingPassFlags()

createMinBiasTrackingPassFlags ( )

MinBias mode ########################.

Definition at line 255 of file TrackingPassFlags.py.

255def createMinBiasTrackingPassFlags():
256 icf = createTrackingPassFlags()
257 icf.extension = "MinBias"
258 icf.minPT = lambda pcf: (
259 0.1 * Units.GeV * pcf.BField.configuredSolenoidFieldScale)
260 icf.maxPrimaryImpact = 10. * Units.mm
261 icf.maxZImpact = 250. * Units.mm
262 icf.minClusters = 5
263 icf.maxdImpactSSSSeeds = 20.0 * Units.mm # apply cut on SSS seeds
264 icf.roadWidth = 20.
265 icf.doBremRecoverySi = False
266 icf.maxSeedsPerSP_Pixels = 5
267 icf.keepAllConfirmedPixelSeeds = False
268
269 return icf
270

◆ createPixelTrackingPassFlags()

createPixelTrackingPassFlags ( )

Pixel mode ###############################################.

Definition at line 630 of file TrackingPassFlags.py.

630def createPixelTrackingPassFlags():
631 icf = createTrackingPassFlags()
632 icf.extension = "Pixel"
633 icf.isLowPt = lambda pcf : pcf.Tracking.doMinBias
634
635 def _minPt( pcf ):
636 if pcf.Beam.Type is BeamType.Cosmics:
637 return 0.5 * Units.GeV * pcf.BField.configuredSolenoidFieldScale
638 if pcf.Tracking.PrimaryPassConfig is PrimaryPassConfig.UPC:
639 return 0.05 * Units.GeV * pcf.BField.configuredSolenoidFieldScale
640 if pcf.Tracking.PrimaryPassConfig is PrimaryPassConfig.HIP:
641 return 0.05 * Units.GeV * pcf.BField.configuredSolenoidFieldScale
642 if pcf.Tracking.doMinBias:
643 return 0.05 * Units.GeV * pcf.BField.configuredSolenoidFieldScale
644 return 0.1 * Units.GeV * pcf.BField.configuredSolenoidFieldScale
645
646 icf.minPT = _minPt
647 icf.minClusters = 3
648
649 def _pick( default, hion, cosmics):
650 def _internal( pcf ):
651 if pcf.Tracking.PrimaryPassConfig is PrimaryPassConfig.HeavyIon:
652 return hion
653 if pcf.Beam.Type is BeamType.Cosmics:
654 return cosmics
655 return default
656 return _internal
657
658 icf.maxHoles = _pick( default = 1, hion = 0, cosmics = 3 )
659 icf.maxPixelHoles = _pick( default = 1, hion = 0, cosmics = 3 )
660 icf.maxSctHoles = 0
661 icf.maxDoubleHoles = 0
662 icf.minSiNotShared = 3
663 icf.maxShared = 0
664 icf.nHolesMax = _pick( default = 1, hion = 0, cosmics = 3 )
665 icf.nHolesGapMax = _pick( default = 1, hion = 0, cosmics = 3 )
666 icf.useSCT = False
667 icf.useSCTSeeding = False
668 icf.maxPrimaryImpact = lambda pcf: (
669 1000. * Units.mm if pcf.Beam.Type is BeamType.Cosmics else
670 10. * Units.mm if pcf.Tracking.doUPC else
671 5. * Units.mm)
672 icf.roadWidth = lambda pcf: (
673 60.0 if pcf.Beam.Type is BeamType.Cosmics else
674 12.0)
675 icf.maxZImpact = lambda pcf: (
676 10000. * Units.mm if pcf.Beam.Type is BeamType.Cosmics else
677 320. * Units.mm if pcf.Tracking.doLowMu else
678 250. * Units.mm if pcf.Tracking.doMinBias else
679 200. * Units.mm)
680 icf.Xi2max = lambda pcf: (
681 60. if pcf.Beam.Type is BeamType.Cosmics else
682 15. if pcf.Tracking.doLowMu else
683 9.)
684 icf.Xi2maxNoAdd = lambda pcf: (
685 100.0 if pcf.Beam.Type is BeamType.Cosmics else
686 35. if pcf.Tracking.doLowMu else
687 25.)
688 icf.nWeightedClustersMin = 6
689 icf.doBremRecoverySi = False
690
691 icf.RunPixelPID = lambda pcf: (
692 pcf.Tracking.PrimaryPassConfig is PrimaryPassConfig.UPC)
693 icf.RunTRTPID = False
694 return icf
695

◆ createR3LargeD0TrackingPassFlags()

createR3LargeD0TrackingPassFlags ( )

R3LargeD0 mode ########################.

Definition at line 321 of file TrackingPassFlags.py.

321def createR3LargeD0TrackingPassFlags():
322 icf = createTrackingPassFlags()
323 icf.extension = "R3LargeD0"
324 icf.usePrdAssociationTool = True
325 icf.usePixelSeeding = False
326 icf.storeSeparateContainer = lambda pcf : pcf.Tracking.storeSeparateLargeD0Container
327 icf.maxPT = lambda pcf : (
328 1.0 * Units.TeV * pcf.BField.configuredSolenoidFieldScale)
329 icf.minPT = lambda pcf : (
330 1.0 * Units.GeV * pcf.BField.configuredSolenoidFieldScale)
331 icf.maxEta = 3
332 icf.maxPrimaryImpact = 300.0 * Units.mm
333 icf.maxEMImpact = 300 * Units.mm
334 icf.maxZImpact = 500 * Units.mm
335 icf.minClusters = 8
336 icf.minSiNotShared = 6
337 icf.maxShared = 2 # cut is now on number of shared modules
338 icf.minPixel = 0
339 icf.maxHoles = 2
340 icf.maxPixelHoles = 1
341 icf.maxSctHoles = 1
342 icf.maxDoubleHoles = 0
343 icf.radMax = 600. * Units.mm
344 icf.nHolesMax = icf.maxHoles
345 icf.nHolesGapMax = 1
346 icf.maxTracksPerSharedPRD = 2
347 icf.Xi2max = 9.0
348 icf.Xi2maxNoAdd = 25.0
349 icf.roadWidth = 5.
350 icf.nWeightedClustersMin = 8
351 icf.maxdImpactSSSSeeds = 300.0
352 icf.doZBoundary = True
353 icf.keepAllConfirmedStripSeeds = True
354 icf.maxSeedsPerSP_Strips = 1
355 icf.doBremRecoverySi = False
356
357 icf.RunPixelPID = False
358 icf.RunTRTPID = False
359
360 return icf
361

◆ createSCTTrackingPassFlags()

createSCTTrackingPassFlags ( )

SCT mode ######################.

Definition at line 725 of file TrackingPassFlags.py.

725def createSCTTrackingPassFlags():
726 icf = createTrackingPassFlags()
727 icf.extension = "SCT"
728 icf.minClusters = 7
729 icf.maxDoubleHoles = 1
730 icf.minSiNotShared = 5
731 icf.usePixel = False
732 icf.usePixelSeeding = False
733
734 def _minpt( pcf ):
735 if pcf.Beam.Type is BeamType.Cosmics:
736 return 0.5 * Units.GeV * pcf.BField.configuredSolenoidFieldScale
737 if pcf.Tracking.doMinBias:
738 return 0.1 * Units.GeV * pcf.BField.configuredSolenoidFieldScale
739 return 0.1 * Units.GeV * pcf.BField.configuredSolenoidFieldScale
740
741 icf.minPT = _minpt
742
743 icf.maxPrimaryImpact = lambda pcf: (
744 1000. * Units.mm if pcf.Beam.Type is BeamType.Cosmics else
745 10. * Units.mm if pcf.Tracking.doLowMu else
746 5. * Units.mm)
747 icf.maxZImpact = lambda pcf: (
748 10000. * Units.mm if pcf.Beam.Type is BeamType.Cosmics else
749 320. * Units.mm if pcf.Tracking.doLowMu else
750 200.0 * Units.mm)
751
752 icf.maxHoles = lambda pcf: 3 if pcf.Beam.Type is BeamType.Cosmics else 2
753 icf.nHolesMax = lambda pcf: 3 if pcf.Beam.Type is BeamType.Cosmics else 2
754 icf.nHolesGapMax = lambda pcf: 3 if pcf.Beam.Type is BeamType.Cosmics else 2
755 icf.maxPixelHoles = lambda pcf: 0 if pcf.Beam.Type is BeamType.Cosmics else 0
756 icf.maxSctHoles = lambda pcf: 3 if pcf.Beam.Type is BeamType.Cosmics else 2
757 icf.maxShared = 0
758 icf.roadWidth = lambda pcf: (
759 60. if pcf.Beam.Type is BeamType.Cosmics else
760 20. if pcf.Tracking.doLowMu else
761 12.)
762 icf.Xi2max = lambda pcf: (
763 60. if pcf.Beam.Type is BeamType.Cosmics else
764 15. if pcf.Tracking.doLowMu else
765 9.)
766 icf.Xi2maxNoAdd = lambda pcf: (
767 100.0 if pcf.Beam.Type is BeamType.Cosmics else
768 35. if pcf.Tracking.doLowMu else
769 25.)
770 icf.nWeightedClustersMin = lambda pcf: 4 if pcf.Beam.Type is BeamType.Cosmics else 6
771 icf.minClusters = lambda pcf: (
772 4 if pcf.Beam.Type is BeamType.Cosmics else
773 7 if pcf.Tracking.doLowMu else
774 8)
775 icf.minSiNotShared = lambda pcf: 4 if pcf.Beam.Type is BeamType.Cosmics else 5
776 icf.doBremRecoverySi = False
777
778 icf.RunPixelPID = False
779 icf.RunTRTPID = False
780 return icf
781

◆ createTrackingPassFlags()

createTrackingPassFlags ( )

Definition at line 17 of file TrackingPassFlags.py.

17def createTrackingPassFlags():
18 from AthenaConfiguration.AthConfigFlags import AthConfigFlags
19 icf = AthConfigFlags()
20
21 icf.addFlag("extension", "" )
22
23 icf.addFlag("usePrdAssociationTool", False)
24 icf.addFlag("isLowPt", False)
25 icf.addFlag("useTIDE_Ambi", lambda pcf: pcf.Tracking.doTIDE_Ambi)
26 icf.addFlag("useTRTExtension", lambda pcf: pcf.Tracking.doTRTExtension)
27 icf.addFlag("storeSeparateContainer", False)
28 icf.addFlag("doAmbiguityProcessorTrackFit", True)
29
30 # --- first set kinematic defaults
31 icf.addFlag("minPT", lambda pcf: (pcf.BField.configuredSolenoidFieldScale *
32 (0.4 * Units.GeV if pcf.Tracking.doLowMu else
33 0.5 * Units.GeV)))
34 icf.addFlag("maxPT", 1000.0 * Units.TeV) # off!
35 icf.addFlag("minEta", -1) # off!
36 icf.addFlag("maxEta", 2.7)
37
38
39 # --- cluster cuts
40 icf.addFlag("minClusters", lambda pcf:
41 3 if (pcf.Detector.EnablePixel and not pcf.Detector.EnableSCT) else
42 6 if (pcf.Detector.EnableSCT and not pcf.Detector.EnablePixel) else
43 7 if pcf.Tracking.doLowMu else
44 8 )
45
46 icf.addFlag("minSiNotShared", 6)
47
48 icf.addFlag("maxShared", 1) # cut is now on number of shared modules
49 icf.addFlag("minPixel", 0)
50 icf.addFlag("maxHoles", lambda pcf: 3 if pcf.Tracking.doLowMu else 2)
51 icf.addFlag("maxPixelHoles", lambda pcf: 2 if pcf.Tracking.doLowMu else 1)
52 icf.addFlag("maxSctHoles", 2)
53 icf.addFlag("maxDoubleHoles", 1)
54
55 icf.addFlag("maxPrimaryImpact", lambda pcf:
56 10.0 * Units.mm if (pcf.Tracking.doBLS or pcf.Tracking.doLowMu) else
57 5.0 * Units.mm)
58 icf.addFlag("maxEMImpact", 50.0 * Units.mm)
59 icf.addFlag("maxZImpact", lambda pcf:
60 320.0 * Units.mm if pcf.Tracking.doLowMu else
61 200.0 * Units.mm)
62
63 # --- this is for the TRT-extension
64 icf.addFlag("minTRTonTrk", 9)
65 icf.addFlag("minTRTPrecFrac", 0.3)
66
67 # --- general pattern cuts for NewTracking
68
69 # default R cut for SP in SiSpacePointsSeedMaker
70 icf.addFlag("radMax", 600.0 * Units.mm)
71 icf.addFlag("roadWidth", lambda pcf: 20. if pcf.Tracking.doLowMu else 12.)
72 icf.addFlag("nHolesMax", lambda pcf: 3 if pcf.Tracking.doLowMu else 2)
73 icf.addFlag("nHolesGapMax", lambda pcf: 3 if pcf.Tracking.doLowMu else 2)
74 icf.addFlag("Xi2max", lambda pcf: 15. if pcf.Tracking.doLowMu else 9.)
75 icf.addFlag("Xi2maxNoAdd", lambda pcf: 35. if pcf.Tracking.doLowMu else 25.)
76 icf.addFlag("nWeightedClustersMin", 6)
77
78 # --- seeding
79 icf.addFlag("useSeedFilter", True)
80 icf.addFlag("maxTracksPerSharedPRD", 0)
81 icf.addFlag("maxdImpactPPSSeeds", lambda pcf: 1.7 if pcf.Tracking.doLowMu else 2.)
82 icf.addFlag("maxdImpactSSSSeeds", lambda pcf:
83 1000. * Units.mm if pcf.Tracking.doLowMu else
84 10. * Units.mm if pcf.Tracking.doBLS else
85 5. * Units.mm)
86 icf.addFlag("maxSeedsPerSP_Pixels", lambda pcf: 5 if pcf.Tracking.doLowMu else 1)
87 icf.addFlag("maxSeedsPerSP_Strips", 5)
88 icf.addFlag("keepAllConfirmedPixelSeeds", lambda pcf: not pcf.Tracking.doLowMu)
89 icf.addFlag("keepAllConfirmedStripSeeds", False)
90
91 # --- min pt cut for brem
92 icf.addFlag("doBremRecoverySi", lambda pcf: pcf.Tracking.doBremRecovery)
93 icf.addFlag("minPTBrem", lambda pcf: (
94 1. * Units.GeV * pcf.BField.configuredSolenoidFieldScale))
95
96 # --- Z Boundary Seeding
97 icf.addFlag("doZBoundary", lambda pcf:
98 not (pcf.Beam.Type is BeamType.Cosmics or pcf.Tracking.doLowMu))
99
100 icf.addFlag("usePixel" , lambda pcf : pcf.Detector.EnablePixel )
101 icf.addFlag("useSCT" , lambda pcf : pcf.Detector.EnableSCT )
102 icf.addFlag("usePixelSeeding" , lambda pcf : pcf.Detector.EnablePixel )
103 icf.addFlag("useSCTSeeding" , lambda pcf : pcf.Detector.EnableSCT )
104
105 # --- Pixel and TRT particle ID during particle creation
106 icf.addFlag("RunPixelPID", True)
107 icf.addFlag("RunTRTPID", True)
108
109 # --- Flags for detailed information.
110 # Ignored for Primary Pass (always active);
111 # Enable for other passes with dedicated output container, if desired.
112 icf.addFlag("storeTrackSeeds", False)
113 icf.addFlag("storeSiSPSeededTracks", False)
114
115 return icf
116
117

◆ createTRTStandaloneTrackingPassFlags()

createTRTStandaloneTrackingPassFlags ( )

TRT standalone tracklet cuts ##########.

Definition at line 798 of file TrackingPassFlags.py.

798def createTRTStandaloneTrackingPassFlags():
799 icf = createTrackingPassFlags()
800 icf.extension = "TRTStandalone"
801 icf.useTIDE_Ambi = False
802 icf.usePrdAssociationTool = True
803 icf.doBremRecoverySi = False
804
805 return icf
806
807

◆ createTRTTrackingPassFlags()

createTRTTrackingPassFlags ( )

TRT subdetector tracklet cuts ##########.

Definition at line 783 of file TrackingPassFlags.py.

783def createTRTTrackingPassFlags():
784 icf = createTrackingPassFlags()
785 icf.extension = "TRT"
786 icf.useTIDE_Ambi = False
787 icf.usePrdAssociationTool = True
788 icf.minPT = lambda pcf: (
789 0.4 * Units.GeV * pcf.BField.configuredSolenoidFieldScale)
790 icf.doBremRecoverySi = False
791
792 icf.RunPixelPID = False
793 icf.RunTRTPID = False
794 return icf
795
796

◆ createUPCTrackingPassFlags()

createUPCTrackingPassFlags ( )

UPC mode ########################.

Definition at line 272 of file TrackingPassFlags.py.

272def createUPCTrackingPassFlags():
273 icf = createMinBiasTrackingPassFlags()
274 icf.extension = "UPC"
275 # --- min pt cut for brem
276 icf.minPTBrem = lambda pcf: (
277 0.75 * Units.GeV * pcf.BField.configuredSolenoidFieldScale)
278 # MinBias turns off Brem Recovery, turn it on here
279 icf.doBremRecoverySi = lambda pcf: pcf.Tracking.doBremRecovery
280 return icf
281

◆ createVeryLowPtTrackingPassFlags()

createVeryLowPtTrackingPassFlags ( )

VeryLowPt mode ########################.

Definition at line 435 of file TrackingPassFlags.py.

435def createVeryLowPtTrackingPassFlags():
436 icf = createTrackingPassFlags() #TODO consider using createLowPtTrackingPassFlags as a base here
437 icf.extension = "VeryLowPt"
438 icf.usePrdAssociationTool = True
439 icf.isLowPt = True
440 icf.useTRTExtension = False
441 icf.maxPT = lambda pcf : (
442 pcf.BField.configuredSolenoidFieldScale *
443 (1e6 if pcf.Tracking.doMinBias else
444 pcf.Tracking.MainPass.minPT + 0.3) * Units.GeV)
445 icf.minPT = lambda pcf : (
446 0.050 * Units.GeV * pcf.BField.configuredSolenoidFieldScale)
447 icf.minClusters = 3
448 icf.minSiNotShared = 3
449 icf.maxShared = 1 # cut is now on number of shared modules
450 icf.minPixel = 3 # At least one pixel hit for low-pt (assoc. seeded on pixels!)
451 icf.maxHoles = 1
452 icf.maxPixelHoles = 1
453 icf.maxSctHoles = 1
454 icf.maxDoubleHoles = 0
455 icf.nHolesMax = 1
456 icf.nHolesGapMax = 1 # not as tight as 2*maxDoubleHoles
457 icf.radMax = 600. * Units.mm # restrivt to pixels
458 icf.doBremRecoverySi = False
459
460 return icf
461

◆ createVtxBeamSpotTrackingPassFlags()

createVtxBeamSpotTrackingPassFlags ( )

VtxBeamSpot mode ########################.

Definition at line 550 of file TrackingPassFlags.py.

550def createVtxBeamSpotTrackingPassFlags():
551 icf = createTrackingPassFlags()
552 icf.extension = "VtxBeamSpot"
553 icf.minPT = lambda pcf: (
554 0.9 * Units.GeV * pcf.BField.configuredSolenoidFieldScale)
555 icf.minClusters = 9
556 icf.maxPixelHoles = 0
557 icf.radMax = 320. * Units.mm
558 icf.nHolesMax = 2
559 icf.nHolesGapMax = 1
560 icf.doBremRecoverySi = False
561
562 return icf
563

◆ createVtxLumiHeavyIonTrackingPassFlags()

createVtxLumiHeavyIonTrackingPassFlags ( )

VtxLumiHeavyIon mode ################.

Definition at line 529 of file TrackingPassFlags.py.

529def createVtxLumiHeavyIonTrackingPassFlags():
530 icf = createTrackingPassFlags()
531 icf.extension = "VtxLumiHeavyIon"
532 icf.minPT = lambda pcf: (
533 0.4 * Units.GeV * pcf.BField.configuredSolenoidFieldScale)
534 icf.maxPrimaryImpact = 10. * Units.mm
535 icf.maxZImpact = 250.0 * Units.mm
536 icf.minClusters = 7
537 icf.maxPixelHoles = 1
538 icf.radMax = 600. * Units.mm
539 icf.nHolesMax = 2
540 icf.nHolesGapMax = 1
541 icf.maxdImpactSSSSeeds = 20.
542 icf.roadWidth = 20.
543 icf.keepAllConfirmedPixelSeeds = False
544 icf.maxSeedsPerSP_Pixels = 5
545 icf.doBremRecoverySi = False
546
547 return icf
548

◆ createVtxLumiTrackingPassFlags()

createVtxLumiTrackingPassFlags ( )

VtxLumi mode ########################.

Definition at line 514 of file TrackingPassFlags.py.

514def createVtxLumiTrackingPassFlags():
515 icf = createTrackingPassFlags()
516 icf.extension = "VtxLumi"
517 icf.minPT = lambda pcf: (
518 0.9 * Units.GeV * pcf.BField.configuredSolenoidFieldScale)
519 icf.minClusters = 7
520 icf.maxPixelHoles = 1
521 icf.radMax = 600. * Units.mm
522 icf.nHolesMax = 2
523 icf.nHolesGapMax = 1
524 icf.doBremRecoverySi = False
525
526 return icf
527

◆ deactivateActsComponents()

deactivateActsComponents ( icf)

Definition at line 127 of file TrackingPassFlags.py.

127def deactivateActsComponents(icf):
128 icf.doActsCluster = False
129 icf.doActsSpacePoint = False
130 icf.doActsSeed = False
131 icf.doActsTrack = False
132 icf.doActsAmbiguityResolution = False
133

◆ printActiveConfig()

printActiveConfig ( flags)

Definition at line 821 of file TrackingPassFlags.py.

821def printActiveConfig(flags):
822 print()
823 print("************************************************************************")
824
825 print("******************** Tracking reconstruction Config ********************")
826 print(" Active Config is",flags.Tracking.ActiveConfig.extension)
827 flags.dump(pattern="Tracking.ActiveConfig.*", evaluate=True)
828 print("************************************************************************")
829 return
830
831
void print(char *figname, TCanvas *c1)

◆ printPrimaryConfig()

printPrimaryConfig ( flags)

Definition at line 810 of file TrackingPassFlags.py.

810def printPrimaryConfig(flags):
811 print()
812 print("************************************************************************")
813
814 print("******************** Tracking reconstruction Config ********************")
815 print(" Primary Config is",flags.Tracking[flags.Tracking.PrimaryPassConfig.value+"Pass"].extension)
816 flags.dump(pattern="Tracking."+flags.Tracking.PrimaryPassConfig.value+"Pass.*", evaluate=True)
817 print("************************************************************************")
818 return
819
820

Variable Documentation

◆ configuredSolenoidFieldScale

python.TrackingPassFlags.configuredSolenoidFieldScale

Definition at line 856 of file TrackingPassFlags.py.

◆ doBLS

python.TrackingPassFlags.doBLS

Definition at line 852 of file TrackingPassFlags.py.

◆ Files

python.TrackingPassFlags.Files

Definition at line 841 of file TrackingPassFlags.py.

◆ flags

python.TrackingPassFlags.flags = initConfigFlags()

Definition at line 838 of file TrackingPassFlags.py.

◆ l

python.TrackingPassFlags.l = logging.getLogger('TrackingPassFlags')

Definition at line 844 of file TrackingPassFlags.py.