19 from Configurables
import HiveWhiteBoard, HiveSlimEventLoopMgr, AvalancheSchedulerSvc, CPUCruncher, AlgResourcePool, IncidentProcAlg, IncidentSvc, IncidentAsyncTestSvc, IncidentAsyncTestAlg, CPUCrunchSvc
20 from Configurables
import GaudiSequencer
22 msgFmt =
"% F%40W%S%4W%s%e%7W%R%T %0W%M"
24 msgSvc.Format = msgFmt
27 IncidentSvc(OutputLevel=DEBUG)
28 CPUCrunchSvc(shortCalib=
True)
36 whiteboard = HiveWhiteBoard(
"EventDataSvc", EventSlots=evtslots)
38 slimeventloopmgr = HiveSlimEventLoopMgr(OutputLevel=INFO)
40 scheduler = AvalancheSchedulerSvc(
41 ThreadPoolSize=algosInFlight, OutputLevel=DEBUG)
43 AlgResourcePool(OutputLevel=INFO)
48 EventLoopInitProcAlg = IncidentProcAlg(
49 "EventLoopInitProcessingAlg", OutputLevel=DEBUG)
50 EventLoopFinalProcAlg = IncidentProcAlg(
51 "EventLoopFinalProcessingAlg", OutputLevel=DEBUG)
53 AITestSvc1 = IncidentAsyncTestSvc(
54 "IncidentAwareService1",
58 'BeginEvent',
'EndEvent',
'BeginRun',
'EndRun',
'AbortEvent'
61 AITestSvc2 = IncidentAsyncTestSvc(
62 "IncidentAwareService2",
63 FileOffset=10000000 * 100,
64 EventMultiplier=1000 * 1000,
65 IncidentNames=[
'BeginEvent',
'EndEvent'],
67 AITestAlg1 = IncidentAsyncTestAlg(
68 "IncidentAwareTestAlg1",
69 ServiceName=
"IncidentAwareService1",
71 inpKeys=[
'/Event/a1'])
73 AITestAlg2 = IncidentAsyncTestAlg(
74 "IncidentAwareTestAlg2",
75 ServiceName=
"IncidentAwareService2",
77 inpKeys=[
'/Event/a2'])
79 FakeInput = CPUCruncher(
81 outKeys=[
'/Event/a1',
'/Event/a3',
'/Event/a4'],
85 Producer1 = CPUCruncher(
87 inpKeys=[
'/Event/a1',
'/Event/a3'],
88 outKeys=[
'/Event/a5',
'/Event/a6'])
90 Filter = CPUCruncher(
"Filter", inpKeys=[
'/Event/a4'])
92 Producer2 = CPUCruncher(
93 "Producer2", inpKeys=[
'/Event/a3'], outKeys=[
'/Event/a2'])
95 Filter2 = CPUCruncher(
"Filter2", inpKeys=[
'/Event/a2'])
97 sequence0 = GaudiSequencer(
"Sequence0")
98 sequence0.ModeOR =
False
99 sequence0.ShortCircuit =
False
100 sequence0.Members += [EventLoopInitProcAlg]
101 sequencex = GaudiSequencer(
"SequenceX")
102 sequencex.ModeOR =
False
103 sequencex.ShortCircuit =
False
104 sequencex.Members += [EventLoopFinalProcAlg]
105 sequence1 = GaudiSequencer(
"Sequence1")
106 sequence1.Members += [
107 FakeInput, Producer1, Filter, Producer2, AITestAlg1, AITestAlg2
109 sequence1.ModeOR =
False
110 sequence1.ShortCircuit =
False
111 sequence2 = GaudiSequencer(
"Sequence2")
112 sequence2.Members += [sequence0, sequence1, Filter2, sequencex]
117 ExtSvc=[whiteboard, AITestSvc1, AITestSvc2],
118 EventLoop=slimeventloopmgr,
120 MessageSvcType=
"InertMessageSvc")