The Gaudi Framework  v30r3 (a5ef0a68)
AutoLoadUnmetDataInputs.py
Go to the documentation of this file.
1 #!/usr/bin/env gaudirun.py
2 
3 """
4 Find and attribute unmet data inputs as outputs to a Data Loader algorithm.
5 """
6 
7 from Gaudi.Configuration import *
8 from Configurables import HiveWhiteBoard, HiveSlimEventLoopMgr, AvalancheSchedulerSvc, CPUCruncher
9 
10 # metaconfig
11 evtslots = 1
12 evtMax = 3
13 algosInFlight = 1
14 
15 
16 whiteboard = HiveWhiteBoard("EventDataSvc",
17  EventSlots=evtslots,
18  OutputLevel=INFO)
19 
20 slimeventloopmgr = HiveSlimEventLoopMgr(SchedulerName="AvalancheSchedulerSvc")
21 
22 AvalancheSchedulerSvc(ThreadPoolSize=algosInFlight,
23  CheckDependencies=True,
24  DataLoaderAlg="AlgA")
25 
26 # Assemble the data flow graph
27 a1 = CPUCruncher("AlgA", Loader=True, OutputLevel=VERBOSE)
28 
29 a2 = CPUCruncher("AlgB", OutputLevel=VERBOSE)
30 a2.inpKeys = ['/Event/A1']
31 
32 a3 = CPUCruncher("AlgC", OutputLevel=VERBOSE)
33 a3.inpKeys = ['/Event/A2']
34 
35 for a in [a1, a2, a3]:
36  a.shortCalib = True
37  a.avgRuntime = .01
38 
39 
40 ApplicationMgr(EvtMax=evtMax,
41  EvtSel='NONE',
42  ExtSvc=[whiteboard],
43  EventLoop=slimeventloopmgr,
44  TopAlg=[a1, a2, a3],
45  MessageSvcType="InertMessageSvc",
46  OutputLevel=DEBUG)
The Application Manager class.