3 A test for scheduling multiple sub-event contexts. 4 The main sequence has two steps of creating and running sub-events. 6 The ViewTester is an algorithm specifically designed to create sub-event 7 contexts, pass them to the scheduler, and report on the current context. 9 Seven instances of ViewTester are used as follows: 10 - Algorithm A1 creates two sub-event contexts 11 - Algorithms A2 and A3 run within the sub-event contexts 12 - Algorithm A4 creates two more sub-event contexts 13 - Algorithms A5 and A6 run within the new sub-event contexts 14 - Algorithm A7 runs in the whole event context, after the sub-events 18 from Configurables
import (HiveWhiteBoard, HiveSlimEventLoopMgr,
19 AvalancheSchedulerSvc, AlgResourcePool, CPUCruncher,
20 GaudiSequencer, Test__ViewTester)
44 SchedulerName=
"AvalancheSchedulerSvc", OutputLevel=DEBUG)
65 a1 = Test__ViewTester(
"A1")
66 a1.baseViewName =
'viewOne' 67 a1.viewNumber = viewsPerEvt
68 a1.viewNodeName =
'viewNodeOne' 70 a2 = Test__ViewTester(
"A2")
73 a3 = Test__ViewTester(
"A3")
76 a4 = Test__ViewTester(
"A4")
77 a4.baseViewName =
'viewTwo' 78 a4.viewNumber = viewsPerEvt
79 a4.viewNodeName =
'viewNodeTwo' 81 a5 = Test__ViewTester(
"A5")
84 a6 = Test__ViewTester(
"A6")
87 a7 = Test__ViewTester(
"A7")
90 for algo
in [a1, a2, a3, a4, a5, a6, a7]:
91 algo.Cardinality = cardinality
92 algo.OutputLevel = DEBUG
95 "viewNodeOne", Members=[a2, a3], Sequential=
False, OutputLevel=VERBOSE)
98 "viewNodeTwo", Members=[a5, a6], Sequential=
False, OutputLevel=VERBOSE)
102 Members=[a1, viewNodeOne, a4, viewNodeTwo, a7],
113 EventLoop=slimeventloopmgr,
114 TopAlg=[createViewSeq],
115 MessageSvcType=
"InertMessageSvc")
Sequencer for executing several algorithms, stopping when one is faulty.
The AlgResourcePool is a concrete implementation of the IAlgResourcePool interface.
The Application Manager class.