All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
ForwardSchedulerControlFlowTest.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, ForwardSchedulerSvc, CPUCruncher,AlgResourcePool
5 from Configurables import GaudiSequencer
6 
7 InertMessageSvc(OutputLevel=INFO)
8 
9 # metaconfig
10 evtslots = 1
11 evtMax = 20
12 cardinality=10
13 algosInFlight=10
14 
15 whiteboard = HiveWhiteBoard("EventDataSvc",
16  EventSlots = evtslots)
17 
18 slimeventloopmgr = HiveSlimEventLoopMgr(OutputLevel=INFO)
19 
20 scheduler = ForwardSchedulerSvc(MaxEventsInFlight = evtslots,
21  MaxAlgosInFlight = algosInFlight,
22  OutputLevel=DEBUG)
23 
24 AlgResourcePool(OutputLevel=DEBUG)
25 
26 FakeInput = CPUCruncher("FakeInput",
27  DataOutputs = ['/Event/DAQ/ODIN','/Event/DAQ/RawEvent','/Event/Hlt/LumiSummary'],
28  shortCalib=True,
29  varRuntime=.1,
30  avgRuntime=.1 )
31 
32 BrunelInit = CPUCruncher("BrunelInit",
33  DataInputs = ['/Event/DAQ/ODIN','/Event/DAQ/RawEvent'],
34  DataOutputs = ['/Event/Rec/Status', '/Event/Rec/Header'],
35  shortCalib=True)
36 
37 PhysFilter = CPUCruncher("PhysFilter",
38  shortCalib=True,
39  DataInputs = ['/Event/Hlt/LumiSummary'])
40 
41 HltDecReportsDecoder = CPUCruncher("HltDecReportsDecoder",
42  shortCalib=True,
43  DataInputs = ['/Event/DAQ/RawEvent'],
44  DataOutputs = ['/Event/Hlt/DecReports'])
45 
46 HltErrorFilter = CPUCruncher("HltErrorFilter",
47  shortCalib=True,
48  DataInputs = ['/Event/Hlt/DecReports'])
49 
50 sequence1 = GaudiSequencer("Sequence1")
51 sequence1.Members += [FakeInput,BrunelInit,PhysFilter,HltDecReportsDecoder]
52 sequence1.ModeOR = False
53 sequence1.ShortCircuit = False # whether the evaluation is lazy or not!
54 sequence2 = GaudiSequencer("Sequence2")
55 sequence2.Members += [sequence1, HltErrorFilter]
56 
57 
58 ApplicationMgr( EvtMax = evtMax,
59  EvtSel = 'NONE',
60  ExtSvc =[whiteboard],
61  EventLoop = slimeventloopmgr,
62  TopAlg = [sequence2],
63  MessageSvcType="InertMessageSvc")
Thread safe extension to the standard MessageSvc.
The Application Manager class.