The Gaudi Framework  v36r1 (3e2fb5a8)
DetectSCCinDF.py
Go to the documentation of this file.
1 #!/usr/bin/env gaudirun.py
2 
12 """
13 A test modeling a cycle in the DF realm.
14 """
15 
16 from Gaudi.Configuration import *
17 from Configurables import HiveWhiteBoard, HiveSlimEventLoopMgr, AvalancheSchedulerSvc, CPUCruncher, CPUCrunchSvc, PrecedenceSvc
18 
19 # metaconfig
20 evtMax = 1
21 evtslots = 1
22 algosInFlight = 1
23 
24 CPUCrunchSvc(shortCalib=True)
25 
26 PrecedenceSvc(OutputLevel=DEBUG)
27 
28 whiteboard = HiveWhiteBoard(
29  "EventDataSvc", EventSlots=evtslots, OutputLevel=INFO)
30 
31 slimeventloopmgr = HiveSlimEventLoopMgr(
32  SchedulerName="AvalancheSchedulerSvc", OutputLevel=INFO)
33 
34 AvalancheSchedulerSvc(ThreadPoolSize=algosInFlight)
35 
36 # Set up a data flow cycle ############
37 Alg1 = CPUCruncher(name="CycledAlg1")
38 Alg1.inpKeys = ["/Event/B", "/Event/F"]
39 Alg1.outKeys = ["/Event/C", "/Event/A"]
40 
41 Alg2 = CPUCruncher(name="CycledAlg2")
42 Alg2.inpKeys = ["/Event/C"]
43 Alg2.outKeys = ["/Event/D", "/Event/B"]
44 
45 Alg3 = CPUCruncher(name="CycledAlg3")
46 Alg3.inpKeys = ["/Event/D"]
47 Alg3.outKeys = ["/Event/F"]
48 
49 
50 Alg4 = CPUCruncher(name="Alg4")
51 Alg4.inpKeys = ["/Event/A"]
52 
53 Alg5 = CPUCruncher(name="Alg5")
54 Alg5.outKeys = ["/Event/E"]
55 
57  EvtMax=evtMax,
58  EvtSel='NONE',
59  ExtSvc=[whiteboard],
60  EventLoop=slimeventloopmgr,
61  TopAlg=[Alg1, Alg2, Alg3, Alg4, Alg5],
62  MessageSvcType="InertMessageSvc",
63  OutputLevel=INFO)
Gaudi.Configuration
Definition: Configuration.py:1
ApplicationMgr
Definition: ApplicationMgr.h:57