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()
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)