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 DrawEnergyFigsAlg(DybPythonAlg):
00020 "Algorithm to draw figures from the energy 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 self.stats["/file0/energy/genEnergy"].Draw()
00043 canvas.SaveAs("genEnergy.png")
00044
00045 self.stats["/file0/energy/genKineticEnergy"].Draw()
00046 canvas.SaveAs("genKineticEnergy.png")
00047
00048 self.stats["/file0/energy/simScintEnergy"].Draw()
00049 canvas.SaveAs("simScintEnergy.png")
00050
00051 self.stats["/file0/energy/simQuenchedEnergy"].Draw()
00052 canvas.SaveAs("simQuenchedEnergy.png")
00053
00054 self.stats["/file0/energy/simQuenching"].Draw("colz")
00055 canvas.SaveAs("simQuenching.png")
00056
00057 self.stats["/file0/energy/simHits"].Draw()
00058 canvas.SaveAs("simHits.png")
00059
00060 self.stats["/file0/energy/simHitsVsQE"].Draw("colz")
00061 canvas.SaveAs("simHitsVsQE.png")
00062
00063 self.stats["/file0/energy/adcSumVsSimHits"].Draw("colz")
00064 canvas.SaveAs("adcSumVsSimHits.png")
00065
00066 self.stats["/file0/energy/calibAdcSum"].Draw()
00067 canvas.SaveAs("calibAdcSum.png")
00068
00069 self.stats["/file0/energy/calibAdcSumVsSimHits"].Draw("colz")
00070 canvas.SaveAs("calibAdcSumVsSimHits.png")
00071
00072 self.stats["/file0/energy/reconEnergy"].Draw()
00073 self.stats["/file0/energy/reconEnergy"].Fit("gaus","","",7.0,10.0)
00074 canvas.SaveAs("reconEnergy.png")
00075
00076 self.stats["/file0/energy/calibAdcSumVsReconEnergy"].Draw("colz")
00077 canvas.SaveAs("calibAdcSumVsReconEnergy.png")
00078
00079 self.stats["/file0/energy/reconEnergyVsQE"].Draw("colz")
00080 canvas.SaveAs("reconEnergyVsQE.png")
00081
00082 status = DybPythonAlg.finalize(self)
00083 return status
00084
00085
00086
00087
00088 def configure():
00089 from StatisticsSvc.StatisticsSvcConf import StatisticsSvc
00090 statsSvc = StatisticsSvc()
00091 statsSvc.Input ={"file0":"energyStats.root"}
00092 return
00093
00094 def run(app):
00095 '''
00096 Configure and add an algorithm to job
00097 '''
00098 app.ExtSvc += ["StatisticsSvc"]
00099 energyFigsAlg = DrawEnergyFigsAlg("MyEnergyFigs")
00100 app.addAlgorithm(energyFigsAlg)
00101 pass
00102