| The Gaudi Framework v27r1

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

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")
InertMessageSvc
Thread safe extension to the standard MessageSvc.
Definition: InertMessageSvc.h:26
Gaudi.Configuration
Definition: Configuration.py:1
ApplicationMgr
The Application Manager class.
Definition: ApplicationMgr.h:46
CPUCruncher
Definition: CPUCruncher.py:1