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 672 of file TrackingPassFlags.py.

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

◆ createCosmicsTrackingPassFlags()

python.TrackingPassFlags.createCosmicsTrackingPassFlags ( )

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

Definition at line 746 of file TrackingPassFlags.py.

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

◆ createDisappearingTrackingPassFlags()

python.TrackingPassFlags.createDisappearingTrackingPassFlags ( )

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

Definition at line 880 of file TrackingPassFlags.py.

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

◆ createForwardTracksTrackingPassFlags()

python.TrackingPassFlags.createForwardTracksTrackingPassFlags ( )

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

Definition at line 640 of file TrackingPassFlags.py.

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

◆ createHeavyIonTrackingPassFlags()

python.TrackingPassFlags.createHeavyIonTrackingPassFlags ( )

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

Definition at line 775 of file TrackingPassFlags.py.

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

◆ createHighPileupTrackingPassFlags()

python.TrackingPassFlags.createHighPileupTrackingPassFlags ( )

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

Definition at line 398 of file TrackingPassFlags.py.

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

◆ createHIPTrackingPassFlags()

python.TrackingPassFlags.createHIPTrackingPassFlags ( )

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

Definition at line 438 of file TrackingPassFlags.py.

438def createHIPTrackingPassFlags():
439 icf = createMinBiasTrackingPassFlags()
440 icf.extension = "HIP"
441 return icf
442
443

◆ createITkConversionTrackingPassFlags()

python.TrackingPassFlags.createITkConversionTrackingPassFlags ( )

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

Definition at line 579 of file TrackingPassFlags.py.

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

◆ createITkFastTrackingPassFlags()

python.TrackingPassFlags.createITkFastTrackingPassFlags ( )

Definition at line 257 of file TrackingPassFlags.py.

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

◆ createITkFTFLargeD0PassFlags()

python.TrackingPassFlags.createITkFTFLargeD0PassFlags ( )

Definition at line 297 of file TrackingPassFlags.py.

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

◆ createITkFTFPassFlags()

python.TrackingPassFlags.createITkFTFPassFlags ( )

ITk with FTF standalone mode ####.

Definition at line 278 of file TrackingPassFlags.py.

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

◆ createITkHeavyIonTrackingPassFlags()

python.TrackingPassFlags.createITkHeavyIonTrackingPassFlags ( )

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

Definition at line 238 of file TrackingPassFlags.py.

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

◆ createITkLargeD0FastTrackingPassFlags()

python.TrackingPassFlags.createITkLargeD0FastTrackingPassFlags ( )

Definition at line 361 of file TrackingPassFlags.py.

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

◆ createITkLargeD0TrackingPassFlags()

python.TrackingPassFlags.createITkLargeD0TrackingPassFlags ( )

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

Definition at line 317 of file TrackingPassFlags.py.

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

◆ createITkLowPtTrackingPassFlags()

python.TrackingPassFlags.createITkLowPtTrackingPassFlags ( )

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

Definition at line 385 of file TrackingPassFlags.py.

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

◆ 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("doActsToAthenaTrack", False)
216 icf.addFlag("doActsToAthenaResolvedTrack", False)
217
218 # --- flags for GNN tracking
219 icf.addFlag("doGNNTrack", False)
220
221 # ---flag for FPGA tracking
222 icf.addFlag("doFPGASpacePoint", False)
223 icf.addFlag("doFPGACluster", False)
224 icf.addFlag("doFPGASeed", False)
225 icf.addFlag("doFPGATrackSim", False)
226
227 # --- Flags for detailed information.
228 # Ignored for Primary Pass (always active);
229 # Enable for other passes with dedicated output container, if desired.
230 icf.addFlag("storeTrackSeeds", False)
231 icf.addFlag("storeSiSPSeededTracks", False)
232
233 return icf
234
235
236

◆ createLowPtLargeD0TrackingPassFlags()

python.TrackingPassFlags.createLowPtLargeD0TrackingPassFlags ( )

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

Definition at line 518 of file TrackingPassFlags.py.

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

◆ createLowPtRoITrackingPassFlags()

python.TrackingPassFlags.createLowPtRoITrackingPassFlags ( )

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

Definition at line 445 of file TrackingPassFlags.py.

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

◆ createLowPtTrackingPassFlags()

python.TrackingPassFlags.createLowPtTrackingPassFlags ( )

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

Definition at line 550 of file TrackingPassFlags.py.

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

◆ createMinBiasTrackingPassFlags()

python.TrackingPassFlags.createMinBiasTrackingPassFlags ( )

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

Definition at line 410 of file TrackingPassFlags.py.

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

◆ createPixelTrackingPassFlags()

python.TrackingPassFlags.createPixelTrackingPassFlags ( )

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

Definition at line 812 of file TrackingPassFlags.py.

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

◆ createR3LargeD0TrackingPassFlags()

python.TrackingPassFlags.createR3LargeD0TrackingPassFlags ( )

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

Definition at line 476 of file TrackingPassFlags.py.

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

◆ createSCTTrackingPassFlags()

python.TrackingPassFlags.createSCTTrackingPassFlags ( )

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

Definition at line 909 of file TrackingPassFlags.py.

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

◆ 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 983 of file TrackingPassFlags.py.

983def createTRTStandaloneTrackingPassFlags():
984 icf = createTrackingPassFlags()
985 icf.extension = "TRTStandalone"
986 icf.useTIDE_Ambi = False
987 icf.usePrdAssociationTool = True
988 icf.doBremRecoverySi = False
989
990 return icf
991

◆ createTRTTrackingPassFlags()

python.TrackingPassFlags.createTRTTrackingPassFlags ( )

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

Definition at line 968 of file TrackingPassFlags.py.

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

◆ createUPCTrackingPassFlags()

python.TrackingPassFlags.createUPCTrackingPassFlags ( )

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

Definition at line 427 of file TrackingPassFlags.py.

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

◆ createVeryLowPtTrackingPassFlags()

python.TrackingPassFlags.createVeryLowPtTrackingPassFlags ( )

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

Definition at line 612 of file TrackingPassFlags.py.

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

◆ createVtxBeamSpotTrackingPassFlags()

python.TrackingPassFlags.createVtxBeamSpotTrackingPassFlags ( )

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

Definition at line 730 of file TrackingPassFlags.py.

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

◆ createVtxLumiHeavyIonTrackingPassFlags()

python.TrackingPassFlags.createVtxLumiHeavyIonTrackingPassFlags ( )

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

Definition at line 708 of file TrackingPassFlags.py.

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

◆ createVtxLumiTrackingPassFlags()

python.TrackingPassFlags.createVtxLumiTrackingPassFlags ( )

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

Definition at line 692 of file TrackingPassFlags.py.

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

◆ printActiveConfig()

python.TrackingPassFlags.printActiveConfig ( flags)

Definition at line 1005 of file TrackingPassFlags.py.

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

◆ printPrimaryConfig()

python.TrackingPassFlags.printPrimaryConfig ( flags)

Definition at line 994 of file TrackingPassFlags.py.

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

Variable Documentation

◆ configuredSolenoidFieldScale

python.TrackingPassFlags.configuredSolenoidFieldScale

Definition at line 1040 of file TrackingPassFlags.py.

◆ doBLS

python.TrackingPassFlags.doBLS

Definition at line 1036 of file TrackingPassFlags.py.

◆ Files

python.TrackingPassFlags.Files

Definition at line 1025 of file TrackingPassFlags.py.

◆ flags

python.TrackingPassFlags.flags = initConfigFlags()

Definition at line 1022 of file TrackingPassFlags.py.

◆ l

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

Definition at line 1028 of file TrackingPassFlags.py.