00001
00002 '''
00003 A simple Python algorithm to test drawing in a TCanvas
00004
00005 Example:
00006
00007 nuwa.py -E EventLooper.Gui -m EventLooper.PlotAlg --raw-load=both --no-history -n 10 ~/daq.NoTag.0006291.Physics.SAB-AD2.SFO-1._0001.data
00008
00009
00010 '''
00011
00012 import GaudiPython as gp
00013 from DybPython.DybPythonAlg import DybPythonAlg
00014
00015 class plotter(DybPythonAlg):
00016 def __init__(self,name):
00017 DybPythonAlg.__init__(self,name)
00018 return
00019
00020 def initialize(self):
00021 status = DybPythonAlg.initialize(self)
00022 if status.isFailure(): return status
00023 import ROOT
00024 self.canvas = ROOT.TCanvas('plotalg_canvas','gaussian')
00025 self.histogram = ROOT.TH1D("plotalg_gaussian","gaussian",200,-10,10)
00026 self.histogram.Draw()
00027 return status
00028
00029 def execute(self):
00030 self.histogram.FillRandom("gaus")
00031 self.canvas.Modified()
00032 self.canvas.Update()
00033 return gp.SUCCESS
00034
00035 def finalize(self):
00036 status = DybPythonAlg.finalize(self)
00037 return status
00038
00039 pass
00040
00041 def run(app):
00042 alg = plotter("plotter")
00043 app.addAlgorithm(alg)
00044 return