|
| | tm = ROOT.TreeManager("../structuredtree.root") |
| |
| | bt = ROOT.Backtracker(tm) |
| |
| | gen = tm.GetGenTree() |
| |
| | g4 = tm.GetG4Tree() |
| |
| | rec = tm.GetRecoTree() |
| |
| | hntrack = TH1F("hntrack", ";N^{0} tracks per #nu;", 50,-0.5,49.5) |
| |
| | hnhit = TH1F("hnhit", "TPC track reco; N^{0} hits per track;",200,0.5,1000.5) |
| |
| | hnvtx = TH1F("hnvtx", ";N^{0} vertices per #nu;", 6,1.5,7.5) |
| |
| | hnvtxtrk = TH1F("hnvtxtrk",";N^{0} vertices per track;", 5,-0.5,4.5) |
| |
| | hntrkvtx = TH1F("hntrkvtx",";N^{0} tracks per vertex;", 7,2.5,9.5) |
| |
| | hx0 = TH1F("hx0", "TPC track reco: fit parameters;x_{0} [cm]", 50,-280,280) |
| |
| | hy0 = TH1F("hy0", "TPC track reco: fit parameters;y_{0} [cm]", 50,-450,150) |
| |
| | hz0 = TH1F("hz0", "TPC track reco: fit parameters;z_{0} [cm]", 50,1250,1750) |
| |
| | hr = TH1F("hr", "TPC track reco: fit parameters;radius in y-z plane [cm]", 100,0,800) |
| |
| | hphi0 = TH1F("hphi0", "TPC track reco: fit parameters;#phi_{0} [rad]", 40,-20,-20) |
| |
| | hlambda = TH1F("hlambda", "TPC track reco: fit parameters;#lambda [rad]", 50,-3.2,3.2) |
| |
| | hdeltaphi = TH1F("hdeltaphi", "TPC track reco: fit parameters;#phi_{end}- #phi_{vertex} [rad]",50,-2*math.pi,2*math.pi) |
| |
| | hdeltaphilen = TH1F("hdeltaphilen", "TPC track reco: fit parameters;(#phi_{end}- #phi_{vertex})/track length [rad/cm]",50,-0.005,0.005) |
| |
| | hlength_fwd = TH1F("hlength_fwd",";track length [cm]",100,0,500) |
| |
| | hlength_bkd = TH1F("hlength_bkd",";track length [cm]",100,0,500) |
| |
| | hmom_fwd = TH1F("hmom_fwd",";momentum [GeV/c]",100,0,5) |
| |
| | hmom_bkd = TH1F("hmom_bkd",";momentum [GeV/c]",100,0,5) |
| |
| | hpval = TH1F("hpval","Track reco;p-value;",100,0,1) |
| |
| | hpdg = TH1F("hpdg",";PDG code",2800,-500,2300) |
| |
| | hpdg_max = TH1F("hpdg_max",";PDG code",2800,-500,2300) |
| |
| | hpdg_max_pval = TH2F("hpdg_max_pval",";track fit p-value;PDG code",40,0,1,2800,-500,2300) |
| |
| | hng4p = TH1F("hng4p",";number MCParticles matched to track",7,-0.5,6.5) |
| |
| | hg4mom = TH1F("hg4mom",";momentum per particle [GeV/c]",100,0,5) |
| |
| | hg4mom_tot_pval = TH2F("hg4mom_tot_pval","TPC track reco;track fit p-value ; p_{true} [GeV/c]",40,0,1,40,0,3) |
| |
| | hg4mom1 = TH1F("hg4mom1",";maximum single-particle momentum [GeV/c]",100,0,5) |
| |
| | hg4mom1_frac = TH1F("hg4mom1_frac",";fraction of total momentum held by single-particle max",100,0,1.01) |
| |
| | hntrkpart = TH1F("hntrkpart", "MCParticle #rightarrow Track ; N^{0} tracks per particle",10,-0.5,9.5) |
| |
| | hntrkpart_p = TH1F("hntrkpart_p", "MCParticle #rightarrow Track ; N^{0} tracks per particle",9,0.5,9.5) |
| |
| | hntrkpart_mu = TH1F("hntrkpart_mu", "MCParticle #rightarrow Track ; N^{0} tracks per particle",9,0.5,9.5) |
| |
| | hntrkpart_pic = TH1F("hntrkpart_pic","MCParticle #rightarrow Track ; N^{0} tracks per particle",9,0.5,9.5) |
| |
| | hntrkpart_e = TH1F("hntrkpart_e", "MCParticle #rightarrow Track ; N^{0} tracks per particle",9,0.5,9.5) |
| |
| | hntrkpart_vs_mom = TH2F('hntrkpart_vs_mom','MCParticle #rightarrow Track ; N^{0} tracks per particle; true initial momentum [GeV/c]',10,-0.5,9.5,50,0,3) |
| |
| | hntrkpart_vs_gyro = TH2F('hntrkpart_vs_gyro','MCParticle #rightarrow Track ; N^{0} tracks per particle;gyroradius [m]',10,-0.5,9.5,50,0,10) |
| |
| | hnmom1_frac = TH2F("hnmom1_frac",";fraction of total momentum ; number of particles",50,0,1.01,14,0.5,14.5) |
| |
| | hmomres2d = TH2F("hmomres2d",";P_{true} [GeV/c] ; P_{reco} [GeV/c]",50,0,3,50,0,3) |
| |
| | hmomres2d_pval = TH2F("hmomres2d_pval",";track fit p-value;p_{true} - p_{reco} [GeV/c]",50,0,1,50,-3,5) |
| |
| | hmomres2d_frac_pval = TH2F("hmomres2d_frac_pval",";track fit p-value;(p_{true} - p_{reco})/p_{true}",50,0,1,50,-1,1) |
| |
| | hmomres_diff = TH1F("hmomres_diff","TPC track reco; p_{true} - p_{reco} [GeV/c];",80,-3,5) |
| |
| | hmomres_frac = TH1F("hmomres_frac","TPC track reco; ( p_{true} - p_{reco})/p_{true};",60,-1,1) |
| |
| | hxdiff = TH1F("hxdiff","TPC track reco;true - reco [cm]",100,-35,35) |
| |
| | hydiff = TH1F("hydiff","TPC track reco;true - reco [cm]",100,-35,35) |
| |
| | hzdiff = TH1F("hzdiff","TPC track reco;true - reco [cm]",100,-35,35) |
| |
| | pval = ROOT.TMath.Prob(rec.TrackChiSqrFwd(itrk),rec.NTrackHit(itrk)-5) |
| |
| | trkpars = GetTrackPars(rec,itrk) |
| |
| | trkvtx = rec.TrackVertex(itrk) |
| |
| | ig4ps = bt.TrackToG4Particles(itrk) |
| |
| int | imax = 0 |
| |
| int | maxp = -1 |
| |
| int | sump = 0 |
| |
| | posbeg = rec.TrackVertex(itrk) |
| |
| | posend = rec.TrackEnd(itrk) |
| |
| | trueposbeg = rec.TrackTruePosBeg(itrk); |
| |
| | trueposend = rec.TrackTruePosEnd(itrk); |
| |
| | itrks = bt.G4ParticleToTracks(ig4p) |
| |
| int | ntracks = 0 |
| |
| | clength = TCanvas() |
| |
| | cmom = TCanvas() |
| |
| | cng4p = TCanvas() |
| |
| | cg4mom = TCanvas() |
| |
| | cg4mom1 = TCanvas() |
| |
| | cg4mom1_frac = TCanvas() |
| |
| | cnmom1_frac = TCanvas() |
| |
| | cmomres2d = TCanvas() |
| |
| | cpdg = TCanvas() |
| |
| | cntrkpart = TCanvas() |
| |
| | leg = ROOT.TLegend(0.65,0.4,0.8,0.75) |
| |
| | cmomres_diff = TCanvas() |
| |
| | cmomres_frac = TCanvas() |
| |
| | cntrack = TCanvas() |
| |
| | cnhit = TCanvas() |
| |
| | cmomres2d_pval = TCanvas() |
| |
| | cg4mom_tot_pval = TCanvas() |
| |
| | cpdg_max_pval = TCanvas() |
| |
| | cposdiff = TCanvas() |
| |
| | legdiff = ROOT.TLegend(0.2,0.6,0.35,0.85) |
| |
| | cpval = TCanvas() |
| |
| | cmomfracres2d_pval = TCanvas() |
| |
| | cnvtx = TCanvas() |
| |
| | cnvtxtrk = TCanvas() |
| |
| | cntrkvtx = TCanvas() |
| |
| | cx0 = TCanvas() |
| |
| | cy0 = TCanvas() |
| |
| | cz0 = TCanvas() |
| |
| | cr = TCanvas() |
| |
| | cphi0 = TCanvas() |
| |
| | clambda = TCanvas() |
| |
| | cdeltaphi = TCanvas() |
| |
| | cdeltaphilen = TCanvas() |
| |
| | cntrkpart_vs_mom = TCanvas() |
| |
| | prof = hntrkpart_vs_mom.ProfileX() |
| |
| | cntrkpart_vs_gyro = TCanvas() |
| |
| | null = input("press <Enter> to close canvas and exit program.") |
| | ask for user input as a way to keep the program from ending so we can see the histogram. More...
|
| |