#!/usr/bin/python import os,sys from ROOT import * from clean_canvas import * gStyle = makegstyle(gStyle) cols = [ROOT.kBlack,ROOT.kRed,ROOT.kBlue,ROOT.kGreen+2] #style = [3,7,5,9] style = [1,4,7,8] zs = [-192,-150,-81,0] tis = {-192:'Initial beam position (z = -192 cm)', -150:'Yoke door (z = -150 cm)', -81:'Trigger scintillator (z = - 81 cm)', 0:'Centre of detector (z = 0 cm)'} grs = {} for z in zs: grs[z] = [] for l in file('/home/e614/e614soft/caldb_ascii/bfld_map.00025','r'): ls = l.split() if len(ls)==6: try: x = int(ls[0]) y = int(ls[1]) z = int(ls[2]) bx = float(ls[3])/10. #convert to mT by = float(ls[4])/10. bz = float(ls[5])/10. if y==0 and z in zs: grs[z].append((x,bx)) except: pass def make_gr(l): l.sort() gr = TGraph() for i,e in enumerate(l): gr.SetPoint(i,e[0],e[1]) return gr.Clone() c = TCanvas() l = TLegend(.7,.7,.9,.9) l.SetBorderSize(1) #tp = TPad('insert','insert',.1,.1,.5,.5) #tp.Draw() for iz,z in enumerate(zs): gr = make_gr(grs[z]) gr.SetLineColor(cols[iz]) gr.SetLineStyle(style[iz]) # gr.SetLineWidth(2) gr.SetLineWidth(3) #gets narrower after xfig!! if iz==0: gr.SetTitle(';x (cm);B_{x} (mT) at y = 0 cm') gr.SetMinimum(-150.) gr.SetMaximum(150.) gr.GetYaxis().SetDecimals() gr.GetYaxis().SetTitleOffset(1.2) c.cd() gr.Clone().Draw('AL') # tp.cd() # gr.GetXaxis().SetRangeUser(-10.,10.) # gr.Clone().Draw('AL') else: c.cd() gr.Clone().Draw('L') # tp.cd() # gr.Clone().Draw('L') l.AddEntry(gr,tis[z],'l') c.cd() l.Draw('same') c.Update() au = raw_input('>')