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

Classes

class  RoIStrategy

Functions

 createTrackingPassFlags ()
 createITkTrackingPassFlags ()
 ITk mode ####################.
 createITkHeavyIonTrackingPassFlags ()
 Heavyion mode #######################.
 createITkFastTrackingPassFlags ()
 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

◆ createBeamGasTrackingPassFlags()

python.TrackingPassFlags.createBeamGasTrackingPassFlags ( )

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

Definition at line 676 of file TrackingPassFlags.py.

676def createBeamGasTrackingPassFlags():
677 icf = createTrackingPassFlags()
678 icf.extension = "BeamGas"
679 icf.usePrdAssociationTool = True
680 icf.minPT = lambda pcf: (
681 0.5 * Units.GeV * pcf.BField.configuredSolenoidFieldScale)
682 icf.maxPrimaryImpact = 300. * Units.mm
683 icf.maxZImpact = 2000. * Units.mm
684 icf.minClusters = 6
685 icf.maxHoles = 3
686 icf.maxPixelHoles = 3
687 icf.maxSctHoles = 3
688 icf.maxDoubleHoles = 1
689 icf.nHolesMax = 3
690 icf.nHolesGapMax = 3 # not as tight as 2*maxDoubleHoles
691 icf.doBremRecoverySi = False
692
693 return icf
694

◆ createCosmicsTrackingPassFlags()

python.TrackingPassFlags.createCosmicsTrackingPassFlags ( )

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

Definition at line 750 of file TrackingPassFlags.py.

750def createCosmicsTrackingPassFlags():
751 icf = createTrackingPassFlags()
752 icf.extension = "Cosmics"
753 icf.minPT = lambda pcf: (
754 0.5 * Units.GeV * pcf.BField.configuredSolenoidFieldScale)
755 icf.maxPrimaryImpact = 1000. * Units.mm
756 icf.maxZImpact = 10000. * Units.mm
757 icf.minClusters = 4
758 icf.minSiNotShared = 4
759 icf.maxHoles = 3
760 icf.maxPixelHoles = 3
761 icf.maxSctHoles = 3
762 icf.maxDoubleHoles = 1
763 icf.minTRTonTrk = 15
764 icf.roadWidth = 60.
765 icf.Xi2max = 60.
766 icf.Xi2maxNoAdd = 100.
767 icf.nWeightedClustersMin = 8
768 icf.nHolesMax = 3
769 icf.nHolesGapMax = 3 # not as tight as 2*maxDoubleHoles
770 icf.maxdImpactSSSSeeds = 20. * Units.mm
771 icf.doBremRecoverySi = False
772 icf.doZBoundary = False
773 icf.maxSeedsPerSP_Pixels = 5
774 icf.keepAllConfirmedPixelSeeds = False
775
776 return icf
777

◆ createDisappearingTrackingPassFlags()

python.TrackingPassFlags.createDisappearingTrackingPassFlags ( )

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

Definition at line 884 of file TrackingPassFlags.py.

884def createDisappearingTrackingPassFlags():
885 icf = createTrackingPassFlags()
886 icf.extension = "Disappearing"
887 icf.usePrdAssociationTool = True
888 icf.storeSeparateContainer = True
889 icf.minPT = lambda pcf: (
890 5 * Units.GeV * pcf.BField.configuredSolenoidFieldScale)
891 icf.minClusters = 4
892 icf.maxHoles = 0
893 icf.maxPixelHoles = 0
894 icf.maxSctHoles = 0
895 icf.maxDoubleHoles = 0
896 icf.minSiNotShared = 3
897 icf.maxShared = 0
898 icf.nHolesMax = 0
899 icf.nHolesGapMax = 0
900 icf.useSCT = True
901 icf.useTRT = True
902 icf.useSCTSeeding = False
903 icf.maxEta = 2.2
904 icf.doBremRecoverySi = False
905 def MainPassFlags(pcf):
906 return pcf.Tracking.__getattr__(pcf.Tracking.PrimaryPassConfig.value+'Pass')
907 icf.maxPrimaryImpact = lambda pcf: MainPassFlags(pcf).maxPrimaryImpact
908 icf.maxZImpact = lambda pcf: MainPassFlags(pcf).maxZImpact
909 icf.roadWidth = lambda pcf: MainPassFlags(pcf).roadWidth
910 return icf
911

◆ createForwardTracksTrackingPassFlags()

python.TrackingPassFlags.createForwardTracksTrackingPassFlags ( )

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

Definition at line 644 of file TrackingPassFlags.py.

644def createForwardTracksTrackingPassFlags():
645 icf = createTrackingPassFlags()
646 icf.extension = "Forward"
647 icf.usePrdAssociationTool = True
648 icf.useTIDE_Ambi = False
649 icf.useTRTExtension = False
650 icf.storeSeparateContainer = True
651 icf.minEta = 2.4 # restrict to minimal eta
652 icf.maxEta = 2.7
653 icf.minPT = lambda pcf: (
654 2 * Units.GeV * pcf.BField.configuredSolenoidFieldScale)
655 icf.minClusters = 3
656 icf.minSiNotShared = 3
657 icf.maxShared = 1
658 icf.minPixel = 3
659 icf.maxHoles = 1
660 icf.maxPixelHoles = 1
661 icf.maxSctHoles = 1
662 icf.maxDoubleHoles = 0
663 icf.nHolesMax = icf.maxHoles
664 icf.nHolesGapMax = icf.maxHoles
665 icf.radMax = 600. * Units.mm
666 icf.useTRT = False # no TRT for forward tracks
667 icf.doBremRecoverySi = False
668 icf.doZBoundary = False
669
670 icf.RunPixelPID = False
671 icf.RunTRTPID = False
672
673 return icf
674

◆ createHeavyIonTrackingPassFlags()

python.TrackingPassFlags.createHeavyIonTrackingPassFlags ( )

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

Definition at line 779 of file TrackingPassFlags.py.

779def createHeavyIonTrackingPassFlags():
780 icf = createTrackingPassFlags()
781 icf.extension = "HeavyIon"
782 icf.maxPrimaryImpact = 10. * Units.mm
783 icf.maxZImpact = 200. * Units.mm
784 icf.minClusters = 9
785 icf.minSiNotShared = 7
786 icf.maxShared = 2 # was 1, cut is now on number of shared modules
787
788 icf.nHolesMax = 0
789 icf.nHolesGapMax = 0
790 icf.Xi2max = 6.
791 icf.Xi2maxNoAdd = 10.
792
793 icf.minPT = lambda pcf: (
794 0.5 * Units.GeV * pcf.BField.configuredSolenoidFieldScale)
795
796 icf.maxdImpactSSSSeeds = 20. * Units.mm
797 icf.maxdImpactPPSSeeds = 1.7
798
799 icf.maxHoles = 2
800 icf.maxPixelHoles = 1
801 icf.maxSctHoles = 1
802 icf.maxDoubleHoles = 0
803 icf.Xi2max = 9.
804 icf.Xi2maxNoAdd = 25.
805 icf.radMax = 600. * Units.mm # restrict to pixels + first SCT layer
806 icf.roadWidth = 20.
807 icf.useTRT = False
808 icf.doBremRecoverySi = False
809 icf.doZBoundary = False
810 icf.maxSeedsPerSP_Pixels = 5
811 icf.keepAllConfirmedPixelSeeds = False
812
813 return icf
814

◆ createHighPileupTrackingPassFlags()

python.TrackingPassFlags.createHighPileupTrackingPassFlags ( )

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

Definition at line 402 of file TrackingPassFlags.py.

402def createHighPileupTrackingPassFlags():
403 icf = createTrackingPassFlags()
404 icf.extension = "HighPileup"
405 icf.minPT = lambda pcf : (
406 0.900 * Units.GeV * pcf.BField.configuredSolenoidFieldScale)
407 icf.minClusters = 9
408 icf.maxPixelHoles = 0
409 icf.doBremRecoverySi = False
410
411 return icf
412

◆ createHIPTrackingPassFlags()

python.TrackingPassFlags.createHIPTrackingPassFlags ( )

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

Definition at line 442 of file TrackingPassFlags.py.

442def createHIPTrackingPassFlags():
443 icf = createMinBiasTrackingPassFlags()
444 icf.extension = "HIP"
445 return icf
446
447

◆ createITkConversionTrackingPassFlags()

python.TrackingPassFlags.createITkConversionTrackingPassFlags ( )

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

Definition at line 583 of file TrackingPassFlags.py.

583def createITkConversionTrackingPassFlags():
584 icf = createITkTrackingPassFlags()
585 icf.extension = "Conversion"
586 icf.usePrdAssociationTool = True
587
588 icf.etaBins = [-1.0,4.0]
589 icf.minPT = lambda pcf: (
590 [0.9 * Units.GeV * pcf.BField.configuredSolenoidFieldScale])
591 icf.maxPrimaryImpact = [10.0 * Units.mm]
592 icf.maxZImpact = [150.0 * Units.mm]
593 icf.minClusters = [6]
594 icf.minSiNotShared = [6]
595 icf.maxShared = [0]
596 icf.minPixel = [0]
597 icf.maxHoles = [0]
598 icf.maxPixelHoles = [1]
599 icf.maxSctHoles = [2]
600 icf.maxDoubleHoles = [1]
601
602 icf.nHolesMax = icf.maxHoles
603 icf.nHolesGapMax = icf.maxHoles
604 icf.nWeightedClustersMin = [6]
605 icf.maxdImpactSSSSeeds = [20.0 * Units.mm]
606 icf.radMax = 1100. * Units.mm
607 icf.doZBoundary = False
608
609 icf.Xi2max = [9.0]
610 icf.Xi2maxNoAdd = [25.0]
611 icf.doBremRecoverySi = True
612
613 return icf
614

◆ createITkFastTrackingPassFlags()

python.TrackingPassFlags.createITkFastTrackingPassFlags ( )

Definition at line 261 of file TrackingPassFlags.py.

261def createITkFastTrackingPassFlags():
262
263 icf = createITkTrackingPassFlags()
264
265 icf.minPT = lambda pcf : (
266 [0.9 * Units.GeV * pcf.BField.configuredSolenoidFieldScale,
267 0.4 * Units.GeV * pcf.BField.configuredSolenoidFieldScale,
268 0.4 * Units.GeV * pcf.BField.configuredSolenoidFieldScale])
269 icf.maxZImpact = [150.0 * Units.mm]
270 icf.minPixel = [3]
271 icf.maxHoles = [1]
272 icf.nHolesMax = icf.maxHoles
273 icf.nHolesGapMax = [1]
274 icf.minPTSeed = lambda pcf: (
275 0.9 * Units.GeV * pcf.BField.configuredSolenoidFieldScale)
276 icf.maxZImpactSeed = 150.0 * Units.mm
277 icf.useITkStripSeeding = False
278
279 return icf
280

◆ createITkFTFLargeD0PassFlags()

python.TrackingPassFlags.createITkFTFLargeD0PassFlags ( )

Definition at line 301 of file TrackingPassFlags.py.

301def createITkFTFLargeD0PassFlags():
302 icf = createITkLargeD0FastTrackingPassFlags()
303 icf.addFlag("doHitDV" , False)
304 icf.addFlag("doDisappearingTrk" , False)
305 icf.addFlag("useTrigTrackFollowing", False)
306 icf.addFlag("useTrigRoadPredictor", False)
307 icf.addFlag("useTracklets", False)
308 icf.useSeedFilter = False
309 icf.minPT = lambda pcf : (
310 [1.0 * Units.GeV * pcf.BField.configuredSolenoidFieldScale])
311
312 icf.maxPrimaryImpact = [400.0 * Units.mm]
313 icf.maxPrimaryImpactSeed = 400.0 * Units.mm
314 icf.maxdImpactSSSSeeds = [400.0 * Units.mm]
315
316
317 return icf
318
319

◆ createITkFTFPassFlags()

python.TrackingPassFlags.createITkFTFPassFlags ( )

ITk with FTF standalone mode ####.

Definition at line 282 of file TrackingPassFlags.py.

282def createITkFTFPassFlags():
283
284 icf = createITkFastTrackingPassFlags()
285
286 icf.addFlag("doHitDV" , False)
287 icf.addFlag("doDisappearingTrk" , False)
288 icf.addFlag("useTrigTrackFollowing", False)
289 icf.addFlag("useTrigRoadPredictor", False)
290 icf.addFlag("useTracklets", False)
291 icf.useSeedFilter = False
292 icf.minPT = lambda pcf : (
293 [0.9 * Units.GeV * pcf.BField.configuredSolenoidFieldScale,
294 0.4 * Units.GeV * pcf.BField.configuredSolenoidFieldScale,
295 0.4 * Units.GeV * pcf.BField.configuredSolenoidFieldScale])
296 icf.minPTSeed = lambda pcf : (
297 0.9 * Units.GeV * pcf.BField.configuredSolenoidFieldScale)
298
299 return icf
300

◆ createITkHeavyIonTrackingPassFlags()

python.TrackingPassFlags.createITkHeavyIonTrackingPassFlags ( )

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

Definition at line 242 of file TrackingPassFlags.py.

242def createITkHeavyIonTrackingPassFlags():
243 icf = createITkTrackingPassFlags()
244 icf.extension = "HeavyIon"
245 icf.maxPrimaryImpact = [2.0 * Units.mm]
246 icf.minPT = lambda pcf : (
247 [0.4 *Units.GeV * pcf.BField.configuredSolenoidFieldScale])
248 icf.minPTSeed = lambda pcf : (
249 0.4 * Units.GeV * pcf.BField.configuredSolenoidFieldScale)
250 icf.minClusters = [6]
251 icf.minSiNotShared = [6]
252 icf.Xi2max = [6.]
253 icf.Xi2maxNoAdd = [9.]
254 icf.maxPixelHoles = [1]
255 icf.maxSctHoles = [1]
256 icf.maxDoubleHoles = [0]
257 icf.doBremRecoverySi = False
258 return icf
259
260

◆ createITkLargeD0FastTrackingPassFlags()

python.TrackingPassFlags.createITkLargeD0FastTrackingPassFlags ( )

Definition at line 365 of file TrackingPassFlags.py.

365def createITkLargeD0FastTrackingPassFlags():
366
367 icf = createITkLargeD0TrackingPassFlags()
368
369 icf.useITkPixelSeeding = False
370 icf.useITkStripSeeding = True
371
372 icf.maxEta = 2.4
373 icf.etaBins = [-1.0, 2.4]
374 icf.minPT = lambda pcf : (
375 [5.0 * Units.GeV * pcf.BField.configuredSolenoidFieldScale])
376 icf.minPTSeed = lambda pcf : (
377 5.0 * Units.GeV * pcf.BField.configuredSolenoidFieldScale)
378 icf.nWeightedClustersMin = [8]
379 icf.maxPrimaryImpact = [150 * Units.mm]
380 icf.maxPrimaryImpactSeed = 150. * Units.mm
381 icf.maxdImpactSSSSeeds = [150.0 * Units.mm]
382 icf.maxZImpact = [200 * Units.mm]
383 icf.maxZImpactSeed = 200. * Units.mm
384 icf.radMax = 400. * Units.mm
385
386 return icf
387

◆ createITkLargeD0TrackingPassFlags()

python.TrackingPassFlags.createITkLargeD0TrackingPassFlags ( )

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

Definition at line 321 of file TrackingPassFlags.py.

321def createITkLargeD0TrackingPassFlags():
322
323 icf = createITkTrackingPassFlags()
324 icf.extension = "LargeD0"
325 icf.usePrdAssociationTool = True
326 icf.storeSeparateContainer = lambda pcf : pcf.Tracking.storeSeparateLargeD0Container
327
328 icf.minPT = lambda pcf : (
329 [1000 * Units.MeV * pcf.BField.configuredSolenoidFieldScale])
330 icf.maxEta = 4.0
331 icf.etaBins = [-1.0, 4.0]
332 icf.maxPrimaryImpact = [300 * Units.mm]
333 icf.maxZImpact = [500 * Units.mm]
334 icf.minClusters = [8]
335 icf.minSiNotShared = [6]
336 icf.maxShared = [2]
337 icf.minPixel = [0]
338 icf.maxHoles = [1]
339 icf.maxPixelHoles = [1]
340 icf.maxSctHoles = [1]
341 icf.maxDoubleHoles = [0]
342
343 icf.maxZImpactSeed = 500.0 * Units.mm
344 icf.maxPrimaryImpactSeed = 300.0 * Units.mm
345 icf.minPTSeed = lambda pcf : (
346 1000 * Units.MeV * pcf.BField.configuredSolenoidFieldScale)
347
348 icf.radMax = 1100. * Units.mm
349 icf.nHolesMax = icf.maxHoles
350 icf.nHolesGapMax = icf.maxHoles
351 icf.roadWidth = 5
352
353 # --- seeding
354 icf.useITkPixelSeeding = False
355 icf.maxdImpactSSSSeeds = [300.0 * Units.mm]
356
357 icf.doBremRecoverySi = False
358
359 icf.Xi2max = [9.0]
360 icf.Xi2maxNoAdd = [25.0]
361 icf.nWeightedClustersMin = [6]
362
363 return icf
364

◆ createITkLowPtTrackingPassFlags()

python.TrackingPassFlags.createITkLowPtTrackingPassFlags ( )

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

Definition at line 389 of file TrackingPassFlags.py.

389def createITkLowPtTrackingPassFlags():
390
391 icf = createITkTrackingPassFlags()
392 icf.extension = "LowPt"
393 icf.minPT = lambda pcf : (
394 [0.4 * Units.GeV * pcf.BField.configuredSolenoidFieldScale])
395 icf.minPTSeed = lambda pcf : (
396 0.4 * Units.GeV * pcf.BField.configuredSolenoidFieldScale)
397 icf.doBremRecoverySi = False
398
399 return icf
400

◆ createITkTrackingPassFlags()

python.TrackingPassFlags.createITkTrackingPassFlags ( )

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

Definition at line 120 of file TrackingPassFlags.py.

120def createITkTrackingPassFlags():
121
122 # Set ITk flags from scratch to avoid relying on InDet flags through lambda functions
123 from AthenaConfiguration.AthConfigFlags import AthConfigFlags
124 icf = AthConfigFlags()
125
126 icf.addFlag("extension", "" )
127
128 icf.addFlag("useITkPixel" , lambda pcf : pcf.Detector.EnableITkPixel )
129 icf.addFlag("useITkStrip" , lambda pcf : pcf.Detector.EnableITkStrip )
130 icf.addFlag("useITkPixelSeeding" , True )
131 icf.addFlag("useITkStripSeeding" , True )
132
133 icf.addFlag("usePrdAssociationTool" , False)
134 icf.addFlag("storeSeparateContainer" , False)
135 icf.addFlag("doZBoundary" , True)
136 icf.addFlag("doAmbiguityProcessorTrackFit", True)
137
138 icf.addFlag("useTIDE_Ambi", lambda pcf: pcf.Tracking.doTIDE_Ambi)
139
140 # Maximum bin set to 9999 instead of four to prevent out of bounds lookups
141 icf.addFlag("etaBins" , [-1.0, 2.0, 2.6, 9999.0])
142 icf.addFlag("maxEta" , 4.0)
143 icf.addFlag("minPT" , lambda pcf :
144 [0.2 * Units.GeV * pcf.BField.configuredSolenoidFieldScale]
145 if pcf.Tracking.doLowMu else
146 [0.9 * Units.GeV * pcf.BField.configuredSolenoidFieldScale,
147 0.4 * Units.GeV * pcf.BField.configuredSolenoidFieldScale,
148 0.4 * Units.GeV * pcf.BField.configuredSolenoidFieldScale])
149
150 icf.addFlag("minPTSeed" , lambda pcf : (
151 pcf.BField.configuredSolenoidFieldScale *
152 (0.2 * Units.GeV if pcf.Tracking.doLowMu
153 else 0.9 * Units.GeV)))
154 icf.addFlag("maxPrimaryImpactSeed" , 2.0 * Units.mm)
155 icf.addFlag("maxZImpactSeed" , 200.0 * Units.mm)
156 icf.addFlag("useSeedFilter" , True)
157
158 # --- cluster cuts
159 icf.addFlag("minClusters" , lambda pcf :
160 [6, 5, 4] if pcf.Tracking.doLowMu else [9, 8, 7])
161 icf.addFlag("minSiNotShared" , lambda pcf :
162 [6, 5, 4] if pcf.Tracking.doLowMu else [7, 6, 5])
163 icf.addFlag("maxShared" , [2])
164 icf.addFlag("minPixel" , [1])
165 icf.addFlag("maxHoles" , [2])
166 icf.addFlag("maxPixelHoles" , [2])
167 icf.addFlag("maxSctHoles" , [2])
168 icf.addFlag("maxDoubleHoles" , [1])
169 icf.addFlag("maxPrimaryImpact" , [2.0 * Units.mm, 2.0 * Units.mm, 10.0 * Units.mm])
170 icf.addFlag("maxEMImpact" , [50.0 * Units.mm])
171 icf.addFlag("maxZImpact" , [200.0 * Units.mm])
172
173 # --- general pattern cuts for NewTracking
174 icf.addFlag("roadWidth" , 20.)
175 icf.addFlag("nHolesMax" , icf.maxHoles)
176 icf.addFlag("nHolesGapMax" , icf.maxHoles)
177
178 icf.addFlag("Xi2max" , [9.0])
179 icf.addFlag("Xi2maxNoAdd" , [25.0])
180 icf.addFlag("nWeightedClustersMin" , [6])
181
182 # --- seeding
183 icf.addFlag("maxdImpactSSSSeeds" , [20.0 * Units.mm])
184 icf.addFlag("radMax" , 1100. * Units.mm)
185
186 # --- min pt cut for brem
187 icf.addFlag("doBremRecoverySi", lambda pcf: pcf.Tracking.doBremRecovery)
188 icf.addFlag("minPTBrem", lambda pcf: (
189 [1. * Units.GeV * pcf.BField.configuredSolenoidFieldScale]))
190
191 # -- use of calo information
192 icf.addFlag("doCaloSeededBremSi", lambda pcf: pcf.Tracking.doCaloSeededBrem)
193 icf.addFlag("doCaloSeededAmbiSi", lambda pcf: pcf.Tracking.doCaloSeededAmbi)
194
195 # --- handle ACTS workflow coexistence
196 # Athena components
197 icf.addFlag("doAthenaCluster", True)
198 icf.addFlag("doAthenaSpacePoint", True)
199 icf.addFlag("doAthenaSeed", True)
200 icf.addFlag("doAthenaTrack", True)
201 icf.addFlag("doAthenaAmbiguityResolution", True)
202 # Acts components
203 icf.addFlag("doActsCluster", False)
204 icf.addFlag("doActsSpacePoint", False)
205 icf.addFlag("doActsSeed", False)
206 icf.addFlag("doActsTrack", False)
207 icf.addFlag("doActsAmbiguityResolution", False)
208 # Athena -> Acts EDM converters
209 icf.addFlag("doAthenaToActsCluster", False)
210 icf.addFlag("doAthenaToActsSpacePoint", False)
211 icf.addFlag("doAthenaToActsTrack", False)
212 # Acts -> Athena EDM converters
213 icf.addFlag("doActsToAthenaCluster", False)
214 icf.addFlag("doActsToAthenaSpacePoint", False)
215 icf.addFlag("doActsToAthenaSeed", False)
216 icf.addFlag("doActsToAthenaTrack", False)
217 icf.addFlag("doActsToAthenaResolvedTrack", False)
218
219 # --- flags for GNN tracking
220 icf.addFlag("doGNNTrack", False)
221
222 # ---flag for FPGA tracking
223 icf.addFlag("doFPGASpacePoint", False)
224 icf.addFlag("doFPGACluster", False)
225 icf.addFlag("doFPGASeed", False)
226 icf.addFlag("doFPGATrackSim", False)
227
228 # --- Flags for detailed information.
229 # Ignored for Primary Pass (always active);
230 # Enable for other passes with dedicated output container, if desired.
231 icf.addFlag("storeTrackSeeds", False)
232 icf.addFlag("storeSiSPSeededTracks", False)
233
234 # --- flags for ACTS tracking
235 icf.addFlag("isSecondaryPass", False)
236
237 return icf
238
239
240

◆ createLowPtLargeD0TrackingPassFlags()

python.TrackingPassFlags.createLowPtLargeD0TrackingPassFlags ( )

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

Definition at line 522 of file TrackingPassFlags.py.

522def createLowPtLargeD0TrackingPassFlags():
523 icf = createTrackingPassFlags()
524 icf.extension = "LowPtLargeD0"
525 icf.usePrdAssociationTool = True
526 icf.storeSeparateContainer = lambda pcf : pcf.Tracking.storeSeparateLargeD0Container
527 icf.maxPT = lambda pcf: (
528 1.0 * Units.TeV * pcf.BField.configuredSolenoidFieldScale)
529 icf.minPT = lambda pcf: (
530 100 * Units.MeV * pcf.BField.configuredSolenoidFieldScale)
531 icf.maxEta = 5
532 icf.maxPrimaryImpact = 300.0 * Units.mm
533 icf.maxZImpact = 1500.0 * Units.mm
534 icf.minClusters = 5
535 icf.minSiNotShared = 5
536 icf.maxShared = 2 # cut is now on number of shared modules
537 icf.minPixel = 0
538 icf.maxHoles = 2
539 icf.maxPixelHoles = 1
540 icf.maxSctHoles = 2
541 icf.maxDoubleHoles = 1
542 icf.radMax = 600. * Units.mm
543 icf.nHolesMax = icf.maxHoles
544 icf.nHolesGapMax = icf.maxHoles
545 icf.maxTracksPerSharedPRD = 2
546 icf.doBremRecoverySi = False
547
548 icf.RunPixelPID = False
549 icf.RunTRTPID = False
550
551 return icf
552

◆ createLowPtRoITrackingPassFlags()

python.TrackingPassFlags.createLowPtRoITrackingPassFlags ( )

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

Definition at line 449 of file TrackingPassFlags.py.

449def createLowPtRoITrackingPassFlags():
450 icf = createTrackingPassFlags()
451 icf.extension = "LowPtRoI"
452 icf.usePrdAssociationTool = True
453 icf.storeSeparateContainer = True
454 icf.maxPT = lambda pcf: (
455 0.850 * Units.GeV * pcf.BField.configuredSolenoidFieldScale)
456 icf.minPT = lambda pcf: (
457 0.050 * Units.GeV * pcf.BField.configuredSolenoidFieldScale)
458 icf.minClusters = 5
459 icf.minSiNotShared = 4
460 icf.maxShared = 1 # cut is now on number of shared modules
461 icf.minPixel = 2
462 icf.maxHoles = 2
463 icf.maxPixelHoles = 1
464 icf.maxSctHoles = 2
465 icf.maxDoubleHoles = 1
466 icf.radMax = 600. * Units.mm
467 icf.nHolesMax = icf.maxHoles
468 icf.nHolesGapMax = icf.maxHoles # not as tight as 2*maxDoubleHoles
469 icf.doBremRecoverySi = False
470 # Add custom flags valid for this pass only
471 icf.addFlag("z0WindowRoI", 30.0) # mm
472 icf.addFlag("doRandomSpot", False)
473 icf.addFlag("RoIStrategy", RoIStrategy.LeadTracks)
474 icf.addFlag("inputLowPtRoIfile","")
475
476 return icf
477
478

◆ createLowPtTrackingPassFlags()

python.TrackingPassFlags.createLowPtTrackingPassFlags ( )

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

Definition at line 554 of file TrackingPassFlags.py.

554def createLowPtTrackingPassFlags():
555 icf = createTrackingPassFlags()
556 icf.extension = "LowPt"
557 icf.usePrdAssociationTool = True
558 icf.isLowPt = True
559 icf.maxPT = lambda pcf: (
560 pcf.BField.configuredSolenoidFieldScale *
561 (1e6 if pcf.Tracking.doMinBias else
562 pcf.Tracking.MainPass.minPT + 0.3) * Units.GeV)
563 icf.minPT = lambda pcf: (
564 0.05 * Units.GeV * pcf.BField.configuredSolenoidFieldScale)
565 icf.minClusters = 5
566 icf.minSiNotShared = 4
567 icf.maxShared = 1 # cut is now on number of shared modules
568 icf.minPixel = 2 # At least one pixel hit for low-pt (assoc. seeded on pixels!)
569 icf.maxHoles = 2
570 icf.maxPixelHoles = 1
571 icf.maxSctHoles = 2
572 icf.maxDoubleHoles = 1
573 icf.radMax = 600. * Units.mm
574 icf.nHolesMax = icf.maxHoles
575 icf.nHolesGapMax = icf.maxHoles # not as tight as 2*maxDoubleHoles
576 icf.maxPrimaryImpact = lambda pcf: (
577 100. * Units.mm if pcf.Tracking.doMinBias else 10. * Units.mm)
578 icf.doBremRecoverySi = False
579
580 return icf
581

◆ createMinBiasTrackingPassFlags()

python.TrackingPassFlags.createMinBiasTrackingPassFlags ( )

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

Definition at line 414 of file TrackingPassFlags.py.

414def createMinBiasTrackingPassFlags():
415 icf = createTrackingPassFlags()
416 icf.extension = "MinBias"
417 icf.minPT = lambda pcf: (
418 0.1 * Units.GeV * pcf.BField.configuredSolenoidFieldScale)
419 icf.maxPrimaryImpact = 10. * Units.mm
420 icf.maxZImpact = 250. * Units.mm
421 icf.minClusters = 5
422 icf.maxdImpactSSSSeeds = 20.0 * Units.mm # apply cut on SSS seeds
423 icf.roadWidth = 20.
424 icf.doBremRecoverySi = False
425 icf.maxSeedsPerSP_Pixels = 5
426 icf.keepAllConfirmedPixelSeeds = False
427
428 return icf
429

◆ createPixelTrackingPassFlags()

python.TrackingPassFlags.createPixelTrackingPassFlags ( )

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

Definition at line 816 of file TrackingPassFlags.py.

816def createPixelTrackingPassFlags():
817 icf = createTrackingPassFlags()
818 icf.extension = "Pixel"
819 icf.isLowPt = lambda pcf : pcf.Tracking.doMinBias
820
821 def _minPt( pcf ):
822 if pcf.Beam.Type is BeamType.Cosmics:
823 return 0.5 * Units.GeV * pcf.BField.configuredSolenoidFieldScale
824 if pcf.Tracking.PrimaryPassConfig is PrimaryPassConfig.UPC:
825 return 0.05 * Units.GeV * pcf.BField.configuredSolenoidFieldScale
826 if pcf.Tracking.PrimaryPassConfig is PrimaryPassConfig.HIP:
827 return 0.05 * Units.GeV * pcf.BField.configuredSolenoidFieldScale
828 if pcf.Tracking.doMinBias:
829 return 0.05 * Units.GeV * pcf.BField.configuredSolenoidFieldScale
830 return 0.1 * Units.GeV * pcf.BField.configuredSolenoidFieldScale
831
832 icf.minPT = _minPt
833 icf.minClusters = 3
834
835 def _pick( default, hion, cosmics):
836 def _internal( pcf ):
837 if pcf.Tracking.PrimaryPassConfig is PrimaryPassConfig.HeavyIon:
838 return hion
839 if pcf.Beam.Type is BeamType.Cosmics:
840 return cosmics
841 return default
842 return _internal
843
844 icf.maxHoles = _pick( default = 1, hion = 0, cosmics = 3 )
845 icf.maxPixelHoles = _pick( default = 1, hion = 0, cosmics = 3 )
846 icf.maxSctHoles = 0
847 icf.maxDoubleHoles = 0
848 icf.minSiNotShared = 3
849 icf.maxShared = 0
850 icf.nHolesMax = _pick( default = 1, hion = 0, cosmics = 3 )
851 icf.nHolesGapMax = _pick( default = 1, hion = 0, cosmics = 3 )
852 icf.useSCT = False
853 icf.useSCTSeeding = False
854 icf.useTRT = False
855 icf.maxPrimaryImpact = lambda pcf: (
856 1000. * Units.mm if pcf.Beam.Type is BeamType.Cosmics else
857 10. * Units.mm if pcf.Tracking.doUPC else
858 5. * Units.mm)
859 icf.roadWidth = lambda pcf: (
860 60.0 if pcf.Beam.Type is BeamType.Cosmics else
861 12.0)
862 icf.maxZImpact = lambda pcf: (
863 10000. * Units.mm if pcf.Beam.Type is BeamType.Cosmics else
864 320. * Units.mm if pcf.Tracking.doLowMu else
865 250. * Units.mm if pcf.Tracking.doMinBias else
866 200. * Units.mm)
867 icf.Xi2max = lambda pcf: (
868 60. if pcf.Beam.Type is BeamType.Cosmics else
869 15. if pcf.Tracking.doLowMu else
870 9.)
871 icf.Xi2maxNoAdd = lambda pcf: (
872 100.0 if pcf.Beam.Type is BeamType.Cosmics else
873 35. if pcf.Tracking.doLowMu else
874 25.)
875 icf.nWeightedClustersMin = 6
876 icf.doBremRecoverySi = False
877
878 icf.RunPixelPID = lambda pcf: (
879 pcf.Tracking.PrimaryPassConfig is PrimaryPassConfig.UPC)
880 icf.RunTRTPID = False
881 return icf
882

◆ createR3LargeD0TrackingPassFlags()

python.TrackingPassFlags.createR3LargeD0TrackingPassFlags ( )

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

Definition at line 480 of file TrackingPassFlags.py.

480def createR3LargeD0TrackingPassFlags():
481 icf = createTrackingPassFlags()
482 icf.extension = "R3LargeD0"
483 icf.usePrdAssociationTool = True
484 icf.usePixelSeeding = False
485 icf.storeSeparateContainer = lambda pcf : pcf.Tracking.storeSeparateLargeD0Container
486 icf.maxPT = lambda pcf : (
487 1.0 * Units.TeV * pcf.BField.configuredSolenoidFieldScale)
488 icf.minPT = lambda pcf : (
489 1.0 * Units.GeV * pcf.BField.configuredSolenoidFieldScale)
490 icf.maxEta = 3
491 icf.maxPrimaryImpact = 300.0 * Units.mm
492 icf.maxEMImpact = 300 * Units.mm
493 icf.maxZImpact = 500 * Units.mm
494 icf.minClusters = 8
495 icf.minSiNotShared = 6
496 icf.maxShared = 2 # cut is now on number of shared modules
497 icf.minPixel = 0
498 icf.maxHoles = 2
499 icf.maxPixelHoles = 1
500 icf.maxSctHoles = 1
501 icf.maxDoubleHoles = 0
502 icf.radMax = 600. * Units.mm
503 icf.nHolesMax = icf.maxHoles
504 icf.nHolesGapMax = 1
505 icf.maxTracksPerSharedPRD = 2
506 icf.Xi2max = 9.0
507 icf.Xi2maxNoAdd = 25.0
508 icf.roadWidth = 5.
509 icf.nWeightedClustersMin = 8
510 icf.maxdImpactSSSSeeds = 300.0
511 icf.doZBoundary = True
512 icf.keepAllConfirmedStripSeeds = True
513 icf.maxSeedsPerSP_Strips = 1
514 icf.doBremRecoverySi = False
515
516 icf.RunPixelPID = False
517 icf.RunTRTPID = False
518
519 return icf
520

◆ createSCTTrackingPassFlags()

python.TrackingPassFlags.createSCTTrackingPassFlags ( )

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

Definition at line 913 of file TrackingPassFlags.py.

913def createSCTTrackingPassFlags():
914 icf = createTrackingPassFlags()
915 icf.extension = "SCT"
916 icf.minClusters = 7
917 icf.maxDoubleHoles = 1
918 icf.minSiNotShared = 5
919 icf.usePixel = False
920 icf.usePixelSeeding = False
921 icf.useTRT = False
922
923 def _minpt( pcf ):
924 if pcf.Beam.Type is BeamType.Cosmics:
925 return 0.5 * Units.GeV * pcf.BField.configuredSolenoidFieldScale
926 if pcf.Tracking.doMinBias:
927 return 0.1 * Units.GeV * pcf.BField.configuredSolenoidFieldScale
928 return 0.1 * Units.GeV * pcf.BField.configuredSolenoidFieldScale
929
930 icf.minPT = _minpt
931
932 icf.maxPrimaryImpact = lambda pcf: (
933 1000. * Units.mm if pcf.Beam.Type is BeamType.Cosmics else
934 10. * Units.mm if pcf.Tracking.doLowMu else
935 5. * Units.mm)
936 icf.maxZImpact = lambda pcf: (
937 10000. * Units.mm if pcf.Beam.Type is BeamType.Cosmics else
938 320. * Units.mm if pcf.Tracking.doLowMu else
939 200.0 * Units.mm)
940
941 icf.maxHoles = lambda pcf: 3 if pcf.Beam.Type is BeamType.Cosmics else 2
942 icf.nHolesMax = lambda pcf: 3 if pcf.Beam.Type is BeamType.Cosmics else 2
943 icf.nHolesGapMax = lambda pcf: 3 if pcf.Beam.Type is BeamType.Cosmics else 2
944 icf.maxPixelHoles = lambda pcf: 0 if pcf.Beam.Type is BeamType.Cosmics else 0
945 icf.maxSctHoles = lambda pcf: 3 if pcf.Beam.Type is BeamType.Cosmics else 2
946 icf.maxShared = 0
947 icf.roadWidth = lambda pcf: (
948 60. if pcf.Beam.Type is BeamType.Cosmics else
949 20. if pcf.Tracking.doLowMu else
950 12.)
951 icf.Xi2max = lambda pcf: (
952 60. if pcf.Beam.Type is BeamType.Cosmics else
953 15. if pcf.Tracking.doLowMu else
954 9.)
955 icf.Xi2maxNoAdd = lambda pcf: (
956 100.0 if pcf.Beam.Type is BeamType.Cosmics else
957 35. if pcf.Tracking.doLowMu else
958 25.)
959 icf.nWeightedClustersMin = lambda pcf: 4 if pcf.Beam.Type is BeamType.Cosmics else 6
960 icf.minClusters = lambda pcf: (
961 4 if pcf.Beam.Type is BeamType.Cosmics else
962 7 if pcf.Tracking.doLowMu else
963 8)
964 icf.minSiNotShared = lambda pcf: 4 if pcf.Beam.Type is BeamType.Cosmics else 5
965 icf.doBremRecoverySi = False
966
967 icf.RunPixelPID = False
968 icf.RunTRTPID = False
969 return icf
970

◆ createTrackingPassFlags()

python.TrackingPassFlags.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("useTRT" , lambda pcf : pcf.Detector.EnableTRT )
102 icf.addFlag("useSCT" , lambda pcf : pcf.Detector.EnableSCT )
103 icf.addFlag("usePixelSeeding" , lambda pcf : pcf.Detector.EnablePixel )
104 icf.addFlag("useSCTSeeding" , lambda pcf : pcf.Detector.EnableSCT )
105
106 # --- Pixel and TRT particle ID during particle creation
107 icf.addFlag("RunPixelPID", True)
108 icf.addFlag("RunTRTPID", True)
109
110 # --- Flags for detailed information.
111 # Ignored for Primary Pass (always active);
112 # Enable for other passes with dedicated output container, if desired.
113 icf.addFlag("storeTrackSeeds", False)
114 icf.addFlag("storeSiSPSeededTracks", False)
115
116 return icf
117
118

◆ createTRTStandaloneTrackingPassFlags()

python.TrackingPassFlags.createTRTStandaloneTrackingPassFlags ( )

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

Definition at line 987 of file TrackingPassFlags.py.

987def createTRTStandaloneTrackingPassFlags():
988 icf = createTrackingPassFlags()
989 icf.extension = "TRTStandalone"
990 icf.useTIDE_Ambi = False
991 icf.usePrdAssociationTool = True
992 icf.doBremRecoverySi = False
993
994 return icf
995

◆ createTRTTrackingPassFlags()

python.TrackingPassFlags.createTRTTrackingPassFlags ( )

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

Definition at line 972 of file TrackingPassFlags.py.

972def createTRTTrackingPassFlags():
973 icf = createTrackingPassFlags()
974 icf.extension = "TRT"
975 icf.useTIDE_Ambi = False
976 icf.usePrdAssociationTool = True
977 icf.minPT = lambda pcf: (
978 0.4 * Units.GeV * pcf.BField.configuredSolenoidFieldScale)
979 icf.doBremRecoverySi = False
980
981 icf.RunPixelPID = False
982 icf.RunTRTPID = False
983 return icf
984
985

◆ createUPCTrackingPassFlags()

python.TrackingPassFlags.createUPCTrackingPassFlags ( )

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

Definition at line 431 of file TrackingPassFlags.py.

431def createUPCTrackingPassFlags():
432 icf = createMinBiasTrackingPassFlags()
433 icf.extension = "UPC"
434 # --- min pt cut for brem
435 icf.minPTBrem = lambda pcf: (
436 0.75 * Units.GeV * pcf.BField.configuredSolenoidFieldScale)
437 # MinBias turns off Brem Recovery, turn it on here
438 icf.doBremRecoverySi = lambda pcf: pcf.Tracking.doBremRecovery
439 return icf
440

◆ createVeryLowPtTrackingPassFlags()

python.TrackingPassFlags.createVeryLowPtTrackingPassFlags ( )

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

Definition at line 616 of file TrackingPassFlags.py.

616def createVeryLowPtTrackingPassFlags():
617 icf = createTrackingPassFlags() #TODO consider using createLowPtTrackingPassFlags as a base here
618 icf.extension = "VeryLowPt"
619 icf.usePrdAssociationTool = True
620 icf.isLowPt = True
621 icf.useTRTExtension = False
622 icf.maxPT = lambda pcf : (
623 pcf.BField.configuredSolenoidFieldScale *
624 (1e6 if pcf.Tracking.doMinBias else
625 pcf.Tracking.MainPass.minPT + 0.3) * Units.GeV)
626 icf.minPT = lambda pcf : (
627 0.050 * Units.GeV * pcf.BField.configuredSolenoidFieldScale)
628 icf.minClusters = 3
629 icf.minSiNotShared = 3
630 icf.maxShared = 1 # cut is now on number of shared modules
631 icf.minPixel = 3 # At least one pixel hit for low-pt (assoc. seeded on pixels!)
632 icf.maxHoles = 1
633 icf.maxPixelHoles = 1
634 icf.maxSctHoles = 1
635 icf.maxDoubleHoles = 0
636 icf.nHolesMax = 1
637 icf.nHolesGapMax = 1 # not as tight as 2*maxDoubleHoles
638 icf.radMax = 600. * Units.mm # restrivt to pixels
639 icf.doBremRecoverySi = False
640
641 return icf
642

◆ createVtxBeamSpotTrackingPassFlags()

python.TrackingPassFlags.createVtxBeamSpotTrackingPassFlags ( )

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

Definition at line 734 of file TrackingPassFlags.py.

734def createVtxBeamSpotTrackingPassFlags():
735 icf = createTrackingPassFlags()
736 icf.extension = "VtxBeamSpot"
737 icf.minPT = lambda pcf: (
738 0.9 * Units.GeV * pcf.BField.configuredSolenoidFieldScale)
739 icf.minClusters = 9
740 icf.maxPixelHoles = 0
741 icf.radMax = 320. * Units.mm
742 icf.nHolesMax = 2
743 icf.nHolesGapMax = 1
744 icf.useTRT = False
745 icf.doBremRecoverySi = False
746
747 return icf
748

◆ createVtxLumiHeavyIonTrackingPassFlags()

python.TrackingPassFlags.createVtxLumiHeavyIonTrackingPassFlags ( )

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

Definition at line 712 of file TrackingPassFlags.py.

712def createVtxLumiHeavyIonTrackingPassFlags():
713 icf = createTrackingPassFlags()
714 icf.extension = "VtxLumiHeavyIon"
715 icf.minPT = lambda pcf: (
716 0.4 * Units.GeV * pcf.BField.configuredSolenoidFieldScale)
717 icf.maxPrimaryImpact = 10. * Units.mm
718 icf.maxZImpact = 250.0 * Units.mm
719 icf.minClusters = 7
720 icf.maxPixelHoles = 1
721 icf.radMax = 600. * Units.mm
722 icf.nHolesMax = 2
723 icf.nHolesGapMax = 1
724 icf.maxdImpactSSSSeeds = 20.
725 icf.roadWidth = 20.
726 icf.keepAllConfirmedPixelSeeds = False
727 icf.maxSeedsPerSP_Pixels = 5
728 icf.useTRT = False
729 icf.doBremRecoverySi = False
730
731 return icf
732

◆ createVtxLumiTrackingPassFlags()

python.TrackingPassFlags.createVtxLumiTrackingPassFlags ( )

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

Definition at line 696 of file TrackingPassFlags.py.

696def createVtxLumiTrackingPassFlags():
697 icf = createTrackingPassFlags()
698 icf.extension = "VtxLumi"
699 icf.minPT = lambda pcf: (
700 0.9 * Units.GeV * pcf.BField.configuredSolenoidFieldScale)
701 icf.minClusters = 7
702 icf.maxPixelHoles = 1
703 icf.radMax = 600. * Units.mm
704 icf.nHolesMax = 2
705 icf.nHolesGapMax = 1
706 icf.useTRT = False
707 icf.doBremRecoverySi = False
708
709 return icf
710

◆ printActiveConfig()

python.TrackingPassFlags.printActiveConfig ( flags)

Definition at line 1009 of file TrackingPassFlags.py.

1009def printActiveConfig(flags):
1010 print()
1011 print("************************************************************************")
1012
1013 print("******************** Tracking reconstruction Config ********************")
1014 print(" Active Config is",flags.Tracking.ActiveConfig.extension)
1015 flags.dump(pattern="Tracking.ActiveConfig.*", evaluate=True)
1016 print("************************************************************************")
1017 return
1018
1019
void print(char *figname, TCanvas *c1)

◆ printPrimaryConfig()

python.TrackingPassFlags.printPrimaryConfig ( flags)

Definition at line 998 of file TrackingPassFlags.py.

998def printPrimaryConfig(flags):
999 print()
1000 print("************************************************************************")
1001
1002 print("******************** Tracking reconstruction Config ********************")
1003 print(" Primary Config is",flags.Tracking[flags.Tracking.PrimaryPassConfig.value+"Pass"].extension)
1004 flags.dump(pattern="Tracking."+flags.Tracking.PrimaryPassConfig.value+"Pass.*", evaluate=True)
1005 print("************************************************************************")
1006 return
1007
1008

Variable Documentation

◆ configuredSolenoidFieldScale

python.TrackingPassFlags.configuredSolenoidFieldScale

Definition at line 1044 of file TrackingPassFlags.py.

◆ doBLS

python.TrackingPassFlags.doBLS

Definition at line 1040 of file TrackingPassFlags.py.

◆ Files

python.TrackingPassFlags.Files

Definition at line 1029 of file TrackingPassFlags.py.

◆ flags

python.TrackingPassFlags.flags = initConfigFlags()

Definition at line 1026 of file TrackingPassFlags.py.

◆ l

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

Definition at line 1032 of file TrackingPassFlags.py.