def draw_momenta_kkpi(figpath, datatype, mode, label, test): modekey = tools.get_modekey(mode) sname = attr.modes[modekey]['sname'].lower() figname = '%s_momenta' % sname epsfile = set_file(extbase=figpath, comname=figname, ext='eps') #tab = DHadTable() #tab.row_append(['Name', 'Data/MC']) # -------------------------------------------------- h_pkm = {}; h_pkp = {}; h_ppi = {} h_pkm_c = {}; h_pkp_c = {}; h_ppi_c = {} for datatype in [datatype]: selfile = get_selfile(datatype, mode, label, test=test) selfile = selfile.replace('/trkmtm/', '/trkmtm2/') f = TFile(selfile) if datatype == 'signal': # or datatype == 'generic': tp = 'mc' #if datatype == 'data': # tp = 'data' h_pkm[tp]= f.Get('h_pk'+tp) h_pkp[tp]= f.Get('h_ppi1'+tp) h_ppi[tp]= f.Get('h_ppiz'+tp) h_pkm_c[tp]= f.Get('h_pk_c'+tp) h_pkp_c[tp]= f.Get('h_ppi1_c'+tp) h_ppi_c[tp]= f.Get('h_ppiz_c'+tp) f.Clear() #ratio = h_pkm['data'].Integral()/h_pkm['mc'].Integral() c1 = TCanvas('c1', 'canvas', 900, 900) c1.Divide(2,2) c1.cd(1) h_pkm['mc'].Draw() #h_pkm['data'].Draw('PE') #h_pkm['mc'].Scale(ratio) #h_pkm['mc'].Draw('SAME') c1.cd(2) h_pkp['mc'].Draw() #h_pkp['data'].Draw('PE') #h_pkp['mc'].Scale(ratio) #h_pkp['mc'].Draw('SAME') c1.cd(3) c1.cd(4) h_ppi['mc'].Draw() #h_ppi['data'].Draw('PE') #h_ppi['mc'].Scale(ratio) #h_ppi['mc'].Draw('SAME') c1.Print(epsfile) tools.eps2pdf(epsfile)
def draw_momenta_ks3pi(datatype, mode, label, test): modekey = tools.get_modekey(mode) sname = attr.modes[modekey]['sname'].lower() figname = '%s_momenta' % sname figpath = os.path.join(attr.figpath, label, 'trkmtm') epsfile = set_file(extbase=figpath, comname=figname, ext='eps') tab = DHadTable() tab.row_append(['Name', 'Data/MC']) # -------------------------------------------------- h_pks = {}; h_ppi1 = {}; h_ppi2 = {}; h_ppim = {} h_pks_c = {}; h_ppi1_c = {}; h_ppi2_c = {}; h_ppim_c = {} for datatype in datatype.split('/'): selfile = get_selfile(datatype, mode, label, test=test) selfile = selfile.replace('/trkmtm/', '/trkmtm2/') f = TFile(selfile) if datatype == 'signal' or datatype == 'generic': tp = 'mc' if datatype == 'data': tp = 'data' h_pks[tp]= f.Get('h_pks'+tp) h_ppi1[tp]= f.Get('h_ppi1'+tp) h_ppi2[tp]= f.Get('h_ppi2'+tp) h_ppim[tp]= f.Get('h_ppim'+tp) h_pks_c[tp]= f.Get('h_pk_c'+tp) h_ppi1_c[tp]= f.Get('h_ppi1_c'+tp) h_ppi2_c[tp]= f.Get('h_ppi2_c'+tp) h_ppim_c[tp]= f.Get('h_ppim_c'+tp) f.Clear() ratio = h_pks['data'].Integral()/h_pks['mc'].Integral() c1 = TCanvas('c1', 'canvas', 900, 900) c1.Divide(2,2) c1.cd(1) h_pks['data'].Draw('PE') h_pks['mc'].Scale(ratio) h_pks['mc'].Draw('SAME') c1.cd(2) h_ppi1['data'].Draw('PE') h_ppi1['mc'].Scale(ratio) h_ppi1['mc'].Draw('SAME') c1.cd(3) h_ppi2['data'].Draw('PE') h_ppi2['mc'].Scale(ratio) h_ppi2['mc'].Draw('SAME') c1.cd(4) h_ppim['data'].Draw('PE') h_ppim['mc'].Scale(ratio) h_ppim['mc'].Draw('SAME') c1.Print(epsfile) tools.eps2pdf(epsfile) # -------------------------------------------------- c1.Clear() c1.Divide(2,2) c1.cd(1) h_pks_c['data'].Draw('PE') lratio = h_pks_c['data'].Integral()/h_pks_c['mc'].Integral() #print 'k:', lratio/ratio tab.row_append(['K', lratio/ratio]) h_pks_c['mc'].Scale(lratio) h_pks_c['mc'].Draw('SAME,HIST') c1.cd(2) h_ppi1_c['data'].Draw('PE') lratio = h_ppi1_c['data'].Integral()/h_ppi1_c['mc'].Integral() #print 'pi1:', lratio/ratio tab.row_append(['pi1', lratio/ratio]) h_ppi1_c['mc'].Scale(lratio) h_ppi1_c['mc'].Draw('SAME,HIST') c1.cd(3) h_ppi2_c['data'].Draw('PE') lratio = h_ppi2_c['data'].Integral()/h_ppi2_c['mc'].Integral() #print 'pi2:', lratio/ratio tab.row_append(['pi2', lratio/ratio]) h_ppi2_c['mc'].Scale(lratio) h_ppi2_c['mc'].Draw('SAME,HIST') c1.cd(4) h_ppim_c['data'].Draw('PE') lratio = h_ppim_c['data'].Integral()/h_ppim_c['mc'].Integral() #print 'pim:', lratio/ratio tab.row_append(['pim', lratio/ratio]) h_ppim_c['mc'].Scale(lratio) h_ppim_c['mc'].Draw('SAME,HIST') tab.column_trim('Data/MC', rnd='.0001') figname = '%s_momentacor' % sname epsfile = set_file(extbase=figpath, comname=figname, ext='eps') c1.Print(epsfile) tools.eps2pdf(epsfile) tabname = '%s_syst' % sname tab.output(tabname, label=label, export_html=False)
def draw_momenta_kkpi(figpath, datatype, mode, label, test): modekey = tools.get_modekey(mode) sname = attr.modes[modekey]['sname'].lower() figname = '%s_momenta' % sname epsfile = set_file(extbase=figpath, comname=figname, ext='eps') tab = DHadTable() tab.row_append(['Name', 'Data/MC']) # -------------------------------------------------- h_pkm = {}; h_pkp = {}; h_ppi = {} h_pkm_c = {}; h_pkp_c = {}; h_ppi_c = {} for datatype in datatype.split('/'): selfile = get_selfile(datatype, mode, label, test=test) selfile = selfile.replace('/trkmtm/', '/trkmtm2/') f = TFile(selfile) if datatype == 'signal' or datatype == 'generic': tp = 'mc' if datatype == 'data': tp = 'data' h_pkm[tp]= f.Get('h_pk'+tp) h_pkp[tp]= f.Get('h_ppi1'+tp) h_ppi[tp]= f.Get('h_ppiz'+tp) h_pkm_c[tp]= f.Get('h_pk_c'+tp) h_pkp_c[tp]= f.Get('h_ppi1_c'+tp) h_ppi_c[tp]= f.Get('h_ppiz_c'+tp) f.Clear() ratio = h_pkm['data'].Integral()/h_pkm['mc'].Integral() c1 = TCanvas('c1', 'canvas', 900, 900) c1.Divide(2,2) c1.cd(1) h_pkm['data'].Draw('PE') h_pkm['mc'].Scale(ratio) h_pkm['mc'].Draw('SAME') c1.cd(2) h_pkp['data'].Draw('PE') h_pkp['mc'].Scale(ratio) h_pkp['mc'].Draw('SAME') c1.cd(3) c1.cd(4) h_ppi['data'].Draw('PE') h_ppi['mc'].Scale(ratio) h_ppi['mc'].Draw('SAME') c1.Print(epsfile) tools.eps2pdf(epsfile) # -------------------------------------------------- c1.Clear() c1.Divide(2,2) c1.cd(1) h_pkm_c['data'].Draw('PE') lratio = h_pkm_c['data'].Integral()/h_pkm_c['mc'].Integral() #print 'km:', lratio/ratio tab.row_append(['Km', lratio/ratio]) h_pkm_c['mc'].Scale(lratio) h_pkm_c['mc'].Draw('SAME') c1.cd(2) h_pkp_c['data'].Draw('PE') lratio = h_pkp_c['data'].Integral()/h_pkp_c['mc'].Integral() #print 'kp:', lratio/ratio tab.row_append(['Kp', lratio/ratio]) h_pkp_c['mc'].Scale(lratio) h_pkp_c['mc'].Draw('SAME') c1.cd(3) c1.cd(4) h_ppi_c['data'].Draw('PE') lratio = h_ppi_c['data'].Integral()/h_ppi_c['mc'].Integral() #print 'pi:', lratio/ratio tab.row_append(['pi', lratio/ratio]) h_ppi_c['mc'].Scale(lratio) h_ppi_c['mc'].Draw('SAME') tab.column_trim('Data/MC', rnd='.0001') figname = '%s_momentacor' % sname epsfile = set_file(extbase=figpath, comname=figname, ext='eps') c1.Print(epsfile) tools.eps2pdf(epsfile) tabname = '%s_syst' % sname tab.output(tabname, label=label, export_html=False)
def draw_momenta_kpipi0(datatype, mode, label, test): modekey = tools.get_modekey(mode) sname = attr.modes[modekey]['sname'].lower() figname = '%s_momenta' % sname figpath = os.path.join(attr.figpath, label, 'trkmtm') epsfile = set_file(extbase=figpath, comname=figname, ext='eps') h_mbc = {}; kpi1 = {} ; pipih = {}; kpiz = {}; kpipih = {}; h_pk = {}; h_ppi1 = {}; h_ppiz = {} h_pk_c = {}; h_ppi1_c = {}; h_ppiz_c = {} h_pk_sb = {}; h_ppi1_sb = {}; h_ppiz_sb = {} h_pk_sb_c = {}; h_ppi1_sb_c = {}; h_ppiz_sb_c = {} h_angk = {}; h_angpi1 = {}; h_angpiz = {} for datatype in datatype.split('/'): selfile = get_selfile(datatype, mode, label, test=test) selfile = selfile.replace('/trkmtm/', '/trkmtm2/') f = TFile(selfile) if datatype == 'signal' or datatype == 'generic': tp = 'mc' if datatype == 'data': tp = 'data' h_mbc[tp]= f.Get('h_mbc_'+tp) kpi1[tp]= f.Get('kpi1_'+tp) pipih[tp]= f.Get('pipih_'+tp) kpiz[tp]= f.Get('kpiz_'+tp) kpipih[tp]= f.Get('kpipih_'+tp) h_pk[tp]= f.Get('h_pk_'+tp) h_ppi1[tp]= f.Get('h_ppi1_'+tp) h_ppiz[tp]= f.Get('h_ppiz_'+tp) h_pk_c[tp]= f.Get('h_pk_c_'+tp) h_ppi1_c[tp]= f.Get('h_ppi1_c_'+tp) h_ppiz_c[tp]= f.Get('h_ppiz_c_'+tp) h_pk_sb[tp]= f.Get('h_pk_sb_'+tp) h_ppi1_sb[tp]= f.Get('h_ppi1_sb_'+tp) h_ppiz_sb[tp]= f.Get('h_ppiz_sb_'+tp) h_pk_sb_c[tp]= f.Get('h_pk_sb_c_'+tp) h_ppi1_sb_c[tp]= f.Get('h_ppi1_sb_c_'+tp) h_ppiz_sb_c[tp]= f.Get('h_ppiz_sb_c_'+tp) h_angk[tp]= f.Get('h_angk_'+tp) h_angpi1[tp]= f.Get('h_angpi1_'+tp) h_angpiz[tp]= f.Get('h_angpiz_'+tp) f.Clear() ratio = h_pk['data'].Integral()/h_pk['mc'].Integral() c1 = TCanvas('c1', 'canvas', 900, 900) c1.Divide(2,2) c1.cd(1) h_pk['data'].Draw('PE') h_pk['mc'].Scale(ratio) h_pk['mc'].Draw('SAME') c1.cd(2) h_ppi1['data'].Draw('PE') h_ppi1['mc'].Scale(ratio) h_ppi1['mc'].Draw('SAME') c1.cd(3) c1.cd(4) h_ppiz['data'].Draw('PE') h_ppiz['mc'].Scale(ratio) h_ppiz['mc'].Draw('SAME') c1.Print(epsfile) tools.eps2pdf(epsfile) tab = DHadTable() tab.row_append(['Name', 'Data/MC']) c1.Clear() c1.Divide(2,2) c1.cd(1) h_pk_c['data'].Draw('PE') lratio = h_pk_c['data'].Integral()/h_pk_c['mc'].Integral() #print 'k:', lratio/ratio tab.row_append(['K', lratio/ratio]) h_pk_c['mc'].Scale(lratio) h_pk_c['mc'].Draw('SAME') c1.cd(2) h_ppi1_c['data'].Draw('PE') lratio = h_ppi1_c['data'].Integral()/h_ppi1_c['mc'].Integral() #print 'pi1:', lratio/ratio tab.row_append(['pi1', lratio/ratio]) h_ppi1_c['mc'].Scale(lratio) h_ppi1_c['mc'].Draw('SAME') c1.cd(3) c1.cd(4) h_ppiz_c['data'].Draw('PE') lratio = h_ppiz_c['data'].Integral()/h_ppiz_c['mc'].Integral() #print 'piz:', lratio/ratio tab.row_append(['piz', lratio/ratio]) h_ppiz_c['mc'].Scale(lratio) h_ppiz_c['mc'].Draw('SAME') tab.column_trim('Data/MC', rnd='.0001') figname = '%s_momentacor' % sname epsfile = set_file(extbase=figpath, comname=figname, ext='eps') c1.Print(epsfile) tools.eps2pdf(epsfile) tabname = '%s_syst' % sname tab.output(tabname, label=label, export_html=False)
def main(opts, args): tools.set_root_style(stat=1, grid=0, PadTopMargin=0.1, PadLeftMargin = 0.15) parsed = parse_args(args) datatype = parsed[0] tag = parsed[1] modes = parsed[2] label = parsed[3] if tag != 'single': # only deal with single tag raise NameError(tag) figpath = os.path.join(attr.figpath, label, 'trkmtm') for mode in modes: modekey = tools.get_modekey(mode) selfile = get_selfile(datatype, mode, label, test=opts.test) efffile = selfile.replace('.root', '.db') sname = attr.modes[modekey]['sname'].lower() f = TFile(selfile) effs = shelve.open(efffile) if sname == 'kpipi0': h_pk = {}; h_ppi1 = {}; h_ppiz = {} for tp in ('mc', 'mctruth'): h_pk[tp] = f.Get('h_pk_' + tp) h_ppi1[tp] = f.Get('h_ppi1_' + tp) h_ppiz[tp] = f.Get('h_ppiz_' + tp) draw_effmomenta_kpipi0(figpath, effs, sname, h_pk, h_ppi1, h_ppiz) elif sname == 'k3pi': h_pk = {}; h_ppi1 = {}; h_ppi2 = {}; h_ppim = {} for tp in ('mc', 'mctruth'): h_pk[tp] = f.Get('h_pk_' + tp) h_ppi1[tp] = f.Get('h_ppi1_' + tp) h_ppi2[tp] = f.Get('h_ppi2_' + tp) h_ppim[tp] = f.Get('h_ppim_' + tp) draw_effmomenta_k3pi(figpath, effs, sname, h_pk, h_ppi1, h_ppi2, h_ppim) elif sname == 'kpipi': h_pk = {}; h_ppi1 = {}; h_ppi2 = {} for tp in ('mc', 'mctruth'): h_pk[tp] = f.Get('h_pk_' + tp) h_ppi1[tp] = f.Get('h_ppi1_' + tp) h_ppi2[tp] = f.Get('h_ppi2_' + tp) draw_effmomenta_kpipi(figpath, effs, sname, h_pk, h_ppi1, h_ppi2) elif sname == 'kpipipi0': h_pk = {}; h_ppi1 = {}; h_ppi2 = {}; h_ppiz = {} for tp in ('mc', 'mctruth'): h_pk[tp] = f.Get('h_pk_' + tp) h_ppi1[tp] = f.Get('h_ppi1_' + tp) h_ppi2[tp] = f.Get('h_ppi2_' + tp) h_ppiz[tp] = f.Get('h_ppim_' + tp) draw_effmomenta_kpipipi0(figpath, effs, sname, h_pk, h_ppi1, h_ppi2, h_ppiz) elif sname == 'kspipi0': h_pks = {}; h_ppi1 = {}; h_ppiz = {} for tp in ('mc', 'mctruth'): h_pks[tp] = f.Get('h_pks_' + tp) h_ppi1[tp] = f.Get('h_ppi1_' + tp) h_ppiz[tp] = f.Get('h_ppiz_' + tp) draw_effmomenta_kspipi0(figpath, effs, sname, h_pks, h_ppi1, h_ppiz) elif sname == 'ks3pi': h_pks = {}; h_ppi1 = {}; h_ppi2 = {}; h_ppim = {} for tp in ('mc', 'mctruth'): h_pks[tp] = f.Get('h_pk_' + tp) h_ppi1[tp] = f.Get('h_ppi1_' + tp) h_ppi2[tp] = f.Get('h_ppi2_' + tp) h_ppim[tp] = f.Get('h_ppim_' + tp) draw_effmomenta_ks3pi(figpath, effs, sname, h_pks, h_ppi1, h_ppi2, h_ppim) elif sname == 'kkpi': h_pkm = {}; h_pkp = {}; h_ppi = {} for tp in ('mc', 'mctruth'): h_pkm[tp] = f.Get('h_pkm_' + tp) h_pkp[tp] = f.Get('h_pkp_' + tp) h_ppi[tp] = f.Get('h_ppi_' + tp) draw_effmomenta_kkpi(figpath, effs, sname, h_pkp, h_pkm, h_ppi) else: raise NameError(sname)
def draw_momenta_kkpi(figpath, datatype, mode, label, test): modekey = tools.get_modekey(mode) sname = attr.modes[modekey]['sname'].lower() figname = '%s_momenta' % sname epsfile = set_file(extbase=figpath, comname=figname, ext='eps') #tab = DHadTable() #tab.row_append(['Name', 'Data/MC']) # -------------------------------------------------- h_pkm = {} h_pkp = {} h_ppi = {} h_pkm_c = {} h_pkp_c = {} h_ppi_c = {} for datatype in [datatype]: selfile = get_selfile(datatype, mode, label, test=test) selfile = selfile.replace('/trkmtm/', '/trkmtm2/') f = TFile(selfile) if datatype == 'signal': # or datatype == 'generic': tp = 'mc' #if datatype == 'data': # tp = 'data' h_pkm[tp] = f.Get('h_pk' + tp) h_pkp[tp] = f.Get('h_ppi1' + tp) h_ppi[tp] = f.Get('h_ppiz' + tp) h_pkm_c[tp] = f.Get('h_pk_c' + tp) h_pkp_c[tp] = f.Get('h_ppi1_c' + tp) h_ppi_c[tp] = f.Get('h_ppiz_c' + tp) f.Clear() #ratio = h_pkm['data'].Integral()/h_pkm['mc'].Integral() c1 = TCanvas('c1', 'canvas', 900, 900) c1.Divide(2, 2) c1.cd(1) h_pkm['mc'].Draw() #h_pkm['data'].Draw('PE') #h_pkm['mc'].Scale(ratio) #h_pkm['mc'].Draw('SAME') c1.cd(2) h_pkp['mc'].Draw() #h_pkp['data'].Draw('PE') #h_pkp['mc'].Scale(ratio) #h_pkp['mc'].Draw('SAME') c1.cd(3) c1.cd(4) h_ppi['mc'].Draw() #h_ppi['data'].Draw('PE') #h_ppi['mc'].Scale(ratio) #h_ppi['mc'].Draw('SAME') c1.Print(epsfile) tools.eps2pdf(epsfile)