312 from AthenaCommon.Logging
import log
313 log.setLevel(flags.Exec.OutputLevel)
315 if flags.Exec.Interactive ==
"run":
316 LoopMgr=
"PyAthenaEventLoopMgr"
317 log.info(
"Interactive mode, switching to %s", LoopMgr)
320 if flags.Concurrency.NumThreads > 0:
321 if flags.Concurrency.NumConcurrentEvents==0:
322 raise Exception(
"Requested Concurrency.NumThreads>0 and Concurrency.NumConcurrentEvents==0, "
323 "which will not process events!")
324 if flags.Exec.MTEventService:
325 LoopMgr =
"AthenaMtesEventLoopMgr"
327 LoopMgr =
"MPIHiveEventLoopMgr"
329 LoopMgr =
"AthenaHiveEventLoopMgr"
331 if flags.Concurrency.NumProcs > 0:
332 LoopMgr =
"AthMpEvtLoopMgr"
341 cfg.addService(CompFactory.ClassIDSvc(CLIDDBFiles = [
'clid.db',
'Gaudi_clid.db']))
343 cfg.addService(CompFactory.AlgContextSvc(BypassIncidents=
True))
344 cfg.addAuditor(CompFactory.AlgContextAuditor())
346 cfg.addService(CompFactory.StoreGateSvc(Dump=flags.Debug.DumpEvtStore))
347 cfg.addService(CompFactory.StoreGateSvc(
"DetectorStore",Dump=flags.Debug.DumpDetStore))
348 cfg.addService(CompFactory.StoreGateSvc(
"HistoryStore"))
349 cfg.addService(CompFactory.StoreGateSvc(
"ConditionStore",Dump=flags.Debug.DumpCondStore))
353 from AthenaConfiguration.FPEAndCoreDumpConfig
import FPEAndCoreDumpCfg
359 cfg.addService(CompFactory.ExceptionSvc(Catch=
"NONE"))
362 cfg.setAppProperty(
'AuditAlgorithms',
True)
363 cfg.setAppProperty(
'InitializationLoopCheck',
False)
364 cfg.setAppProperty(
'EvtMax', flags.Exec.MaxEvents)
365 if flags.Exec.OutputLevel > INFO:
367 cfg.setAppProperty(
'AppName',
'')
368 cfg.setAppProperty(
'OutputLevel', flags.Exec.OutputLevel)
370 if flags.Exec.DebugStage !=
"":
371 cfg.setDebugStage(flags.Exec.DebugStage)
373 cfg.interactive=flags.Exec.Interactive
375 if flags.Concurrency.NumProcs > 0:
379 if flags.Exec.EventTimeOut > 0:
380 timeoutAlg = CompFactory.TimeoutAlg(
381 Timeout = flags.Exec.EventTimeOut,
383 DumpSchedulerState =
False)
384 cfg.addEventAlgo(timeoutAlg, sequenceName=
'AthBeginSeq')
387 if flags.Concurrency.NumThreads > 0:
388 if flags.Exec.MTEventService:
395 cfg.addAuditor( CompFactory.SGCommitAuditor() )
396 elif LoopMgr ==
'AthenaEventLoopMgr':
400 if flags.PerfMon.doFastMonMT
or flags.PerfMon.doFullMonMT:
401 from PerfMonComps.PerfMonCompsConfig
import PerfMonMTSvcCfg
404 if flags.PerfMon.doGPerfProf:
405 from PerfMonGPerfTools.GPT_ProfilerServiceConfig
import GPT_ProfilerServiceCfg
408 if len(flags.PerfMon.Valgrind.ProfiledAlgs)>0:
409 from Valkyrie.ValkyrieConfig
import ValgrindServiceCfg