264 from AthenaCommon.Logging
import log
265 log.setLevel(flags.Exec.OutputLevel)
267 if flags.Exec.Interactive ==
"run":
268 LoopMgr=
"PyAthenaEventLoopMgr"
269 log.info(
"Interactive mode, switching to %s", LoopMgr)
272 if flags.Concurrency.NumThreads > 0:
273 if flags.Concurrency.NumConcurrentEvents==0:
274 raise Exception(
"Requested Concurrency.NumThreads>0 and Concurrency.NumConcurrentEvents==0, "
275 "which will not process events!")
276 if flags.Exec.MTEventService:
277 LoopMgr =
"AthenaMtesEventLoopMgr"
279 LoopMgr =
"AthenaHiveEventLoopMgr"
281 if flags.Concurrency.NumProcs > 0:
282 LoopMgr =
"AthMpEvtLoopMgr"
291 cfg.addService(CompFactory.ClassIDSvc(CLIDDBFiles = [
'clid.db',
'Gaudi_clid.db']))
293 cfg.addService(CompFactory.AlgContextSvc(BypassIncidents=
True))
294 cfg.addAuditor(CompFactory.AlgContextAuditor())
296 cfg.addService(CompFactory.StoreGateSvc(Dump=flags.Debug.DumpEvtStore))
297 cfg.addService(CompFactory.StoreGateSvc(
"DetectorStore",Dump=flags.Debug.DumpDetStore))
298 cfg.addService(CompFactory.StoreGateSvc(
"HistoryStore"))
299 cfg.addService(CompFactory.StoreGateSvc(
"ConditionStore",Dump=flags.Debug.DumpCondStore))
303 from AthenaConfiguration.FPEAndCoreDumpConfig
import FPEAndCoreDumpCfg
309 cfg.addService(CompFactory.ExceptionSvc(Catch=
"NONE"))
312 cfg.setAppProperty(
'AuditAlgorithms',
True)
313 cfg.setAppProperty(
'InitializationLoopCheck',
False)
314 cfg.setAppProperty(
'EvtMax', flags.Exec.MaxEvents)
315 if flags.Exec.OutputLevel > INFO:
317 cfg.setAppProperty(
'AppName',
'')
318 cfg.setAppProperty(
'OutputLevel', flags.Exec.OutputLevel)
320 if flags.Exec.DebugStage !=
"":
321 cfg.setDebugStage(flags.Exec.DebugStage)
323 cfg.interactive=flags.Exec.Interactive
325 if flags.Concurrency.NumProcs > 0:
329 if flags.Concurrency.NumThreads > 0:
330 if flags.Exec.MTEventService:
335 cfg.addAuditor( CompFactory.SGCommitAuditor() )
336 elif LoopMgr ==
'AthenaEventLoopMgr':
340 if flags.PerfMon.doFastMonMT
or flags.PerfMon.doFullMonMT:
341 from PerfMonComps.PerfMonCompsConfig
import PerfMonMTSvcCfg
344 if flags.PerfMon.doGPerfProf:
345 from PerfMonGPerfTools.GPT_ProfilerServiceConfig
import GPT_ProfilerServiceCfg
348 if len(flags.PerfMon.Valgrind.ProfiledAlgs)>0:
349 from Valkyrie.ValkyrieConfig
import ValgrindServiceCfg