Пример #1
0
def plot_smeared_data( file_name, br_name, title, hist_name, nbins, low, hi ):
    canvas = ROOT.TCanvas("canvas", "canvas", 600, 600)
    ch_seed = ROOT.loader(file_name, "seed")
    ch_smeared = ROOT.loader(file_name, "smeared")
    jet_pt_seed = ROOT.draw_hist_from_chain(ch_seed, br_name,\
                                            seed_cut, hist_name+"_seed", 
                                            nbins, low, hi)
    jet_pt_title = title
    jet_pt_seed.SetXTitle(jet_pt_title)
    jet_pt_all = ROOT.draw_hist_from_chain(ch_seed, br_name,\
                                            no_cut, hist_name+"_all", 
                                          nbins, low, hi)
    jet_pt_smeared = ROOT.draw_hist_from_chain(ch_smeared, br_name,\
                                            no_cut, hist_name+"_smeared",
                                               nbins, low, hi)
    pt_scale = jet_pt_all.Integral()/jet_pt_seed.Integral()
    scale2 = jet_pt_all.Integral()/jet_pt_smeared.Integral()
    jet_pt_seed.Scale(pt_scale)
    jet_pt_smeared.Scale(scale2)
    jet_pt_all.Scale(1.0)

    jet_pt_seed.SetLineColor(4)
    jet_pt_smeared.SetLineColor(2)

    marker_size = 0.5
    jet_pt_all.SetMarkerSize(marker_size)
    jet_pt_seed.SetMarkerSize(marker_size)
    jet_pt_smeared.SetMarkerSize(marker_size)

    jet_pt_seed.SetMarkerColor(4)
    jet_pt_smeared.SetMarkerColor(2)

    bkg_list = ROOT.TList()
    bkg_list.Add(jet_pt_seed)
    bkg_list.Add(jet_pt_smeared)
    pad = ROOT.add_ratio_pad(jet_pt_all, bkg_list)
    pad.SetLogy()
    min_y = ROOT.GetMinOfHist(jet_pt_seed)*0.1
    max_y = jet_pt_seed.GetMaximum() * 50
    jet_pt_seed.GetYaxis().SetRangeUser(min_y, max_y)

    jet_pt_seed.Draw("EP")
    jet_pt_all.Draw("same EP")
    jet_pt_smeared.Draw("same EP")

    legend = ROOT.myLegend(0.65, 0.7, 0.85, 0.9)
    legend.AddEntry(jet_pt_all, "all events", 'f')
    legend.AddEntry(jet_pt_seed, "seed events", 'f')
    legend.AddEntry(jet_pt_smeared, "smeared events", 'f')
    legend.Draw()

    base_name = os.path.basename(file_name)
    tag = "data_susy11_jrf_p1886_v4.list"
    canvas.SaveAs(base_name.replace(tag, hist_name)+"_log.pdf")

    outfile = ROOT.TFile.Open(base_name.replace(tag,"hist"), 'update')
    jet_pt_all.Write()
    jet_pt_smeared.Write()
    jet_pt_seed.Write()
    outfile.Close()
Пример #2
0
 def make_hist(self, br_name, hist_name, nbins, low, hi):
     return ROOT.draw_hist_from_chain(self.chain, br_name,\
                                      self.cut, hist_name, nbins, low, hi)