The Gaudi Framework  v29r5 (37229091)
AtlasMCRecoFullPrecedenceDump.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,
5  AvalancheSchedulerSvc, PrecedenceSvc, TimelineSvc)
6 
7 # convenience machinery for assembling custom graphs of algorithm
8 # precedence rules (w/ CPUCrunchers as algorithms)
9 from GaudiHive import precedence
10 
11 # metaconfig
12 evtslots = 1
13 evtMax = 1
14 algosInFlight = 1
15 enableTimeline = True
16 
17 
18 InertMessageSvc(OutputLevel=INFO)
19 
20 ##########################################################################
21 # test the task precedence rules and trace dumping mechanisms ############
22 ##########################################################################
23 PrecedenceSvc(DumpPrecedenceRules=True,
24  DumpPrecedenceTrace=True,
25  OutputLevel=DEBUG)
26 TimelineSvc(RecordTimeline=enableTimeline,
27  OutputLevel=DEBUG)
28 ##########################################################################
29 
30 whiteboard = HiveWhiteBoard("EventDataSvc",
31  EventSlots=evtslots,
32  OutputLevel=INFO)
33 
34 slimeventloopmgr = HiveSlimEventLoopMgr(SchedulerName="AvalancheSchedulerSvc",
35  OutputLevel=DEBUG)
36 
37 scheduler = AvalancheSchedulerSvc(ThreadPoolSize=algosInFlight,
38  OutputLevel=DEBUG)
39 
40 
41 timeValue = precedence.RealTimeValue(path="atlas/mcreco/averageTiming.mcreco.TriggerOff.json",
42  defaultTime=0.0)
43 ifIObound = precedence.UniformBooleanValue(False)
44 
45 sequencer = precedence.CruncherSequence(timeValue, ifIObound, sleepFraction=0.0,
46  cfgPath="atlas/mcreco/cf.mcreco.TriggerOff.graphml",
47  dfgPath="atlas/mcreco/df.mcreco.TriggerOff.3rdEvent.graphml",
48  topSequencer='AthSequencer/AthMasterSeq',
49  timeline=enableTimeline).get()
50 
51 ApplicationMgr(EvtMax=evtMax,
52  EvtSel='NONE',
53  ExtSvc=[whiteboard],
54  EventLoop=slimeventloopmgr,
55  TopAlg=[sequencer],
56  MessageSvcType="InertMessageSvc",
57  OutputLevel=DEBUG)
Thread safe extension to the standard MessageSvc.
A service to resolve the task execution precedence.
Definition: PrecedenceSvc.h:21
Data service base class.
The Application Manager class.