| The Gaudi Framework v32r1 (f65d50dc)

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
42 ApplicationMgr(
43 EvtMax=evtMax,
44 EvtSel='NONE',
45 ExtSvc=[whiteboard],
46 EventLoop=slimeventloopmgr,
47 TopAlg=[sequencer],
48 MessageSvcType="InertMessageSvc",
49 OutputLevel=DEBUG)
InertMessageSvc
Thread safe extension to the standard MessageSvc.
Definition: InertMessageSvc.h:26
Gaudi.Configuration
Definition: Configuration.py:1
ApplicationMgr
The Application Manager class.
Definition: ApplicationMgr.h:45
Gaudi::Functional::details::get
auto get(const Handle &handle, const Algo &, const EventContext &) -> decltype(details::deref(handle.get()))
Definition: FunctionalDetails.h:332