The Gaudi Framework
master (a36dfcab)
Toggle main menu visibility
Loading...
Searching...
No Matches
ModelDFAmbiguity.py
Go to the documentation of this file.
1
#!/usr/bin/env gaudirun.py
2
12
"""
13
A test modeling a production with subsequent modification of a data object. '/Event/B' experiences a conditional modification,
14
while '/Event/A' - an unconditional one:
15
(C): '/Event/B' <---- | UpdaterAlg3 (C) | ProducerAlg2 (C) |
16
(U): '/Event/A' <---- | UpdaterAlg2 (U) | ProducerAlg1 (C) | UpdaterAlg4 (U) | UpdaterAlg1 (C) |
17
"""
18
19
from
Configurables
import
(
20
AvalancheSchedulerSvc,
21
CPUCruncher,
22
CPUCrunchSvc,
23
HiveSlimEventLoopMgr,
24
HiveWhiteBoard,
25
PrecedenceSvc,
26
)
27
from
Gaudi.Configuration
import
*
28
29
# metaconfig
30
evtMax = 1
31
evtslots = 1
32
algosInFlight = 1
33
34
CPUCrunchSvc
(shortCalib=
True
)
35
36
PrecedenceSvc
(OutputLevel=DEBUG)
37
38
whiteboard =
HiveWhiteBoard
(
"EventDataSvc"
, EventSlots=evtslots, OutputLevel=INFO)
39
40
slimeventloopmgr =
HiveSlimEventLoopMgr
(
41
SchedulerName=
"AvalancheSchedulerSvc"
, OutputLevel=INFO
42
)
43
44
AvalancheSchedulerSvc
(ThreadPoolSize=algosInFlight)
45
46
producerAlg1 =
CPUCruncher
(name=
"ProducerAlg1"
)
47
producerAlg1.outKeys = [
"/Event/A"
]
48
49
updaterAlg1 =
CPUCruncher
(name=
"UpdaterAlg1"
)
50
updaterAlg1.outKeys = [
"/Event/A"
]
51
52
updaterAlg2 =
CPUCruncher
(name=
"UpdaterAlg2"
)
53
updaterAlg2.outKeys = [
"/Event/A"
]
54
55
producerAlg2 =
CPUCruncher
(name=
"ProducerAlg2"
)
56
producerAlg2.inpKeys = [
"/Event/A"
]
57
producerAlg2.outKeys = [
"/Event/B"
]
58
59
updaterAlg3 =
CPUCruncher
(name=
"UpdaterAlg3"
)
60
updaterAlg3.outKeys = [
"/Event/B"
]
61
62
updaterAlg4 =
CPUCruncher
(name=
"UpdaterAlg4"
)
63
updaterAlg4.outKeys = [
"/Event/A"
]
64
65
branch2 = Gaudi__Sequencer(
"ConditionalBranch"
, Sequential=
True
, ShortCircuit=
True
)
66
branch2.Members = [producerAlg1, updaterAlg1, producerAlg2, updaterAlg3]
67
68
branch = Gaudi__Sequencer(
"UnConditionalBranch"
, ShortCircuit=
False
)
69
branch.Members = [branch2, updaterAlg2, updaterAlg4]
70
71
ApplicationMgr
(
72
EvtMax=evtMax,
73
EvtSel=
"NONE"
,
74
ExtSvc=[whiteboard],
75
EventLoop=slimeventloopmgr,
76
TopAlg=[branch],
77
MessageSvcType=
"InertMessageSvc"
,
78
OutputLevel=INFO,
79
)
ApplicationMgr
The Application Manager class.
Definition
ApplicationMgr.h:54
AvalancheSchedulerSvc
Definition
AvalancheSchedulerSvc.h:114
CPUCrunchSvc
Definition
CPUCrunchSvc.h:22
CPUCruncher
A class that implements a search for prime numbers.
Definition
CPUCruncher.h:30
HiveSlimEventLoopMgr
Definition
HiveSlimEventLoopMgr.h:31
HiveWhiteBoard
Data service base class.
Definition
HiveWhiteBoard.cpp:129
PrecedenceSvc
A service to resolve the task execution precedence.
Definition
PrecedenceSvc.h:30
Gaudi.Configuration
Definition
Configuration.py:1
GaudiHive
options
ModelDFAmbiguity.py
Generated on
for The Gaudi Framework by
1.17.0