The Gaudi Framework  v36r1 (3e2fb5a8)
AtlasMCRecoScenario.py
Go to the documentation of this file.
1 #!/usr/bin/env gaudirun.py
2 
12 
13 from Gaudi.Configuration import *
14 from Configurables import HiveWhiteBoard, HiveSlimEventLoopMgr, AvalancheSchedulerSvc, AlgResourcePool, CPUCrunchSvc
15 
16 # convenience machinery for assembling custom graphs of algorithm precedence rules (w/ CPUCrunchers as algorithms)
17 from GaudiHive import precedence
18 
19 # metaconfig
20 evtslots = 1
21 evtMax = 1
22 algosInFlight = 4
23 threads = 4
24 
25 InertMessageSvc(OutputLevel=INFO)
26 
27 whiteboard = HiveWhiteBoard(
28  "EventDataSvc", EventSlots=evtslots, OutputLevel=INFO)
29 
30 slimeventloopmgr = HiveSlimEventLoopMgr(
31  SchedulerName="AvalancheSchedulerSvc", OutputLevel=DEBUG)
32 
33 scheduler = AvalancheSchedulerSvc(ThreadPoolSize=threads, OutputLevel=DEBUG)
34 
35 AlgResourcePool(OutputLevel=DEBUG)
36 
37 CPUCrunchSvc(shortCalib=True)
38 
39 #timeValue = precedence.UniformTimeValue(avgRuntime=0.2)
40 timeValue = precedence.RealTimeValue(
41  path="atlas/mcreco/averageTiming.mcreco.TriggerOff.json", defaultTime=0.0)
42 ifIObound = precedence.UniformBooleanValue(False)
43 
44 sequencer = precedence.CruncherSequence(
45  timeValue,
46  ifIObound,
47  sleepFraction=0.0,
48  cfgPath="atlas/mcreco/cf.mcreco.TriggerOff.graphml",
49  dfgPath="atlas/mcreco/df.mcreco.TriggerOff.3rdEvent.graphml",
50  topSequencer='AthSequencer/AthMasterSeq',
51  cardinality=algosInFlight).get()
52 
54  EvtMax=evtMax,
55  EvtSel='NONE',
56  ExtSvc=[whiteboard],
57  EventLoop=slimeventloopmgr,
58  TopAlg=[sequencer],
59  MessageSvcType="InertMessageSvc",
60  OutputLevel=DEBUG)
InertMessageSvc
Definition: InertMessageSvc.h:36
Gaudi::Functional::details::get
auto get(const Handle &handle, const Algo &, const EventContext &) -> decltype(details::deref(handle.get()))
Definition: FunctionalDetails.h:391
Gaudi.Configuration
Definition: Configuration.py:1
ApplicationMgr
Definition: ApplicationMgr.h:57