4 from Configurables
import GaudiExamplesCommonConf, CPUCruncher, HiveSlimEventLoopMgr, HiveWhiteBoard, InertMessageSvc, ForwardSchedulerSvc
12 "type" : "HiveReader",
13 "inputs" : ["ROOT File"],
14 "outputs" : ["DAQ/ODIN", "DAQ/RawEvent"
17 "runtimes_wall" : [0.05]
24 NUMBEROFEVENTSINFLIGHT = 1
25 NUMBEROFALGOSINFLIGHT = 100
32 NumberOfEvents = NUMBEROFEVENTS
33 NumberOfEventsInFlight = NUMBEROFEVENTSINFLIGHT
34 NumberOfAlgosInFlight = NUMBEROFALGOSINFLIGHT
35 NumberOfThreads = NUMBEROFTHREADS
36 CloneAlgos = CLONEALGOS
37 DumpQueues = DUMPQUEUES
45 "type" :
"HiveReader",
47 "outputs" : [
"/Event/DAQ/ODIN",
"/Event/DAQ/RawEvent"
50 "runtimes_wall" : [0.16]
53 "name" :
"BrunelInit",
55 "inputs" : [
"DAQ/ODIN",
"DAQ/RawEvent"],
56 "outputs" : [
"/Event/Rec/Status",
"/Event/Rec/Header"],
57 "runtimes_wall" : [0.183]
60 "name" :
"BrunelEventCount",
61 "type" :
"EventCountHisto",
64 "runtimes_wall" : [2.000000e-03]
67 "name" :
"HltDecReportsDecoder",
68 "type" :
"HltDecReportsDecoder",
69 "inputs" : [
"DAQ/RawEvent"],
70 "outputs" : [
"/Event/Hlt/DecReports"],
71 "runtimes_wall" : [2.3]
74 "name" :
"PrsFromRaw",
75 "type" :
"CaloDigitsFromRaw",
76 "inputs" : [
"DAQ/RawEvent"],
77 "outputs" : [
"/Event/Raw/Prs/Digits"],
78 "runtimes_wall" : [0.357]
82 "type" :
"CaloZSupAlg",
83 "inputs" : [
"DAQ/RawEvent"],
84 "outputs" : [
"/Event/Raw/Ecal/Digits"],
85 "runtimes_wall" : [0.750]
89 "type" :
"CaloZSupAlg",
90 "inputs" : [
"DAQ/RawEvent"],
91 "outputs" : [
"/Event/Raw/Hcal/Digits"],
92 "runtimes_wall" : [0.197]
95 "name" :
"L0DUFromRaw",
96 "type" :
"L0DUFromRawAlg",
97 "inputs" : [
"DAQ/RawEvent"],
98 "outputs" : [
"/Event/Trig/L0/L0DUReport"],
99 "runtimes_wall" : [0.293]
102 "name" :
"DecodeVeloClusters",
103 "type" :
"DecodeVeloRawBuffer",
104 "inputs" : [
"DAQ/RawEvent"],
105 "outputs" : [
"/Event/Raw/Velo/LiteClusters",
"/Event/Raw/Velo/Clusters"],
106 "runtimes_wall" : [1.095]
109 "name" :
"CreateTTClusters",
110 "type" :
"RawBankToSTClusterAlg",
111 "inputs" : [
"DAQ/ODIN",
"DAQ/RawEvent"],
112 "outputs" : [
"/Event/Raw/TT/Clusters",
"/Event/Rec/TT/Summary"],
113 "runtimes_wall" : [0.809]
116 "name" :
"CreateTTLiteClusters",
117 "type" :
"RawBankToSTLiteClusterAlg",
118 "inputs" : [
"DAQ/ODIN",
"DAQ/RawEvent"],
119 "outputs" : [
"/Event/Raw/TT/LiteClusters"],
120 "runtimes_wall" : [0.208]
123 "name" :
"CreateITClusters",
124 "type" :
"RawBankToSTClusterAlg",
125 "inputs" : [
"DAQ/ODIN",
"DAQ/RawEvent"],
126 "outputs" : [
"/Event/Raw/IT/Clusters",
"/Event/Rec/IT/Summary"],
127 "runtimes_wall" : [0.672]
130 "name" :
"CreateITLiteClusters",
131 "type" :
"RawBankToSTLiteClusterAlg",
132 "inputs" : [
"DAQ/ODIN",
"DAQ/RawEvent"],
133 "outputs" : [
"/Event/Raw/IT/LiteClusters"],
134 "runtimes_wall" : [0.177]
137 "name" :
"FastVeloTracking",
138 "type" :
"FastVeloTracking",
139 "inputs" : [
"Raw/Velo/LiteClusters"],
140 "outputs" : [
"/Event/Rec/Track/Velo"],
141 "runtimes_wall" : [4.3]
147 workflow = miniBruneljson
148 cpu_cruncher_algos = []
149 for algo
in workflow[
"algorithms"]:
150 theAvgRuntime=float(algo[
"runtimes_wall"][0]/1000.)
151 new_algo =
CPUCruncher(
"%s@%s" %(algo[
"name"],algo[
"type"]),
152 avgRuntime=theAvgRuntime,
153 varRuntime=theAvgRuntime*0.01,
154 DataInputs = algo[
"inputs"],
155 DataOutputs = algo[
"outputs"],
158 cpu_cruncher_algos.append(new_algo)
159 return cpu_cruncher_algos
170 whiteboard = HiveWhiteBoard(
"EventDataSvc", EventSlots = NumberOfEventsInFlight)
172 slimeventloopmgr = HiveSlimEventLoopMgr(OutputLevel = INFO)
174 scheduler = ForwardSchedulerSvc(MaxEventsInFlight = NumberOfEventsInFlight,
175 MaxAlgosInFlight = 100,
176 OutputLevel = WARNING)
180 app.TopAlg = crunchers
182 app.EvtMax = NumberOfEvents
183 app.EventLoop = slimeventloopmgr
184 app.ExtSvc =[whiteboard]
The Application Manager class.