tree = fin.Get('t') ncombbad_1 = 0 ncombbad_2 = 0 ncombbad_3 = 0 ncombbad_4 = 0 ncombbad_5 = 0 nglbbad_1 = 0 nglbbad_2 = 0 nglbbad_3 = 0 nglbbad_4 = 0 nglbbad_5 = 0 for e, entry in enumerate(tree): p = t.pyTree(tree) glb = t.Track('global', p) glb_comb = t.Track('global_comb', p) glb_muOnly = t.Track('global_refit_noUpdate', p) glb_refit = t.Track('global_refit', p) tracker = t.Track('tracker', p) if len(glb_comb.par()) < 5: continue glbres = (glb.K() - p.gen_K) / p.gen_K combres = (glb_comb.K() - p.gen_K) / p.gen_K ptres = combreshist.GetBinContent(combreshist.FindBin(p.gen_pt)) #print p.gen_pt,ptres,glbres/ptres,combres/ptres if abs(combres / ptres) > 1: ncombbad_1 += 1
50, 0, 0.1, 50, 0, 2) ''' # fR vs fT vs mu,sigma(K-Kgen/Kgen) step = 0.0002 steps = np.arange(0.999,1.001+step,step) resdict = {fR:{fT:np.array([]) for fT in steps} for fR in steps} ''' # loop on tree for l, entry in enumerate(tree): #if l>2000: continue sys.stdout.write('Entry {l:>5}\r'.format(**locals())) p = t.pyTree(tree) if not p.allOkay: continue for trackType in tracklist: track = t.Track(trackType, p) if track.cov(0, 0) < 0.: print "Negative covariance? WTF?" continue if track.eta() == -999.: print "track lambda is strange?" continue # Fill base histograms basehists[trackType]['K'].Fill(track.K()) basehists[trackType]['K_res'].Fill((track.K() - p.gen_K) / p.gen_K) basehists[trackType]['K_b'].Fill(track.K() - p.gen_K) basehists[trackType]['K_rel_err'].Fill( math.sqrt(track.cov(0, 0)) / abs(track.K())) # Fill K_b plots
#outFile = R.TFile(outfilename,'recreate') RECREATE = args.recreate #dxy = R.TH1D('dxy','',100,-10,10) if RECREATE: rFile = R.TFile(fileName) tree = rFile.Get('t') #outFileBase = R.TFile(outfilebasename,'recreate') for e, entry in enumerate(tree): p = t.pyTree(tree) if not p.allOkay: continue muon = t.Track('refit_noUpdate', p) full = t.Track('global', p) tracker = t.Track('tracker', p) comb = t.Track('comb', p) refit = t.Track('refit', p) #res_par,res_cov = t.kalman_prefit_residuals(muon._par,muon._cov,full._par,full._cov) #print res_par[2], full.dxy()-muon.dxy() #dxy.Fill(res_par[2]) refit_par, refit_cov = t.kalman_filter_update(muon._par, muon._cov, full._par, full._cov) print 'refit' print refit_par[0], refit.K() print refit_par[1], refit.Lambda() print refit_par[2], refit.phi() print refit_par[3], refit.dxy()
hists2D[track][plot2D] = R.TH2D(name,title,*varList[x]['bins']+varList[y]['bins']) fracs = [i*0.05 for i in range(21)] other['global']['frachist'] = R.TH2D('global_frachist','#kappa_{comb} = f #times #kappa_{refit} + (1-f) #times #kappa_{tracker}',21,0,1.05,100,-0.5,0.5) other['picky']['frachist'] = R.TH2D('picky_frachist','#kappa_{comb} = f #times #kappa_{refit} + (1-f) #times #kappa_{tracker}',21,0,1.05,100,-0.5,0.5) # loop on tree for l,entry in enumerate(tree): #if l>2000: continue sys.stdout.write('Entry {l:>5}\r'.format(**locals())) p = t.pyTree(tree) if not p.allOkay: continue # Plots for all tracks for trackType in tracklist: track = t.Track(trackType,p) if track.cov(0,0) < 0: continue hists1D[trackType]['K'].Fill(track.K()) hists1D[trackType]['lambda'].Fill(track.Lambda()) hists1D[trackType]['phi'].Fill(track.phi()) hists1D[trackType]['dxy'].Fill(track.dxy()) hists1D[trackType]['dsz'].Fill(track.dsz()) hists1D[trackType]['eta'].Fill(track.eta()) hists1D[trackType]['pt'].Fill(track.pt()) hists1D[trackType]['K_gen_res'].Fill((track.K()-p.gen_K)/p.gen_K) hists1D[trackType]['K_rel_err'].Fill(math.sqrt(track.cov(0,0))/abs(track.K())) hists1D[trackType]['chi2'].Fill(track.chi2()) hists2D[trackType]['K_gen_res_vs_gen_pt'].Fill(p.gen_pt, (track.K()-p.gen_K)/p.gen_K) hists2D[trackType]['K_gen_res_vs_gen_eta'].Fill(p.gen_eta, (track.K()-p.gen_K)/p.gen_K) hists2D[trackType]['K_rel_err_vs_gen_pt'].Fill(p.gen_pt, math.sqrt(track.cov(0,0))/abs(track.K())) hists2D[trackType]['K_rel_err_vs_gen_eta'].Fill(p.gen_eta, math.sqrt(track.cov(0,0))/abs(track.K()))
if 'rcParams' in args.keys(): for k, v in args['rcParams'].items(): plt.rcParams[k] = v if 'style' in args.keys(): plt.style.use(args['style']) auth = spotipy.SpotifyOAuth(redirect_uri='http://localhost:8888/callback', username=args['username']) sp = spotipy.Spotify(auth_manager=auth) album = tools.get_album(sp, args['album_id']) all_data = pd.concat( tools.Track(t).loudness(sp) for t in album['tracks']['items']) all_data['Centred Time'] = ( all_data['Time'] - (all_data.groupby('TrackNo')['Time'].transform('max') / 2)) g = sns.FacetGrid(data=all_data, sharex=True, sharey=True, row='Name', aspect=8, height=.8) g.map_dataframe(tools.plot_waves) g.set_titles('{row_name}', c='C1', weight='bold', pad=2) for ax in g.axes.flatten():
import ROOT as R import numpy as np import math as math import tools as t fin = R.TFile('AnalyzeTracks_muonPT.root') tree = fin.Get('t') step = 0.1 uplim = 2.0 slist = np.arange(0, uplim + step, step) title = 'Comb = %(s)s*ref + trk;#frac{#kappa-#kappa_{gen}}{#kappa_{gen}};Counts' reshists = { s: {R.TH1D('comb_scale_' + str(s), title % (str(s)), 200, -1, 1)} for s in slist } for e, entry in enumerate(tree): p = t.PyTree(tree) glb = t.Track('global', p) trk = t.Track('tracker', p) glb_ref = t.Track('global_refit', p) glb_comb = t.Track('global_comb', p) for s in slist: par, cov = t.chisq_comb(glb_ref.par(), s * glb_ref._cov, trk.par(), trk._cov)