Loading [MathJax]/extensions/tex2jax.js
The Gaudi Framework  v31r0 (aeb156f0)
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
AtlasMCRecoScenario.py
Go to the documentation of this file.
1 #!/usr/bin/env gaudirun.py
2 
3 from Gaudi.Configuration import *
4 from Configurables import HiveWhiteBoard, HiveSlimEventLoopMgr, AvalancheSchedulerSvc, AlgResourcePool, CPUCrunchSvc
5 
6 # convenience machinery for assembling custom graphs of algorithm precedence rules (w/ CPUCrunchers as algorithms)
7 from GaudiHive import precedence
8 
9 # metaconfig
10 evtslots = 1
11 evtMax = 1
12 algosInFlight = 4
13 
14 InertMessageSvc(OutputLevel=INFO)
15 
16 whiteboard = HiveWhiteBoard(
17  "EventDataSvc", EventSlots=evtslots, OutputLevel=INFO)
18 
19 slimeventloopmgr = HiveSlimEventLoopMgr(
20  SchedulerName="AvalancheSchedulerSvc", OutputLevel=DEBUG)
21 
22 scheduler = AvalancheSchedulerSvc(
23  ThreadPoolSize=algosInFlight, OutputLevel=DEBUG)
24 
25 AlgResourcePool(OutputLevel=DEBUG)
26 
27 CPUCrunchSvc(shortCalib=True)
28 
29 #timeValue = precedence.UniformTimeValue(avgRuntime=0.2)
30 timeValue = precedence.RealTimeValue(
31  path="atlas/mcreco/averageTiming.mcreco.TriggerOff.json", defaultTime=0.0)
32 ifIObound = precedence.UniformBooleanValue(False)
33 
34 sequencer = precedence.CruncherSequence(
35  timeValue,
36  ifIObound,
37  sleepFraction=0.0,
38  cfgPath="atlas/mcreco/cf.mcreco.TriggerOff.graphml",
39  dfgPath="atlas/mcreco/df.mcreco.TriggerOff.3rdEvent.graphml",
40  topSequencer='AthSequencer/AthMasterSeq').get()
41 
43  EvtMax=evtMax,
44  EvtSel='NONE',
45  ExtSvc=[whiteboard],
46  EventLoop=slimeventloopmgr,
47  TopAlg=[sequencer],
48  MessageSvcType="InertMessageSvc",
49  OutputLevel=DEBUG)
Thread safe extension to the standard MessageSvc.
The Application Manager class.