3 A test for issue 13 in gitlab. 4 Two different sets of sub-event contexts are created, and the 5 same algorithms (attached to a common control flow node) run in each 7 The ViewTester is an algorithm specifically designed to create sub-event 8 contexts, pass them to the scheduler, and report on the current context. 10 Five instances of ViewTester are used as follows: 11 - Algorithm A1 creates two sub-event contexts 12 - Algorithms A2 and A3 run within the sub-event contexts 13 - Algorithm A4 creates two more sub-event contexts 14 - Algorithms A2 and A3 run again, in the new contexts 15 - Algorithm A5 runs in the whole event context, after the sub-events 19 from Configurables
import (HiveWhiteBoard, HiveSlimEventLoopMgr,
20 AvalancheSchedulerSvc, AlgResourcePool, CPUCruncher,
21 GaudiSequencer, Test__ViewTester)
45 SchedulerName=
"AvalancheSchedulerSvc", OutputLevel=INFO)
66 a1 = Test__ViewTester(
"A1")
67 a1.baseViewName =
'viewOne' 68 a1.viewNumber = viewsPerEvt
69 a1.viewNodeName =
'viewNodeOne' 71 a2 = Test__ViewTester(
"A2")
74 a3 = Test__ViewTester(
"A3")
77 a4 = Test__ViewTester(
"A4")
78 a4.baseViewName =
'viewTwo' 79 a4.viewNumber = viewsPerEvt
80 a4.viewNodeName =
'viewNodeTwo' 82 a5 = Test__ViewTester(
"A5")
85 for algo
in [a1, a2, a3, a4, a5]:
86 algo.Cardinality = cardinality
87 algo.OutputLevel = INFO
90 "extraNode", Members=[a2, a3], Sequential=
True, OutputLevel=INFO)
93 "viewNodeOne", Members=[extraNode], Sequential=
False, OutputLevel=INFO)
96 "viewNodeTwo", Members=[extraNode], Sequential=
False, OutputLevel=INFO)
100 Members=[a1, viewNodeOne, a4, viewNodeTwo, a5],
111 EventLoop=slimeventloopmgr,
112 TopAlg=[createViewSeq],
113 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.