import ROOT,argparse ROOT.gROOT.ProcessLine(".x rootlogon.C") ROOT.gROOT.ProcessLine('gSystem->Load("libPhysics")') ROOT.gROOT.ProcessLine('gStyle->SetPalette(1)') ROOT.gROOT.ProcessLine('gROOT->SetStyle("Plain")') ROOT.gROOT.ProcessLine('gSystem->Load("libGeom")') ROOT.gROOT.LoadMacro("stlPYROOT.h+") parser=argparse.ArgumentParser(description='Plot stuff along a track') parser.add_argument('filename',help='filename of the reco file',type=str) parser.add_argument('--ev',help='which event to go to',type=int) parser.add_argument('--zcut',help='zcut',type=int,default=-80) parser.add_argument('--data',help='analyse real data',action='store_true') args=parser.parse_args() rfile=ROOT.TFile.Open(args.filename,"read") if rfile.IsOpen()==ROOT.kTRUE: tree = rfile.Get("cbmsim") if tree==None: print "No cbmsim found" if type(Rfile)==ROOT.TFile: Rfile.Close() exit() hamp=ROOT.TH1D("hamp","Clusteramp along track",600,0,60) hresx=ROOT.TH1D("hresx","X-Residual along track",600,0,60) hresu=ROOT.TH1D("hresu","u-Residual along track",600,0,60) hresv=ROOT.TH1D("hresv","v-Residual along track",600,0,60) hresp=ROOT.TH1D("hresp","Residual along track",600,0,60) hres2d=ROOT.TH2D("hres2d","res vs amp along track",600,0,60,200,-1,1) hxy=ROOT.TH2D("hxy","xypos, amp weighted",300,-15,15,300,-15,15) hclsize=ROOT.TH1D("hclsize","Clustersize along track",600,0,60) c1=ROOT.TCanvas("c1","bla",700,1000) c2=ROOT.TCanvas("c2","bla",700,1000) c1.Divide(1,2) c2.Divide(1,2) oldpos=ROOT.TVector3(0,0,0) dist=0 evnum=-1 print "events:",tree.GetEntries() for e in tree: evnum+=1 trackindex=-1 print "tracks:",e.TrackPostFit.GetEntries() if evnum=resX.size(): continue hit=e.TpcSPHit.At(ihit) clid=hit.getClusterID() cl=e.TpcCluster.At(clid) pos=cl.pos() if pos.Z()