The Gaudi Framework  v28r3 (cc1cf868)
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(SchedulerName = "AvalancheSchedulerSvc", OutputLevel=DEBUG)
22 
23 scheduler = AvalancheSchedulerSvc(ThreadPoolSize = algosInFlight,
24  OutputLevel = DEBUG,
25  #Optimizer = "DRE",
26  PreemptiveIOBoundTasks = False,
27  DumpIntraEventDynamics = False)
28 
29 AlgResourcePool(OutputLevel = DEBUG)
30 
31 #timeValue = precedence.UniformTimeValue(algoAvgTime=0.2)
32 timeValue = precedence.RealTimeValue(path = "atlas/mcreco/averageTiming.mcreco.TriggerOff.json",
33  defaultTime = 0.0)
34 ifIObound = precedence.UniformBooleanValue(False)
35 #ifIObound = precedence.RndBiased10BooleanValue()
36 
37 sequencer = precedence.CruncherSequence(timeValue, ifIObound, sleepFraction=0.0,
38  cfgPath = "atlas/mcreco/cf.mcreco.TriggerOff.graphml",
39  dfgPath = "atlas/mcreco/df.mcreco.TriggerOff.3rdEvent.graphml",
40  topSequencer = 'AthSequencer/AthMasterSeq').get()
41 
42 ApplicationMgr( EvtMax = evtMax,
43  EvtSel = 'NONE',
44  ExtSvc = [whiteboard],
45  EventLoop = slimeventloopmgr,
46  TopAlg = [sequencer],
47  MessageSvcType = "InertMessageSvc",
48  OutputLevel = DEBUG)
Thread safe extension to the standard MessageSvc.
The Application Manager class.