ATLAS Offline Software
Loading...
Searching...
No Matches
ToolTest.py
Go to the documentation of this file.
6
7# load dict for MyCutClass
8import cppyy
9cppyy.load_library("libPyAnalysisExamplesDict")
10
11
12from AthenaCommon.AlgSequence import AlgSequence
13topSequence = AlgSequence()
14
15# add my Algorithm
16from PyAnalysisExamples.PyAnalysisExamplesConf import AthPyEx__MySelectionAlg
17topSequence += AthPyEx__MySelectionAlg("MySelectionAlg")
18
19# add my Tool
20from PyAnalysisExamples.PyAnalysisExamplesConf import AthPyEx__MyTool
21from AthenaCommon.AppMgr import ToolSvc
22ToolSvc += AthPyEx__MyTool("MyTool")
23
24# init application mgr
25theApp.initialize()
26
27# retrieve AlgTool
28tool = theApp.toolsvc().retrieve(ToolSvc.MyTool.getFullJobOptName())._itool
29tool.setPython(tool)
30
31# set proxy
33 ptr = cppyy.libPyROOT.MakeNullPointer(g.AthPyEx.MyObj)
34 proxy = g.PyReverseProxy.getProxy("MyObj_Proxy")
35 proxy.getObj(ptr)
36 return ptr
37proxy = g.PyReverseProxy.getProxy("MyObj_Proxy")
38proxy.setFunc(convFunc)
39
40counter=567
41# callback
42def py_execute(obj):
43 print ("PyExecute begin")
44 print (" name : %s" % obj.name())
45 print (" A : %s" % obj.getA())
46 print ("setA float in Python")
47 obj.setA(1.22)
48 print ("setA int in Python" )
49 global counter
50 obj.setA(counter)
51 counter += 1
52 print ("PyExecute end" )
53 return True
54tool.py_execute = py_execute
55
56
57# run 1 event
58theApp.nextEvent()
59
60# set different parameter to AlgTool
61tool.setA(50)
62
63# run 1 event
64theApp.nextEvent()
65
66
convFunc()
Definition ToolTest.py:32