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 
4 import AthenaCommon.SystemOfUnits as Units
5 from AthenaConfiguration.Enums import BeamType, FlagEnum
6 from TrkConfig.TrkConfigFlags import PrimaryPassConfig
7 
8 class RoIStrategy(FlagEnum):
9  LeadTracks = 'LeadTracks'
10  Random = 'Random'
11  File = 'File'
12  TruthHS = 'TruthHS'
13 
14 
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 
119 
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 
241 
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 
262 
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 
281 
283 
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 
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 
320 
322 
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 
366 
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 
388 
390 
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 
401 
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 
413 
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 
430 
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 
441 
444  icf.extension = "HIP"
445  return icf
446 
447 
448 
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 
479 
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 
521 
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 
553 
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 
582 
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 
615 
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 
643 
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 
675 
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 
695 
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 
711 
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 
733 
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 
749 
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 
778 
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 
815 
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 
883 
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 
912 
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 
971 
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 
986 
989  icf.extension = "TRTStandalone"
990  icf.useTIDE_Ambi = False
991  icf.usePrdAssociationTool = True
992  icf.doBremRecoverySi = False
993 
994  return icf
995 
996 
997 
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 
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 
1020 
1022 
1023 if __name__ == "__main__":
1024 
1025  from AthenaConfiguration.AllConfigFlags import initConfigFlags
1027 
1028  from AthenaConfiguration.TestDefaults import defaultTestFiles
1029  flags.Input.Files=defaultTestFiles.RAW_RUN2
1030 
1031  from AthenaCommon.Logging import logging
1032  l = logging.getLogger('TrackingPassFlags')
1033  from AthenaCommon.Constants import INFO
1034  l.setLevel(INFO)
1035 
1036  flags = flags.cloneAndReplace("Tracking.ActiveConfig","Tracking.MainPass")
1037 
1038  assert flags.Tracking.ActiveConfig.maxPrimaryImpact == 5.0 * Units.mm, "wrong cut value {} ".format(flags.Tracking.ActiveConfig.maxPrimaryImpact)
1039  assert flags.Tracking.HeavyIonPass.maxPrimaryImpact == 10.0 * Units.mm, "wrong cut value {} ".format(flags.Tracking.HeavyIonPass.maxPrimaryImpact)
1040  flags.Tracking.doBLS = True
1041  assert flags.Tracking.ActiveConfig.maxPrimaryImpact == 10.0 * Units.mm, "wrong cut value {} ".format(flags.Tracking.ActiveConfig.maxPrimaryImpact)
1042 
1043  assert flags.Tracking.ActiveConfig.minPT == 0.5 * Units.GeV, "wrong cut value {} ".format(flags.Tracking.ActiveConfig.minPT)
1044  flags.BField.configuredSolenoidFieldScale = 0.1
1045  assert flags.Tracking.ActiveConfig.minPT == 0.05 * Units.GeV, "wrong cut value {} ".format(flags.Tracking.ActiveConfig.minPT)
1046 
1047  l.info("flags.Tracking.ActiveConfig.minPT %f", flags.Tracking.ActiveConfig.minPT * 1.0)
1048  l.info("type(flags.Tracking.ActiveConfig.minPT) " + str(type(flags.Tracking.ActiveConfig.minPT)))
1049 
1050 
1051 
1052 
python.TrackingPassFlags.createVtxBeamSpotTrackingPassFlags
def createVtxBeamSpotTrackingPassFlags()
VtxBeamSpot mode ########################.
Definition: TrackingPassFlags.py:734
SystemOfUnits
python.TrackingPassFlags.createLowPtTrackingPassFlags
def createLowPtTrackingPassFlags()
LowPt mode ########################.
Definition: TrackingPassFlags.py:554
vtune_athena.format
format
Definition: vtune_athena.py:14
python.TrackingPassFlags.RoIStrategy
Definition: TrackingPassFlags.py:8
python.TrackingPassFlags.createVtxLumiTrackingPassFlags
def createVtxLumiTrackingPassFlags()
VtxLumi mode ########################.
Definition: TrackingPassFlags.py:696
python.TrackingPassFlags.createUPCTrackingPassFlags
def createUPCTrackingPassFlags()
UPC mode ########################.
Definition: TrackingPassFlags.py:431
python.TrackingPassFlags.printPrimaryConfig
def printPrimaryConfig(flags)
Definition: TrackingPassFlags.py:998
python.TrackingPassFlags.createMinBiasTrackingPassFlags
def createMinBiasTrackingPassFlags()
MinBias mode ########################.
Definition: TrackingPassFlags.py:414
python.TrackingPassFlags.createPixelTrackingPassFlags
def createPixelTrackingPassFlags()
Pixel mode ###############################################.
Definition: TrackingPassFlags.py:816
python.TrackingPassFlags.createITkLargeD0FastTrackingPassFlags
def createITkLargeD0FastTrackingPassFlags()
Definition: TrackingPassFlags.py:365
python.TrackingPassFlags.createLowPtRoITrackingPassFlags
def createLowPtRoITrackingPassFlags()
LowPtRoI mode ########################.
Definition: TrackingPassFlags.py:449
python.TrackingPassFlags.createITkHeavyIonTrackingPassFlags
def createITkHeavyIonTrackingPassFlags()
Heavyion mode #######################.
Definition: TrackingPassFlags.py:242
python.TrackingPassFlags.createCosmicsTrackingPassFlags
def createCosmicsTrackingPassFlags()
Cosmics mode ########################.
Definition: TrackingPassFlags.py:750
python.CaloAddPedShiftConfig.type
type
Definition: CaloAddPedShiftConfig.py:42
python.TrackingPassFlags.createTRTStandaloneTrackingPassFlags
def createTRTStandaloneTrackingPassFlags()
TRT standalone tracklet cuts ##########.
Definition: TrackingPassFlags.py:987
python.TrackingPassFlags.printActiveConfig
def printActiveConfig(flags)
Definition: TrackingPassFlags.py:1009
python.TrackingPassFlags.createTrackingPassFlags
def createTrackingPassFlags()
Definition: TrackingPassFlags.py:17
python.TrackingPassFlags.createBeamGasTrackingPassFlags
def createBeamGasTrackingPassFlags()
BeamGas mode ########################.
Definition: TrackingPassFlags.py:676
python.TrackingPassFlags.createDisappearingTrackingPassFlags
def createDisappearingTrackingPassFlags()
Disappearing mode ######################.
Definition: TrackingPassFlags.py:884
python.TrackingPassFlags.createITkFTFLargeD0PassFlags
def createITkFTFLargeD0PassFlags()
Definition: TrackingPassFlags.py:301
python.TrackingPassFlags.createITkFastTrackingPassFlags
def createITkFastTrackingPassFlags()
Definition: TrackingPassFlags.py:261
python.TrackingPassFlags.createForwardTracksTrackingPassFlags
def createForwardTracksTrackingPassFlags()
ForwardTracks mode ########################.
Definition: TrackingPassFlags.py:644
python.TrackingPassFlags.createVeryLowPtTrackingPassFlags
def createVeryLowPtTrackingPassFlags()
VeryLowPt mode ########################.
Definition: TrackingPassFlags.py:616
python.TrackingPassFlags.createHeavyIonTrackingPassFlags
def createHeavyIonTrackingPassFlags()
Heavyion mode #######################.
Definition: TrackingPassFlags.py:779
python.TrackingPassFlags.createITkConversionTrackingPassFlags
def createITkConversionTrackingPassFlags()
ITkConversion mode ########################.
Definition: TrackingPassFlags.py:583
Constants
some useful constants -------------------------------------------------—
print
void print(char *figname, TCanvas *c1)
Definition: TRTCalib_StrawStatusPlots.cxx:25
python.TrackingPassFlags.createTRTTrackingPassFlags
def createTRTTrackingPassFlags()
TRT subdetector tracklet cuts ##########.
Definition: TrackingPassFlags.py:972
python.TrackingPassFlags.createHighPileupTrackingPassFlags
def createHighPileupTrackingPassFlags()
HighPileUP mode ####################.
Definition: TrackingPassFlags.py:402
python.TrackingPassFlags.createITkLowPtTrackingPassFlags
def createITkLowPtTrackingPassFlags()
ITk LowPt mode ####################.
Definition: TrackingPassFlags.py:389
python.TrackingPassFlags.createR3LargeD0TrackingPassFlags
def createR3LargeD0TrackingPassFlags()
R3LargeD0 mode ########################.
Definition: TrackingPassFlags.py:480
python.AllConfigFlags.initConfigFlags
def initConfigFlags()
Definition: AllConfigFlags.py:19
python.TrackingPassFlags.createSCTTrackingPassFlags
def createSCTTrackingPassFlags()
SCT mode ######################.
Definition: TrackingPassFlags.py:913
python.TrackingPassFlags.createITkFTFPassFlags
def createITkFTFPassFlags()
ITk with FTF standalone mode ####.
Definition: TrackingPassFlags.py:282
str
Definition: BTagTrackIpAccessor.cxx:11
python.TrackingPassFlags.createHIPTrackingPassFlags
def createHIPTrackingPassFlags()
HIP mode ########################.
Definition: TrackingPassFlags.py:442
python.TrackingPassFlags.createITkTrackingPassFlags
def createITkTrackingPassFlags()
ITk mode ####################.
Definition: TrackingPassFlags.py:120
python.TrackingPassFlags.createVtxLumiHeavyIonTrackingPassFlags
def createVtxLumiHeavyIonTrackingPassFlags()
VtxLumiHeavyIon mode ################.
Definition: TrackingPassFlags.py:712
python.TrackingPassFlags.createLowPtLargeD0TrackingPassFlags
def createLowPtLargeD0TrackingPassFlags()
LowPtLargeD0 mode ########################.
Definition: TrackingPassFlags.py:522
python.TrackingPassFlags.createITkLargeD0TrackingPassFlags
def createITkLargeD0TrackingPassFlags()
ITk LRT mode ####################.
Definition: TrackingPassFlags.py:321