ATLAS Offline Software
Functions | Variables
python.MainServicesConfig Namespace Reference

Functions

def MainServicesMiniCfg (flags, loopMgr='AthenaEventLoopMgr', masterSequence='AthAlgSeq')
 
def AvalancheSchedulerSvcCfg (flags, **kwargs)
 
def OutputUsageIgnoreCfg (flags, algorithm)
 
def AthenaEventLoopMgrCfg (flags)
 
def MPIHiveEventLoopMgrCfg (flags)
 
def AthenaHiveEventLoopMgrCfg (flags)
 
def AthenaMpEventLoopMgrCfg (flags)
 
def AthenaMtesEventLoopMgrCfg (flags, mtEs=False, channel='')
 
def MessageSvcCfg (flags)
 
def addMainSequences (flags, cfg)
 
def addEvgenSequences (flags, cfg)
 
def MainServicesCfg (flags, LoopMgr='AthenaEventLoopMgr')
 
def MainEvgenServicesCfg (flags, LoopMgr="AthenaEventLoopMgr", withSequences=True)
 
def JobOptionsDumpCfg (flags, fileName="JobOptsConfig.txt")
 

Variables

 flags
 
 RunNumbers
 
 TimeStamps
 
 cfg
 
 withSequences
 

Function Documentation

◆ addEvgenSequences()

def python.MainServicesConfig.addEvgenSequences (   flags,
  cfg 
)

Definition at line 299 of file MainServicesConfig.py.

299 def addEvgenSequences(flags, cfg):
300  from GeneratorConfig.Sequences import EvgenSequence, EvgenSequenceFactory
301  cfg.addSequence(EvgenSequenceFactory(EvgenSequence.Main), parentName="AthAlgSeq")
302  cfg.addSequence(EvgenSequenceFactory(EvgenSequence.Generator), parentName=EvgenSequence.Main.value)
303  cfg.addSequence(EvgenSequenceFactory(EvgenSequence.Fix), parentName=EvgenSequence.Main.value)
304  cfg.addSequence(EvgenSequenceFactory(EvgenSequence.PreFilter), parentName=EvgenSequence.Main.value)
305  cfg.addSequence(EvgenSequenceFactory(EvgenSequence.Test), parentName=EvgenSequence.Main.value)
306  cfg.addSequence(EvgenSequenceFactory(EvgenSequence.Filter), parentName=EvgenSequence.Main.value)
307  cfg.addSequence(EvgenSequenceFactory(EvgenSequence.Post), parentName=EvgenSequence.Main.value)
308 
309 

◆ addMainSequences()

def python.MainServicesConfig.addMainSequences (   flags,
  cfg 
)
Add the standard sequences to cfg

Definition at line 242 of file MainServicesConfig.py.

242 def addMainSequences(flags, cfg):
243  """Add the standard sequences to cfg"""
244 
245  # Build standard sequences:
246  AthSequencer = CompFactory.AthSequencer
247  cfg.addSequence(AthSequencer('AthAlgEvtSeq', Sequential=True, StopOverride=True), parentName='AthMasterSeq')
248  cfg.addSequence(AthSequencer('AthOutSeq', StopOverride=True), parentName='AthMasterSeq')
249 
250  cfg.addSequence(AthSequencer('AthBeginSeq', Sequential=True), parentName='AthAlgEvtSeq')
251  cfg.addSequence(AthSequencer('AthAllAlgSeq', StopOverride=True), parentName='AthAlgEvtSeq')
252 
253  athAlgSeq = AthSequencer('AthAlgSeq', IgnoreFilterPassed=True, StopOverride=True, ProcessDynamicDataDependencies=True, ExtraDataForDynamicConsumers=[])
254  athCondSeq = AthSequencer('AthCondSeq',StopOverride=True)
255 
256  if flags.Concurrency.NumThreads==0:
257  # For serial execution, we need the CondAlgs to execute first.
258  cfg.addSequence(athCondSeq, parentName='AthAllAlgSeq')
259  cfg.addSequence(athAlgSeq, parentName='AthAllAlgSeq')
260  else:
261  # In MT, the order of execution is irrelevant (determined by data deps).
262  # We add the conditions sequence later such that the CondInputLoader gets
263  # initialized after all other user Algorithms for MT, so the base classes
264  # of data deps can be correctly determined.
265  cfg.addSequence(athAlgSeq, parentName='AthAllAlgSeq')
266  cfg.addSequence(athCondSeq, parentName='AthAllAlgSeq')
267 
268  cfg.addSequence(AthSequencer('AthEndSeq', Sequential=True), parentName='AthAlgEvtSeq')
269 
270  # Set up incident firing:
271  AthIncFirerAlg = CompFactory.AthIncFirerAlg
272  IncidentProcAlg = CompFactory.IncidentProcAlg
273 
274  previousPerfmonDomain = cfg.getCurrentPerfmonDomain()
275  cfg.flagPerfmonDomain('Incidents')
276 
277  cfg.addEventAlgo(AthIncFirerAlg("BeginIncFiringAlg", FireSerial=False, Incidents=['BeginEvent']),
278  sequenceName='AthBeginSeq')
279 
280  cfg.addEventAlgo(IncidentProcAlg('IncidentProcAlg1'),
281  sequenceName='AthBeginSeq')
282 
283  cfg.addEventAlgo(AthIncFirerAlg('EndIncFiringAlg', FireSerial=False, Incidents=['EndEvent']),
284  sequenceName="AthEndSeq")
285 
286  cfg.addEventAlgo(IncidentProcAlg('IncidentProcAlg2'),
287  sequenceName="AthEndSeq")
288 
289  # Should be after all other algorithms:
290  cfg.addEventAlgo(AthIncFirerAlg('EndAlgorithmsFiringAlg', FireSerial=False, Incidents=['EndAlgorithms']),
291  sequenceName="AthMasterSeq")
292 
293  cfg.addEventAlgo(IncidentProcAlg('IncidentProcAlg3'),
294  sequenceName="AthMasterSeq")
295 
296  cfg.flagPerfmonDomain(previousPerfmonDomain)
297 
298 

◆ AthenaEventLoopMgrCfg()

def python.MainServicesConfig.AthenaEventLoopMgrCfg (   flags)

Definition at line 64 of file MainServicesConfig.py.

64 def AthenaEventLoopMgrCfg(flags):
65  cfg = ComponentAccumulator()
66  elmgr = CompFactory.AthenaEventLoopMgr(EventPrintoutInterval = flags.Exec.EventPrintoutInterval)
67  if flags.Input.OverrideRunNumber:
68  from AthenaKernel.EventIdOverrideConfig import EvtIdModifierSvcCfg
69  elmgr.EvtIdModifierSvc = cfg.getPrimaryAndMerge( EvtIdModifierSvcCfg(flags) )
70 
71  if flags.Common.isOverlay:
72  if not flags.Overlay.DataOverlay:
73  elmgr.RequireInputAttributeList = True
74  elmgr.UseSecondaryEventNumber = True
75 
76  cfg.addService( elmgr )
77 
78  return cfg
79 
80 

◆ AthenaHiveEventLoopMgrCfg()

def python.MainServicesConfig.AthenaHiveEventLoopMgrCfg (   flags)

Definition at line 131 of file MainServicesConfig.py.

131 def AthenaHiveEventLoopMgrCfg(flags):
132  cfg = ComponentAccumulator()
133  hivesvc = CompFactory.SG.HiveMgrSvc("EventDataSvc",
134  NSlots = flags.Concurrency.NumConcurrentEvents)
135  cfg.addService( hivesvc )
136 
137  arp = CompFactory.AlgResourcePool(TopAlg = ["AthMasterSeq"]) #this should enable control flow
138  cfg.addService( arp )
139 
140  scheduler = cfg.getPrimaryAndMerge(AvalancheSchedulerSvcCfg(flags))
141 
142  elmgr = CompFactory.AthenaHiveEventLoopMgr(
143  WhiteboardSvc = "EventDataSvc",
144  SchedulerSvc = scheduler.getName(),
145  EventPrintoutInterval = flags.Exec.EventPrintoutInterval)
146 
147  if flags.Input.OverrideRunNumber:
148  from AthenaKernel.EventIdOverrideConfig import EvtIdModifierSvcCfg
149  elmgr.EvtIdModifierSvc = cfg.getPrimaryAndMerge(EvtIdModifierSvcCfg(flags))
150 
151  if flags.Common.isOverlay and not flags.Overlay.DataOverlay:
152  elmgr.RequireInputAttributeList = True
153  elmgr.UseSecondaryEventNumber = True
154 
155  cfg.addService( elmgr )
156 
157  return cfg
158 

◆ AthenaMpEventLoopMgrCfg()

def python.MainServicesConfig.AthenaMpEventLoopMgrCfg (   flags)

Definition at line 159 of file MainServicesConfig.py.

159 def AthenaMpEventLoopMgrCfg(flags):
160  cfg = ComponentAccumulator()
161  if flags.Common.isOverlay and not flags.Overlay.DataOverlay:
162  elmgr = CompFactory.AthenaEventLoopMgr(EventPrintoutInterval = flags.Exec.EventPrintoutInterval)
163  elmgr.RequireInputAttributeList = True
164  elmgr.UseSecondaryEventNumber = True
165  cfg.addService( elmgr )
166 
167  from AthenaMP.AthenaMPConfig import AthenaMPCfg
168  mploop = AthenaMPCfg(flags)
169  cfg.merge( mploop )
170 
171  return cfg
172 
173 

◆ AthenaMtesEventLoopMgrCfg()

def python.MainServicesConfig.AthenaMtesEventLoopMgrCfg (   flags,
  mtEs = False,
  channel = '' 
)

Definition at line 174 of file MainServicesConfig.py.

174 def AthenaMtesEventLoopMgrCfg(flags, mtEs=False, channel=''):
175  cfg = ComponentAccumulator()
176 
177  hivesvc = CompFactory.SG.HiveMgrSvc("EventDataSvc",
178  NSlots = flags.Concurrency.NumConcurrentEvents)
179  cfg.addService( hivesvc )
180 
181  arp = CompFactory.AlgResourcePool(TopAlg = ["AthMasterSeq"]) #this should enable control flow
182  cfg.addService( arp )
183 
184  scheduler = cfg.getPrimaryAndMerge(AvalancheSchedulerSvcCfg(flags))
185 
186  elmgr = CompFactory.AthenaMtesEventLoopMgr(
187  WhiteboardSvc = "EventDataSvc",
188  SchedulerSvc = scheduler.getName(),
189  EventRangeChannel = channel,
190  EventPrintoutInterval = flags.Exec.EventPrintoutInterval)
191 
192  if flags.Input.OverrideRunNumber:
193  from AthenaKernel.EventIdOverrideConfig import EvtIdModifierSvcCfg
194  elmgr.EvtIdModifierSvc = cfg.getPrimaryAndMerge(EvtIdModifierSvcCfg(flags))
195 
196  if flags.Common.isOverlay and not flags.Overlay.DataOverlay:
197  elmgr.RequireInputAttributeList = True
198  elmgr.UseSecondaryEventNumber = True
199 
200  if mtEs:
201  from AthenaServices.OutputStreamSequencerSvcConfig import OutputStreamSequencerSvcCfg
202  cfg.merge(OutputStreamSequencerSvcCfg(flags,
203  incidentName="NextEventRange",
204  reportingOn = True))
205 
206  cfg.addService( elmgr )
207 
208  return cfg
209 
210 

◆ AvalancheSchedulerSvcCfg()

def python.MainServicesConfig.AvalancheSchedulerSvcCfg (   flags,
**  kwargs 
)

Definition at line 25 of file MainServicesConfig.py.

25 def AvalancheSchedulerSvcCfg(flags, **kwargs):
26  kwargs.setdefault("CheckDependencies", flags.Scheduler.CheckDependencies)
27  kwargs.setdefault("CheckOutputUsage", flags.Scheduler.CheckOutputUsage)
28  kwargs.setdefault("ShowDataDependencies", flags.Scheduler.ShowDataDeps)
29  kwargs.setdefault("ShowDataFlow", flags.Scheduler.ShowDataFlow)
30  kwargs.setdefault("ShowControlFlow", flags.Scheduler.ShowControlFlow)
31  kwargs.setdefault("VerboseSubSlots", flags.Scheduler.EnableVerboseViews)
32  kwargs.setdefault("ThreadPoolSize", flags.Concurrency.NumThreads)
33  kwargs.setdefault("DataDepsGraphFile", flags.Scheduler.DataDepsGraphFile)
34  kwargs.setdefault("DataDepsGraphAlgPattern", flags.Scheduler.DataDepsGraphAlgPattern)
35  kwargs.setdefault("DataDepsGraphObjectPattern", flags.Scheduler.DataDepsGraphObjectPattern)
36  kwargs.setdefault("NumOffloadThreads", flags.Concurrency.NumOffloadThreads)
37 
38  cfg = ComponentAccumulator()
39  scheduler = CompFactory.AvalancheSchedulerSvc(**kwargs)
40  cfg.addService(scheduler, primary=True)
41 
42  from SGComps.SGInputLoaderConfig import SGInputLoaderCfg
43  # FailIfNoProxy=False makes it a warning, not an error, if unmet data
44  # dependencies are not found in the store. It should probably be changed
45  # to True eventually.
46  inputloader_ca = SGInputLoaderCfg(flags, FailIfNoProxy=flags.Input.FailOnUnknownCollections)
47  cfg.merge(inputloader_ca, sequenceName="AthAlgSeq")
48 
49  # Specifying DataLoaderAlg makes the Scheduler automatically assign
50  # all unmet data dependencies to that algorithm.
51  if flags.Scheduler.AutoLoadUnmetDependencies:
52  scheduler.DataLoaderAlg = inputloader_ca.getPrimary().getName()
53 
54  return cfg
55 
56 

◆ JobOptionsDumpCfg()

def python.MainServicesConfig.JobOptionsDumpCfg (   flags,
  fileName = "JobOptsConfig.txt" 
)
Job options service configuration - mainly to dump the config.

Definition at line 434 of file MainServicesConfig.py.

434 def JobOptionsDumpCfg(flags, fileName="JobOptsConfig.txt"):
435  """Job options service configuration - mainly to dump the config."""
436  acc = ComponentAccumulator()
437  acc.addService(CompFactory.JobOptionsSvc(DUMPFILE=fileName))
438  return acc
439 
440 

◆ MainEvgenServicesCfg()

def python.MainServicesConfig.MainEvgenServicesCfg (   flags,
  LoopMgr = "AthenaEventLoopMgr",
  withSequences = True 
)
ComponentAccumulator-based equivalent of:
import AthenaCommon.AtlasUnixGeneratorJob

NB Must have set flags.Input.RunNumbers and
flags.Input.TimeStamps before calling to avoid
attempted auto-configuration from an input file.

Definition at line 415 of file MainServicesConfig.py.

415 def MainEvgenServicesCfg(flags, LoopMgr="AthenaEventLoopMgr", withSequences=True):
416  """ComponentAccumulator-based equivalent of:
417  import AthenaCommon.AtlasUnixGeneratorJob
418 
419  NB Must have set flags.Input.RunNumbers and
420  flags.Input.TimeStamps before calling to avoid
421  attempted auto-configuration from an input file.
422  """
423  cfg = MainServicesCfg(flags, LoopMgr)
424  if not flags.Input.Files:
425  from McEventSelector.McEventSelectorConfig import McEventSelectorCfg
426  cfg.merge(McEventSelectorCfg(flags))
427 
428  if withSequences:
429  addEvgenSequences(flags, cfg)
430 
431  return cfg
432 
433 

◆ MainServicesCfg()

def python.MainServicesConfig.MainServicesCfg (   flags,
  LoopMgr = 'AthenaEventLoopMgr' 
)

Definition at line 310 of file MainServicesConfig.py.

310 def MainServicesCfg(flags, LoopMgr='AthenaEventLoopMgr'):
311  # Set the Python OutputLevel on the root logger
312  from AthenaCommon.Logging import log
313  log.setLevel(flags.Exec.OutputLevel)
314 
315  if flags.Exec.Interactive == "run":
316  LoopMgr="PyAthenaEventLoopMgr"
317  log.info("Interactive mode, switching to %s", LoopMgr)
318  else:
319  # Run a serial job for threads=0
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"
326  elif flags.Exec.MPI:
327  LoopMgr = "MPIHiveEventLoopMgr"
328  else:
329  LoopMgr = "AthenaHiveEventLoopMgr"
330 
331  if flags.Concurrency.NumProcs > 0:
332  LoopMgr = "AthMpEvtLoopMgr"
333 
334  # Core components needed for serial and threaded jobs:
335  cfg = MainServicesMiniCfg(flags, loopMgr=LoopMgr, masterSequence='AthMasterSeq')
336 
337  # Main sequences and incident handling:
338  addMainSequences(flags, cfg)
339 
340  # Basic services:
341  cfg.addService(CompFactory.ClassIDSvc(CLIDDBFiles = ['clid.db','Gaudi_clid.db']))
342 
343  cfg.addService(CompFactory.AlgContextSvc(BypassIncidents=True))
344  cfg.addAuditor(CompFactory.AlgContextAuditor())
345 
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))
350 
351  cfg.merge(MessageSvcCfg(flags))
352 
353  from AthenaConfiguration.FPEAndCoreDumpConfig import FPEAndCoreDumpCfg
354  cfg.merge(FPEAndCoreDumpCfg(flags))
355 
356  # Avoid stack traces to the exception handler. These traces
357  # aren't very useful since they just point to the handler, not
358  # the original bug.
359  cfg.addService(CompFactory.ExceptionSvc(Catch="NONE"))
360 
361  # ApplicationMgr properties:
362  cfg.setAppProperty('AuditAlgorithms', True)
363  cfg.setAppProperty('InitializationLoopCheck', False)
364  cfg.setAppProperty('EvtMax', flags.Exec.MaxEvents)
365  if flags.Exec.OutputLevel > INFO:
366  # this turns off the appMgr spalsh
367  cfg.setAppProperty('AppName', '')
368  cfg.setAppProperty('OutputLevel', flags.Exec.OutputLevel)
369 
370  if flags.Exec.DebugStage != "":
371  cfg.setDebugStage(flags.Exec.DebugStage)
372 
373  cfg.interactive=flags.Exec.Interactive
374 
375  if flags.Concurrency.NumProcs > 0:
376  cfg.merge(AthenaMpEventLoopMgrCfg(flags))
377 
378  # Timeout
379  if flags.Exec.EventTimeOut > 0:
380  timeoutAlg = CompFactory.TimeoutAlg(
381  Timeout = flags.Exec.EventTimeOut,
382  AbortJob = True,
383  DumpSchedulerState = False)
384  cfg.addEventAlgo(timeoutAlg, sequenceName='AthBeginSeq')
385 
386  # Additional components needed for threaded jobs only:
387  if flags.Concurrency.NumThreads > 0:
388  if flags.Exec.MTEventService:
389  cfg.merge(AthenaMtesEventLoopMgrCfg(flags,True,flags.Exec.MTEventServiceChannel))
390  elif flags.Exec.MPI:
391  cfg.merge(MPIHiveEventLoopMgrCfg(flags))
392  else:
393  cfg.merge(AthenaHiveEventLoopMgrCfg(flags))
394  # Setup SGCommitAuditor to sweep new DataObjects at end of Alg execute
395  cfg.addAuditor( CompFactory.SGCommitAuditor() )
396  elif LoopMgr == 'AthenaEventLoopMgr':
397  cfg.merge(AthenaEventLoopMgrCfg(flags))
398 
399  # Performance monitoring and profiling:
400  if flags.PerfMon.doFastMonMT or flags.PerfMon.doFullMonMT:
401  from PerfMonComps.PerfMonCompsConfig import PerfMonMTSvcCfg
402  cfg.merge(PerfMonMTSvcCfg(flags))
403 
404  if flags.PerfMon.doGPerfProf:
405  from PerfMonGPerfTools.GPT_ProfilerServiceConfig import GPT_ProfilerServiceCfg
406  cfg.merge(GPT_ProfilerServiceCfg(flags))
407 
408  if len(flags.PerfMon.Valgrind.ProfiledAlgs)>0:
409  from Valkyrie.ValkyrieConfig import ValgrindServiceCfg
410  cfg.merge(ValgrindServiceCfg(flags))
411 
412  return cfg
413 
414 

◆ MainServicesMiniCfg()

def python.MainServicesConfig.MainServicesMiniCfg (   flags,
  loopMgr = 'AthenaEventLoopMgr',
  masterSequence = 'AthAlgSeq' 
)
Mininmal basic config, just good enough for HelloWorld and alike

Definition at line 7 of file MainServicesConfig.py.

7 def MainServicesMiniCfg(flags, loopMgr='AthenaEventLoopMgr', masterSequence='AthAlgSeq'):
8  """Mininmal basic config, just good enough for HelloWorld and alike"""
9  cfg = ComponentAccumulator(CompFactory.AthSequencer(masterSequence, Sequential=True))
10  cfg.setAsTopLevel()
11  cfg.setAppProperty('TopAlg',['AthSequencer/'+masterSequence])
12  cfg.setAppProperty('MessageSvcType', 'MessageSvc')
13  cfg.setAppProperty('EventLoop', loopMgr)
14  cfg.setAppProperty('ExtSvcCreates', 'False')
15  cfg.setAppProperty('JobOptionsSvcType', 'JobOptionsSvc')
16  cfg.setAppProperty('JobOptionsType', 'NONE')
17  cfg.setAppProperty('JobOptionsPostAction', '')
18  cfg.setAppProperty('JobOptionsPreAction', '')
19  cfg.setAppProperty('PrintAlgsSequence', flags.Exec.PrintAlgsSequence)
20  if flags.Debug.NameAuditor:
21  cfg.addAuditor(CompFactory.NameAuditor())
22  return cfg
23 
24 

◆ MessageSvcCfg()

def python.MainServicesConfig.MessageSvcCfg (   flags)

Definition at line 211 of file MainServicesConfig.py.

211 def MessageSvcCfg(flags):
212  cfg = ComponentAccumulator()
213  msgsvc = CompFactory.MessageSvc()
214  msgsvc.OutputLevel = flags.Exec.OutputLevel
215  msgsvc.Format = "% F%{:d}W%C%7W%R%T %0W%M".format(flags.Common.MsgSourceLength)
216  msgsvc.enableSuppression = flags.Common.MsgSuppression
217  if flags.Common.ShowMsgStats:
218  msgsvc.showStats = True
219  from AthenaCommon.Constants import WARNING
220  msgsvc.statLevel = WARNING
221 
222  from AthenaConfiguration.Enums import ProductionStep
223  if flags.Common.ProductionStep not in [ProductionStep.Default, ProductionStep.Reconstruction, ProductionStep.Derivation]:
224  msgsvc.Format = "% F%18W%S%7W%R%T %0W%M" # Temporary to match legacy configuration for serial simulation/digitization/overlay jobs
225  if flags.Concurrency.NumThreads>0:
226  msgsvc.Format = "% F%{:d}W%C%6W%R%e%s%8W%R%T %0W%M".format(flags.Common.MsgSourceLength)
227  if flags.Exec.VerboseMessageComponents:
228  msgsvc.verboseLimit=0
229  if flags.Exec.DebugMessageComponents:
230  msgsvc.debugLimit=0
231  if flags.Exec.InfoMessageComponents:
232  msgsvc.infoLimit=0
233  if flags.Exec.WarningMessageComponents:
234  msgsvc.warningLimit=0
235  if flags.Exec.ErrorMessageComponents:
236  msgsvc.errorLimit=0
237 
238  cfg.addService(msgsvc)
239  return cfg
240 
241 

◆ MPIHiveEventLoopMgrCfg()

def python.MainServicesConfig.MPIHiveEventLoopMgrCfg (   flags)
Sets up an MPIHive EventLoopMgr along with it's dependencies

Definition at line 81 of file MainServicesConfig.py.

81 def MPIHiveEventLoopMgrCfg(flags):
82  """Sets up an MPIHive EventLoopMgr along with it's dependencies"""
83  from SQLiteDBSvc.SQLiteDBSvcConfig import SQLiteDBSvcCfg
84  cfg = ComponentAccumulator()
85  nConcurrentEvents = flags.Concurrency.NumConcurrentEvents
86  nThreads = flags.Concurrency.NumThreads
87 
88  hivesvc = CompFactory.SG.HiveMgrSvc("EventDataSvc", NSlots=nConcurrentEvents)
89  cfg.addService(hivesvc)
90 
91  arp = CompFactory.AlgResourcePool(
92  TopAlg=["AthMasterSeq"]
93  ) # this should enable control flow
94  cfg.addService(arp)
95 
96  scheduler = cfg.getPrimaryAndMerge(
97  AvalancheSchedulerSvcCfg(flags, ThreadPoolSize=nThreads)
98  )
99 
100  cfg.merge(SQLiteDBSvcCfg(flags, name="LogDBSvc", dbPath="mpilog.db"))
101  cfg.addService(CompFactory.MPIClusterSvc("MPIClusterSvc", LogDatabaseSvc="SQLiteDBSvc/LogDBSvc"))
102  elmgr = CompFactory.MPIHiveEventLoopMgr(
103  MPIClusterSvc="MPIClusterSvc",
104  WhiteboardSvc="EventDataSvc",
105  SchedulerSvc=scheduler.getName(),
106  FirstEventIndex=flags.Exec.SkipEvents,
107  )
108 
109  from AthenaServices.OutputStreamSequencerSvcConfig import (
110  OutputStreamSequencerSvcCfg,
111  )
112 
113  cfg.merge(
115  flags, incidentName="BeginInputFile", reportingOn=False, replaceRangeMode=True
116  )
117  )
118  if flags.Input.OverrideRunNumber:
119  from AthenaKernel.EventIdOverrideConfig import EvtIdModifierSvcCfg
120 
121  elmgr.EvtIdModifierSvc = cfg.getPrimaryAndMerge(EvtIdModifierSvcCfg(flags)).name
122 
123  if flags.Common.isOverlay and not flags.Overlay.DataOverlay:
124  elmgr.RequireInputAttributeList = True
125  elmgr.UseSecondaryEventNumber = True
126 
127  cfg.addService(elmgr)
128 
129  return cfg
130 

◆ OutputUsageIgnoreCfg()

def python.MainServicesConfig.OutputUsageIgnoreCfg (   flags,
  algorithm 
)

Definition at line 57 of file MainServicesConfig.py.

57 def OutputUsageIgnoreCfg(flags, algorithm):
58  cfg = ComponentAccumulator()
59  if flags.Concurrency.NumThreads > 0 and flags.Scheduler.CheckOutputUsage:
60  cfg.merge(AvalancheSchedulerSvcCfg(flags, CheckOutputUsageIgnoreList=[algorithm]))
61  return cfg
62 
63 

Variable Documentation

◆ cfg

python.MainServicesConfig.cfg

Definition at line 447 of file MainServicesConfig.py.

◆ flags

python.MainServicesConfig.flags

Definition at line 443 of file MainServicesConfig.py.

◆ RunNumbers

python.MainServicesConfig.RunNumbers

Definition at line 445 of file MainServicesConfig.py.

◆ TimeStamps

python.MainServicesConfig.TimeStamps

Definition at line 446 of file MainServicesConfig.py.

◆ withSequences

python.MainServicesConfig.withSequences

Definition at line 447 of file MainServicesConfig.py.

python.AthenaMPConfig.AthenaMPCfg
def AthenaMPCfg(flags)
Definition: AthenaMPConfig.py:49
python.Sequences.EvgenSequenceFactory
def EvgenSequenceFactory(sequence)
Definition: Sequences.py:18
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
AthSequencer
ClassName: AthSequencer.
Definition: AthSequencer.h:40
vtune_athena.format
format
Definition: vtune_athena.py:14
python.MainServicesConfig.OutputUsageIgnoreCfg
def OutputUsageIgnoreCfg(flags, algorithm)
Definition: MainServicesConfig.py:57
python.FPEAndCoreDumpConfig.FPEAndCoreDumpCfg
def FPEAndCoreDumpCfg(flags)
Definition: FPEAndCoreDumpConfig.py:11
python.PerfMonCompsConfig.PerfMonMTSvcCfg
def PerfMonMTSvcCfg(flags, **kwargs)
A minimal new-style configuration for PerfMonMTSvc.
Definition: PerfMonCompsConfig.py:10
dumpTruth.getName
getName
Definition: dumpTruth.py:34
python.MainServicesConfig.MessageSvcCfg
def MessageSvcCfg(flags)
Definition: MainServicesConfig.py:211
python.MainServicesConfig.MainEvgenServicesCfg
def MainEvgenServicesCfg(flags, LoopMgr="AthenaEventLoopMgr", withSequences=True)
Definition: MainServicesConfig.py:415
SGInputLoaderConfig.SGInputLoaderCfg
def SGInputLoaderCfg(flags, Load=None, **kwargs)
Definition: SGInputLoaderConfig.py:7
python.MainServicesConfig.addMainSequences
def addMainSequences(flags, cfg)
Definition: MainServicesConfig.py:242
python.MainServicesConfig.AthenaEventLoopMgrCfg
def AthenaEventLoopMgrCfg(flags)
Definition: MainServicesConfig.py:64
python.MainServicesConfig.addEvgenSequences
def addEvgenSequences(flags, cfg)
Definition: MainServicesConfig.py:299
GPT_ProfilerServiceConfig.GPT_ProfilerServiceCfg
def GPT_ProfilerServiceCfg(flags, **kwargs)
Definition: GPT_ProfilerServiceConfig.py:10
SQLiteDBSvcConfig.SQLiteDBSvcCfg
def SQLiteDBSvcCfg(flags, name="SQLiteDBSvc", dbPath=":memory:", **kwargs)
Definition: SQLiteDBSvcConfig.py:8
python.MainServicesConfig.MainServicesCfg
def MainServicesCfg(flags, LoopMgr='AthenaEventLoopMgr')
Definition: MainServicesConfig.py:310
Constants
some useful constants -------------------------------------------------—
python.McEventSelectorConfig.McEventSelectorCfg
def McEventSelectorCfg(flags, **kwargs)
Definition: McEventSelectorConfig.py:5
python.MainServicesConfig.AvalancheSchedulerSvcCfg
def AvalancheSchedulerSvcCfg(flags, **kwargs)
Definition: MainServicesConfig.py:25
python.MainServicesConfig.MPIHiveEventLoopMgrCfg
def MPIHiveEventLoopMgrCfg(flags)
Definition: MainServicesConfig.py:81
AthIncFirerAlg
Algorithm to fire given list of incidents on execute.
Definition: AthIncFirerAlg.h:23
python.ValkyrieConfig.ValgrindServiceCfg
def ValgrindServiceCfg(flags, **kwargs)
Definition: ValkyrieConfig.py:7
python.MainServicesConfig.AthenaMpEventLoopMgrCfg
def AthenaMpEventLoopMgrCfg(flags)
Definition: MainServicesConfig.py:159
python.OutputStreamSequencerSvcConfig.OutputStreamSequencerSvcCfg
def OutputStreamSequencerSvcCfg(flags, incidentName='', reportingOn=False, replaceRangeMode=False)
Definition: OutputStreamSequencerSvcConfig.py:6
python.MainServicesConfig.JobOptionsDumpCfg
def JobOptionsDumpCfg(flags, fileName="JobOptsConfig.txt")
Definition: MainServicesConfig.py:434
python.EventIdOverrideConfig.EvtIdModifierSvcCfg
def EvtIdModifierSvcCfg(flags, name="EvtIdModifierSvc", **kwargs)
Definition: EventIdOverrideConfig.py:140
python.MainServicesConfig.AthenaHiveEventLoopMgrCfg
def AthenaHiveEventLoopMgrCfg(flags)
Definition: MainServicesConfig.py:131
python.MainServicesConfig.AthenaMtesEventLoopMgrCfg
def AthenaMtesEventLoopMgrCfg(flags, mtEs=False, channel='')
Definition: MainServicesConfig.py:174
python.MainServicesConfig.MainServicesMiniCfg
def MainServicesMiniCfg(flags, loopMgr='AthenaEventLoopMgr', masterSequence='AthAlgSeq')
Definition: MainServicesConfig.py:7