25 acf.addFlag(
'Exec.OutputLevel', INFO, help=
'Global OutputLevel')
26 acf.addFlag(
'Exec.QuietMode',
True, help=
'Suppress excess output for grid running')
27 acf.addFlag(
'Exec.PrintAlgsSequence',
False, help=
'print algorithm sequence in ApplicationMgr')
28 acf.addFlag(
'Exec.MaxEvents', -1, type=int, help=
'number of events to proceess (-1 for all)')
29 acf.addFlag(
'Exec.SkipEvents', 0, type=int, help=
'number of events to skip')
30 acf.addFlag(
'Exec.FirstEvent', 1, type=int, help=
'first event number when not reading from input file')
31 acf.addFlag(
'Exec.DebugStage',
'', help=
'attach debugger at stage: conf, init, exec, fini')
32 acf.addFlag(
'Exec.Interactive',
"", help=
'interactive prompt at stage: init, exec')
33 acf.addFlag(
'Exec.FPE', 0, help=
'FPE check mode: -2 (no FPE check), -1 (abort with core-dump), 0 (FPE Auditor w/o stack-tace) , >0 (number of stack-traces printed by the job)')
34 acf.addFlag(
'Exec.EventTimeOut', 0, help=
'per-event timeout (in ns) after which the job is aborted (0 means no timeout)')
35 acf.addFlag(
'Exec.EventPrintoutInterval', 1, help=
'interval of event heartbeat printouts from the loop manager')
36 acf.addFlag(
'Exec.StopOnSignal', [], help=
'List of signal names that can be used to stop the job gracefully. See SignalMonitorSvc in GaudiUtils.' )
39 acf.addFlag(
'Exec.VerboseMessageComponents', [], help=
'verbose output for listed components (wildcards)')
40 acf.addFlag(
'Exec.DebugMessageComponents', [], help=
'debug output for listed components (wildcards)')
41 acf.addFlag(
'Exec.InfoMessageComponents', [], help=
'info output for listed components (wildcards)')
42 acf.addFlag(
'Exec.WarningMessageComponents', [], help=
'warning output for listed components (wildcards)')
43 acf.addFlag(
'Exec.ErrorMessageComponents', [], help=
'error output for listed components (wildcards)')
46 acf.addFlag(
'Exec.MTEventService',
False, help=
'use multi-threaded event service')
47 acf.addFlag(
'Exec.MTEventServiceChannel',
'EventService_EventRanges', help=
'name of YAMPL communication channel between AthenaMT and pilot')
50 acf.addFlag(
'Exec.MPI',
False, help=
'run in MPI mode')
53 acf.addFlag(
'Debug.DumpEvtStore',
False, help=
'dump event store on each event')
54 acf.addFlag(
'Debug.DumpDetStore',
False, help=
'dump detector store on each event')
55 acf.addFlag(
'Debug.DumpCondStore',
False, help=
'dump conditions store on each event')
58 acf.addFlag(
'Debug.NameAuditor',
False,help=
'Activate NameAuditor')
60 acf.addFlag(
'ExecutorSplitting.TotalSteps', 0, help=
'number of steps for pileup overlay')
61 acf.addFlag(
'ExecutorSplitting.Step', -1, help=
'step number of current pileup overlay job')
62 acf.addFlag(
'ExecutorSplitting.TotalEvents', -1, help=
'events per pileup overlay step')
65 acf.addFlag(
'Input.Files', [
"_ATHENA_GENERIC_INPUTFILE_NAME_",], help=
'input files')
66 acf.addFlag(
"Input.FileNentries", -1, help=
'actual number of events in file (filled from runArgs')
67 acf.addFlag(
'Input.SecondaryFiles', [], help=
'secondary input files for DoubleEventSelector')
68 acf.addFlag(
'Input.isMC',
lambda prevFlags :
"IS_SIMULATION" in GetFileMD(prevFlags.Input.Files).
get(
"eventTypes", []), help=
'Monte Carlo input')
69 acf.addFlag(
'Input.OverrideRunNumber',
False, help=
'override run number' )
70 acf.addFlag(
"Input.ConditionsRunNumber", -1, help=
'override HITS file run number with one from a data')
71 acf.addFlag(
'Input.RunNumbers',
lambda prevFlags : list(GetFileMD(prevFlags.Input.Files).
get(
"runNumbers", [])), type=list, help=
'run numbers of input files')
72 acf.addFlag(
'Input.MCChannelNumber',
lambda prevFlags : GetFileMD(prevFlags.Input.Files).
get(
"mc_channel_number", 0), help=
'Monte Carlo channel number')
73 acf.addFlag(
'Input.LumiBlockNumbers',
lambda prevFlags : list(GetFileMD(prevFlags.Input.Files).
get(
"lumiBlockNumbers", [])), type=list, help=
'lumi block numbers of input files')
74 acf.addFlag(
'Input.TimeStamps',
lambda prevFlags : getInitialTimeStampsFromRunNumbers(prevFlags.Input.RunNumbers)
if prevFlags.Input.OverrideRunNumber
else [], type=list, help=
'timestamps of inputs files')
77 acf.addFlag(
"Input.RunAndLumiOverrideList", [], help=
'list of dictionaries to configure EvtIdModifierSvc')
79 acf.addFlag(
"Input.JobNumber", 1, help=
'job number for pileup overlay')
80 acf.addFlag(
'Input.FailOnUnknownCollections',
False, help=
'fail on unknown collections in input load')
82 def _dataYearFromFlags(prevFlags):
83 dataYear = GetFileMD(prevFlags.Input.Files).
get(
"data_year",
"")
86 if prevFlags.Input.ProjectName.startswith(
"data"):
87 if prevFlags.Input.ProjectName[4:6].isdigit():
88 return 2000 + int(prevFlags.Input.ProjectName[4:6])
91 def _keywordsFromFlags(prevFlags):
92 keywords_string = GetFileMD(prevFlags.Input.Files).
get(
"keywords",
"")
93 return [keyword.strip()
for keyword
in keywords_string.split(
',')
if keyword.strip()]
95 acf.addFlag(
'Input.ProjectName',
lambda prevFlags : GetFileMD(prevFlags.Input.Files).
get(
"project_name",
""), help=
'project name')
96 acf.addFlag(
'Input.DataYear', _dataYearFromFlags, help=
'year of input data')
97 acf.addFlag(
'Input.MCCampaign',
lambda prevFlags : Campaign(GetFileMD(prevFlags.Input.Files).
get(
"mc_campaign",
"")), type=Campaign, help=
'Monte Carlo campaign')
98 acf.addFlag(
'Input.TriggerStream',
lambda prevFlags : GetFileMD(prevFlags.Input.Files).
get(
"stream",
"")
if prevFlags.Input.Format == Format.BS
99 else GetFileMD(prevFlags.Input.Files).
get(
"triggerStreamOfFile",
""), help=
'trigger stream name')
100 acf.addFlag(
'Input.Format',
lambda prevFlags : Format.BS
if GetFileMD(prevFlags.Input.Files).
get(
"file_type",
"BS") ==
"BS" else Format.POOL, type=Format, help=
'input format type')
101 acf.addFlag(
'Input.ProcessingTags',
lambda prevFlags : GetFileMD(prevFlags.Input.Files).
get(
"processingTags", []), help=
'list of stream names in this file')
102 acf.addFlag(
'Input.GeneratorsInfo', getGeneratorsInfo, help=
'generator version')
103 acf.addFlag(
'Input.Keywords', _keywordsFromFlags, type=list, help=
'evtgen keywords')
104 acf.addFlag(
'Input.SpecialConfiguration', getSpecialConfigurationMetadata, help=
'special configuration options read from input file metadata')
106 def _inputCollections(inputFile):
107 rawCollections = [type_key[1]
for type_key
in GetFileMD(inputFile).
get(
"itemList", [])]
108 collections = [col
for col
in rawCollections
if not col.endswith(
'Aux.')]
111 def _typedInputCollections(inputFile):
112 collections = [
'%s#%s' % type_key
for type_key
in GetFileMD(inputFile).
get(
"itemList", [])]
115 acf.addFlag(
'Input.Collections',
lambda prevFlags : _inputCollections(prevFlags.Input.Files), help=
'input collections')
116 acf.addFlag(
'Input.SecondaryCollections',
lambda prevFlags : _inputCollections(prevFlags.Input.SecondaryFiles), help=
'secondary input collections for overlay')
117 acf.addFlag(
'Input.TypedCollections',
lambda prevFlags : _typedInputCollections(prevFlags.Input.Files), help=
'input collections key#type')
118 acf.addFlag(
'Input.SecondaryTypedCollections',
lambda prevFlags : _typedInputCollections(prevFlags.Input.SecondaryFiles), help=
'secondary input collections key#type')
120 def _metadataItems(inputFile):
121 return GetFileMD(inputFile).
get(
"metadata_items", {})
123 acf.addFlag(
'Input.MetadataItems',
lambda prevFlags : _metadataItems(prevFlags.Input.Files), help=
'metadata items in input' )
124 acf.addFlag(
'Input.Release',
lambda prevFlags : GetFileMD(prevFlags.Input.Files).
get(
"AtlasRelease",
""), help=
'release of input file')
125 acf.addFlag(
'Input.AODFixesDone',
lambda prevFlags :
set(GetFileMD(prevFlags.Input.Files).
get(
"AODFixVersion",
"").
strip().
split()), help=
'set of already applied AODFixes')
127 acf.addFlag(
'Concurrency.NumProcs', 0, help=
'number of concurrent processes')
128 acf.addFlag(
'Concurrency.NumThreads', 0, help=
'number of threads' )
129 acf.addFlag(
'Concurrency.NumConcurrentEvents',
lambda prevFlags : prevFlags.Concurrency.NumThreads, help=
'number of concurrent events')
130 acf.addFlag(
'Concurrency.DebugWorkers',
False, help=
'stops the worker in bootstrap until SIGUSR1 is received')
131 acf.addFlag(
'Concurrency.NumOffloadThreads', 0, help=
'maximum number of extra threads to use for CPU portion of asynchronous algorithms')
133 acf.addFlag(
'Scheduler.CheckDependencies',
True, help=
'runtime check of algorithm input dependencies')
134 acf.addFlag(
'Scheduler.CheckOutputUsage',
False, help=
'runtime check of algorithm output usage')
135 acf.addFlag(
'Scheduler.ShowDataDeps',
False, help=
'show data dependencies')
136 acf.addFlag(
'Scheduler.ShowDataFlow',
False, help=
'show data flow')
137 acf.addFlag(
'Scheduler.ShowControlFlow',
False, help=
'show data flow')
138 acf.addFlag(
'Scheduler.EnableVerboseViews',
True, help=
'enable verbose view output')
139 acf.addFlag(
'Scheduler.AutoLoadUnmetDependencies',
True, help=
'auto-load unmet data dependencies')
140 acf.addFlag(
'Scheduler.DataDepsGraphFile',
'', help=
'file name containing the data dependency graph [.dot or .md]')
141 acf.addFlag(
'Scheduler.DataDepsGraphAlgPattern',
'.*', help=
'regex pattern for selecting algorithms to be drawn in the data dependency graph')
142 acf.addFlag(
'Scheduler.DataDepsGraphObjectPattern',
'.*', help=
'regex pattern for selecting I/O to be drawn in the data dependency graph')
144 acf.addFlag(
'MP.WorkerTopDir',
'athenaMP_workers', help=
'work directory for MP workers')
145 acf.addFlag(
'MP.OutputReportFile',
'AthenaMPOutputs', help=
'name of MP report file')
146 acf.addFlag(
'MP.Strategy',
'SharedQueue', help=
'event assignment strategy')
147 acf.addFlag(
'MP.CollectSubprocessLogs',
False, help=
'collects log of sub-processes')
148 acf.addFlag(
'MP.PollingInterval', 100, help=
'time interval in milliseconds between subsequent polling of subproceses')
149 acf.addFlag(
'MP.EventsBeforeFork', 0, help=
'number of events to process before forking')
150 acf.addFlag(
'MP.EventRangeChannel',
'EventService_EventRanges', help=
'channel name for communicating event ranges with the pilot')
151 acf.addFlag(
'MP.EvtRangeScattererCaching',
False, help=
'activate extra event caching by the EvtRangeScatterer')
152 acf.addFlag(
'MP.MemSamplingInterval', 0, help=
'time interval in seconds between taking memory samples')
153 acf.addFlag(
'MP.ChunkSize', -1, help=
'size of event chunks in shared queue (-1: auto_flush for LZMA-compressed files, -2: auto_flush for LZMA or ZLIB, -3: auto_flush for LZMA, ZLIB or LZ4, -4: auto_flush)')
154 acf.addFlag(
'MP.EnsureEventsForWorkers',
True, help=
'set ChunkSize to 1 if there are too few events to give every worker a chunk')
155 acf.addFlag(
'MP.ReadEventOrders',
False, help=
'read event order from ASCII file for reproducibility')
156 acf.addFlag(
'MP.EventOrdersFile',
'athenamp_eventorders.txt', help=
'file name for event order')
157 acf.addFlag(
'MP.UseSharedReader',
False, help=
'use shared reader')
158 acf.addFlag(
'MP.UseSharedWriter',
False, help=
'use shared writer')
159 acf.addFlag(
'MP.UseParallelCompression',
True, help=
'enable event compression in workers')
160 acf.addFlag(
'MP.SharedWriter.FileFlushSetting', {},
161 help=
"how frequently (in number of events) SW will flush the output, e.g., {'DAOD_PHYS.pool.root':500}. If empty, AutoFlush is used. Only applies when parallel compression is enabled.")
163 acf.addFlag(
'Common.MsgSuppression',
True, help=
'enable log message suppression')
164 acf.addFlag(
'Common.MsgSourceLength', 50, help=
'length of the source-field in the log message format')
165 acf.addFlag(
'Common.ShowMsgStats',
False ,help=
'print message statistics at the end of the job')
167 acf.addFlag(
'Common.isOnline',
False, help=
'job runs in an online environment')
168 acf.addFlag(
'Common.useOnlineLumi',
lambda prevFlags : prevFlags.Common.isOnline, help=
'use online version of luminosity')
169 acf.addFlag(
'Common.isOverlay',
lambda prevFlags: prevFlags.Common.ProductionStep == ProductionStep.Overlay,
170 help=
'enable overlay')
171 acf.addFlag(
'Common.doExpressProcessing',
False, help=
'do express stream processing')
172 acf.addFlag(
'Common.ProductionStep', ProductionStep.Default, type=ProductionStep, help=
'production step')
173 acf.addFlag(
'Common.Project', Project.determine(), type=Project, help=
'current athena software project')
176 acf.addFlag(
'Beam.BunchSpacing', 25, help=
'bunch spacing in nanoseconds')
177 acf.addFlag(
'Beam.Type',
lambda prevFlags : BeamType(GetFileMD(prevFlags.Input.Files).
get(
'beam_type',
'collisions')), type=BeamType, help=
'beam type')
178 acf.addFlag(
"Beam.NumberOfCollisions",
lambda prevFlags : 2.
if prevFlags.Beam.Type
is BeamType.Collisions
else 0., help=
'number of pileup collisions')
180 def _configureBeamEnergy(prevFlags):
181 metadata = GetFileMD(prevFlags.Input.Files)
184 if prevFlags.Input.Format == Format.POOL:
185 return float(metadata.get(
"beam_energy", default))
187 elif prevFlags.Input.Format == Format.BS:
188 if metadata.get(
"eventTypes", [
""])[0] ==
"IS_DATA":
190 if prevFlags.Common.isOnline:
191 from PyUtils.OnlineISConfig
import GetRunType
193 return float(GetRunType()[1]
or default)
196 if prevFlags.Beam.Type.value ==
"cosmics":
198 elif prevFlags.Beam.Type.value ==
"singlebeam":
200 elif prevFlags.Beam.Type.value ==
"collisions":
201 projectName = prevFlags.Input.ProjectName
204 if "GeV" in projectName:
212 elif "TeV" in projectName:
213 if "hip5TeV" in projectName:
215 beamEnergy = 1.577 * TeV
216 elif "hip8TeV" in projectName:
218 beamEnergy = 2.51 * TeV
222 (str(projectName).
split(
"_")[1])
229 if "5TeV" in projectName:
231 beamEnergy = 2.51 * TeV
232 elif projectName.endswith(
"_hi")
or projectName.endswith(
"_hip"):
233 if projectName
in (
"data10_hi",
"data11_hi"):
234 beamEnergy = 1.38 * TeV
235 elif projectName ==
"data12_hi":
236 beamEnergy = 1.577 * TeV
237 elif projectName
in (
"data12_hip",
"data13_hip"):
240 beamEnergy = 2.51 * TeV
241 elif projectName
in (
"data15_hi",
"data18_hi"):
242 beamEnergy = 2.51 * TeV
243 elif projectName ==
"data17_hi":
244 beamEnergy = 2.721 * TeV
245 return beamEnergy
or default
246 elif metadata.get(
"eventTypes", [
""])[0] ==
"IS_SIMULATION":
247 return float(metadata.get(
"beam_energy", default))
251 acf.addFlag(
'Beam.Energy',
lambda prevFlags : _configureBeamEnergy(prevFlags), help=
'beam energy in MeV')
252 acf.addFlag(
'Beam.estimatedLuminosity',
lambda prevFlags : ( 1E33*(prevFlags.Beam.NumberOfCollisions)/2.3 ) *\
253 (25./prevFlags.Beam.BunchSpacing), help=
'luminosity estimated from pileup')
254 acf.addFlag(
'Beam.BunchStructureSource',
lambda prevFlags: BunchStructureSource.MC
if prevFlags.Input.isMC
else BunchStructureSource.TrigConf, help=
'source of bunch structure')
256 acf.addFlag(
'Beam.vdMScan.ConfigFile',
'LRAPositioner.root', help=
'vdM Scan Sim/Reco/BSFit Configuration File')
257 acf.addFlag(
'Beam.vdMScan.PV.PDF',
'Default', help=
'vdM Scan Sim/BSFit PV PDF Histogram')
260 acf.addFlag(
'Output.BSFileName',
'', help=
'BS output file name')
261 acf.addFlag(
'Output.EVNTFileName',
'', help=
'EVNT output file name')
262 acf.addFlag(
'Output.TXTFileName',
'', help=
'LHE output file name')
263 acf.addFlag(
'Output.EVNT_TRFileName',
'', help=
'EVNT_TR output file name')
264 acf.addFlag(
'Output.HITSFileName',
'', help=
'HITS output file name')
265 acf.addFlag(
'Output.RDOFileName',
'', help=
'RDO output file name')
266 acf.addFlag(
'Output.RDO_SGNLFileName',
'', help=
'RDO_SGNL output file name')
267 acf.addFlag(
'Output.ESDFileName',
'', help=
'ESD output file name')
268 acf.addFlag(
'Output.AODFileName',
'', help=
'AOD output file name')
269 acf.addFlag(
'Output.HISTFileName',
'', help=
'HIST output file name')
271 acf.addFlag(
'Output.doWriteEVNT',
lambda prevFlags: bool(prevFlags.Output.EVNTFileName), help=
'write EVNT file')
272 acf.addFlag(
'Output.doWriteTXT',
lambda prevFlags: bool(prevFlags.Output.TXTFileName), help=
'write LHE file')
273 acf.addFlag(
'Output.doWriteEVNT_TR',
lambda prevFlags: bool(prevFlags.Output.EVNT_TRFileName), help=
'write EVNT_TR file')
274 acf.addFlag(
'Output.doWriteHITS',
lambda prevFlags: bool(prevFlags.Output.HITSFileName), help=
'write HITS file')
275 acf.addFlag(
'Output.doWriteRDO',
lambda prevFlags: bool(prevFlags.Output.RDOFileName), help=
'write RDO file')
276 acf.addFlag(
'Output.doWriteRDO_SGNL',
lambda prevFlags: bool(prevFlags.Output.RDO_SGNLFileName), help=
'write RDO_SGNL file')
277 acf.addFlag(
'Output.doWriteESD',
lambda prevFlags: bool(prevFlags.Output.ESDFileName), help=
'write ESD file')
278 acf.addFlag(
'Output.doWriteAOD',
lambda prevFlags: bool(prevFlags.Output.AODFileName), help=
'write AOD file')
279 acf.addFlag(
'Output.doWriteBS',
False, help=
'write bytestream file')
280 acf.addFlag(
'Output.doWriteDAOD',
False, help=
'write at least one DAOD file')
281 acf.addFlag(
'Output.doJiveXML',
False, help=
'write JiveXML file')
283 acf.addFlag(
'Output.doGEN_AOD2xAOD',
True, help=
"Configure the AODtoxAOD Truth Conversion")
284 acf.addFlag(
'Output.OneDataHeaderForm',
False, help=
"Write only a single common DataHeaderForm per stream")
285 acf.addFlag(
'Output.TreeAutoFlush', {}, help=
"dict with auto-flush settings for stream e.g. {'STREAM': 123}")
286 acf.addFlag(
'Output.TemporaryStreams', [], help=
'list of output streams that are marked temporary')
289 acf.addFlag(
'Output.DefaultContainerType',
'ROOTTREEINDEX', help=
'set the underlying storage technology for the default container type')
294 acf.addFlag(
'TrackingGeometry.MagneticFileMode', 6)
295 acf.addFlag(
'TrackingGeometry.MaterialSource',
'COOL', help=
'material source (COOL, Input or None)')
299 from AthenaConfiguration.DetectorConfigFlags
import createDetectorConfigFlags
300 return createDetectorConfigFlags()
301 acf.addFlagsCategory(
"Detector", __detector )
305 from SimulationConfig.SimConfigFlags
import createSimConfigFlags
306 return createSimConfigFlags()
307 _addFlagsCategory (acf,
"Sim", __simulation,
'SimulationConfig' )
311 from SimulationConfig.TestBeamConfigFlags
import createTestBeamConfigFlags
312 return createTestBeamConfigFlags()
313 _addFlagsCategory (acf,
"TestBeam", __testbeam,
'SimulationConfig' )
316 def __digitization():
317 from DigitizationConfig.DigitizationConfigFlags
import createDigitizationCfgFlags
318 return createDigitizationCfgFlags()
323 from OverlayConfiguration.OverlayConfigFlags
import createOverlayConfigFlags
324 return createOverlayConfigFlags()
329 from AthenaConfiguration.GeoModelConfigFlags
import createGeoModelConfigFlags
330 return createGeoModelConfigFlags(
not isGaudiEnv()
or acf.Common.Project
is Project.AthAnalysis)
331 acf.addFlagsCategory(
"GeoModel", __geomodel )
335 from RecJobTransforms.RecoConfigFlags
import createRecoConfigFlags
336 return createRecoConfigFlags()
341 from GeneratorConfig.GeneratorConfigFlags
import createGeneratorConfigFlags
342 return createGeneratorConfigFlags()
347 from IOVDbSvc.IOVDbAutoCfgFlags
import (getLastGlobalTag, getDatabaseInstanceDefault,
348 getCrestServer, getCrestAPI, getCrestConnection)
350 def __getTrigTag(flags):
351 from TriggerJobOpts.TriggerConfigFlags
import trigGlobalTag
352 return trigGlobalTag(flags)
354 acf.addFlag(
"IOVDb.GlobalTag",
lambda flags :
355 (__getTrigTag(flags)
if flags.Trigger.doLVL1
or flags.Trigger.doHLT
else None)
or
356 getLastGlobalTag(flags), help=
'global conditions tag')
358 acf.addFlag(
"IOVDb.DatabaseInstance", getDatabaseInstanceDefault, help=
'conditions DB instance')
361 acf.addFlag(
"IOVDb.RunToTimestampDict",
lambda prevFlags: getRunToTimestampDict(), help=
'runNumber to timestamp map')
363 def __useCrest(flags):
364 if flags.Common.Project
is Project.AthGeneration:
366 elif flags.GeoModel.Run > LHCPeriod.Run3:
371 acf.addFlag(
"IOVDb.UseCREST", __useCrest, help=
'Use CREST for conditions access')
372 acf.addFlag(
"IOVDb.CrestServer",
lambda prevFlags: getCrestServer(), help=
"CREST server URL")
373 acf.addFlag(
"IOVDb.CrestAPI",
lambda prevFlags : getCrestAPI(), help=
"CREST API version")
376 acf.addFlag(
"IOVDb.CleanerRingSize",
lambda prevFlags : 0
if prevFlags.Trigger.doHLT
else 2*
max(1, prevFlags.Concurrency.NumConcurrentEvents), help=
'size of ring-buffer for conditions cleaner')
377 acf.addFlag(
"IOVDb.SqliteInput",
"",help=
"Folders found in this file will be used instead of the production db")
378 acf.addFlag(
"IOVDb.SqliteFolders",(),help=
"Folders listed here will be taken from the IOVDb.SqliteInput file instead of the production db. If empty, all folders found in the file are used.")
379 acf.addFlag(
"IOVDb.WriteParametersAsMetaData",
True, help=
"Write simulation/digitization parameters directly as in-file metadata (True) or via intermediate sqlite files (False)")
381 def _buildDBConn(flags):
382 if flags.IOVDb.UseCREST:
383 return getCrestConnection(flags.IOVDb.CrestServer, flags.IOVDb.CrestAPI)
388 return "sqlite://;schema=mycool.db;dbname="+flags.IOVDb.DatabaseInstance
390 acf.addFlag(
"IOVDb.DBConnection", _buildDBConn, help=
'database connection string')
393 acf.addFlag(
"PoolSvc.MaxFilesOpen",
lambda prevFlags : 2
if prevFlags.MP.UseSharedReader
else 0, help=
'maximum number of open files')
394 acf.addFlag(
"PoolSvc.PersSvcPerInputType",
False, help=
'enable separate persistency service for each input type')
398 from MagFieldConfig.BFieldConfigFlags
import createBFieldConfigFlags
399 return createBFieldConfigFlags()
403 from LArConfiguration.LArConfigFlags
import createLArConfigFlags
404 return createLArConfigFlags()
408 from TileConfiguration.TileConfigFlags
import createTileConfigFlags
409 return createTileConfigFlags()
414 from CaloRec.CaloConfigFlags
import createCaloConfigFlags
415 return createCaloConfigFlags()
419 acf.addFlag(
"Random.Engine",
"dSFMT", help=
'random number service ("dSFMT", "Ranlux64", "Ranecu")')
420 acf.addFlag(
"Random.SeedOffset", 0, help=
'seed offset')
423 from TriggerJobOpts.TriggerConfigFlags
import createTriggerFlags
424 return createTriggerFlags(acf.Common.Project
is not Project.AthAnalysis)
430 acf.addFlag(
'Trigger.doLVL1',
False, help=
'enable L1 simulation')
431 acf.addFlag(
'Trigger.doHLT',
False, help=
'run HLT selection algorithms')
434 from InDetConfig.InDetConfigFlags
import createInDetConfigFlags
435 return createInDetConfigFlags()
439 from InDetConfig.ITkConfigFlags
import createITkConfigFlags
440 return createITkConfigFlags()
444 from TrkConfig.TrkConfigFlags
import createTrackingConfigFlags
445 return createTrackingConfigFlags()
448 def __trackoverlay():
449 from TrackOverlayConfig.TrackOverlayConfigFlags
import createTrackOverlayConfigFlags
450 return createTrackOverlayConfigFlags()
454 from ActsConfig.ActsConfigFlags
import createActsConfigFlags
455 return createActsConfigFlags()
459 from HGTD_Config.HGTD_ConfigFlags
import createHGTD_ConfigFlags
460 return createHGTD_ConfigFlags()
464 from MuonConfig.MuonConfigFlags
import createMuonConfigFlags
465 return createMuonConfigFlags()
468 def __muoncombined():
469 from MuonCombinedConfig.MuonCombinedConfigFlags
import createMuonCombinedConfigFlags
470 return createMuonCombinedConfigFlags()
474 from egammaConfig.egammaConfigFlags
import createEgammaConfigFlags
475 return createEgammaConfigFlags()
479 from METReconstruction.METConfigFlags
import createMETConfigFlags
480 return createMETConfigFlags()
484 from JetRecConfig.JetConfigFlags
import createJetConfigFlags
485 return createJetConfigFlags()
489 from TrackCaloClusterRecTools.UFOConfigFlags
import createUFOConfigFlags
490 return createUFOConfigFlags()
494 from tauRec.TauConfigFlags
import createTauConfigFlags
495 return createTauConfigFlags()
499 from DiTauRec.DiTauConfigFlags
import createDiTauConfigFlags
500 return createDiTauConfigFlags()
504 from eflowRec.PFConfigFlags
import createPFConfigFlags
505 return createPFConfigFlags()
509 from JetTagConfig.BTaggingConfigFlags
import createBTaggingConfigFlags
510 return createBTaggingConfigFlags()
514 from HIRecConfig.HIRecConfigFlags
import createHIRecConfigFlags
515 return createHIRecConfigFlags()
519 from EventDisplaysOnline.EventDisplaysOnlineFlags
import createOnlineEventDisplayFlags
520 return createOnlineEventDisplayFlags()
521 _addFlagsCategory(acf,
"OnlineEventDisplays", __onlineED,
'EventDisplaysOnline' )
524 from AthenaMonitoring.DQConfigFlags
import createDQConfigFlags
525 dqf = createDQConfigFlags()
530 from PerfMonComps.PerfMonConfigFlags
import createPerfMonConfigFlags
531 return createPerfMonConfigFlags()
535 from PhysValMonitoring.PhysValFlags
import createPhysValConfigFlags
536 return createPhysValConfigFlags()
540 from CaloRingerAlgs.CaloRingerFlags
import createCaloRingerConfigFlags
541 return createCaloRingerConfigFlags()
545 from CaloRecGPU.CaloRecGPUFlags
import createFlagsCaloRecGPU
546 return createFlagsCaloRecGPU()