The Gaudi Framework  v33r1 (b1225454)
AtlasMCRecoFullPrecedenceDump.py
Go to the documentation of this file.
1 #!/usr/bin/env gaudirun.py
2 
12 
13 from Gaudi.Configuration import *
14 from Configurables import (HiveWhiteBoard, HiveSlimEventLoopMgr,
15  AvalancheSchedulerSvc, PrecedenceSvc, TimelineSvc)
16 
17 # convenience machinery for assembling custom graphs of algorithm
18 # precedence rules (w/ CPUCrunchers as algorithms)
19 from GaudiHive import precedence
20 
21 # metaconfig
22 evtslots = 1
23 evtMax = 1
24 algosInFlight = 1
25 enableTimeline = True
26 
27 InertMessageSvc(OutputLevel=INFO)
28 
29 
33  DumpPrecedenceRules=True, DumpPrecedenceTrace=True, OutputLevel=DEBUG)
34 TimelineSvc(RecordTimeline=enableTimeline, OutputLevel=DEBUG)
35 
36 
37 whiteboard = HiveWhiteBoard(
38  "EventDataSvc", EventSlots=evtslots, OutputLevel=INFO)
39 
40 slimeventloopmgr = HiveSlimEventLoopMgr(
41  SchedulerName="AvalancheSchedulerSvc", OutputLevel=DEBUG)
42 
44  ThreadPoolSize=algosInFlight, OutputLevel=DEBUG)
45 
46 timeValue = precedence.RealTimeValue(
47  path="atlas/mcreco/averageTiming.mcreco.TriggerOff.json", defaultTime=0.0)
48 ifIObound = precedence.UniformBooleanValue(False)
49 
50 sequencer = precedence.CruncherSequence(
51  timeValue,
52  ifIObound,
53  sleepFraction=0.0,
54  cfgPath="atlas/mcreco/cf.mcreco.TriggerOff.graphml",
55  dfgPath="atlas/mcreco/df.mcreco.TriggerOff.3rdEvent.graphml",
56  topSequencer='AthSequencer/AthMasterSeq',
57  timeline=enableTimeline).get()
58 
60  EvtMax=evtMax,
61  EvtSel='NONE',
62  ExtSvc=[whiteboard],
63  EventLoop=slimeventloopmgr,
64  TopAlg=[sequencer],
65  MessageSvcType="InertMessageSvc",
66  OutputLevel=INFO)
Thread safe extension to the standard MessageSvc.
A service to resolve the task execution precedence.
Definition: PrecedenceSvc.h:31
auto get(const Handle &handle, const Algo &, const EventContext &) -> decltype(details::deref(handle.get()))
Data service base class.
The Application Manager class.