import ROOT,glob,math,argparse,sys #sys.path.append('$PANDAPATH/macro/tpc/FOPI/mberger') #sys.path.append('/home/mberger/fopiroot/fopiroot_dev/macro/tpc/FOPI/mberger') from anaFile import anaFile from functions import * parser=argparse.ArgumentParser(description="plot the McResX vs z graph") parser.add_argument('anafiles',help='the list of ana files to process',type=str,nargs='+') parser.add_argument('--hlp',help='print help',action='store_true') parser.add_argument('--pdir',help='the picture print directory',type=str,default="not") parser.add_argument('--titles',help='the titles to plot in legend and canvas for the files', type=str,nargs='+',default=None) args=parser.parse_args() ROOT.gROOT.ProcessLine(".x rootlogon.C") ROOT.gROOT.ProcessLine('gStyle->SetPalette(1)') ROOT.gROOT.ProcessLine('gROOT->SetStyle("Plain")') if args.hlp: parser.print_help() exit(0) if args.titles==None: args.titles=[] for i in range(len(args.anafiles)): args.titles.append("no title given") rfiles=[] Histos_hchi=[] Histos_hMcResX=[] Histos_hdigipercm=[] Histos_hclpercm=[] Histos_htrklength=[] Histos_hclpertrk=[] Histos_hdigipertrk=[] Histos_hClsize2D=[] Histos_hClsize3D=[] #Histos_holen for ifile in range(len(args.anafiles)): rfiles.append(anaFile(args.anafiles[ifile])) Histos_hMcResX.append(rfiles[-1].getMcHXres()) Histos_hdigipercm.append(rfiles[-1].getHDigipercm()) Histos_hclpercm.append(rfiles[-1].getHClpercm()) Histos_htrklength.append(rfiles[-1].getHTracklength()) Histos_hclpertrk.append(rfiles[-1].getHClpertrk()) Histos_hdigipertrk.append(rfiles[-1].getHDigipertrk()) Histos_hClsize2D.append(rfiles[-1].getHClsize2D()) Histos_hClsize3D.append(rfiles[-1].getHClsize3D()) Histos_hchi.append(rfiles[-1].getHChi2()) hclpertrk = rfiles[-1].getHist("hclusterpertrack") hclpercm = rfiles[-1].getHist("hclusterpercm") hdigipercm = rfiles[-1].getHist("hdigipercm") hcldist = rfiles[-1].getHist("hcldist") hcldistvsz= rfiles[-1].getHist("hcldistz") hcs2DvsZ = rfiles[-1].getHist("hclusterSize2DVsZ") hcs3DvsZ = rfiles[-1].getHist("hclusterSize3DVsZ") hchindf=rfiles[-1].getHist("hchi2cdf") hclpercmvsz=rfiles[-1].getHist("hclusterpercmVsZ") hdigipercmvsz=rfiles[-1].getHist("hdigipercmZ") #Canvas erzeugen c1 = ROOT.TCanvas("c1", "Plot1", 1000,700) c2 = ROOT.TCanvas("c2", "Plot2", 1000,700) c3 = ROOT.TCanvas("c3", "Plot3", 1000,700) c4 = ROOT.TCanvas("c4", "Plot4", 1000,700) c5 = ROOT.TCanvas("c5", "Plot5", 1000,700) c6 = ROOT.TCanvas("c6", "Plot6", 1000,700) c7 = ROOT.TCanvas("c7", "Plot7", 1000,700) c8 = ROOT.TCanvas("c8", "Plot8", 1000,700) c9 = ROOT.TCanvas("c9", "Plot9", 700,1000) c10 = ROOT.TCanvas("c10", "Plot10", 700,1000) c11 = ROOT.TCanvas("c11", "Plot11", 700,1000) c12 = ROOT.TCanvas("c12", "Plot12", 700,1000) c13 = ROOT.TCanvas("c13", "Plot13", 700,1000) c14 = ROOT.TCanvas("c14", "Plot14", 1000,700) c1.Divide(3,2) c2.Divide(3,2) c3.Divide(3,2) c4.Divide(3,2) c5.Divide(3,2) c6.Divide(3,2) c7.Divide(3,2) c8.Divide(3,2) c9.Divide(1,2) c10.Divide(1,2) c11.Divide(1,2) c12.Divide(1,2) c13.Divide(1,2) c14.Divide(3,2) hclpertrk.GetXaxis().SetTitle("Cluster per track") hclpertrk.GetYaxis().SetTitle("count") hclpercm.GetXaxis().SetTitle("Cluster per cm") hclpercm.GetYaxis().SetTitle("count") hdigipercm.GetXaxis().SetTitle("Digi per cm") hdigipercm.GetYaxis().SetTitle("count") hcldist.GetXaxis().SetTitle("Distance") hcldist.GetYaxis().SetTitle("count") hcldistvsz.GetXaxis().SetTitle("z-pos [cm]") hcldistvsz.GetYaxis().SetTitle("distance [cm]") hcs2DvsZ.GetXaxis().SetTitle("z-pos [cm]") hcs2DvsZ.GetYaxis().SetTitle("Clustersize 2D [cm]") hcs3DvsZ.GetXaxis().SetTitle("z-pos [cm]") hcs3DvsZ.GetYaxis().SetTitle("Clustersize 3D") hchindf.GetXaxis().SetTitle("chi2/ndf") hchindf.GetYaxis().SetTitle("count") hclpercmvsz.GetXaxis().SetTitle("z-pos [cm]") hclpercmvsz.GetYaxis().SetTitle("Cluster per cm [1/cm]") hdigipercmvsz.GetXaxis().SetTitle("z-pos [cm]") hdigipercmvsz.GetYaxis().SetTitle("Digi per cm [1/cm]") counter=0 for h in Histos_hdigipercm[0]: c1.cd(counter+1) h.GetXaxis().SetTitle("digis per cm") h.GetYaxis().SetTitle("count") h.Draw() counter+=1 c1.Update() counter=0 for h in Histos_hclpercm[0]: c2.cd(counter+1) h.GetXaxis().SetTitle("cluster per cm [1/cm]") h.GetYaxis().SetTitle("count") h.Draw() counter+=1 c2.Update() counter=0 for h in Histos_htrklength[0]: c3.cd(counter+1) h.GetXaxis().SetTitle("Tracklength [cm]") h.GetYaxis().SetTitle("count") h.Draw() counter+=1 c3.Update() counter=0 for h in Histos_hclpertrk[0]: c4.cd(counter+1) h.GetXaxis().SetTitle("Cluster per Track") h.GetYaxis().SetTitle("count") h.Draw() counter+=1 c4.Update() counter=0 for h in Histos_hdigipertrk[0]: c5.cd(counter+1) h.GetXaxis().SetTitle("Digi per Track") h.GetYaxis().SetTitle("count") h.Draw() counter+=1 c5.Update() counter=0 for h in Histos_hClsize2D[0]: c6.cd(counter+1) h.GetXaxis().SetTitle("Clustersize2D") h.GetYaxis().SetTitle("count") h.Draw() counter+=1 c6.Update() counter=0 for h in Histos_hClsize3D[0]: c7.cd(counter+1) h.GetXaxis().SetTitle("Clustersize3D") h.GetYaxis().SetTitle("count") h.Draw() counter+=1 c7.Update() counter=0 for h in Histos_hMcResX[0]: c8.cd(counter+1) h.GetXaxis().SetTitle("[10^(-3)cm]") h.GetYaxis().SetTitle("count") h.Draw() counter+=1 c8.Update() c9.cd(1) hclpertrk.Draw() c9.cd(2) hclpercm.Draw() c9.Update() c10.cd(1) hdigipercm.Draw() c10.cd(2) hcldist.Draw() c10.Update() c11.cd(1) hcldistvsz.Draw("colz") c11.cd(2) hcs2DvsZ.Draw("colz") c11.Update() c12.cd(1) hcs3DvsZ.Draw("colz") c12.cd(2) hchindf.Draw() c12.Update() c13.cd(1) hclpercmvsz.Draw("colz") c13.cd(2) hdigipercmvsz.Draw("colz") c13.Update() counter=0 for h in Histos_hchi[0]: c14.cd(counter+1) h.GetXaxis().SetTitle("chi2/ndf") h.GetYaxis().SetTitle("count") h.Draw() counter+=1 c14.Update() if args.pdir!="not": c1.SaveAs(args.pdir+"Digis per cm.eps") c2.SaveAs(args.pdir+"Cluster per cm.eps") c3.SaveAs(args.pdir+"Tracklength.eps") c4.SaveAs(args.pdir+"Cluster per track.eps") c5.SaveAs(args.pdir+"Digis per track.eps") c6.SaveAs(args.pdir+"Clustersize 2D.eps") c7.SaveAs(args.pdir+"Clustersize 3D.eps") c8.SaveAs(args.pdir+"Mc Res.eps") c9.SaveAs(args.pdir+"cl per track _ cl per cm.eps") c10.SaveAs(args.pdir+"digi per track") c11.SaveAs(args.pdir+"clusterdist.eps") c12.SaveAs(args.pdir+"clustersizedist vs z.eps") c13.SaveAs(args.pdir+"Cluster per cm vs.eps") c14.SaveAs(args.pdir+"chi2/ndf - sector.eps") u = raw_input("Exit?") if u == 'q': exit()