ATLAS Offline Software
Classes | Functions
python.TrkConfigFlags Namespace Reference

Classes

class  ITkPrimaryPassConfig
 
class  KalmanUpdatorType
 
class  PixelClusterSplittingType
 
class  PrimaryPassConfig
 
class  TrackFitterType
 
class  TrackingComponent
 

Functions

def createTrackingConfigFlags ()
 

Function Documentation

◆ createTrackingConfigFlags()

def python.TrkConfigFlags.createTrackingConfigFlags ( )

Definition at line 59 of file TrkConfigFlags.py.

60  icf = AthConfigFlags()
61 
62  # Turn running of truth matching on and off (by default on for MC off for data)
63  icf.addFlag("Tracking.doTruth", lambda prevFlags: prevFlags.Input.isMC)
64 
65  # control which fitter to be used
66  icf.addFlag("Tracking.trackFitterType",
67  TrackFitterType.GlobalChi2Fitter, type=TrackFitterType)
68  # control which measurement updator to load as InDetUpdator
69  icf.addFlag("Tracking.kalmanUpdator",
70  KalmanUpdatorType.KalmanUpdatorSMatrix, type=KalmanUpdatorType)
71 
72  icf.addFlag("Tracking.materialInteractions", lambda prevFlags:
73  prevFlags.Beam.Type is not BeamType.SingleBeam)
74  # Control which type of particle hypothesis to use for the material interactions
75  # 0=non-interacting,1=electron,2=muon,3=pion,4=kaon,5=proton. See ParticleHypothesis.h for full definition.
76  icf.addFlag("Tracking.materialInteractionsType", lambda prevFlags:
77  2 if prevFlags.Beam.Type is BeamType.Cosmics else 3)
78 
79  # Turn on running of Brem Recovery in tracking
80  icf.addFlag("Tracking.doBremRecovery", lambda prevFlags: (
81  prevFlags.Detector.EnableCalo and
82  not (prevFlags.Tracking.PrimaryPassConfig in
83  [PrimaryPassConfig.VtxLumi, PrimaryPassConfig.VtxBeamSpot] or
84  prevFlags.Tracking.doLowMu or
85  prevFlags.Beam.Type is not BeamType.Collisions or
86  not prevFlags.BField.solenoidOn)))
87  icf.addFlag("Tracking.doCaloSeededBrem", lambda prevFlags: (
88  prevFlags.Detector.EnableCalo and prevFlags.Tracking.doBremRecovery))
89  icf.addFlag("Tracking.phiWidthBrem", 0.3)
90  icf.addFlag("Tracking.etaWidthBrem", 0.2)
91  # Use Recover SSS to Calo ROIs
92  icf.addFlag("Tracking.doHadCaloSeededSSS", False)
93  # Use Calo ROIs to seed specific cuts for the ambi
94  icf.addFlag("Tracking.doCaloSeededAmbi", lambda prevFlags:
95  prevFlags.Detector.EnableCalo)
96  # control if the shared hits are recorded in TrackPatricles
97  icf.addFlag("Tracking.doSharedHits", True)
98  # Switch for running TIDE Ambi
99  icf.addFlag("Tracking.doTIDE_Ambi", lambda prevFlags:
100  not (prevFlags.Beam.Type is BeamType.Cosmics))
101  # Switch to use truth-based pixel cluster splitting emulation
102  icf.addFlag("Tracking.doPixelTruthSplit", lambda prevFlags:
103  prevFlags.GeoModel.Run >= LHCPeriod.Run4)
104  # Use simple position and error estimate for on-track pixel cluster
105  icf.addFlag("Tracking.doPixelDigitalClustering", False)
106  # Try to split pixel clusters
107  icf.addFlag("Tracking.doPixelClusterSplitting",
108  lambda prevFlags: not (prevFlags.Beam.Type is BeamType.Cosmics))
109  # choose splitter type: NeuralNet or AnalogClus
110  icf.addFlag("Tracking.pixelClusterSplittingType", lambda prevFlags:
111  PixelClusterSplittingType.NeuralNet
112  if prevFlags.GeoModel.Run <= LHCPeriod.Run3
113  else PixelClusterSplittingType.Truth,
114  type=PixelClusterSplittingType)
115  # Cut value for splitting clusters into two parts
116  icf.addFlag("Tracking.pixelClusterSplitProb1",
117  lambda prevFlags: (
118  0.5 if prevFlags.GeoModel.Run is LHCPeriod.Run1 else 0.55))
119  # Cut value for splitting clusters into three parts
120  icf.addFlag("Tracking.pixelClusterSplitProb2",
121  lambda prevFlags: (
122  0.5 if prevFlags.GeoModel.Run is LHCPeriod.Run1 else 0.45))
123  # Skip ambiguity solver in hadronic ROI
124  icf.addFlag("Tracking.doSkipAmbiROI", False)
125 
126  # Guaranteed not-subtracted topo clusters even in heavy ions
127  icf.addFlag("Tracking.TopoClusters", "CaloTopoClusters")
128  icf.addFlag("Tracking.EgammaTopoClusters", "egammaTopoClusters")
129 
130  # Express track parameters wrt. to : 'BeamLine','BeamSpot','Vertex' (first primary vertex)
131  icf.addFlag("Tracking.perigeeExpression", lambda prevFlags:
132  "Vertex" if (prevFlags.Tracking.PrimaryPassConfig is
133  PrimaryPassConfig.HeavyIon)
134  else "BeamLine")
135 
136  # Tracking passes/configurations scheduled
137 
138  def doLargeD0(flags):
139  if flags.GeoModel.Run <= LHCPeriod.Run3:
140  return not ((flags.Beam.Type in
141  [BeamType.SingleBeam, BeamType.Cosmics]) or
142  flags.Tracking.PrimaryPassConfig in [
143  PrimaryPassConfig.HeavyIon,
144  PrimaryPassConfig.UPC,
145  PrimaryPassConfig.HIP,
146  PrimaryPassConfig.VtxLumi,
147  PrimaryPassConfig.VtxBeamSpot,
148  PrimaryPassConfig.HighPileup])
149  else: # LRT disabled by default for Run4 for now
150  return False
151 
152  icf.addFlag("Tracking.doLargeD0", doLargeD0)
153  icf.addFlag("Tracking.storeSeparateLargeD0Container", True)
154 
155  # Special configuration for low-mu runs
156  icf.addFlag("Tracking.doLowMu", False)
157  # Turn running of doLowPt second pass on and off
158  icf.addFlag("Tracking.doLowPt",
159  lambda prevFlags: prevFlags.Tracking.doLowMu)
160 
161  # Turn on to save the Track Seeds in a xAOD track collecting for development studies
162  icf.addFlag("Tracking.doStoreTrackSeeds", False)
163  # Save SiSP tracks (input to the ambiguity solver)
164  icf.addFlag("Tracking.doStoreSiSPSeededTracks", False)
165  # Turn writing of seed validation ntuple on and off
166  icf.addFlag("Tracking.writeSeedValNtuple", False)
167  # Save xAOD TrackMeasurementValidation + TrackStateValidation containers
168  icf.addFlag("Tracking.writeExtendedSi_PRDInfo", False)
169  icf.addFlag("Tracking.writeExtendedTRT_PRDInfo", False)
170 
171  # Only keep entries in xAOD TrackMeasurementValidation + TrackStateValidation containers for tracks passing user cut
172  # Indicate detector technology from which clusters should be thinned
173  icf.addFlag("Tracking.thinPixelClustersOnTrack", False)
174  icf.addFlag("Tracking.thinSCTClustersOnTrack", False)
175  icf.addFlag("Tracking.thinTRTClustersOnTrack", False)
176  icf.addFlag("Tracking.thinInDetClustersOnTrack",
177  lambda prevFlags: (
178  prevFlags.Tracking.thinPixelClustersOnTrack or
179  prevFlags.Tracking.thinSCTClustersOnTrack or
180  prevFlags.Tracking.thinTRTClustersOnTrack ))
181 
182  # For cluster thinning (if enabled): list of containers and selection strings used in ThinInDetClustersAlg
183  icf.addFlag("Tracking.thinInDetClustersTrackContainers", ["InDetTrackParticles"])
184  icf.addFlag("Tracking.thinInDetClustersPixelMSOSContainers", ["PixelMSOSs"])
185  icf.addFlag("Tracking.thinInDetClustersSCTMSOSContainers", ["SCT_MSOSs"])
186  icf.addFlag("Tracking.thinInDetClustersTRTMSOSContainers", ["TRT_MSOSs"])
187  icf.addFlag("Tracking.thinInDetClustersSelectionStrings", ["InDetTrackParticles.pt > (1*GeV)"])
188 
189  # Toggle track slimming
190  icf.addFlag("Tracking.doSlimming", lambda prevFlags:
191  not (prevFlags.Beam.Type in
192  [BeamType.SingleBeam, BeamType.Cosmics] or
193  prevFlags.Tracking.PrimaryPassConfig in [
194  PrimaryPassConfig.VtxLumi,
195  PrimaryPassConfig.VtxBeamSpot,
196  PrimaryPassConfig.HighPileup]))
197 
198 
199 
200  # The following flags are only used in InDet configurations for now
201  # No corresponding ITk config is available yet
202 
203  icf.addFlag("Tracking.useNewParamTRT", lambda prevFlags:
204  prevFlags.Tracking.PrimaryPassConfig is not(
205  PrimaryPassConfig.HeavyIon))
206 
207  # --- run back tracking and TRT only in RoI seed regions
208  icf.addFlag("Tracking.BackTracking.doRoISeeded", lambda prevFlags:
209  prevFlags.Detector.EnableCalo and not(
210  prevFlags.Tracking.doLowMu or
211  prevFlags.Tracking.PrimaryPassConfig is (
212  PrimaryPassConfig.HeavyIon) or
213  prevFlags.Beam.Type is BeamType.Cosmics or
214  prevFlags.Tracking.doMinBias))
215 
216  # --- defaults for backtracking
217  def BackTrackingMinPt(flags):
218  if flags.Tracking.doMinBias:
219  return 0.4 * Units.GeV * flags.BField.configuredSolenoidFieldScale
220  elif (flags.Tracking.doLowMu or
221  flags.Tracking.PrimaryPassConfig is PrimaryPassConfig.HeavyIon or
222  flags.Beam.Type is BeamType.Cosmics):
223  return 1.0 * Units.GeV * flags.BField.configuredSolenoidFieldScale
224  else:
225  return 3.0 * Units.GeV * flags.BField.configuredSolenoidFieldScale
226  icf.addFlag("Tracking.BackTracking.minPt", BackTrackingMinPt)
227  icf.addFlag("Tracking.BackTracking.TRTSegFinderPtBins", 50)
228  icf.addFlag("Tracking.BackTracking.maxTRTSharedFrac", 0.7)
229  icf.addFlag("Tracking.BackTracking.maxSecondaryImpact", 100.0 * Units.mm)
230  icf.addFlag("Tracking.BackTracking.minClusters", 4)
231  icf.addFlag("Tracking.BackTracking.minSiNotShared", 4)
232  # cut is now on number of shared modules
233  icf.addFlag("Tracking.BackTracking.maxShared", 1)
234  icf.addFlag("Tracking.BackTracking.minTRT", lambda prevFlags:
235  10 if (prevFlags.Tracking.doLowMu or
236  prevFlags.Tracking.PrimaryPassConfig is (
237  PrimaryPassConfig.HeavyIon))
238  else 15)
239  icf.addFlag("Tracking.BackTracking.minTRTPrecFrac", lambda prevFlags:
240  0. if (prevFlags.Tracking.doLowMu or
241  prevFlags.Tracking.PrimaryPassConfig is (
242  PrimaryPassConfig.HeavyIon))
243  else 0.3)
244 
245  icf.addFlag("Tracking.BackTracking.maxHoles", lambda prevFlags:
246  2 if (prevFlags.Tracking.doLowMu or
247  prevFlags.Tracking.PrimaryPassConfig is (
248  PrimaryPassConfig.HeavyIon))
249  else 1)
250  icf.addFlag("Tracking.BackTracking.maxPixelHoles", lambda prevFlags:
251  2 if (prevFlags.Tracking.doLowMu or
252  prevFlags.Tracking.PrimaryPassConfig is (
253  PrimaryPassConfig.HeavyIon))
254  else 1)
255  icf.addFlag("Tracking.BackTracking.maxSCTHoles", lambda prevFlags:
256  2 if (prevFlags.Tracking.doLowMu or
257  prevFlags.Tracking.PrimaryPassConfig is (
258  PrimaryPassConfig.HeavyIon))
259  else 1)
260  icf.addFlag("Tracking.BackTracking.maxDoubleHoles", lambda prevFlags:
261  1 if (prevFlags.Tracking.doLowMu or
262  prevFlags.Tracking.PrimaryPassConfig is (
263  PrimaryPassConfig.HeavyIon))
264  else 0)
265  icf.addFlag("Tracking.BackTracking.nHolesMax", 2)
266  icf.addFlag("Tracking.BackTracking.nHolesGapMax", 2)
267 
268  # extension finder in back tracking
269  icf.addFlag("Tracking.BackTracking.rejectShortExtensions", lambda prevFlags:
270  not(prevFlags.Beam.Type is BeamType.Cosmics or
271  prevFlags.Tracking.doLowMu or
272  prevFlags.Tracking.PrimaryPassConfig is (
273  PrimaryPassConfig.HeavyIon)))
274  # cut in Si Extensions before fit
275  icf.addFlag("Tracking.BackTracking.SiExtensionCuts", lambda prevFlags:
276  not(prevFlags.Tracking.doLowMu or
277  prevFlags.Tracking.PrimaryPassConfig is (
278  PrimaryPassConfig.HeavyIon)))
279  icf.addFlag("Tracking.BackTracking.minRoIClusterEt", lambda prevFlags:
280  0. if (prevFlags.Tracking.doLowMu or
281  prevFlags.Tracking.PrimaryPassConfig is (
282  PrimaryPassConfig.HeavyIon) or
283  prevFlags.Beam.Type is BeamType.Cosmics or
284  prevFlags.Tracking.doMinBias)
285  else 6.*Units.GeV * prevFlags.BField.configuredSolenoidFieldScale)
286 
287  # TRT standalone configuration
288  def TRTStandaloneMinPt(flags):
289  if flags.Tracking.doMinBias:
290  return 0.4 * Units.GeV * flags.BField.configuredSolenoidFieldScale
291  elif flags.Tracking.doLowMu or (
292  flags.Tracking.PrimaryPassConfig is PrimaryPassConfig.HeavyIon):
293  return 1.0 * Units.GeV * flags.BField.configuredSolenoidFieldScale
294  else:
295  return 2.0 * Units.GeV * flags.BField.configuredSolenoidFieldScale
296  icf.addFlag("Tracking.TRTStandalone.minPt", TRTStandaloneMinPt)
297  icf.addFlag("Tracking.TRTStandalone.minTRTPrecFrac", 0.15)
298  icf.addFlag("Tracking.TRTStandalone.minTRT", 15)
299 
300  # Turn on InDetRecStatistics
301  icf.addFlag("Tracking.doStats", False)
302  # Switch for track observer tool
303  icf.addFlag("Tracking.doTIDE_AmbiTrackMonitoring", False)
304  # use beam spot position in pixel NN
305  icf.addFlag("Tracking.useBeamSpotInfoNN", True)
306  # Threshold for NN cut in large D0 tracking for tracks in ambi
307  icf.addFlag("Tracking.nnCutLargeD0Threshold", -1.0)
308  # Use broad cluster errors for Pixel
309  icf.addFlag("Tracking.useBroadPixClusterErrors", False)
310  # Use broad cluster errors for SCT
311  icf.addFlag("Tracking.useBroadSCTClusterErrors", False)
312 
313  # Tracking passes/configurations scheduled
314 
315  # Turn running of track segment creation in pixel on and off
316  icf.addFlag("Tracking.doTrackSegmentsPixel",
317  lambda prevFlags: (
318  prevFlags.Detector.EnablePixel and (
319  prevFlags.Tracking.doMinBias or
320  prevFlags.Tracking.doLowMu or
321  prevFlags.Beam.Type is BeamType.Cosmics)))
322  # Turn running of track segment creation in SCT on and off
323  icf.addFlag("Tracking.doTrackSegmentsSCT",
324  lambda prevFlags: (
325  prevFlags.Detector.EnableSCT and (
326  prevFlags.Tracking.doLowMu or
327  prevFlags.Beam.Type is BeamType.Cosmics)))
328  # Turn running of track segment creation in TRT on and off
329  icf.addFlag("Tracking.doTrackSegmentsTRT",
330  lambda prevFlags: (
331  prevFlags.Detector.EnableTRT and
332  (prevFlags.Tracking.doLowMu or
333  prevFlags.Beam.Type is BeamType.Cosmics)))
334  # turn on / off TRT extensions
335  icf.addFlag("Tracking.doTRTExtension",
336  lambda prevFlags: prevFlags.Detector.EnableTRT)
337  # control to run TRT Segment finding (do it always after new tracking!)
338  icf.addFlag("Tracking.doTRTSegments",
339  lambda prevFlags: (prevFlags.Detector.EnableTRT and
340  (prevFlags.Tracking.doBackTracking or
341  prevFlags.Tracking.doTRTStandalone)))
342  # Turn running of backtracking on and off
343  icf.addFlag("Tracking.doBackTracking", lambda prevFlags: (
344  prevFlags.Detector.EnableTRT and
345  not(prevFlags.Beam.Type in [BeamType.SingleBeam, BeamType.Cosmics] or
346  prevFlags.Tracking.PrimaryPassConfig in [
347  PrimaryPassConfig.HeavyIon,
348  PrimaryPassConfig.VtxLumi,
349  PrimaryPassConfig.VtxBeamSpot,
350  PrimaryPassConfig.HighPileup])))
351  # control TRT Standalone
352  icf.addFlag("Tracking.doTRTStandalone", lambda prevFlags: (
353  prevFlags.Detector.EnableTRT and
354  not(prevFlags.Tracking.PrimaryPassConfig in [
355  PrimaryPassConfig.HeavyIon,
356  PrimaryPassConfig.VtxLumi,
357  PrimaryPassConfig.VtxBeamSpot,
358  PrimaryPassConfig.HighPileup])))
359 
360  # Turn running of doForwardTracks pass on and off
361  icf.addFlag("Tracking.doForwardTracks", lambda prevFlags: (
362  prevFlags.Detector.EnablePixel and
363  not(prevFlags.Beam.Type in [BeamType.SingleBeam, BeamType.Cosmics] or
364  prevFlags.Tracking.PrimaryPassConfig in [
365  PrimaryPassConfig.HeavyIon,
366  PrimaryPassConfig.VtxLumi,
367  PrimaryPassConfig.VtxBeamSpot,
368  PrimaryPassConfig.HighPileup] or
369  prevFlags.Tracking.doMinBias or
370  prevFlags.Tracking.doLowMu)))
371  icf.addFlag("Tracking.doTrackSegmentsDisappearing",
372  lambda prevFlags: (
373  not((prevFlags.Tracking.PrimaryPassConfig is
374  PrimaryPassConfig.HeavyIon) or
375  prevFlags.Beam.Type is BeamType.Cosmics)))
376 
377  # Turn running of doVeryLowPt third pass on and off
378  icf.addFlag("Tracking.doVeryLowPt", False)
379  # Turn running of doLargeD0 second pass down to 100 MeV on and off
380  icf.addFlag("Tracking.doLowPtLargeD0", False)
381  # Switch for running LowPtRoI settings
382  icf.addFlag("Tracking.doLowPtRoI", False)
383  # Switch for running UPC settings
384  icf.addFlag("Tracking.doUPC", lambda prevFlags: prevFlags.Reco.HIMode is HIMode.UPC)
385  # Switch for running HIP settings
386  icf.addFlag("Tracking.doHIP", lambda prevFlags: prevFlags.Reco.HIMode is HIMode.HIP)
387  # Switch for running MinBias settings (UPC or HIP turn this ON)
388  icf.addFlag("Tracking.doMinBias", lambda prevFlags:
389  prevFlags.Tracking.doUPC or prevFlags.Tracking.doHIP)
390  # Turn running of BeamGas second pass on and off
391  icf.addFlag("Tracking.doBeamGas",
392  lambda prevFlags: prevFlags.Beam.Type is BeamType.SingleBeam)
393  # Special reconstruction for BLS physics
394  icf.addFlag("Tracking.doBLS", False)
395 
396  # Special pass using truth information for pattern recognition, runs in parallel to/instead of the first pass
397  icf.addFlag("Tracking.doPseudoTracking", False)
398  # Special pass using truth information for pattern recognition, removes assumed in-efficencies applied to PseudoTracking
399  icf.addFlag("Tracking.doIdealPseudoTracking", False)
400 
401 
402 
403  # The following flags are only used in ITk configurations
404 
405  # Turn running of ITk FastTracking on and off
406  icf.addFlag("Tracking.doITkFastTracking", False)
407 
408  # Turn running of Conversion second tracking pass on and off
409  icf.addFlag("Tracking.doITkConversion",
410  lambda prevFlags: not prevFlags.Tracking.doITkFastTracking)
411 
412  # Allows TrigFastTrackFinder to be run as an offline algorithm by replacing
413  # SiSPSeededTrackFinder
414  icf.addFlag("Tracking.useITkFTF", False)
415 
416  # GNN for ITk flags
417  from InDetGNNTracking.InDetGNNTrackingConfigFlags import createGNNTrackingConfigFlags
418  icf.join(createGNNTrackingConfigFlags())
419 
420  # enable reco steps
421  icf.addFlag("Tracking.recoChain", [TrackingComponent.AthenaChain])
422 
423 
424 
425  # Tracking pass flags
426 
427  # InDet
428 
429  from TrkConfig.TrackingPassFlags import (
430  createTrackingPassFlags, createHighPileupTrackingPassFlags,
431  createMinBiasTrackingPassFlags, createUPCTrackingPassFlags,
432  createHIPTrackingPassFlags, createR3LargeD0TrackingPassFlags,
433  createLowPtLargeD0TrackingPassFlags,
434  createLowPtTrackingPassFlags, createVeryLowPtTrackingPassFlags,
435  createLowPtRoITrackingPassFlags, createForwardTracksTrackingPassFlags,
436  createBeamGasTrackingPassFlags, createVtxLumiTrackingPassFlags,
437  createVtxBeamSpotTrackingPassFlags, createCosmicsTrackingPassFlags,
438  createHeavyIonTrackingPassFlags, createPixelTrackingPassFlags,
439  createDisappearingTrackingPassFlags, createSCTTrackingPassFlags,
440  createTRTTrackingPassFlags, createTRTStandaloneTrackingPassFlags)
441 
442  def primaryPass(flags):
443  if flags.Beam.Type is BeamType.Cosmics:
444  return PrimaryPassConfig.Cosmics
445  elif flags.Reco.EnableHI:
446  if flags.Tracking.doUPC: #For UPC
447  return PrimaryPassConfig.UPC
448  elif flags.Tracking.doHIP: #For HIP
449  return PrimaryPassConfig.HIP
450  else: #For HI (default)
451  return PrimaryPassConfig.HeavyIon
452  elif flags.Tracking.doMinBias:
453  return PrimaryPassConfig.MinBias
454  else:
455  return PrimaryPassConfig.Default
456 
457  icf.addFlag("Tracking.PrimaryPassConfig", lambda prevFlags:
458  primaryPass(prevFlags), type=PrimaryPassConfig)
459 
460  # Set up for first tracking pass, updated for second passes
461  icf.addFlagsCategory("Tracking.MainPass",
462  createTrackingPassFlags, prefix=True)
463  icf.addFlagsCategory("Tracking.HighPileupPass",
464  createHighPileupTrackingPassFlags, prefix=True)
465  icf.addFlagsCategory("Tracking.UPCPass",
466  createUPCTrackingPassFlags, prefix=True)
467  icf.addFlagsCategory("Tracking.HIPPass",
468  createHIPTrackingPassFlags, prefix=True)
469  icf.addFlagsCategory("Tracking.MinBiasPass",
470  createMinBiasTrackingPassFlags, prefix=True)
471  icf.addFlagsCategory("Tracking.R3LargeD0Pass",
472  createR3LargeD0TrackingPassFlags, prefix=True)
473  icf.addFlagsCategory("Tracking.LowPtLargeD0Pass",
474  createLowPtLargeD0TrackingPassFlags, prefix=True)
475  icf.addFlagsCategory("Tracking.LowPtPass",
476  createLowPtTrackingPassFlags, prefix=True)
477  icf.addFlagsCategory("Tracking.VeryLowPtPass",
478  createVeryLowPtTrackingPassFlags, prefix=True)
479  icf.addFlagsCategory("Tracking.LowPtRoIPass",
480  createLowPtRoITrackingPassFlags, prefix=True)
481  icf.addFlagsCategory("Tracking.ForwardPass",
482  createForwardTracksTrackingPassFlags, prefix=True)
483  icf.addFlagsCategory("Tracking.BeamGasPass",
484  createBeamGasTrackingPassFlags, prefix=True)
485  icf.addFlagsCategory("Tracking.VtxLumiPass",
486  createVtxLumiTrackingPassFlags, prefix=True)
487  icf.addFlagsCategory("Tracking.VtxBeamSpotPass",
488  createVtxBeamSpotTrackingPassFlags, prefix=True)
489  icf.addFlagsCategory("Tracking.CosmicsPass",
490  createCosmicsTrackingPassFlags, prefix=True)
491  icf.addFlagsCategory("Tracking.HeavyIonPass",
492  createHeavyIonTrackingPassFlags, prefix=True)
493  icf.addFlagsCategory("Tracking.PixelPass",
494  createPixelTrackingPassFlags, prefix=True)
495  icf.addFlagsCategory("Tracking.DisappearingPass",
496  createDisappearingTrackingPassFlags, prefix=True)
497  icf.addFlagsCategory("Tracking.SCTPass",
498  createSCTTrackingPassFlags, prefix=True)
499  icf.addFlagsCategory("Tracking.TRTPass",
500  createTRTTrackingPassFlags, prefix=True)
501  icf.addFlagsCategory("Tracking.TRTStandalonePass",
502  createTRTStandaloneTrackingPassFlags, prefix=True)
503 
504  # ITk
505 
506  from TrkConfig.TrackingPassFlags import (
507  createITkTrackingPassFlags, createITkLargeD0TrackingPassFlags,
508  createITkConversionTrackingPassFlags,
509  createITkFastTrackingPassFlags, createITkLargeD0FastTrackingPassFlags,
510  createITkFTFPassFlags, createITkFTFLargeD0PassFlags, createITkLowPtTrackingPassFlags,
511  createITkHeavyIonTrackingPassFlags)
512 
513  def itkPrimaryPass(flags):
514  if flags.Tracking.useITkFTF:
515  return ITkPrimaryPassConfig.FTF
516  elif flags.Tracking.doITkFastTracking:
517  return ITkPrimaryPassConfig.FastTracking
518  elif flags.Reco.EnableHI:
519  return ITkPrimaryPassConfig.HeavyIon
520  else:
521  return ITkPrimaryPassConfig.Default
522 
523  icf.addFlag("Tracking.ITkPrimaryPassConfig", lambda prevFlags:
524  itkPrimaryPass(prevFlags), type=ITkPrimaryPassConfig)
525 
526  icf.addFlagsCategory ("Tracking.ITkMainPass",
527  createITkTrackingPassFlags, prefix=True)
528  icf.addFlagsCategory ("Tracking.ITkLargeD0Pass",
529  createITkLargeD0TrackingPassFlags, prefix=True)
530  icf.addFlagsCategory ("Tracking.ITkConversionPass",
531  createITkConversionTrackingPassFlags, prefix=True)
532  icf.addFlagsCategory ("Tracking.ITkLowPtPass",
533  createITkLowPtTrackingPassFlags, prefix=True)
534  icf.addFlagsCategory ("Tracking.ITkFastPass",
535  createITkFastTrackingPassFlags, prefix=True)
536  icf.addFlagsCategory ("Tracking.ITkLargeD0FastPass",
537  createITkLargeD0FastTrackingPassFlags, prefix=True)
538  icf.addFlagsCategory ("Tracking.ITkFTFPass",
539  createITkFTFPassFlags, prefix=True)
540  icf.addFlagsCategory ("Tracking.ITkFTFLargeD0Pass",
541  createITkFTFLargeD0PassFlags, prefix=True)
542  icf.addFlagsCategory ("Tracking.ITkHeavyIonPass",
543  createITkHeavyIonTrackingPassFlags, prefix=True)
544 
545  # Acts
546  from ActsConfig.ActsTrackingPassFlags import (
547  createActsTrackingPassFlags,
548  createActsLargeRadiusTrackingPassFlags,
549  createActsConversionTrackingPassFlags,
550  createActsLowPtTrackingPassFlags,
551  createActsValidateClustersTrackingPassFlags,
552  createActsValidateSpacePointsTrackingPassFlags,
553  createActsValidateSeedsTrackingPassFlags,
554  createActsValidateConversionSeedsTrackingPassFlags,
555  createActsValidateLargeRadiusSeedsTrackingPassFlags,
556  createActsValidateTracksTrackingPassFlags,
557  createActsValidateAmbiguityResolutionTrackingPassFlags,
558  createActsHeavyIonTrackingPassFlags
559  )
560 
561  icf.addFlagsCategory ("Tracking.ITkActsPass",
562  createActsTrackingPassFlags, prefix=True)
563  icf.addFlagsCategory ("Tracking.ITkActsLargeRadiusPass",
564  createActsLargeRadiusTrackingPassFlags, prefix=True)
565  icf.addFlagsCategory ('Tracking.ITkActsConversionPass',
566  createActsConversionTrackingPassFlags, prefix=True)
567  icf.addFlagsCategory ('Tracking.ITkActsLowPtPass',
568  createActsLowPtTrackingPassFlags, prefix=True)
569  icf.addFlagsCategory ("Tracking.ITkActsValidateClustersPass",
570  createActsValidateClustersTrackingPassFlags, prefix=True)
571  icf.addFlagsCategory ("Tracking.ITkActsValidateSpacePointsPass",
572  createActsValidateSpacePointsTrackingPassFlags, prefix=True)
573  icf.addFlagsCategory ("Tracking.ITkActsValidateSeedsPass",
574  createActsValidateSeedsTrackingPassFlags, prefix=True)
575  icf.addFlagsCategory ("Tracking.ITkActsValidateConversionSeedsPass",
576  createActsValidateConversionSeedsTrackingPassFlags, prefix=True)
577  icf.addFlagsCategory ("Tracking.ITkActsValidateLargeRadiusSeedsPass",
578  createActsValidateLargeRadiusSeedsTrackingPassFlags, prefix=True)
579  icf.addFlagsCategory ("Tracking.ITkActsValidateTracksPass",
580  createActsValidateTracksTrackingPassFlags, prefix=True)
581  icf.addFlagsCategory ("Tracking.ITkActsValidateAmbiguityResolutionPass",
582  createActsValidateAmbiguityResolutionTrackingPassFlags, prefix=True)
583  icf.addFlagsCategory ("Tracking.ITkActsHeavyIonPass",
584  createActsHeavyIonTrackingPassFlags, prefix=True)
585 
586  # GNN
587  from InDetGNNTracking.InDetGNNTrackingFlags import createGNNTrackingPassFlags
588  icf.addFlagsCategory ("Tracking.ITkGNNPass",
589  createGNNTrackingPassFlags, prefix=True)
590  #FPGA
591  from TrkConfig.InDetFPGATrackingFlags import createFPGATrackingPassFlags
592  icf.addFlagsCategory ("Tracking.ITkFPGAPass",
593  createFPGATrackingPassFlags, prefix=True)
594 
595 
596 
597 
598  # Vertexing flags
599  from TrkConfig.VertexFindingFlags import createPriVertexingFlags
600  icf.addFlagsCategory("Tracking.PriVertex",
601  createPriVertexingFlags, prefix=True)
602 
603  # Turn on the primary vertex reconstruction
604  icf.addFlag("Tracking.doVertexFinding",
605  lambda prevFlags: prevFlags.Beam.Type is not BeamType.Cosmics)
606  # Turn on the secondary vertex V0 finder
607  icf.addFlag("Tracking.doV0Finder", False)
608 
609  icf.addFlag('Tracking.TruthClusterSplittingEff', 0.9)
610 
611  return icf
python.TrkConfigFlags.createTrackingConfigFlags
def createTrackingConfigFlags()
Definition: TrkConfigFlags.py:59
python.InDetGNNTrackingConfigFlags.createGNNTrackingConfigFlags
def createGNNTrackingConfigFlags()
Definition: InDetGNNTrackingConfigFlags.py:7