00001
00002
00003
00004
00005
00006
00007
00008
00009 from DybPython.DybPythonAlg import DybPythonAlg
00010 from GaudiPython import SUCCESS, FAILURE
00011 from GaudiPython import gbl
00012
00013
00014 TCanvas = gbl.TCanvas
00015 gbl.gStyle.SetPalette(1)
00016 gbl.gStyle.SetOptFit(1)
00017
00018
00019 class DrawPositionFigsAlg(DybPythonAlg):
00020 "Algorithm to draw figures from the position statistics file"
00021 def __init__(self,name):
00022 DybPythonAlg.__init__(self,name)
00023 return
00024
00025 def initialize(self):
00026 status = DybPythonAlg.initialize(self)
00027 if status.isFailure(): return status
00028 self.info("initializing")
00029
00030 return SUCCESS
00031
00032 def execute(self):
00033 self.info("executing")
00034
00035 return SUCCESS
00036
00037 def finalize(self):
00038 self.info("finalizing")
00039
00040
00041 canvas = TCanvas()
00042
00043 self.stats["/file0/position/reconZvsX"].Draw("colz")
00044 canvas.SaveAs("reconZvsX.png")
00045
00046 self.stats["/file0/position/reconZvsY"].Draw("colz")
00047 canvas.SaveAs("reconZvsY.png")
00048
00049 self.stats["/file0/position/reconYvsX"].Draw("colz")
00050 canvas.SaveAs("reconYvsX.png")
00051
00052 self.stats["/file0/position/reconZvsR"].Draw("colz")
00053 canvas.SaveAs("reconZvsR.png")
00054
00055 status = DybPythonAlg.finalize(self)
00056 return status
00057
00058
00059
00060
00061 def configure():
00062 from StatisticsSvc.StatisticsSvcConf import StatisticsSvc
00063 statsSvc = StatisticsSvc()
00064 statsSvc.Input ={"file0":"positionStats.root"}
00065 return
00066
00067 def run(app):
00068 '''
00069 Configure and add an algorithm to job
00070 '''
00071 app.ExtSvc += ["StatisticsSvc"]
00072 positionFigsAlg = DrawPositionFigsAlg("MyPositionFigs")
00073 app.addAlgorithm(positionFigsAlg)
00074 pass
00075