import ROOT, argparse, copy, os, sys pandapath=os.environ.get('PANDAPATH') sys.path.append(pandapath+'/macro/tpc/FOPI/mberger') parser=argparse.ArgumentParser(description='plot the field homogenity along lines as function of R for multiple settings in one picture') parser.add_argument('infiles',help='the file with the field', type=str,nargs='+') parser.add_argument('--titles',help='the titles',type=str,nargs='+',default=['none']) args=parser.parse_args() fcounter=-1 gRelDiff=[] for f in args.infiles: fcounter+=1 rfile=ROOT.TFile(f) gRelDiff.append(copy.deepcopy(rfile.Get('RELDIFF_Ez'))) rfile.Close() colors=[ROOT.kMagenta,ROOT.kCyan] gcounter=-1 opt='3AP' canvas=[] canvas.append(ROOT.TCanvas('c1','reldiff ez zoomin',700,500)) canvas[0].SetLeftMargin(0.14) canvas.append(ROOT.TCanvas('c2','reldiff ez',700,500)) canvas[1].SetLeftMargin(0.14) leg=[] leg.append(ROOT.TLegend(0.75,0.75,0.9,0.9)) leg[0].SetBorderSize(0) leg[0].SetFillColor(0) leg[0].SetFillStyle(4000) gRelDiff2=[] for g in gRelDiff: gcounter+=1 g.SetMarkerColor(colors[gcounter]+3) g.SetFillColor(colors[gcounter]-4) g.SetFillStyle(3003) g.GetXaxis().SetRangeUser(50,52) g.GetXaxis().SetTitleSize(0.05) g.GetYaxis().SetRangeUser(-0.02,0.02) g.GetYaxis().SetTitleOffset(1.3) g.GetYaxis().SetTitleSize(0.05) g.SetMarkerStyle(20) g.SetMarkerSize(0.8) if gcounter>0: opt='3P' canvas[0].cd() g.Draw(opt) #gRelDiff2.append(ROOT.TGraphErrors(g)) gRelDiff2.append(copy.deepcopy(g)) gRelDiff2[-1].GetXaxis().SetRangeUser(50,54) gRelDiff2[-1].GetYaxis().SetRangeUser(-0.2,0.2) canvas[1].cd() gRelDiff2[-1].Draw(opt) if args.titles[0]!='none': leg[0].AddEntry(g,args.titles[gcounter],'PF') canvas[0].cd() leg[0].Draw() canvas[1].cd() leg[0].Draw() for c in canvas: c.Update() u=raw_input('done?')