Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Classes | Functions | Variables
python.TriggerConfigFlags Namespace Reference

Classes

class  ROBPrefetching
 
class  Tests
 

Functions

def trigGlobalTag (flags)
 
def trigGeoTag (flags)
 
def createTriggerFlags (doTriggerRecoFlags)
 
def createTriggerRecoFlags ()
 

Variables

 log
 
 flags
 

Function Documentation

◆ createTriggerFlags()

def python.TriggerConfigFlags.createTriggerFlags (   doTriggerRecoFlags)

Definition at line 34 of file TriggerConfigFlags.py.

34 def createTriggerFlags(doTriggerRecoFlags):
35  flags = AthConfigFlags()
36 
37  flags.addFlag('Trigger.doLVL1', lambda prevFlags: prevFlags.Input.isMC,
38  help='enable L1 simulation')
39 
40  flags.addFlag('Trigger.doHLT', False,
41  help='run HLT selection algorithms')
42 
43  flags.addFlag("Trigger.forceEnableAllChains", lambda prevFlags: prevFlags.GeoModel.Run >= LHCPeriod.Run4,
44  help='always enable all configured chains (for testing). Currently enabled by default for Run 4.')
45 
46  flags.addFlag("Trigger.disableL1ConsistencyChecker", False,
47  help='force disabling the L1 ConsistencyChecker')
48 
49  flags.addFlag('Trigger.enableL0Muon',
50  lambda prevFlags: prevFlags.GeoModel.Run >= LHCPeriod.Run4,
51  help='enable Run-4+ L0 Muon simulation or decoding')
52 
53  flags.addFlag('Trigger.enableL1MuonPhase1', lambda prevFlags:
54  (not prevFlags.Trigger.enableL0Muon) and
55  prevFlags.Trigger.EDMVersion >= 3 or prevFlags.Detector.EnableMM or prevFlags.Detector.EnablesTGC,
56  help='enable Run-3 LVL1 muon decoding')
57 
58  flags.addFlag('Trigger.enableL1CaloPhase1', lambda prevFlags:
59  prevFlags.Trigger.EDMVersion >= 3 or prevFlags.GeoModel.Run >= LHCPeriod.Run3,
60  help='enable Phase-1 LVL1 calo simulation and/or decoding for Run-3+')
61 
62  flags.addFlag('Trigger.enableL1TopoDump', False,
63  help='enable L1Topo simulation to write inputs to txt file')
64 
65  flags.addFlag('Trigger.enableL1TopoBWSimulation', True,
66  help='enable bitwise L1Topo simulation')
67 
68  flags.addFlag('Trigger.enableL1CaloLegacy', lambda prevFlags:
69  not (not prevFlags.Input.isMC and prevFlags.Trigger.doHLT), #Disable when we're running the trigger on data, keep when doing offline simulation
70  help='enable Run-2 L1Calo simulation and/or decoding')
71 
72  # L0MuonSim category (for Run-4+) : needs Trigger.enableL0Muon=True
73  flags.addFlag('Trigger.L0MuonSim.doEmulation',
74  lambda prevFlags: prevFlags.Trigger.enableL0Muon and
75  prevFlags.Input.isMC and
76  'TruthParticleContainer' in prevFlags.Input.Collections,
77  help='Emulate the L0Muon trigger TOBs from smeared truth muon particles')
78 
79  # L1MuonSim category
80  flags.addFlag('Trigger.L1MuonSim.EmulateNSW', False,
81  help='enable emulation tool for NSW-TGC coincidence')
82 
83  flags.addFlag('Trigger.L1MuonSim.doMMTrigger', True,
84  help='enable NSW MM trigger')
85 
86  flags.addFlag('Trigger.L1MuonSim.doPadTrigger', True,
87  help='enable NSW sTGC pad trigger')
88 
89  flags.addFlag('Trigger.L1MuonSim.doStripTrigger', False,
90  help='enable NSW sTGC strip trigger')
91 
92  flags.addFlag('Trigger.L1MuonSim.WriteNSWDebugNtuple', False,
93  help='enable Storing NSW debug Ntuple')
94 
95  flags.addFlag('Trigger.L1MuonSim.WriteMMBranches', False,
96  help='enable storing of Micromega branches in NSW debug Ntuple')
97 
98  flags.addFlag('Trigger.L1MuonSim.WritesTGCBranches', False,
99  help='enable storing of TGC branches in NSW debug Ntuple')
100 
101  flags.addFlag('Trigger.L1MuonSim.NSWVetoMode', True,
102  help='enable the veto mode of the NSW-TGC coincidence')
103 
104  flags.addFlag('Trigger.L1MuonSim.doBIS78', True,
105  help='enable TGC-RPC BIS78 coincidence')
106 
107  flags.addFlag('Trigger.L1MuonSim.CondDBOffline', 'OFLCOND-MC16-SDR-RUN2-04',
108  help='offline CondDB tag for RPC/TGC coincidence window in rerunLVL1 on data')
109 
110  flags.addFlag('Trigger.L1MuonSim.RPCNBX', lambda prevFlags:
111  8 if prevFlags.Input.isMC else 4,
112  help='Number of bunch crossings in RPC readout')
113 
114  flags.addFlag('Trigger.L1MuonSim.RPCNBCZ', lambda prevFlags:
115  3 if prevFlags.Input.isMC else 1,
116  help='Nominal BC for RPC readout')
117 
118 
119  # Detector flags
120  flags.addFlag('Trigger.doID', True,
121  help='enable Inner Detector')
122 
123  flags.addFlag('Trigger.doMuon', True,
124  help='enable muon systems')
125 
126  flags.addFlag('Trigger.doCalo', True,
127  help='enable calorimeters')
128 
129  flags.addFlag('Trigger.doZDC', False,
130  help='enable ZDC system')
131 
132  flags.addFlag('Trigger.ZdcLUT', 'TrigT1ZDC/zdcRun3T1LUT_v2_08_08_2023.json',
133  help='path to Run3 ZDC LUT')
134 
135  # Enable TRT fast-OR trigger
136  flags.addFlag('Trigger.doTRT', False)
137 
138  # Set TTC multiplicity required for the TRT fast-OR trigger
139  flags.addFlag('Trigger.TRT.TTCMultiplicity', 4)
140 
141  # Path to file with list of masked chips
142  flags.addFlag('Trigger.TRT.maskedChipsFile', 'TrigT1TRT/fastORmaskedChips.json')
143 
144 
145  flags.addFlag('Trigger.doValidationMonitoring', False,
146  help='enable additional validation histograms')
147 
148  flags.addFlag('Trigger.doRuntimeNaviVal', False,
149  help=('Check validity of each Decision objects in the entire decision tree (CPU expensive). '
150  'Also enable per-step decision printouts.'))
151 
152  flags.addFlag('Trigger.ROBPrefetchingOptions',
153  [ROBPrefetching.InitialRoI, ROBPrefetching.StepRoI, ROBPrefetching.TauCoreLargeRoI],
154  help='select ROB prefetching types, empty list disables prefetching')
155 
156  def EDMVersion(flags):
157  """Determine Trigger EDM version based on the input file."""
158  _log = logging.getLogger('TriggerConfigFlags.EDMVersion')
159 
160  default_version = -1 # intentionally invalid default value, ATR-22856
161 
162  if flags.Input.Format is Format.BS:
163  _log.debug("Input format is ByteStream")
164 
165  if not any(flags.Input.Files) and flags.Common.isOnline:
166  _log.info("Online reconstruction, no input file. Return default EDMVersion=%d", default_version)
167  return default_version
168  try:
169  from TrigEDMConfig.Utils import getEDMVersionFromBS
170  except ImportError:
171  log.error("Failed to import TrigEDMConfig, analysing ByteStream files is not possible in this release!")
172  raise
173 
174 
175  version = getEDMVersionFromBS(flags.Input.Files[0])
176 
177  return version if version is not None else default_version
178 
179  else:
180  # POOL files: decide based on HLT output type present in the file
181  _log.debug("Input format is POOL -- determine from input file collections")
182  collections = flags.Input.Collections
183  if "HLTResult_EF" in collections:
184  _log.info("Determined EDMVersion to be 1, because HLTResult_EF found in POOL file")
185  return 1
186  elif "TrigNavigation" in collections:
187  _log.info("Determined EDMVersion to be 2, because TrigNavigation found in POOL file")
188  return 2
189  elif flags.Trigger.doHLT:
190  if flags.GeoModel.Run >= LHCPeriod.Run4:
191  _log.info("Determined EDMVersion to be 4, because we're now running the trigger and GeoModel.Run >= 4")
192  return 4
193  else:
194  _log.info("Determined EDMVersion to be 3, because we're now running the trigger")
195  return 3
196  elif any("HLTNav_Summary" in s for s in collections):
197  if flags.GeoModel.Run >= LHCPeriod.Run4:
198  _log.info("Determined EDMVersion to be 4, because HLTNav_Summary.* found in POOL file and GeoModel.Run >= 4")
199  return 4
200  else:
201  _log.info("Determined EDMVersion to be 3, because HLTNav_Summary.* found in POOL file")
202  return 3
203  elif not flags.Input.Collections:
204  # Special case for empty input files (can happen in merge jobs on the grid)
205  # The resulting version doesn't really matter as there's nothing to be done, but we want a valid configuration
206  _log.warning("All input files seem to be empty, cannot determine EDM version. Guessing EDMVersion=3")
207  return 3
208 
209  _log.info("Could not determine EDM version from the input file. Return default EDMVersion=%d",
210  default_version)
211  return default_version
212 
213  flags.addFlag('Trigger.EDMVersion', lambda prevFlags: EDMVersion(prevFlags),
214  help='Trigger EDM version (determined by input file or set to the version to be produced)')
215 
216  flags.addFlag('Trigger.doEDMVersionConversion', False,
217  help='convert Run-1&2 EDM to Run-3 EDM')
218 
219  flags.addFlag('Trigger.doxAODConversion', True,
220  help=('convert Run-1 EDM to xAOD'))
221 
222  flags.addFlag('Trigger.doOnlineNavigationCompactification', True,
223  help='enable trigger Navigation compactification into a single collection')
224 
225  flags.addFlag('Trigger.doNavigationSlimming', True,
226  help='enable Navigation slimming for RAWtoXYZ or AODtoDAOD transforms')
227 
228  flags.addFlag('Trigger.derivationsExtraChains', [],
229  help='list of chains which should be considered for trigger-matching in addition to those from the TriggerAPI when running derivations')
230 
231  # CostMonitoring category
232  flags.addFlag('Trigger.CostMonitoring.doCostMonitoring', True,
233  help='enable cost monitoring')
234 
235  flags.addFlag('Trigger.CostMonitoring.chain', 'HLT_noalg_CostMonDS_L1All',
236  help='Cost monitoring chain name')
237 
238  flags.addFlag('Trigger.CostMonitoring.outputCollection', 'HLT_TrigCostContainer',
239  help='Cost monitoring output collection name')
240 
241  flags.addFlag('Trigger.CostMonitoring.monitorAllEvents', False,
242  help='enable Cost monitoring for all events')
243 
244  flags.addFlag('Trigger.CostMonitoring.monitorROBs', True,
245  help='enable Cost monitoring of ROB accesses')
246 
247  # L1 category
248  flags.addFlag('Trigger.L1.doMuon', True,
249  help='enable L1Muon ByteStream conversion/simulation')
250 
251  flags.addFlag('Trigger.L1.doMuonTopoInputs', True,
252  help='enable ByteStream conversion/simulation of MUCTPI Topo TOBs')
253 
254  flags.addFlag('Trigger.L1.doCalo', True,
255  help='enable L1Calo ByteStream conversion/simulation')
256 
257  flags.addFlag('Trigger.L1.doCaloInputs', lambda prevFlags:
258  prevFlags.Trigger.L1.doCalo and prevFlags.Trigger.enableL1CaloPhase1 and not prevFlags.Trigger.doHLT,
259  help='enable L1Calo Input ([ejg]Towers) ByteStream conversion/simulation')
260 
261  flags.addFlag('Trigger.L1.doeFex', lambda prevFlags:
262  prevFlags.Trigger.L1.doCalo and prevFlags.Trigger.enableL1CaloPhase1,
263  help='enable eFEX ByteStream conversion/simulation')
264 
265  flags.addFlag('Trigger.L1.Menu.doeFexBDTTau', True,
266  help='set BDT tau algorithm as the active one for eFEX when constructing L1 menus')
267 
268  flags.addFlag('Trigger.L1.dojFex', lambda prevFlags:
269  prevFlags.Trigger.L1.doCalo and prevFlags.Trigger.enableL1CaloPhase1,
270  help='enable jFEX ByteStream conversion/simulation')
271 
272  flags.addFlag('Trigger.L1.dogFex', lambda prevFlags:
273  prevFlags.Trigger.L1.doCalo and prevFlags.Trigger.enableL1CaloPhase1,
274  help='enable gFEX ByteStream conversion/simulation')
275 
276  flags.addFlag('Trigger.L1.L1CaloSuperCellContainerName', lambda prevFlags:
277  "EmulatedSCell" if prevFlags.GeoModel.Run is LHCPeriod.Run2 else "SCell",
278  help='name of SuperCell container')
279 
280  flags.addFlag('Trigger.L1.doTopo', True,
281  help='enable L1Topo ByteStream conversion/simulation (steering both legacy and phase-1 Topo)')
282 
283  flags.addFlag('Trigger.L1.doTopoPhase1', lambda prevFlags:
284  prevFlags.Trigger.L1.doTopo and prevFlags.Trigger.enableL1CaloPhase1,
285  help='control Phase-I L1Topo simulation even if L1.doTopo is True')
286 
287  flags.addFlag('Trigger.L1.doGlobal', lambda prevFlags: prevFlags.GeoModel.Run >= LHCPeriod.Run4,
288  help='enable L0Global ByteStream conversion/simulation')
289 
290  flags.addFlag('Trigger.L1.doCTP', True,
291  help='enable CTP ByteStream conversion/simulation')
292 
293  flags.addFlag('Trigger.L1.Menu.doHeavyIonTobThresholds', lambda prevFlags:
294  'HI' in prevFlags.Trigger.triggerMenuSetup,
295  help='modify min-pt-to-Topo threshold for TOBs to HI values')
296 
297  flags.addFlag('Trigger.L1.errorOnMissingTOB', True,
298  help='Set to true to enable strict-mode which will generate an ERROR on missing (non-overflow) TOB events in HLT-seeding from L1')
299 
300  # Online category
301  flags.addFlag('Trigger.Online.partitionName', os.getenv('TDAQ_PARTITION') or '',
302  help='partition name used to determine online vs offline BS result writing')
303 
304  flags.addFlag('Trigger.Online.isPartition', lambda prevFlags: len(prevFlags.Trigger.Online.partitionName)>0,
305  help='check if job is running in a partition (i.e. partition name is not empty)')
306 
307  flags.addFlag('Trigger.Online.useOnlineTHistSvc', False,
308  help='use online THistSvc')
309 
310  flags.addFlag('Trigger.Online.useOnlineWebdaqHistSvc', False,
311  help='use online Webdaq HistSvc')
312 
313  flags.addFlag('Trigger.Online.BFieldAutoConfig', True,
314  help='auto-configure magnetic field from currents in IS')
315 
316  flags.addFlag('Trigger.writeBS', False,
317  help='enable bytestream writing of trigger information')
318 
319  flags.addFlag('Trigger.doTransientByteStream', lambda prevFlags:
320  True if prevFlags.Input.Format is Format.POOL and prevFlags.Trigger.doCalo else False,
321  help='create transient BS (for running on MC RDO with clients that require BS inputs)')
322 
323  flags.addFlag('Trigger.AODEDMSet', lambda flags: 'AODSLIM' if flags.Input.isMC else 'AODFULL',
324  help='list of EDM objects to be written to AOD')
325 
326  flags.addFlag('Trigger.ESDEDMSet', 'ESD',
327  help='list of EDM objects to be written to ESD')
328 
329  flags.addFlag('Trigger.ExtraEDMList', [],
330  help='list of extra EDM objects to be stored (for testing). Supported features: Add new items. Add extra decorations to existing Aux. Add additional output targets.')
331 
332  def __availableRecoMetadata(flags):
333  systems = ['L1','HLT']
334  # Online reco without input files
335  if not any(flags.Input.Files) and flags.Common.isOnline:
336  return systems
337  # Makes no sense when running HLT
338  elif flags.Trigger.doHLT:
339  raise RuntimeError('Trigger.availableRecoMetadata is ill-defined if Trigger.doHLT==True')
340  # RAW: check if keys are in COOL
341  elif flags.Input.Format is Format.BS:
342  from TrigConfigSvc.TriggerConfigAccess import getKeysFromCool
343  keys = getKeysFromCool(flags.Input.RunNumbers[0], lbNr = 1) # currently only checking first file
344  return ( (['L1'] if 'L1PSK' in keys else []) +
345  (['HLT'] if 'HLTPSK' in keys else []) )
346  # POOL: metadata (do not distinguish L1/HLT yet, see discussions on GitLab commit f83ae2bc)
347  else:
348  return systems if flags.Trigger.triggerConfig == 'INFILE' else []
349 
350  flags.addFlag('Trigger.availableRecoMetadata', lambda flags: __availableRecoMetadata(flags),
351  help="list of enabled trigger sub-systems in reconstruction: ['L1,'HLT']")
352 
353  flags.addFlag("Trigger.decodeHLT", True,
354  help='enable decoding of HLT trigger decision/result in reconstruction')
355 
356  flags.addFlag("Trigger.DecisionMakerValidation.Execute", True,
357  help='run trigger decision validation algorithm in reconstruction')
358 
359  flags.addFlag("Trigger.DecisionMakerValidation.ErrorMode", True,
360  help='emit an ERROR (or WARNING) in case of trigger decision validation failure')
361 
362  # Auto configure most probable choice for trigger configuration source based on job setup
363  def __triggerConfig(flags):
364  _log = logging.getLogger('TriggerConfigFlags.triggerConfig')
365  if flags.Common.isOnline and not flags.Trigger.doHLT:
366  # When running reconstruction at P1 (e.g. global monitoring, event display, etc.)
367  _log.debug("Autoconfigured default value for running reconstruction inside Point 1: 'DB'")
368  return 'DB'
369  elif flags.Input.Format is Format.BS:
370  from glob import glob
371  hasLocal = True if (glob("HLTMenu*.json") and glob("L1Menu*.json") and glob("HLTPrescales*.json") and glob("L1Prescales*.json") and glob("HLTMonitoring*.json") and glob("BunchGroupSet*.json")) else False
372  if flags.Trigger.doHLT:
373  # When running the Run 3 trigger on data, data the default config source is from the JSON created by compiling the menu in the job config phase
374  _log.debug("Autoconfigured default value for running the trigger on data: 'FILE'")
375  return 'FILE'
376  elif hasLocal:
377  # When running reco (doHLT == False) from RAW in a directory which already has a full suite of JSONs, assume that the user has just run the trigger manually
378  # and now wants to reconstruct the output using the menu files created when the trigger was executed, rather than reading the DB configuration for the run.
379  # A number of ART tests chain trigger then reco like this.
380  _log.debug("Autoconfigured default value for running reconstruction with a pre-supplied set of trigger configuration JSON files: 'FILE'")
381  return 'FILE'
382  elif flags.GeoModel.Run >= LHCPeriod.Run3:
383  # When reconstructing Run 3 data the default config source is the database
384  _log.debug("Autoconfigured default value for reconstruction of Run 3 data: 'DB'")
385  return 'DB'
386  else:
387  # When reconstructing Run 2 or Run 1 data, a stand-alone database converter will be called from python. We then need to load the converted JSON from disk
388  _log.debug("Autoconfigured default value for reconstruction of Run 1 or Run 2 data: 'FILE'")
389  return 'FILE'
390  else: # Format.POOL
391  from AthenaConfiguration.AutoConfigFlags import GetFileMD
392  md = GetFileMD(flags.Input.Files)
393  # Note: the following comprehension will detect both Run 2 and Run 3 in-file metadata formats.
394  # As of 2023, the Run 2 metadata format is still in production use for Run 2 MC AODs, DAODs produced with the Release 21 Run 2 trigger.
395  hasTrigMeta = ("metadata_items" in md and any(('TriggerMenu' in key) for key in md["metadata_items"].keys()))
396  if hasTrigMeta:
397  # When running over a file which already has metadata content (RDO_TRIG, ESD, AOD, DAOD), then read this from within the file's meta store
398  _log.debug("Autoconfigured default value to read trigger configuration data from the input file: 'INFILE'")
399  return 'INFILE'
400  else:
401  # MC production, read the menu JSON generated during the trigger job configuration
402  _log.debug("Autoconfigured default value to read trigger configuration data from disk for MC production: 'FILE'")
403  return 'FILE'
404 
405  flags.addFlag('Trigger.triggerConfig', lambda flags: __triggerConfig(flags),
406  help='Trigger configuration source (https://twiki.cern.ch/twiki/bin/view/Atlas/TriggerConfigFlag)')
407 
408  flags.addFlag('Trigger.triggerMenuSetup', lambda flags: 'MC_pp_run3_v1_BulkMCProd_prescale' if flags.GeoModel.Run is LHCPeriod.Run3 else 'MC_pp_run4_v1_BulkMCProd_prescale',
409  help='name of the trigger menu')
410 
411  flags.addFlag('Trigger.generateMenuDiagnostics', False,
412  help='print debug output from control flow generation')
413 
414  flags.addFlag('Trigger.fastMenuGeneration', True,
415  help='avoid re-merging CAs that were already seen once')
416 
417  flags.addFlag('Trigger.disableCPS', False,
418  help='disable coherent prescale sets (for testing with small menu)')
419 
420  flags.addFlag('Trigger.enableEndOfEventProcessing', True,
421  help='enable execution of extra algorithms for accepted events')
422 
423  flags.addFlag('Trigger.doCFEmulationTest', False,
424  help='enable run Control Flow Emulation test')
425 
426  # trigger reconstruction
427  # Protection against import of packages not in the analysis release
428  # Signature and other trigger reco flags should be handled here
429  if doTriggerRecoFlags:
430  flags.join( createTriggerRecoFlags() )
431 
432  # Disable the CPS system if the restricted menu flags are active
433  flags.Trigger.disableCPS = lambda prevFlags: prevFlags.Trigger.selectChains or len(prevFlags.Trigger.enabledSignatures)==1
434 
435  return flags
436 
437 

◆ createTriggerRecoFlags()

def python.TriggerConfigFlags.createTriggerRecoFlags ( )

Definition at line 438 of file TriggerConfigFlags.py.

439  flags = AthConfigFlags()
440 
441  # Additional flags to filter chains
442  def _allSignatures (prevFlags):
443  from TriggerMenuMT.HLT.Config.GenerateMenuMT import allSignatures
444  l = list(allSignatures())
445  l.sort()
446  return l
447  flags.addFlag("Trigger.enabledSignatures", _allSignatures, help='list of enabled trigger signatures')
448  flags.addFlag("Trigger.disabledSignatures", [], help='list of disabled trigger signatures')
449  flags.addFlag("Trigger.selectChains", [], help='list of enabled chains')
450  flags.addFlag("Trigger.disableChains", [], help='list of disabled chains')
451 
452  def __egamma():
453  from TriggerMenuMT.HLT.Egamma.TrigEgammaConfigFlags import createTrigEgammaConfigFlags
455  flags.addFlagsCategory('Trigger.egamma', __egamma )
456 
457  # muon offline reco flags varaint for trigger
458  def __muonSA():
459  from MuonConfig.MuonConfigFlags import createMuonConfigFlags
460  muonflags = createMuonConfigFlags()
461  muonflags.Muon.useTGCPriorNextBC=True
462  muonflags.Muon.MuonTrigger=True
463  muonflags.Muon.SAMuonTrigger=True
464  muonflags.Muon.runCommissioningChain=False
465  muonflags.Muon.enableErrorTuning=False
466  return muonflags
467  flags.addFlagsCategory('Trigger.Offline.SA', __muonSA, prefix=True)
468 
469  def __muon():
470  from MuonConfig.MuonConfigFlags import createMuonConfigFlags
471  muonflags = createMuonConfigFlags()
472  muonflags.Muon.useTGCPriorNextBC=True
473  muonflags.Muon.MuonTrigger=True
474  muonflags.Muon.enableErrorTuning=False
475  return muonflags
476  flags.addFlagsCategory('Trigger.Offline', __muon, prefix=True)
477 
478  def __muonCombined():
479  from MuonCombinedConfig.MuonCombinedConfigFlags import createMuonCombinedConfigFlags
480  muonflags = createMuonCombinedConfigFlags()
481  muonflags.MuonCombined.doCaloTrkMuId = False
482  muonflags.MuonCombined.doSiAssocForwardMuons = False
483  muonflags.MuonCombined.doStatisticalCombination = False
484  muonflags.MuonCombined.doMuGirl = False
485  muonflags.MuonCombined.doCombinedFit = True
486  return muonflags
487  flags.addFlagsCategory('Trigger.Offline.Combined', __muonCombined, prefix=True)
488 
489  def __tau():
490  from TrigTauRec.TrigTauConfigFlags import createTrigTauConfigFlags
491  return createTrigTauConfigFlags()
492  flags.addFlagsCategory('Trigger.Offline.Tau', __tau )
493 
494  def __idTrk():
495  from TrigInDetConfig.TrigTrackingPassFlags import createTrigTrackingPassFlags
497  flags.addFlagsCategory( 'Trigger.InDetTracking', __idTrk )
498 
499  def __idITk():
500  from TrigInDetConfig.TrigTrackingPassFlags import createTrigTrackingPassFlags
501  return createTrigTrackingPassFlags(mode='ITk')
502  flags.addFlagsCategory( 'Trigger.ITkTracking', __idITk )
503 
504  def _idActs():
505  from TrigInDetConfig.TrigTrackingPassFlags import createTrigTrackingPassFlags
506  return createTrigTrackingPassFlags(mode='Acts')
507  flags.addFlagsCategory( 'Trigger.ActsTracking', _idActs )
508 
509  flags.addFlag('Trigger.useActsTracking', False, help='use ACTS for ITk tracking')
510 
511  def __trigCalo():
512  from TrigCaloRec.TrigCaloConfigFlags import createTrigCaloConfigFlags
514  flags.addFlagsCategory( 'Trigger.Calo', __trigCalo )
515 
516  def __muctpiFlags():
517  from TrigT1MuctpiPhase1.TrigMUCTPIConfigFlags import createTrigMUCTPIConfigFlags
519  flags.addFlagsCategory('Trigger.MUCTPI', __muctpiFlags )
520 
521  def __fpgatracksimFlags():
522  """Additional function delays import"""
523  from FPGATrackSimConfTools.FPGATrackSimConfigFlags import createFPGATrackSimConfigFlags
525  flags.addFlagsCategory("Trigger.FPGATrackSim", __fpgatracksimFlags, prefix=True )
526 
527 
528  # NB: Longer term it may be worth moving these into a PF set of config flags, but right now the only ones that exist do not seem to be used in the HLT.
529  # When we use component accumulators for this in the HLT maybe we should revisit this
530  # PFO-muon removal option for the full-scan hadronic signatures.
531  # Options are:
532  # "None": Do no PFO-muon removal
533  # "Calo": Use the calo-tagging tools from the muon slice
534  # "Iso" : Use the mainly isolation-based selections based on the MET associator package
535  flags.addFlag("Trigger.FSHad.PFOMuonRemoval", "Calo",
536  help='PFO-muon removal option: None, Calo, Iso)')
537 
538  flags.addFlag("Trigger.FSHad.PFOMuonRemovalMinPt", 10 * GeV,
539  help='minimum pT threshold to use for the muon removal')
540 
541  flags.addFlag('Trigger.Jet.doJetSuperPrecisionTracking', False,
542  help='enable precision tracking in jet super-ROI before fast b-tagging (EMTopo jets)')
543 
544  flags.addFlag("Trigger.Jet.fastbtagPFlow", True,
545  help='enable fast b-tagging for all fully calibrated HLT PFlow jets')
546 
547  flags.addFlag("Trigger.Jet.fastbtagVertex", True,
548  help='enable the addition of the super ROI PV to the b-tagging')
549 
550  flags.addFlag("Trigger.Jet.doVRJets", False,
551  help='enable the addition of the VR track jet reconstruction sequence')
552 
553  flags.addFlag("Trigger.FSTrk.doJetRestrictedVertexSort", False,
554  help='use tracks in jets for computing sumpt2 for vertex sorting')
555 
556  # chooses calibration config file for HLT small-R jets
557  # mapping in: Reconstruction/Jet/JetCalibTools/python/JetCalibToolsConfig.py
558  # All calib keys for HLT jets have to start with "Trig" otherwise the JetCalibTool config fails!
559  flags.addFlag("Trigger.Jet.pflowCalibKey", lambda prevFlags: "TrigHIUPC" if 'HI' in prevFlags.Trigger.triggerMenuSetup else "TrigR22Prerec",
560  help='calibration config file for HLT small-R jets')
561 
562  flags.addFlag("Trigger.Jet.emtopoCalibKey", "TrigLS2",
563  help='calibration config file for HLT small-R jets')
564 
565  flags.addFlag("Trigger.Jet.pflowLJCalibKey", "TrigSoftDrop",
566  help='calibration config file for HLT large-R PFlow jets')
567 
568  flags.addFlag("Trigger.Jet.PFlowTolerance", 1e-2,
569  help='tolerance in STEP Propagator')
570 
571  flags.addFlag("Trigger.Jet.TrackVtxAssocWP", "Custom", # offline default is "Nonprompt_All_MaxWeight"
572  help='working point for the TVA algorithm')
573 
574  flags.addFlag("Trigger.Jet.LowPtFilter", lambda prevFlags: 'HI' in prevFlags.Trigger.triggerMenuSetup,
575  help='apply low pT filter on antiKt4 jets (used for HI UPC jet reco)')
576 
577  return flags
578 
579 

◆ trigGeoTag()

def python.TriggerConfigFlags.trigGeoTag (   flags)
Return geometry tag to be used in the HLT. Returns None to indicate that
no trigger-specific tag is required. Used for GeoModel.AtlasVersion in GeoModelConfigFlags.py.

Definition at line 27 of file TriggerConfigFlags.py.

27 def trigGeoTag(flags):
28  """Return geometry tag to be used in the HLT. Returns None to indicate that
29  no trigger-specific tag is required. Used for GeoModel.AtlasVersion in GeoModelConfigFlags.py.
30  """
31  return None if flags.Input.isMC else 'ATLAS-R3S-2021-03-02-00'
32 
33 

◆ trigGlobalTag()

def python.TriggerConfigFlags.trigGlobalTag (   flags)
Return global conditions data to be used in the HLT. Return None to indicate that
no trigger-specific tag is required. Used for IOVDb.GlobalTag in AllConfigFlags.py.

Definition at line 21 of file TriggerConfigFlags.py.

21 def trigGlobalTag(flags):
22  """Return global conditions data to be used in the HLT. Return None to indicate that
23  no trigger-specific tag is required. Used for IOVDb.GlobalTag in AllConfigFlags.py.
24  """
25  return None if flags.Input.isMC else 'CONDBR2-HLTP-2025-01'
26 

Variable Documentation

◆ flags

python.TriggerConfigFlags.flags

Definition at line 584 of file TriggerConfigFlags.py.

◆ log

python.TriggerConfigFlags.log

Definition at line 10 of file TriggerConfigFlags.py.

python.ZdcRecConfig.EDMVersion
EDMVersion
Definition: ZdcRecConfig.py:565
python.AutoConfigFlags.GetFileMD
def GetFileMD(filenames, allowEmpty=True, maxLevel='peeker')
Definition: AutoConfigFlags.py:65
GenerateMenuMT.allSignatures
def allSignatures()
Definition: GenerateMenuMT.py:32
TrigCaloConfigFlags.createTrigCaloConfigFlags
def createTrigCaloConfigFlags()
Definition: TrigCaloConfigFlags.py:5
python.TriggerConfigFlags.createTriggerRecoFlags
def createTriggerRecoFlags()
Definition: TriggerConfigFlags.py:438
TrigTauConfigFlags.createTrigTauConfigFlags
def createTrigTauConfigFlags()
Definition: TrigTauConfigFlags.py:6
python.Utils.getEDMVersionFromBS
def getEDMVersionFromBS(filename)
Definition: Trigger/TriggerCommon/TrigEDMConfig/python/Utils.py:11
python.TriggerConfigFlags.trigGlobalTag
def trigGlobalTag(flags)
Definition: TriggerConfigFlags.py:21
python.FPGATrackSimConfigFlags.createFPGATrackSimConfigFlags
def createFPGATrackSimConfigFlags()
Definition: FPGATrackSimConfigFlags.py:5
python.TrigTrackingPassFlags.createTrigTrackingPassFlags
def createTrigTrackingPassFlags(mode="InDet")
Definition: TrigTrackingPassFlags.py:5
python.MuonConfigFlags.createMuonConfigFlags
def createMuonConfigFlags()
Definition: MuonConfigFlags.py:40
python.HLT.Egamma.TrigEgammaConfigFlags.createTrigEgammaConfigFlags
def createTrigEgammaConfigFlags()
Definition: TrigEgammaConfigFlags.py:5
histSizes.list
def list(name, path='/')
Definition: histSizes.py:38
python.TriggerConfigFlags.trigGeoTag
def trigGeoTag(flags)
Definition: TriggerConfigFlags.py:27
python.TrigMUCTPIConfigFlags.createTrigMUCTPIConfigFlags
def createTrigMUCTPIConfigFlags()
Definition: TrigMUCTPIConfigFlags.py:5
python.MuonCombinedConfigFlags.createMuonCombinedConfigFlags
def createMuonCombinedConfigFlags()
Definition: MuonCombinedConfigFlags.py:6
python.TriggerConfigFlags.createTriggerFlags
def createTriggerFlags(doTriggerRecoFlags)
Definition: TriggerConfigFlags.py:34
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:798
python.TriggerConfigAccess.getKeysFromCool
dict[str, int] getKeysFromCool(int runNr, int lbNr=0)
Definition: TriggerConfigAccess.py:52