Forked from
Gaudi / Gaudi
2855 commits behind the upstream repository.
-
Marco Clemencic authoredMarco Clemencic authored
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
AlgTools.py 2.08 KiB
###############################################################
# Job options file
# ==============================================================
from Gaudi.Configuration import *
from Configurables import MyAlgorithm, MyTool, MyGaudiAlgorithm
from Configurables import GaudiExamplesCommonConf
GaudiExamplesCommonConf()
myalg = MyAlgorithm('MyAlg')
myalg.addTool(MyTool(Int=101,
Double=101.1e+10,
String="hundred one",
Bool=False))
gtool = MyTool('MyTool',
Int=201,
Double=201.1e+10,
String="two hundred and one",
Bool=True,
OutputLevel=INFO)
tool_conf1 = MyTool('MyTool_conf1',
Int=1,
Double=2,
String="three",
Bool=True,
OutputLevel=INFO)
tool_conf2 = MyTool('MyTool_conf2',
Int=10,
Double=20,
String="xyz",
Bool=False,
OutputLevel=INFO)
myToolWithName = myalg.addTool(tool_conf2, "ToolWithName")
myalg.ToolWithName.String = "xyz"
assert myToolWithName.String == "xyz"
assert myalg.ToolWithName == myToolWithName
myToolWithName.String = "abc"
mygalg = MyGaudiAlgorithm('MyGaudiAlg')
mygalg.PrivToolHandle.String = "Is a private tool"
pubtool = MyTool('TestPubToolHandle', String="Is a public tool")
mygalg.PubToolHandle = pubtool
# disable a ToolHandle
mygalg.InvalidToolHandle = ""
ApplicationMgr(EvtMax=10,
EvtSel='NONE',
HistogramPersistency='NONE',
TopAlg=[myalg, mygalg])
# --------------------------------------------------------------
# Test circular tool dependencies (by Chris Jones)
# --------------------------------------------------------------
from Configurables import TestToolAlg, TestTool
tA = TestTool('ToolA', Tools=['TestTool/ToolB'], OutputLevel=DEBUG)
tB = TestTool('ToolB', Tools=['TestTool/ToolA'], OutputLevel=DEBUG)
testalg = TestToolAlg(Tools=['TestTool/ToolA'])
ApplicationMgr().TopAlg += [testalg]