ATLAS Offline Software
TrackingPassFlags.py
Go to the documentation of this file.
1 #Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2 
3 from __future__ import print_function
4 
5 import AthenaCommon.SystemOfUnits as Units
6 from AthenaConfiguration.Enums import BeamType, FlagEnum
7 from TrkConfig.TrkConfigFlags import PrimaryPassConfig
8 
9 class RoIStrategy(FlagEnum):
10  LeadTracks = 'LeadTracks'
11  Random = 'Random'
12  File = 'File'
13  TruthHS = 'TruthHS'
14 
15 
19  from AthenaConfiguration.AthConfigFlags import AthConfigFlags
20  icf = AthConfigFlags()
21 
22  icf.addFlag("extension", "" )
23 
24  icf.addFlag("usePrdAssociationTool", False)
25  icf.addFlag("isLowPt", False)
26  icf.addFlag("useTIDE_Ambi", lambda pcf: pcf.Tracking.doTIDE_Ambi)
27  icf.addFlag("useTRTExtension", lambda pcf: pcf.Tracking.doTRTExtension)
28  icf.addFlag("storeSeparateContainer", False)
29  icf.addFlag("doAmbiguityProcessorTrackFit", True)
30 
31  # --- first set kinematic defaults
32  icf.addFlag("minPT", lambda pcf: (pcf.BField.configuredSolenoidFieldScale *
33  (0.4 * Units.GeV if pcf.Tracking.doLowMu else
34  0.5 * Units.GeV)))
35  icf.addFlag("maxPT", 1000.0 * Units.TeV) # off!
36  icf.addFlag("minEta", -1) # off!
37  icf.addFlag("maxEta", 2.7)
38 
39 
40  # --- cluster cuts
41  icf.addFlag("minClusters", lambda pcf:
42  3 if (pcf.Detector.EnablePixel and not pcf.Detector.EnableSCT) else
43  6 if (pcf.Detector.EnableSCT and not pcf.Detector.EnablePixel) else
44  7 if pcf.Tracking.doLowMu else
45  8 )
46 
47  icf.addFlag("minSiNotShared", 6)
48 
49  icf.addFlag("maxShared", 1) # cut is now on number of shared modules
50  icf.addFlag("minPixel", 0)
51  icf.addFlag("maxHoles", lambda pcf: 3 if pcf.Tracking.doLowMu else 2)
52  icf.addFlag("maxPixelHoles", lambda pcf: 2 if pcf.Tracking.doLowMu else 1)
53  icf.addFlag("maxSctHoles", 2)
54  icf.addFlag("maxDoubleHoles", 1)
55 
56  icf.addFlag("maxPrimaryImpact", lambda pcf:
57  10.0 * Units.mm if (pcf.Tracking.doBLS or pcf.Tracking.doLowMu) else
58  5.0 * Units.mm)
59  icf.addFlag("maxEMImpact", 50.0 * Units.mm)
60  icf.addFlag("maxZImpact", lambda pcf:
61  320.0 * Units.mm if pcf.Tracking.doLowMu else
62  200.0 * Units.mm)
63 
64  # --- this is for the TRT-extension
65  icf.addFlag("minTRTonTrk", 9)
66  icf.addFlag("minTRTPrecFrac", 0.3)
67 
68  # --- general pattern cuts for NewTracking
69 
70  # default R cut for SP in SiSpacePointsSeedMaker
71  icf.addFlag("radMax", 600.0 * Units.mm)
72  icf.addFlag("roadWidth", lambda pcf: 20. if pcf.Tracking.doLowMu else 12.)
73  icf.addFlag("nHolesMax", lambda pcf: 3 if pcf.Tracking.doLowMu else 2)
74  icf.addFlag("nHolesGapMax", lambda pcf: 3 if pcf.Tracking.doLowMu else 2)
75  icf.addFlag("Xi2max", lambda pcf: 15. if pcf.Tracking.doLowMu else 9.)
76  icf.addFlag("Xi2maxNoAdd", lambda pcf: 35. if pcf.Tracking.doLowMu else 25.)
77  icf.addFlag("nWeightedClustersMin", 6)
78 
79  # --- seeding
80  icf.addFlag("useSeedFilter", True)
81  icf.addFlag("maxTracksPerSharedPRD", 0)
82  icf.addFlag("maxdImpactPPSSeeds", lambda pcf: 1.7 if pcf.Tracking.doLowMu else 2.)
83  icf.addFlag("maxdImpactSSSSeeds", lambda pcf:
84  1000. * Units.mm if pcf.Tracking.doLowMu else
85  10. * Units.mm if pcf.Tracking.doBLS else
86  5. * Units.mm)
87  icf.addFlag("maxSeedsPerSP_Pixels", lambda pcf: 5 if pcf.Tracking.doLowMu else 1)
88  icf.addFlag("maxSeedsPerSP_Strips", 5)
89  icf.addFlag("keepAllConfirmedPixelSeeds", lambda pcf: not pcf.Tracking.doLowMu)
90  icf.addFlag("keepAllConfirmedStripSeeds", False)
91 
92  # --- min pt cut for brem
93  icf.addFlag("doBremRecoverySi", lambda pcf: pcf.Tracking.doBremRecovery)
94  icf.addFlag("minPTBrem", lambda pcf: (
95  1. * Units.GeV * pcf.BField.configuredSolenoidFieldScale))
96 
97  # --- Z Boundary Seeding
98  icf.addFlag("doZBoundary", lambda pcf:
99  not (pcf.Beam.Type is BeamType.Cosmics or pcf.Tracking.doLowMu))
100 
101  icf.addFlag("usePixel" , lambda pcf : pcf.Detector.EnablePixel )
102  icf.addFlag("useTRT" , lambda pcf : pcf.Detector.EnableTRT )
103  icf.addFlag("useSCT" , lambda pcf : pcf.Detector.EnableSCT )
104  icf.addFlag("usePixelSeeding" , lambda pcf : pcf.Detector.EnablePixel )
105  icf.addFlag("useSCTSeeding" , lambda pcf : pcf.Detector.EnableSCT )
106 
107  # --- Pixel and TRT particle ID during particle creation
108  icf.addFlag("RunPixelPID", True)
109  icf.addFlag("RunTRTPID", True)
110 
111  # --- Flags for detailed information.
112  # Ignored for Primary Pass (always active);
113  # Enable for other passes with dedicated output container, if desired.
114  icf.addFlag("storeTrackSeeds", False)
115  icf.addFlag("storeSiSPSeededTracks", False)
116 
117  return icf
118 
119 
120 
122 
123  # Set ITk flags from scratch to avoid relying on InDet flags through lambda functions
124  from AthenaConfiguration.AthConfigFlags import AthConfigFlags
125  icf = AthConfigFlags()
126 
127  icf.addFlag("extension", "" )
128 
129  icf.addFlag("useITkPixel" , lambda pcf : pcf.Detector.EnableITkPixel )
130  icf.addFlag("useITkStrip" , lambda pcf : pcf.Detector.EnableITkStrip )
131  icf.addFlag("useITkPixelSeeding" , True )
132  icf.addFlag("useITkStripSeeding" , True )
133 
134  icf.addFlag("usePrdAssociationTool" , False)
135  icf.addFlag("storeSeparateContainer" , False)
136  icf.addFlag("doZBoundary" , True)
137  icf.addFlag("doAmbiguityProcessorTrackFit", True)
138 
139  # Maximum bin set to 9999 instead of four to prevent out of bounds lookups
140  icf.addFlag("etaBins" , [-1.0, 2.0, 2.6, 9999.0])
141  icf.addFlag("maxEta" , 4.0)
142  icf.addFlag("minPT" , lambda pcf :
143  [0.2 * Units.GeV * pcf.BField.configuredSolenoidFieldScale]
144  if pcf.Tracking.doLowMu else
145  [0.9 * Units.GeV * pcf.BField.configuredSolenoidFieldScale,
146  0.4 * Units.GeV * pcf.BField.configuredSolenoidFieldScale,
147  0.4 * Units.GeV * pcf.BField.configuredSolenoidFieldScale])
148 
149  icf.addFlag("minPTSeed" , lambda pcf : (
150  pcf.BField.configuredSolenoidFieldScale *
151  (0.2 * Units.GeV if pcf.Tracking.doLowMu
152  else 0.9 * Units.GeV)))
153  icf.addFlag("maxPrimaryImpactSeed" , 2.0 * Units.mm)
154  icf.addFlag("maxZImpactSeed" , 200.0 * Units.mm)
155  icf.addFlag("useSeedFilter" , True)
156 
157  # --- cluster cuts
158  icf.addFlag("minClusters" , lambda pcf :
159  [6, 5, 4] if pcf.Tracking.doLowMu else [9, 8, 7])
160  icf.addFlag("minSiNotShared" , lambda pcf :
161  [6, 5, 4] if pcf.Tracking.doLowMu else [7, 6, 5])
162  icf.addFlag("maxShared" , [2])
163  icf.addFlag("minPixel" , [1])
164  icf.addFlag("maxHoles" , [2])
165  icf.addFlag("maxPixelHoles" , [2])
166  icf.addFlag("maxSctHoles" , [2])
167  icf.addFlag("maxDoubleHoles" , [1])
168  icf.addFlag("maxPrimaryImpact" , [2.0 * Units.mm, 2.0 * Units.mm, 10.0 * Units.mm])
169  icf.addFlag("maxEMImpact" , [50.0 * Units.mm])
170  icf.addFlag("maxZImpact" , [200.0 * Units.mm])
171 
172  # --- general pattern cuts for NewTracking
173  icf.addFlag("roadWidth" , 20.)
174  icf.addFlag("nHolesMax" , icf.maxHoles)
175  icf.addFlag("nHolesGapMax" , icf.maxHoles)
176 
177  icf.addFlag("Xi2max" , [9.0])
178  icf.addFlag("Xi2maxNoAdd" , [25.0])
179  icf.addFlag("nWeightedClustersMin" , [6])
180 
181  # --- seeding
182  icf.addFlag("maxdImpactSSSSeeds" , [20.0 * Units.mm])
183  icf.addFlag("radMax" , 1100. * Units.mm)
184 
185  # --- min pt cut for brem
186  icf.addFlag("doBremRecoverySi", lambda pcf: pcf.Tracking.doBremRecovery)
187  icf.addFlag("minPTBrem", lambda pcf: (
188  [1. * Units.GeV * pcf.BField.configuredSolenoidFieldScale]))
189 
190  # -- use of calo information
191  icf.addFlag("doCaloSeededBremSi", lambda pcf: pcf.Tracking.doCaloSeededBrem)
192  icf.addFlag("doCaloSeededAmbiSi", lambda pcf: pcf.Tracking.doCaloSeededAmbi)
193 
194  # --- handle ACTS workflow coexistence
195  # Athena components
196  icf.addFlag("doAthenaCluster", True)
197  icf.addFlag("doAthenaSpacePoint", True)
198  icf.addFlag("doAthenaSeed", True)
199  icf.addFlag("doAthenaTrack", True)
200  icf.addFlag("doAthenaAmbiguityResolution", True)
201  # Acts components
202  icf.addFlag("doActsCluster", False)
203  icf.addFlag("doActsSpacePoint", False)
204  icf.addFlag("doActsSeed", False)
205  icf.addFlag("doActsTrack", False)
206  icf.addFlag("doActsAmbiguityResolution", False)
207  # Athena -> Acts EDM converters
208  icf.addFlag("doAthenaToActsCluster", False)
209  icf.addFlag("doAthenaToActsSpacePoint", False)
210  icf.addFlag("doAthenaToActsTrack", False)
211  # Acts -> Athena EDM converters
212  icf.addFlag("doActsToAthenaCluster", False)
213  icf.addFlag("doActsToAthenaSpacePoint", False)
214  icf.addFlag("doActsToAthenaSeed", 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("doFPGATrack", False)
224 
225  # --- Flags for detailed information.
226  # Ignored for Primary Pass (always active);
227  # Enable for other passes with dedicated output container, if desired.
228  icf.addFlag("storeTrackSeeds", False)
229  icf.addFlag("storeSiSPSeededTracks", False)
230 
231  # --- flags for ACTS tracking
232  icf.addFlag("isSecondaryPass", False)
233  return icf
234 
235 
236 
237 
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 
258 
260 
261  icf.minPT = lambda pcf : (
262  [1.0 * 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.nHolesMax = [1]
268  icf.nHolesGapMax = [1]
269  icf.minPTSeed = lambda pcf: (
270  1.0 * Units.GeV * pcf.BField.configuredSolenoidFieldScale)
271  icf.maxZImpactSeed = 150.0 * Units.mm
272  icf.useITkStripSeeding = False
273 
274  return icf
275 
276 
278 
280 
281  icf.addFlag("doHitDV" , False)
282  icf.addFlag("doDisappearingTrk" , False)
283  icf.addFlag("useTrigTrackFollowing", False)
284  icf.addFlag("useTrigRoadPredictor", False)
285  icf.addFlag("useTracklets", False)
286  icf.useSeedFilter = False
287  icf.minPT = lambda pcf : (
288  [0.9 * Units.GeV * pcf.BField.configuredSolenoidFieldScale,
289  0.4 * Units.GeV * pcf.BField.configuredSolenoidFieldScale,
290  0.4 * Units.GeV * pcf.BField.configuredSolenoidFieldScale])
291  icf.minPTSeed = lambda pcf : (
292  0.9 * Units.GeV * pcf.BField.configuredSolenoidFieldScale)
293 
294  return icf
295 
298  icf.addFlag("doHitDV" , False)
299  icf.addFlag("doDisappearingTrk" , False)
300  icf.addFlag("useTrigTrackFollowing", False)
301  icf.addFlag("useTrigRoadPredictor", False)
302  icf.addFlag("useTracklets", False)
303  icf.useSeedFilter = False
304  icf.minPT = lambda pcf : (
305  [1.0 * Units.GeV * pcf.BField.configuredSolenoidFieldScale])
306 
307  icf.maxPrimaryImpact = [400.0 * Units.mm]
308  icf.maxPrimaryImpactSeed = 400.0 * Units.mm
309  icf.maxdImpactSSSSeeds = [400.0 * Units.mm]
310 
311 
312  return icf
313 
314 
315 
317 
319  icf.extension = "LargeD0"
320  icf.usePrdAssociationTool = True
321  icf.storeSeparateContainer = lambda pcf : pcf.Tracking.storeSeparateLargeD0Container
322 
323  icf.minPT = lambda pcf : (
324  [1000 * Units.MeV * pcf.BField.configuredSolenoidFieldScale])
325  icf.maxEta = 4.0
326  icf.etaBins = [-1.0, 4.0]
327  icf.maxPrimaryImpact = [300 * Units.mm]
328  icf.maxZImpact = [500 * Units.mm]
329  icf.minClusters = [8]
330  icf.minSiNotShared = [6]
331  icf.maxShared = [2]
332  icf.minPixel = [0]
333  icf.maxHoles = [1]
334  icf.maxPixelHoles = [1]
335  icf.maxSctHoles = [1]
336  icf.maxDoubleHoles = [0]
337 
338  icf.maxZImpactSeed = 500.0 * Units.mm
339  icf.maxPrimaryImpactSeed = 300.0 * Units.mm
340  icf.minPTSeed = lambda pcf : (
341  1000 * Units.MeV * pcf.BField.configuredSolenoidFieldScale)
342 
343  icf.radMax = 1100. * Units.mm
344  icf.nHolesMax = icf.maxHoles
345  icf.nHolesGapMax = icf.maxHoles
346  icf.roadWidth = 5
347 
348  # --- seeding
349  icf.useITkPixelSeeding = False
350  icf.maxdImpactSSSSeeds = [300.0 * Units.mm]
351 
352  icf.doBremRecoverySi = False
353 
354  icf.Xi2max = [9.0]
355  icf.Xi2maxNoAdd = [25.0]
356  icf.nWeightedClustersMin = [6]
357 
358  return icf
359 
361 
363 
364  icf.useITkPixelSeeding = False
365  icf.useITkStripSeeding = True
366 
367  icf.maxEta = 2.4
368  icf.etaBins = [-1.0, 2.4]
369  icf.minPT = lambda pcf : (
370  [5.0 * Units.GeV * pcf.BField.configuredSolenoidFieldScale])
371  icf.minPTSeed = lambda pcf : (
372  5.0 * Units.GeV * pcf.BField.configuredSolenoidFieldScale)
373  icf.nWeightedClustersMin = [8]
374  icf.maxPrimaryImpact = [150 * Units.mm]
375  icf.maxPrimaryImpactSeed = 150. * Units.mm
376  icf.maxdImpactSSSSeeds = [150.0 * Units.mm]
377  icf.maxZImpact = [200 * Units.mm]
378  icf.maxZImpactSeed = 200. * Units.mm
379  icf.radMax = 400. * Units.mm
380 
381  return icf
382 
383 
385 
387  icf.extension = "LowPt"
388  icf.minPT = lambda pcf : (
389  [0.4 * Units.GeV * pcf.BField.configuredSolenoidFieldScale])
390  icf.minPTSeed = lambda pcf : (
391  0.4 * Units.GeV * pcf.BField.configuredSolenoidFieldScale)
392  icf.doBremRecoverySi = False
393 
394  return icf
395 
396 
399  icf.extension = "HighPileup"
400  icf.minPT = lambda pcf : (
401  0.900 * Units.GeV * pcf.BField.configuredSolenoidFieldScale)
402  icf.minClusters = 9
403  icf.maxPixelHoles = 0
404  icf.doBremRecoverySi = False
405 
406  return icf
407 
408 
411  icf.extension = "MinBias"
412  icf.minPT = lambda pcf: (
413  0.1 * Units.GeV * pcf.BField.configuredSolenoidFieldScale)
414  icf.maxPrimaryImpact = 10. * Units.mm
415  icf.maxZImpact = 250. * Units.mm
416  icf.minClusters = 5
417  icf.maxdImpactSSSSeeds = 20.0 * Units.mm # apply cut on SSS seeds
418  icf.roadWidth = 20.
419  icf.doBremRecoverySi = False
420  icf.maxSeedsPerSP_Pixels = 5
421  icf.keepAllConfirmedPixelSeeds = False
422 
423  return icf
424 
425 
428  icf.extension = "UPC"
429  # --- min pt cut for brem
430  icf.minPTBrem = lambda pcf: (
431  0.75 * Units.GeV * pcf.BField.configuredSolenoidFieldScale)
432  # MinBias turns off Brem Recovery, turn it on here
433  icf.doBremRecoverySi = lambda pcf: pcf.Tracking.doBremRecovery
434  return icf
435 
436 
439  icf.extension = "HIP"
440  return icf
441 
442 
443 
446  icf.extension = "LowPtRoI"
447  icf.usePrdAssociationTool = True
448  icf.storeSeparateContainer = True
449  icf.maxPT = lambda pcf: (
450  0.850 * Units.GeV * pcf.BField.configuredSolenoidFieldScale)
451  icf.minPT = lambda pcf: (
452  0.050 * Units.GeV * pcf.BField.configuredSolenoidFieldScale)
453  icf.minClusters = 5
454  icf.minSiNotShared = 4
455  icf.maxShared = 1 # cut is now on number of shared modules
456  icf.minPixel = 2
457  icf.maxHoles = 2
458  icf.maxPixelHoles = 1
459  icf.maxSctHoles = 2
460  icf.maxDoubleHoles = 1
461  icf.radMax = 600. * Units.mm
462  icf.nHolesMax = icf.maxHoles
463  icf.nHolesGapMax = icf.maxHoles # not as tight as 2*maxDoubleHoles
464  icf.doBremRecoverySi = False
465  # Add custom flags valid for this pass only
466  icf.addFlag("z0WindowRoI", 30.0) # mm
467  icf.addFlag("doRandomSpot", False)
468  icf.addFlag("RoIStrategy", RoIStrategy.LeadTracks)
469  icf.addFlag("inputLowPtRoIfile","")
470 
471  return icf
472 
473 
474 
477  icf.extension = "R3LargeD0"
478  icf.usePrdAssociationTool = True
479  icf.usePixelSeeding = False
480  icf.storeSeparateContainer = lambda pcf : pcf.Tracking.storeSeparateLargeD0Container
481  icf.maxPT = lambda pcf : (
482  1.0 * Units.TeV * pcf.BField.configuredSolenoidFieldScale)
483  icf.minPT = lambda pcf : (
484  1.0 * Units.GeV * pcf.BField.configuredSolenoidFieldScale)
485  icf.maxEta = 3
486  icf.maxPrimaryImpact = 300.0 * Units.mm
487  icf.maxEMImpact = 300 * Units.mm
488  icf.maxZImpact = 500 * Units.mm
489  icf.minClusters = 8
490  icf.minSiNotShared = 6
491  icf.maxShared = 2 # cut is now on number of shared modules
492  icf.minPixel = 0
493  icf.maxHoles = 2
494  icf.maxPixelHoles = 1
495  icf.maxSctHoles = 1
496  icf.maxDoubleHoles = 0
497  icf.radMax = 600. * Units.mm
498  icf.nHolesMax = icf.maxHoles
499  icf.nHolesGapMax = 1
500  icf.maxTracksPerSharedPRD = 2
501  icf.Xi2max = 9.0
502  icf.Xi2maxNoAdd = 25.0
503  icf.roadWidth = 5.
504  icf.nWeightedClustersMin = 8
505  icf.maxdImpactSSSSeeds = 300.0
506  icf.doZBoundary = True
507  icf.keepAllConfirmedStripSeeds = True
508  icf.maxSeedsPerSP_Strips = 1
509  icf.doBremRecoverySi = False
510 
511  icf.RunPixelPID = False
512  icf.RunTRTPID = False
513 
514  return icf
515 
516 
519  icf.extension = "LowPtLargeD0"
520  icf.usePrdAssociationTool = True
521  icf.storeSeparateContainer = lambda pcf : pcf.Tracking.storeSeparateLargeD0Container
522  icf.maxPT = lambda pcf: (
523  1.0 * Units.TeV * pcf.BField.configuredSolenoidFieldScale)
524  icf.minPT = lambda pcf: (
525  100 * Units.MeV * pcf.BField.configuredSolenoidFieldScale)
526  icf.maxEta = 5
527  icf.maxPrimaryImpact = 300.0 * Units.mm
528  icf.maxZImpact = 1500.0 * Units.mm
529  icf.minClusters = 5
530  icf.minSiNotShared = 5
531  icf.maxShared = 2 # cut is now on number of shared modules
532  icf.minPixel = 0
533  icf.maxHoles = 2
534  icf.maxPixelHoles = 1
535  icf.maxSctHoles = 2
536  icf.maxDoubleHoles = 1
537  icf.radMax = 600. * Units.mm
538  icf.nHolesMax = icf.maxHoles
539  icf.nHolesGapMax = icf.maxHoles
540  icf.maxTracksPerSharedPRD = 2
541  icf.doBremRecoverySi = False
542 
543  icf.RunPixelPID = False
544  icf.RunTRTPID = False
545 
546  return icf
547 
548 
551  icf.extension = "LowPt"
552  icf.usePrdAssociationTool = True
553  icf.isLowPt = True
554  icf.maxPT = lambda pcf: (
555  pcf.BField.configuredSolenoidFieldScale *
556  (1e6 if pcf.Tracking.doMinBias else
557  pcf.Tracking.MainPass.minPT + 0.3) * Units.GeV)
558  icf.minPT = lambda pcf: (
559  0.05 * Units.GeV * pcf.BField.configuredSolenoidFieldScale)
560  icf.minClusters = 5
561  icf.minSiNotShared = 4
562  icf.maxShared = 1 # cut is now on number of shared modules
563  icf.minPixel = 2 # At least one pixel hit for low-pt (assoc. seeded on pixels!)
564  icf.maxHoles = 2
565  icf.maxPixelHoles = 1
566  icf.maxSctHoles = 2
567  icf.maxDoubleHoles = 1
568  icf.radMax = 600. * Units.mm
569  icf.nHolesMax = icf.maxHoles
570  icf.nHolesGapMax = icf.maxHoles # not as tight as 2*maxDoubleHoles
571  icf.maxPrimaryImpact = lambda pcf: (
572  100. * Units.mm if pcf.Tracking.doMinBias else 10. * Units.mm)
573  icf.doBremRecoverySi = False
574 
575  return icf
576 
577 
580  icf.extension = "Conversion"
581  icf.usePrdAssociationTool = True
582 
583  icf.etaBins = [-1.0,4.0]
584  icf.minPT = lambda pcf: (
585  [0.9 * Units.GeV * pcf.BField.configuredSolenoidFieldScale])
586  icf.maxPrimaryImpact = [10.0 * Units.mm]
587  icf.maxZImpact = [150.0 * Units.mm]
588  icf.minClusters = [6]
589  icf.minSiNotShared = [6]
590  icf.maxShared = [0]
591  icf.minPixel = [0]
592  icf.maxHoles = [0]
593  icf.maxPixelHoles = [1]
594  icf.maxSctHoles = [2]
595  icf.maxDoubleHoles = [1]
596 
597  icf.nHolesMax = icf.maxHoles
598  icf.nHolesGapMax = icf.maxHoles
599  icf.nWeightedClustersMin = [6]
600  icf.maxdImpactSSSSeeds = [20.0 * Units.mm]
601  icf.radMax = 1100. * Units.mm
602  icf.doZBoundary = False
603 
604  icf.Xi2max = [9.0]
605  icf.Xi2maxNoAdd = [25.0]
606  icf.doBremRecoverySi = True
607 
608  return icf
609 
610 
612  icf = createTrackingPassFlags() #TODO consider using createLowPtTrackingPassFlags as a base here
613  icf.extension = "VeryLowPt"
614  icf.usePrdAssociationTool = True
615  icf.isLowPt = True
616  icf.useTRTExtension = False
617  icf.maxPT = lambda pcf : (
618  pcf.BField.configuredSolenoidFieldScale *
619  (1e6 if pcf.Tracking.doMinBias else
620  pcf.Tracking.MainPass.minPT + 0.3) * Units.GeV)
621  icf.minPT = lambda pcf : (
622  0.050 * Units.GeV * pcf.BField.configuredSolenoidFieldScale)
623  icf.minClusters = 3
624  icf.minSiNotShared = 3
625  icf.maxShared = 1 # cut is now on number of shared modules
626  icf.minPixel = 3 # At least one pixel hit for low-pt (assoc. seeded on pixels!)
627  icf.maxHoles = 1
628  icf.maxPixelHoles = 1
629  icf.maxSctHoles = 1
630  icf.maxDoubleHoles = 0
631  icf.nHolesMax = 1
632  icf.nHolesGapMax = 1 # not as tight as 2*maxDoubleHoles
633  icf.radMax = 600. * Units.mm # restrivt to pixels
634  icf.doBremRecoverySi = False
635 
636  return icf
637 
638 
641  icf.extension = "Forward"
642  icf.usePrdAssociationTool = True
643  icf.useTIDE_Ambi = False
644  icf.useTRTExtension = False
645  icf.storeSeparateContainer = True
646  icf.minEta = 2.4 # restrict to minimal eta
647  icf.maxEta = 2.7
648  icf.minPT = lambda pcf: (
649  2 * Units.GeV * pcf.BField.configuredSolenoidFieldScale)
650  icf.minClusters = 3
651  icf.minSiNotShared = 3
652  icf.maxShared = 1
653  icf.minPixel = 3
654  icf.maxHoles = 1
655  icf.maxPixelHoles = 1
656  icf.maxSctHoles = 1
657  icf.maxDoubleHoles = 0
658  icf.nHolesMax = icf.maxHoles
659  icf.nHolesGapMax = icf.maxHoles
660  icf.radMax = 600. * Units.mm
661  icf.useTRT = False # no TRT for forward tracks
662  icf.doBremRecoverySi = False
663  icf.doZBoundary = False
664 
665  icf.RunPixelPID = False
666  icf.RunTRTPID = False
667 
668  return icf
669 
670 
673  icf.extension = "BeamGas"
674  icf.usePrdAssociationTool = True
675  icf.minPT = lambda pcf: (
676  0.5 * Units.GeV * pcf.BField.configuredSolenoidFieldScale)
677  icf.maxPrimaryImpact = 300. * Units.mm
678  icf.maxZImpact = 2000. * Units.mm
679  icf.minClusters = 6
680  icf.maxHoles = 3
681  icf.maxPixelHoles = 3
682  icf.maxSctHoles = 3
683  icf.maxDoubleHoles = 1
684  icf.nHolesMax = 3
685  icf.nHolesGapMax = 3 # not as tight as 2*maxDoubleHoles
686  icf.doBremRecoverySi = False
687 
688  return icf
689 
690 
693  icf.extension = "VtxLumi"
694  icf.minPT = lambda pcf: (
695  0.9 * Units.GeV * pcf.BField.configuredSolenoidFieldScale)
696  icf.minClusters = 7
697  icf.maxPixelHoles = 1
698  icf.radMax = 600. * Units.mm
699  icf.nHolesMax = 2
700  icf.nHolesGapMax = 1
701  icf.useTRT = False
702  icf.doBremRecoverySi = False
703 
704  return icf
705 
706 
709  icf.extension = "VtxLumiHeavyIon"
710  icf.minPT = lambda pcf: (
711  0.4 * Units.GeV * pcf.BField.configuredSolenoidFieldScale)
712  icf.maxPrimaryImpact = 10. * Units.mm
713  icf.maxZImpact = 250.0 * Units.mm
714  icf.minClusters = 7
715  icf.maxPixelHoles = 1
716  icf.radMax = 600. * Units.mm
717  icf.nHolesMax = 2
718  icf.nHolesGapMax = 1
719  icf.maxdImpactSSSSeeds = 20.
720  icf.roadWidth = 20.
721  icf.keepAllConfirmedPixelSeeds = False
722  icf.maxSeedsPerSP_Pixels = 5
723  icf.useTRT = False
724  icf.doBremRecoverySi = False
725 
726  return icf
727 
728 
731  icf.extension = "VtxBeamSpot"
732  icf.minPT = lambda pcf: (
733  0.9 * Units.GeV * pcf.BField.configuredSolenoidFieldScale)
734  icf.minClusters = 9
735  icf.maxPixelHoles = 0
736  icf.radMax = 320. * Units.mm
737  icf.nHolesMax = 2
738  icf.nHolesGapMax = 1
739  icf.useTRT = False
740  icf.doBremRecoverySi = False
741 
742  return icf
743 
744 
747  icf.extension = "Cosmics"
748  icf.minPT = lambda pcf: (
749  0.5 * Units.GeV * pcf.BField.configuredSolenoidFieldScale)
750  icf.maxPrimaryImpact = 1000. * Units.mm
751  icf.maxZImpact = 10000. * Units.mm
752  icf.minClusters = 4
753  icf.minSiNotShared = 4
754  icf.maxHoles = 3
755  icf.maxPixelHoles = 3
756  icf.maxSctHoles = 3
757  icf.maxDoubleHoles = 1
758  icf.minTRTonTrk = 15
759  icf.roadWidth = 60.
760  icf.Xi2max = 60.
761  icf.Xi2maxNoAdd = 100.
762  icf.nWeightedClustersMin = 8
763  icf.nHolesMax = 3
764  icf.nHolesGapMax = 3 # not as tight as 2*maxDoubleHoles
765  icf.maxdImpactSSSSeeds = 20. * Units.mm
766  icf.doBremRecoverySi = False
767  icf.doZBoundary = False
768  icf.maxSeedsPerSP_Pixels = 5
769  icf.keepAllConfirmedPixelSeeds = False
770 
771  return icf
772 
773 
776  icf.extension = "HeavyIon"
777  icf.maxPrimaryImpact = 10. * Units.mm
778  icf.maxZImpact = 200. * Units.mm
779  icf.minClusters = 9
780  icf.minSiNotShared = 7
781  icf.maxShared = 2 # was 1, cut is now on number of shared modules
782 
783  icf.nHolesMax = 0
784  icf.nHolesGapMax = 0
785  icf.Xi2max = 6.
786  icf.Xi2maxNoAdd = 10.
787 
788  icf.minPT = lambda pcf: (
789  0.5 * Units.GeV * pcf.BField.configuredSolenoidFieldScale)
790 
791  icf.maxdImpactSSSSeeds = 20. * Units.mm
792  icf.maxdImpactPPSSeeds = 1.7
793 
794  icf.maxHoles = 2
795  icf.maxPixelHoles = 1
796  icf.maxSctHoles = 1
797  icf.maxDoubleHoles = 0
798  icf.Xi2max = 9.
799  icf.Xi2maxNoAdd = 25.
800  icf.radMax = 600. * Units.mm # restrict to pixels + first SCT layer
801  icf.roadWidth = 20.
802  icf.useTRT = False
803  icf.doBremRecoverySi = False
804  icf.doZBoundary = False
805  icf.maxSeedsPerSP_Pixels = 5
806  icf.keepAllConfirmedPixelSeeds = False
807 
808  return icf
809 
810 
813  icf.extension = "Pixel"
814  icf.isLowPt = lambda pcf : pcf.Tracking.doMinBias
815 
816  def _minPt( pcf ):
817  if pcf.Beam.Type is BeamType.Cosmics:
818  return 0.5 * Units.GeV * pcf.BField.configuredSolenoidFieldScale
819  if pcf.Tracking.PrimaryPassConfig is PrimaryPassConfig.UPC:
820  return 0.05 * Units.GeV * pcf.BField.configuredSolenoidFieldScale
821  if pcf.Tracking.PrimaryPassConfig is PrimaryPassConfig.HIP:
822  return 0.05 * Units.GeV * pcf.BField.configuredSolenoidFieldScale
823  if pcf.Tracking.doMinBias:
824  return 0.05 * Units.GeV * pcf.BField.configuredSolenoidFieldScale
825  return 0.1 * Units.GeV * pcf.BField.configuredSolenoidFieldScale
826 
827  icf.minPT = _minPt
828  icf.minClusters = 3
829 
830  def _pick( default, hion, cosmics):
831  def _internal( pcf ):
832  if pcf.Tracking.PrimaryPassConfig is PrimaryPassConfig.HeavyIon:
833  return hion
834  if pcf.Beam.Type is BeamType.Cosmics:
835  return cosmics
836  return default
837  return _internal
838 
839  icf.maxHoles = _pick( default = 1, hion = 0, cosmics = 3 )
840  icf.maxPixelHoles = _pick( default = 1, hion = 0, cosmics = 3 )
841  icf.maxSctHoles = 0
842  icf.maxDoubleHoles = 0
843  icf.minSiNotShared = 3
844  icf.maxShared = 0
845  icf.nHolesMax = _pick( default = 1, hion = 0, cosmics = 3 )
846  icf.nHolesGapMax = _pick( default = 1, hion = 0, cosmics = 3 )
847  icf.useSCT = False
848  icf.useSCTSeeding = False
849  icf.useTRT = False
850  icf.maxPrimaryImpact = lambda pcf: (
851  1000. * Units.mm if pcf.Beam.Type is BeamType.Cosmics else
852  10. * Units.mm if pcf.Tracking.doUPC else
853  5. * Units.mm)
854  icf.roadWidth = lambda pcf: (
855  60.0 if pcf.Beam.Type is BeamType.Cosmics else
856  12.0)
857  icf.maxZImpact = lambda pcf: (
858  10000. * Units.mm if pcf.Beam.Type is BeamType.Cosmics else
859  320. * Units.mm if pcf.Tracking.doLowMu else
860  250. * Units.mm if pcf.Tracking.doMinBias else
861  200. * Units.mm)
862  icf.Xi2max = lambda pcf: (
863  60. if pcf.Beam.Type is BeamType.Cosmics else
864  15. if pcf.Tracking.doLowMu else
865  9.)
866  icf.Xi2maxNoAdd = lambda pcf: (
867  100.0 if pcf.Beam.Type is BeamType.Cosmics else
868  35. if pcf.Tracking.doLowMu else
869  25.)
870  icf.nWeightedClustersMin = 6
871  icf.doBremRecoverySi = False
872 
873  icf.RunPixelPID = lambda pcf: (
874  pcf.Tracking.PrimaryPassConfig is PrimaryPassConfig.UPC)
875  icf.RunTRTPID = False
876  return icf
877 
878 
881  icf.extension = "Disappearing"
882  icf.usePrdAssociationTool = True
883  icf.storeSeparateContainer = True
884  icf.minPT = lambda pcf: (
885  5 * Units.GeV * pcf.BField.configuredSolenoidFieldScale)
886  icf.minClusters = 4
887  icf.maxHoles = 0
888  icf.maxPixelHoles = 0
889  icf.maxSctHoles = 0
890  icf.maxDoubleHoles = 0
891  icf.minSiNotShared = 3
892  icf.maxShared = 0
893  icf.nHolesMax = 0
894  icf.nHolesGapMax = 0
895  icf.useSCT = True
896  icf.useTRT = True
897  icf.useSCTSeeding = False
898  icf.maxEta = 2.2
899  icf.doBremRecoverySi = False
900  def MainPassFlags(pcf):
901  return pcf.Tracking.__getattr__(pcf.Tracking.PrimaryPassConfig.value+'Pass')
902  icf.maxPrimaryImpact = lambda pcf: MainPassFlags(pcf).maxPrimaryImpact
903  icf.maxZImpact = lambda pcf: MainPassFlags(pcf).maxZImpact
904  icf.roadWidth = lambda pcf: MainPassFlags(pcf).roadWidth
905  return icf
906 
907 
910  icf.extension = "SCT"
911  icf.minClusters = 7
912  icf.maxDoubleHoles = 1
913  icf.minSiNotShared = 5
914  icf.usePixel = False
915  icf.usePixelSeeding = False
916  icf.useTRT = False
917 
918  def _minpt( pcf ):
919  if pcf.Beam.Type is BeamType.Cosmics:
920  return 0.5 * Units.GeV * pcf.BField.configuredSolenoidFieldScale
921  if pcf.Tracking.doMinBias:
922  return 0.1 * Units.GeV * pcf.BField.configuredSolenoidFieldScale
923  return 0.1 * Units.GeV * pcf.BField.configuredSolenoidFieldScale
924 
925  icf.minPT = _minpt
926 
927  icf.maxPrimaryImpact = lambda pcf: (
928  1000. * Units.mm if pcf.Beam.Type is BeamType.Cosmics else
929  10. * Units.mm if pcf.Tracking.doLowMu else
930  5. * Units.mm)
931  icf.maxZImpact = lambda pcf: (
932  10000. * Units.mm if pcf.Beam.Type is BeamType.Cosmics else
933  320. * Units.mm if pcf.Tracking.doLowMu else
934  200.0 * Units.mm)
935 
936  icf.maxHoles = lambda pcf: 3 if pcf.Beam.Type is BeamType.Cosmics else 2
937  icf.nHolesMax = lambda pcf: 3 if pcf.Beam.Type is BeamType.Cosmics else 2
938  icf.nHolesGapMax = lambda pcf: 3 if pcf.Beam.Type is BeamType.Cosmics else 2
939  icf.maxPixelHoles = lambda pcf: 0 if pcf.Beam.Type is BeamType.Cosmics else 0
940  icf.maxSctHoles = lambda pcf: 3 if pcf.Beam.Type is BeamType.Cosmics else 2
941  icf.maxShared = 0
942  icf.roadWidth = lambda pcf: (
943  60. if pcf.Beam.Type is BeamType.Cosmics else
944  20. if pcf.Tracking.doLowMu else
945  12.)
946  icf.Xi2max = lambda pcf: (
947  60. if pcf.Beam.Type is BeamType.Cosmics else
948  15. if pcf.Tracking.doLowMu else
949  9.)
950  icf.Xi2maxNoAdd = lambda pcf: (
951  100.0 if pcf.Beam.Type is BeamType.Cosmics else
952  35. if pcf.Tracking.doLowMu else
953  25.)
954  icf.nWeightedClustersMin = lambda pcf: 4 if pcf.Beam.Type is BeamType.Cosmics else 6
955  icf.minClusters = lambda pcf: (
956  4 if pcf.Beam.Type is BeamType.Cosmics else
957  7 if pcf.Tracking.doLowMu else
958  8)
959  icf.minSiNotShared = lambda pcf: 4 if pcf.Beam.Type is BeamType.Cosmics else 5
960  icf.doBremRecoverySi = False
961 
962  icf.RunPixelPID = False
963  icf.RunTRTPID = False
964  return icf
965 
966 
969  icf.extension = "TRT"
970  icf.useTIDE_Ambi = False
971  icf.usePrdAssociationTool = True
972  icf.minPT = lambda pcf: (
973  0.4 * Units.GeV * pcf.BField.configuredSolenoidFieldScale)
974  icf.doBremRecoverySi = False
975 
976  icf.RunPixelPID = False
977  icf.RunTRTPID = False
978  return icf
979 
980 
981 
984  icf.extension = "TRTStandalone"
985  icf.useTIDE_Ambi = False
986  icf.usePrdAssociationTool = True
987  icf.doBremRecoverySi = False
988 
989  return icf
990 
991 
992 
994  print()
995  print("************************************************************************")
996 
997  print("******************** Tracking reconstruction Config ********************")
998  print(" Primary Config is",flags.Tracking[flags.Tracking.PrimaryPassConfig.value+"Pass"].extension)
999  flags.dump(pattern="Tracking."+flags.Tracking.PrimaryPassConfig.value+"Pass.*", evaluate=True)
1000  print("************************************************************************")
1001  return
1002 
1003 
1005  print()
1006  print("************************************************************************")
1007 
1008  print("******************** Tracking reconstruction Config ********************")
1009  print(" Active Config is",flags.Tracking.ActiveConfig.extension)
1010  flags.dump(pattern="Tracking.ActiveConfig.*", evaluate=True)
1011  print("************************************************************************")
1012  return
1013 
1014 
1015 
1017 
1018 if __name__ == "__main__":
1019 
1020  from AthenaConfiguration.AllConfigFlags import initConfigFlags
1022 
1023  from AthenaConfiguration.TestDefaults import defaultTestFiles
1024  flags.Input.Files=defaultTestFiles.RAW_RUN2
1025 
1026  from AthenaCommon.Logging import logging
1027  l = logging.getLogger('TrackingPassFlags')
1028  from AthenaCommon.Constants import INFO
1029  l.setLevel(INFO)
1030 
1031  flags = flags.cloneAndReplace("Tracking.ActiveConfig","Tracking.MainPass")
1032 
1033  assert flags.Tracking.ActiveConfig.maxPrimaryImpact == 5.0 * Units.mm, "wrong cut value {} ".format(flags.Tracking.ActiveConfig.maxPrimaryImpact)
1034  assert flags.Tracking.HeavyIonPass.maxPrimaryImpact == 10.0 * Units.mm, "wrong cut value {} ".format(flags.Tracking.HeavyIonPass.maxPrimaryImpact)
1035  flags.Tracking.doBLS = True
1036  assert flags.Tracking.ActiveConfig.maxPrimaryImpact == 10.0 * Units.mm, "wrong cut value {} ".format(flags.Tracking.ActiveConfig.maxPrimaryImpact)
1037 
1038  assert flags.Tracking.ActiveConfig.minPT == 0.5 * Units.GeV, "wrong cut value {} ".format(flags.Tracking.ActiveConfig.minPT)
1039  flags.BField.configuredSolenoidFieldScale = 0.1
1040  assert flags.Tracking.ActiveConfig.minPT == 0.05 * Units.GeV, "wrong cut value {} ".format(flags.Tracking.ActiveConfig.minPT)
1041 
1042  l.info("flags.Tracking.ActiveConfig.minPT %f", flags.Tracking.ActiveConfig.minPT * 1.0)
1043  l.info("type(flags.Tracking.ActiveConfig.minPT) " + str(type(flags.Tracking.ActiveConfig.minPT)))
1044 
1045 
1046 
1047 
python.TrackingPassFlags.createVtxBeamSpotTrackingPassFlags
def createVtxBeamSpotTrackingPassFlags()
VtxBeamSpot mode ########################.
Definition: TrackingPassFlags.py:729
SystemOfUnits
python.TrackingPassFlags.createLowPtTrackingPassFlags
def createLowPtTrackingPassFlags()
LowPt mode ########################.
Definition: TrackingPassFlags.py:549
vtune_athena.format
format
Definition: vtune_athena.py:14
python.TrackingPassFlags.RoIStrategy
Definition: TrackingPassFlags.py:9
python.TrackingPassFlags.createVtxLumiTrackingPassFlags
def createVtxLumiTrackingPassFlags()
VtxLumi mode ########################.
Definition: TrackingPassFlags.py:691
python.TrackingPassFlags.createUPCTrackingPassFlags
def createUPCTrackingPassFlags()
UPC mode ########################.
Definition: TrackingPassFlags.py:426
python.TrackingPassFlags.printPrimaryConfig
def printPrimaryConfig(flags)
Definition: TrackingPassFlags.py:993
python.TrackingPassFlags.createMinBiasTrackingPassFlags
def createMinBiasTrackingPassFlags()
MinBias mode ########################.
Definition: TrackingPassFlags.py:409
python.TrackingPassFlags.createPixelTrackingPassFlags
def createPixelTrackingPassFlags()
Pixel mode ###############################################.
Definition: TrackingPassFlags.py:811
python.TrackingPassFlags.createITkLargeD0FastTrackingPassFlags
def createITkLargeD0FastTrackingPassFlags()
Definition: TrackingPassFlags.py:360
python.TrackingPassFlags.createLowPtRoITrackingPassFlags
def createLowPtRoITrackingPassFlags()
LowPtRoI mode ########################.
Definition: TrackingPassFlags.py:444
python.TrackingPassFlags.createITkHeavyIonTrackingPassFlags
def createITkHeavyIonTrackingPassFlags()
Heavyion mode #######################.
Definition: TrackingPassFlags.py:238
python.TrackingPassFlags.createCosmicsTrackingPassFlags
def createCosmicsTrackingPassFlags()
Cosmics mode ########################.
Definition: TrackingPassFlags.py:745
python.TrackingPassFlags.createTRTStandaloneTrackingPassFlags
def createTRTStandaloneTrackingPassFlags()
TRT standalone tracklet cuts ##########.
Definition: TrackingPassFlags.py:982
python.TrackingPassFlags.printActiveConfig
def printActiveConfig(flags)
Definition: TrackingPassFlags.py:1004
python.TrackingPassFlags.createTrackingPassFlags
def createTrackingPassFlags()
Definition: TrackingPassFlags.py:18
python.TrackingPassFlags.createBeamGasTrackingPassFlags
def createBeamGasTrackingPassFlags()
BeamGas mode ########################.
Definition: TrackingPassFlags.py:671
python.TrackingPassFlags.createDisappearingTrackingPassFlags
def createDisappearingTrackingPassFlags()
Disappearing mode ######################.
Definition: TrackingPassFlags.py:879
python.TrackingPassFlags.createITkFTFLargeD0PassFlags
def createITkFTFLargeD0PassFlags()
Definition: TrackingPassFlags.py:296
python.TrackingPassFlags.createITkFastTrackingPassFlags
def createITkFastTrackingPassFlags()
Definition: TrackingPassFlags.py:257
python.TrackingPassFlags.createForwardTracksTrackingPassFlags
def createForwardTracksTrackingPassFlags()
ForwardTracks mode ########################.
Definition: TrackingPassFlags.py:639
python.TrackingPassFlags.createVeryLowPtTrackingPassFlags
def createVeryLowPtTrackingPassFlags()
VeryLowPt mode ########################.
Definition: TrackingPassFlags.py:611
python.TrackingPassFlags.createHeavyIonTrackingPassFlags
def createHeavyIonTrackingPassFlags()
Heavyion mode #######################.
Definition: TrackingPassFlags.py:774
python.TrackingPassFlags.createITkConversionTrackingPassFlags
def createITkConversionTrackingPassFlags()
ITkConversion mode ########################.
Definition: TrackingPassFlags.py:578
Constants
some useful constants -------------------------------------------------—
python.TrackingPassFlags.createTRTTrackingPassFlags
def createTRTTrackingPassFlags()
TRT subdetector tracklet cuts ##########.
Definition: TrackingPassFlags.py:967
python.TrackingPassFlags.createHighPileupTrackingPassFlags
def createHighPileupTrackingPassFlags()
HighPileUP mode ####################.
Definition: TrackingPassFlags.py:397
python.TrackingPassFlags.createITkLowPtTrackingPassFlags
def createITkLowPtTrackingPassFlags()
ITk LowPt mode ####################.
Definition: TrackingPassFlags.py:384
python.TrackingPassFlags.createR3LargeD0TrackingPassFlags
def createR3LargeD0TrackingPassFlags()
R3LargeD0 mode ########################.
Definition: TrackingPassFlags.py:475
python.AllConfigFlags.initConfigFlags
def initConfigFlags()
Definition: AllConfigFlags.py:19
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
python.TrackingPassFlags.createSCTTrackingPassFlags
def createSCTTrackingPassFlags()
SCT mode ######################.
Definition: TrackingPassFlags.py:908
python.TrackingPassFlags.createITkFTFPassFlags
def createITkFTFPassFlags()
ITk with FTF standalone mode ####.
Definition: TrackingPassFlags.py:277
str
Definition: BTagTrackIpAccessor.cxx:11
dbg::print
void print(std::FILE *stream, std::format_string< Args... > fmt, Args &&... args)
Definition: SGImplSvc.cxx:70
python.TrackingPassFlags.createHIPTrackingPassFlags
def createHIPTrackingPassFlags()
HIP mode ########################.
Definition: TrackingPassFlags.py:437
python.TrackingPassFlags.createITkTrackingPassFlags
def createITkTrackingPassFlags()
ITk mode ####################.
Definition: TrackingPassFlags.py:121
python.TrackingPassFlags.createVtxLumiHeavyIonTrackingPassFlags
def createVtxLumiHeavyIonTrackingPassFlags()
VtxLumiHeavyIon mode ################.
Definition: TrackingPassFlags.py:707
python.TrackingPassFlags.createLowPtLargeD0TrackingPassFlags
def createLowPtLargeD0TrackingPassFlags()
LowPtLargeD0 mode ########################.
Definition: TrackingPassFlags.py:517
python.TrackingPassFlags.createITkLargeD0TrackingPassFlags
def createITkLargeD0TrackingPassFlags()
ITk LRT mode ####################.
Definition: TrackingPassFlags.py:316