The Gaudi Framework  v29r0 (ff2e7097)
AtlasMCRecoScenario.py
Go to the documentation of this file.
1 #!/usr/bin/env gaudirun.py
2 
3 from Gaudi.Configuration import *
4 from Configurables import HiveWhiteBoard, HiveSlimEventLoopMgr, AvalancheSchedulerSvc, AlgResourcePool
5 
6 # convenience machinery for assembling custom graphs of algorithm precedence rules (w/ CPUCrunchers as algorithms)
7 from GaudiHive import precedence
8 
9 # metaconfig
10 evtslots = 1
11 evtMax = 1
12 algosInFlight = 4
13 
14 
15 InertMessageSvc(OutputLevel=INFO)
16 
17 whiteboard = HiveWhiteBoard("EventDataSvc",
18  EventSlots=evtslots,
19  OutputLevel=INFO)
20 
21 slimeventloopmgr = HiveSlimEventLoopMgr(
22  SchedulerName="AvalancheSchedulerSvc", OutputLevel=DEBUG)
23 
24 scheduler = AvalancheSchedulerSvc(ThreadPoolSize=algosInFlight,
25  OutputLevel=DEBUG,
26  #Optimizer = "DRE",
27  PreemptiveIOBoundTasks=False,
28  DumpIntraEventDynamics=False)
29 
30 AlgResourcePool(OutputLevel=DEBUG)
31 
32 #timeValue = precedence.UniformTimeValue(algoAvgTime=0.2)
33 timeValue = precedence.RealTimeValue(path="atlas/mcreco/averageTiming.mcreco.TriggerOff.json",
34  defaultTime=0.0)
35 ifIObound = precedence.UniformBooleanValue(False)
36 #ifIObound = precedence.RndBiased10BooleanValue()
37 
38 sequencer = precedence.CruncherSequence(timeValue, ifIObound, sleepFraction=0.0,
39  cfgPath="atlas/mcreco/cf.mcreco.TriggerOff.graphml",
40  dfgPath="atlas/mcreco/df.mcreco.TriggerOff.3rdEvent.graphml",
41  topSequencer='AthSequencer/AthMasterSeq').get()
42 
43 ApplicationMgr(EvtMax=evtMax,
44  EvtSel='NONE',
45  ExtSvc=[whiteboard],
46  EventLoop=slimeventloopmgr,
47  TopAlg=[sequencer],
48  MessageSvcType="InertMessageSvc",
49  OutputLevel=DEBUG)
Thread safe extension to the standard MessageSvc.
The Application Manager class.