import sys sys.path.append('/home/mberger/fopiroot/fopiroot_dev/macro/tpc/FOPI/mberger') import ROOT,glob,math,argparse from functions import Divideh,set_palette,setRange parser=argparse.ArgumentParser(description="compare digiresiduals with theoretical values") parser.add_argument("recofile",help='the recofile',type=str) parser.add_argument('--outfile',help='the root output file',type=str,default='') parser.add_argument('--events',help='number of events to process',type=int,default=-1) parser.add_argument('--diffu',help='the logitudinal diffusion constant (sqrt(cm))',type=float,default=0.0197879) args=parser.parse_args() ROOT.gROOT.ProcessLine(".x rootlogon.C") ROOT.gROOT.ProcessLine('gROOT->SetStyle("Plain")') set_palette() recofile=ROOT.TFile(args.recofile,'read') tree=recofile.Get("cbmsim") tree.SetBranchStatus("*",0) tree.SetBranchStatus('CutCosmics.*',1) ztuples=[] zcovs=[] zvariance=[] zvarianceX=[] zvarianceY=[] znum=[] for iz in range(75): ztuples.append(ROOT.TNtuple('xypos_{0}'.format(iz),'','x:y:amp')) #zcovs.append(ROOT.TMatrixD zvariance.append(0) znum.append(0) zvarianceX.append(0) zvarianceY.append(0) canvas=ROOT.TCanvas('canvas','calib gem spread',1500,1000) canvas.Divide(3,2) hdigiresperp=ROOT.TH2D('hdigiresperp','DigiResidual Perp vs Z',75,0,75,50,-1,1) hdigiresperpsign=ROOT.TH2D('hdigiresperpsign','DigiResidual Perp (signed) vs Z',75,0,75,50,-1,1) hdigiresX=ROOT.TH2D('hdigiresX','DigiResidual X vs Z',75,0,75,50,-1,1) hdigiresY=ROOT.TH2D('hdigiresY','DigiResidual Y vs Z',75,0,75,50,-1,1) iev=-1 for e in tree: iev+=1 if iev%10==0: print 'Event {0}'.format(iev) if args.events!=-1 and args.events