File indexing completed on 2026-04-04 08:11:19
0001 #include <TFile.h>
0002 #include <TH1D.h>
0003 #include <TH2D.h>
0004 #include <TMath.h>
0005 #include <iostream>
0006 #include "unfold_Def.h"
0007 #include "/sphenix/user/hanpuj/plotstyle/AtlasStyle.C"
0008 #include "/sphenix/user/hanpuj/plotstyle/AtlasUtils.C"
0009
0010 void draw_1D_multiple_plot_ratio(std::vector<TH1F*> h_input, std::vector<int> color, std::vector<int> markerstyle,
0011 bool do_rebin, int rebin_factor, bool do_normalize,
0012 bool set_xrange, float xlow, float xhigh, bool set_logx,
0013 bool set_yrange, float ylow, float yhigh, bool set_logy,
0014 bool set_ratioyrange, float ratiolow, float ratiohigh, TF1* fit_func,
0015 bool set_title, std::string xtitle, std::string ytitle, std::string ratio_title, bool do_binomial,
0016 bool set_text, std::vector<std::string> text, float xstart, float ystart, float size,
0017 bool set_legend, std::vector<std::string> legend, float xstart_legend, float ystart_legend, float size_legend,
0018 std::string output_name) {
0019 if (h_input.size() <= 1) {
0020 std::cout << "Error: no enough input histograms for draw_1D_multiple_plot_ratio" << std::endl;
0021 return;
0022 }
0023 std::vector<TH1F*> h;
0024 for (int i = 0; i < h_input.size(); ++i) {
0025 h.push_back((TH1F*)h_input[i]->Clone(Form("h_%d", i)));
0026 }
0027 TCanvas *can = new TCanvas("can", "", 800, 963);
0028 can->Divide(1, 2);
0029 gStyle->SetPalette(57);
0030 TPad *pad_1 = (TPad*)can->cd(1);
0031 pad_1->SetPad(0, 0.4, 1, 1);
0032 pad_1->SetTopMargin(0.03);
0033 pad_1->SetLeftMargin(0.15);
0034 pad_1->SetBottomMargin(0.035);
0035 pad_1->SetRightMargin(0.08);
0036 for (int i = 0; i < h.size(); ++i) {
0037 h.at(i)->SetMarkerStyle(markerstyle.at(i));
0038 h.at(i)->SetMarkerColor(color.at(i));
0039 h.at(i)->SetLineColor(color.at(i));
0040 if (do_rebin) h.at(i)->Rebin(rebin_factor);
0041 if (do_normalize) {
0042 for (int ib = 1; ib <= h.at(i)->GetNbinsX(); ++ib) {
0043 h.at(i)->SetBinContent(ib, h.at(i)->GetBinContent(ib)/h.at(i)->GetBinWidth(ib));
0044 h.at(i)->SetBinError(ib, h.at(i)->GetBinError(ib)/h.at(i)->GetBinWidth(ib));
0045 }
0046 }
0047 }
0048 if (set_xrange) h.at(0)->GetXaxis()->SetRangeUser(xlow, xhigh);
0049 if (set_logx) pad_1->SetLogx();
0050 if (set_yrange) h.at(0)->GetYaxis()->SetRangeUser(ylow, yhigh);
0051 if (set_logy) pad_1->SetLogy();
0052 if (set_title) {
0053 h.at(0)->GetXaxis()->SetTitle(xtitle.c_str());
0054 h.at(0)->GetYaxis()->SetTitle(ytitle.c_str());
0055 }
0056 h.at(0)->GetXaxis()->SetTitleSize(0.065);
0057 h.at(0)->GetYaxis()->SetTitleSize(0.065);
0058 h.at(0)->GetXaxis()->SetTitleOffset(1.04);
0059 h.at(0)->GetYaxis()->SetTitleOffset(1.06);
0060 h.at(0)->GetXaxis()->SetLabelSize(0.055);
0061 h.at(0)->GetYaxis()->SetLabelSize(0.055);
0062 h.at(0)->GetXaxis()->SetLabelOffset(2);
0063 h.at(0)->GetXaxis()->CenterTitle();
0064 h.at(0)->GetYaxis()->CenterTitle();
0065
0066 h.at(0)->Draw();
0067 for (int i = 0; i < h.size(); ++i) {
0068 if (i == 0) continue;
0069 h.at(i)->Draw("same");
0070 }
0071
0072 if (set_text) {
0073 for (int i = 0; i < text.size(); i++) {
0074 myText(xstart, ystart-i*(size+0.01), 1, text[i].c_str(), size);
0075 }
0076 }
0077 if (set_legend) {
0078 for (int i = 0; i < legend.size(); i++) {
0079 myMarkerLineText(xstart_legend, ystart_legend-i*(size+0.01), 1, color.at(i), markerstyle.at(i), color.at(i), 1, legend.at(i).c_str(), size_legend, true);
0080 }
0081 }
0082
0083 TPad *pad_2 = (TPad*)can->cd(2);
0084 pad_2->SetPad(0, 0, 1, 0.4);
0085 pad_2->SetTopMargin(0.03);
0086 pad_2->SetLeftMargin(0.15);
0087 pad_2->SetBottomMargin(0.25);
0088 pad_2->SetRightMargin(0.08);
0089 std::vector<TH1F*> h_ratio;
0090 for (int i = 0; i < h.size()-1; ++i) {
0091 TH1F *h_temp = (TH1F*)h.at(i+1)->Clone(Form("h_ratio_%d", i));
0092 if (do_binomial) h_temp->Divide(h.at(i+1), h.at(0), 1, 1, "B");
0093 else h_temp->Divide(h.at(0));
0094 h_ratio.push_back(h_temp);
0095 h_ratio.at(i)->SetMarkerStyle(markerstyle.at(i+1));
0096 h_ratio.at(i)->SetMarkerColor(color.at(i+1));
0097 h_ratio.at(i)->SetLineColor(color.at(i+1));
0098 }
0099 if (set_title) {
0100 h_ratio.at(0)->GetXaxis()->SetTitle(xtitle.c_str());
0101 h_ratio.at(0)->GetYaxis()->SetTitle(ratio_title.c_str());
0102 } else {
0103 h_ratio.at(0)->GetXaxis()->SetTitle(h.at(0)->GetXaxis()->GetTitle());
0104 h_ratio.at(0)->GetYaxis()->SetTitle("Ratio");
0105 }
0106 if (set_xrange) h_ratio.at(0)->GetXaxis()->SetRangeUser(xlow, xhigh);
0107 if (set_ratioyrange) h_ratio.at(0)->GetYaxis()->SetRangeUser(ratiolow, ratiohigh);
0108 h_ratio.at(0)->GetXaxis()->CenterTitle();
0109 h_ratio.at(0)->GetYaxis()->CenterTitle();
0110 h_ratio.at(0)->GetXaxis()->SetTitleOffset(0.95);
0111 h_ratio.at(0)->GetYaxis()->SetTitleOffset(h.at(0)->GetYaxis()->GetTitleOffset()*4/6.);
0112
0113 h_ratio.at(0)->GetXaxis()->SetLabelSize(h.at(0)->GetXaxis()->GetLabelSize()*6/4.);
0114 h_ratio.at(0)->GetYaxis()->SetLabelSize(h.at(0)->GetYaxis()->GetLabelSize()*6/4.);
0115 h_ratio.at(0)->GetXaxis()->SetTitleSize(h.at(0)->GetXaxis()->GetTitleSize()*6/4.);
0116 h_ratio.at(0)->GetYaxis()->SetTitleSize(h.at(0)->GetYaxis()->GetTitleSize()*6/4.);
0117 h_ratio.at(0)->Draw();
0118 for (int i = 0; i < h_ratio.size(); ++i) {
0119 if (i == 0) continue;
0120 h_ratio.at(i)->Draw("same");
0121 }
0122 fit_func->SetLineColor(kRed);
0123 fit_func->Draw("same");
0124
0125 TLine *line;
0126 if (set_xrange) line = new TLine(xlow, 1, xhigh, 1);
0127 else line = new TLine(h.at(0)->GetXaxis()->GetBinLowEdge(1), 1, h.at(0)->GetXaxis()->GetBinUpEdge(h.at(0)->GetNbinsX()), 1);
0128 line->SetLineColor(kBlack);
0129 line->SetLineStyle(3);
0130 line->Draw("same");
0131
0132 can->SaveAs(output_name.c_str());
0133 delete can;
0134 delete line;
0135 }
0136
0137 void get_reweight_hist(TFile* f_out, TH1D*& h_reweight, std::string h_reweightname, TH1D* h_data, TH1D* h_sim) {
0138 h_data->Rebin(10); h_data->Scale(1.0 / h_data->Integral());
0139 h_sim->Rebin(10); h_sim->Scale(1.0 / h_sim->Integral());
0140 h_reweight = (TH1D*)h_data->Clone(h_reweightname.c_str());
0141 h_reweight->Divide(h_sim);
0142 h_reweight->SetName(h_reweightname.c_str());
0143
0144 std::string prefix_to_remove = "h_reweight_";
0145 std::string new_prefix = "reweightfunc_";
0146 std::string plot_name = new_prefix + h_reweightname.substr(prefix_to_remove.length());
0147
0148 TF1* func_reweight = new TF1(plot_name.c_str(), "[0]*TMath::Exp(-[1]*x) + [2]", 0, 200);
0149 func_reweight->SetParameters(1., 0.1, 0.5);
0150 h_reweight->Fit(func_reweight, "", "", 15, 70);
0151
0152 std::vector<TH1F*> h_input;
0153 std::vector<int> color;
0154 std::vector<int> markerstyle;
0155 std::vector<std::string> text;
0156 std::vector<std::string> legend;
0157
0158 h_input.push_back((TH1F*)h_sim);
0159 h_input.push_back((TH1F*)h_data);
0160 color.push_back(kRed);
0161 color.push_back(kBlack);
0162 markerstyle.push_back(24);
0163 markerstyle.push_back(24);
0164 text.push_back("#bf{#it{sPHENIX}} Internal");
0165 text.push_back("Data & PYTHIA8 p+p#sqrt{s} = 200 GeV");
0166 text.push_back("anti-k_{t} #kern[-0.5]{#it{R}} = 0.4");
0167 legend.push_back("Simulation jet spectrum");
0168 legend.push_back("Data jet spectrum");
0169 draw_1D_multiple_plot_ratio(h_input, color, markerstyle,
0170 false, 10, true,
0171 true, calibptbins[0], calibptbins[calibnpt], false,
0172 false, 0, 0.5, true,
0173 true, 0., 2., func_reweight,
0174 true, "p_{T}^{jet} [GeV]", "Arbitrary Unit", "Reweight factor", 0,
0175 true, text, 0.4, 0.9, 0.05,
0176 true, legend, 0.25, 0.2, 0.05,
0177 Form("figure_reweight/%s.png", plot_name.c_str()));
0178 h_input.clear();
0179 color.clear();
0180 markerstyle.clear();
0181 text.clear();
0182 legend.clear();
0183
0184 f_out->cd();
0185 h_reweight->Write();
0186 func_reweight->Write();
0187 }
0188
0189 void get_reweighthist(int radius_index = 4) {
0190
0191 SetAtlasStyle();
0192 gStyle->SetPadTickX(1);
0193 gStyle->SetPadTickY(1);
0194
0195
0196 TFile* f_data = new TFile(Form("output_data_r0%d.root", radius_index), "READ");
0197 TFile* f_sim = new TFile(Form("output_sim_r0%d.root", radius_index), "READ");
0198 TFile* f_out = new TFile(Form("output_reweightfunction_r0%d.root", radius_index), "RECREATE");
0199
0200
0201 TH1D* h_calibjet_pt_all = (TH1D*)f_data->Get("h_calibjet_pt_record_all");
0202 TH1D* h_calibjet_pt_all_jesup = (TH1D*)h_calibjet_pt_all->Clone("h_calibjet_pt_record_all_jesup");
0203 TH1D* h_calibjet_pt_all_jesdown = (TH1D*)h_calibjet_pt_all->Clone("h_calibjet_pt_record_all_jesdown");
0204 TH1D* h_calibjet_pt_all_jerup = (TH1D*)h_calibjet_pt_all->Clone("h_calibjet_pt_record_all_jerup");
0205 TH1D* h_calibjet_pt_all_jerdown = (TH1D*)h_calibjet_pt_all->Clone("h_calibjet_pt_record_all_jerdown");
0206 TH1D* h_calibjet_pt_all_jetup = (TH1D*)f_data->Get("h_calibjet_pt_record_all_jetup");
0207 TH1D* h_calibjet_pt_all_jetdown = (TH1D*)f_data->Get("h_calibjet_pt_record_all_jetdown");
0208
0209 TH1D* h_calibjet_pt_zvertex30 = (TH1D*)f_data->Get("h_calibjet_pt_record_zvertex30");
0210 TH1D* h_calibjet_pt_zvertex30_jesup = (TH1D*)h_calibjet_pt_zvertex30->Clone("h_calibjet_pt_record_zvertex30_jesup");
0211 TH1D* h_calibjet_pt_zvertex30_jesdown = (TH1D*)h_calibjet_pt_zvertex30->Clone("h_calibjet_pt_record_zvertex30_jesdown");
0212 TH1D* h_calibjet_pt_zvertex30_jerup = (TH1D*)h_calibjet_pt_zvertex30->Clone("h_calibjet_pt_record_zvertex30_jerup");
0213 TH1D* h_calibjet_pt_zvertex30_jerdown = (TH1D*)h_calibjet_pt_zvertex30->Clone("h_calibjet_pt_record_zvertex30_jerdown");
0214 TH1D* h_calibjet_pt_zvertex30_jetup = (TH1D*)f_data->Get("h_calibjet_pt_record_zvertex30_jetup");
0215 TH1D* h_calibjet_pt_zvertex30_jetdown = (TH1D*)f_data->Get("h_calibjet_pt_record_zvertex30_jetdown");
0216 TH1D* h_calibjet_pt_zvertex30_mbdup = (TH1D*)f_data->Get("h_calibjet_pt_record_zvertex30_mbdup");
0217 TH1D* h_calibjet_pt_zvertex30_mbddown = (TH1D*)f_data->Get("h_calibjet_pt_record_zvertex30_mbddown");
0218
0219 TH1D* h_calibjet_pt_zvertex60 = (TH1D*)f_data->Get("h_calibjet_pt_record_zvertex60");
0220 TH1D* h_calibjet_pt_zvertex60_jesup = (TH1D*)h_calibjet_pt_zvertex60->Clone("h_calibjet_pt_record_zvertex60_jesup");
0221 TH1D* h_calibjet_pt_zvertex60_jesdown = (TH1D*)h_calibjet_pt_zvertex60->Clone("h_calibjet_pt_record_zvertex60_jesdown");
0222 TH1D* h_calibjet_pt_zvertex60_jerup = (TH1D*)h_calibjet_pt_zvertex60->Clone("h_calibjet_pt_record_zvertex60_jerup");
0223 TH1D* h_calibjet_pt_zvertex60_jerdown = (TH1D*)h_calibjet_pt_zvertex60->Clone("h_calibjet_pt_record_zvertex60_jerdown");
0224 TH1D* h_calibjet_pt_zvertex60_jetup = (TH1D*)f_data->Get("h_calibjet_pt_record_zvertex60_jetup");
0225 TH1D* h_calibjet_pt_zvertex60_jetdown = (TH1D*)f_data->Get("h_calibjet_pt_record_zvertex60_jetdown");
0226 TH1D* h_calibjet_pt_zvertex60_mbdup = (TH1D*)f_data->Get("h_calibjet_pt_record_zvertex60_mbdup");
0227 TH1D* h_calibjet_pt_zvertex60_mbddown = (TH1D*)f_data->Get("h_calibjet_pt_record_zvertex60_mbddown");
0228
0229
0230 TH1D* h_measure_unweighted_all = (TH1D*)f_sim->Get("h_measure_unweighted_all");
0231 TH1D* h_measure_unweighted_all_jesup = (TH1D*)f_sim->Get("h_measure_unweighted_all_jesup");
0232 TH1D* h_measure_unweighted_all_jesdown = (TH1D*)f_sim->Get("h_measure_unweighted_all_jesdown");
0233 TH1D* h_measure_unweighted_all_jerup = (TH1D*)f_sim->Get("h_measure_unweighted_all_jerup");
0234 TH1D* h_measure_unweighted_all_jerdown = (TH1D*)f_sim->Get("h_measure_unweighted_all_jerdown");
0235 TH1D* h_measure_unweighted_all_jetup = (TH1D*)f_sim->Get("h_measure_unweighted_all_jetup");
0236 TH1D* h_measure_unweighted_all_jetdown = (TH1D*)f_sim->Get("h_measure_unweighted_all_jetdown");
0237
0238 TH1D* h_measure_unweighted_zvertex30 = (TH1D*)f_sim->Get("h_measure_unweighted_zvertex30");
0239 TH1D* h_measure_unweighted_zvertex30_jesup = (TH1D*)f_sim->Get("h_measure_unweighted_zvertex30_jesup");
0240 TH1D* h_measure_unweighted_zvertex30_jesdown = (TH1D*)f_sim->Get("h_measure_unweighted_zvertex30_jesdown");
0241 TH1D* h_measure_unweighted_zvertex30_jerup = (TH1D*)f_sim->Get("h_measure_unweighted_zvertex30_jerup");
0242 TH1D* h_measure_unweighted_zvertex30_jerdown = (TH1D*)f_sim->Get("h_measure_unweighted_zvertex30_jerdown");
0243 TH1D* h_measure_unweighted_zvertex30_jetup = (TH1D*)f_sim->Get("h_measure_unweighted_zvertex30_jetup");
0244 TH1D* h_measure_unweighted_zvertex30_jetdown = (TH1D*)f_sim->Get("h_measure_unweighted_zvertex30_jetdown");
0245 TH1D* h_measure_unweighted_zvertex30_mbdup = (TH1D*)f_sim->Get("h_measure_unweighted_zvertex30_mbdup");
0246 TH1D* h_measure_unweighted_zvertex30_mbddown = (TH1D*)f_sim->Get("h_measure_unweighted_zvertex30_mbddown");
0247
0248 TH1D* h_measure_unweighted_zvertex60 = (TH1D*)f_sim->Get("h_measure_unweighted_zvertex60");
0249 TH1D* h_measure_unweighted_zvertex60_jesup = (TH1D*)f_sim->Get("h_measure_unweighted_zvertex60_jesup");
0250 TH1D* h_measure_unweighted_zvertex60_jesdown = (TH1D*)f_sim->Get("h_measure_unweighted_zvertex60_jesdown");
0251 TH1D* h_measure_unweighted_zvertex60_jerup = (TH1D*)f_sim->Get("h_measure_unweighted_zvertex60_jerup");
0252 TH1D* h_measure_unweighted_zvertex60_jerdown = (TH1D*)f_sim->Get("h_measure_unweighted_zvertex60_jerdown");
0253 TH1D* h_measure_unweighted_zvertex60_jetup = (TH1D*)f_sim->Get("h_measure_unweighted_zvertex60_jetup");
0254 TH1D* h_measure_unweighted_zvertex60_jetdown = (TH1D*)f_sim->Get("h_measure_unweighted_zvertex60_jetdown");
0255 TH1D* h_measure_unweighted_zvertex60_mbdup = (TH1D*)f_sim->Get("h_measure_unweighted_zvertex60_mbdup");
0256 TH1D* h_measure_unweighted_zvertex60_mbddown = (TH1D*)f_sim->Get("h_measure_unweighted_zvertex60_mbddown");
0257
0258
0259 TH1D* h_reweight_all; get_reweight_hist(f_out, h_reweight_all, "h_reweight_all", h_calibjet_pt_all, h_measure_unweighted_all);
0260 TH1D* h_reweight_all_jesup; get_reweight_hist(f_out, h_reweight_all_jesup, "h_reweight_all_jesup", h_calibjet_pt_all_jesup, h_measure_unweighted_all_jesup);
0261 TH1D* h_reweight_all_jesdown; get_reweight_hist(f_out, h_reweight_all_jesdown, "h_reweight_all_jesdown", h_calibjet_pt_all_jesdown, h_measure_unweighted_all_jesdown);
0262 TH1D* h_reweight_all_jerup; get_reweight_hist(f_out, h_reweight_all_jerup, "h_reweight_all_jerup", h_calibjet_pt_all_jerup, h_measure_unweighted_all_jerup);
0263 TH1D* h_reweight_all_jerdown; get_reweight_hist(f_out, h_reweight_all_jerdown, "h_reweight_all_jerdown", h_calibjet_pt_all_jerdown, h_measure_unweighted_all_jerdown);
0264 TH1D* h_reweight_all_jetup; get_reweight_hist(f_out, h_reweight_all_jetup, "h_reweight_all_jetup", h_calibjet_pt_all_jetup, h_measure_unweighted_all_jetup);
0265 TH1D* h_reweight_all_jetdown; get_reweight_hist(f_out, h_reweight_all_jetdown, "h_reweight_all_jetdown", h_calibjet_pt_all_jetdown, h_measure_unweighted_all_jetdown);
0266
0267 TH1D* h_reweight_zvertex30; get_reweight_hist(f_out, h_reweight_zvertex30, "h_reweight_zvertex30", h_calibjet_pt_zvertex30, h_measure_unweighted_zvertex30);
0268 TH1D* h_reweight_zvertex30_jesup; get_reweight_hist(f_out, h_reweight_zvertex30_jesup, "h_reweight_zvertex30_jesup", h_calibjet_pt_zvertex30_jesup, h_measure_unweighted_zvertex30_jesup);
0269 TH1D* h_reweight_zvertex30_jesdown; get_reweight_hist(f_out, h_reweight_zvertex30_jesdown, "h_reweight_zvertex30_jesdown", h_calibjet_pt_zvertex30_jesdown, h_measure_unweighted_zvertex30_jesdown);
0270 TH1D* h_reweight_zvertex30_jerup; get_reweight_hist(f_out, h_reweight_zvertex30_jerup, "h_reweight_zvertex30_jerup", h_calibjet_pt_zvertex30_jerup, h_measure_unweighted_zvertex30_jerup);
0271 TH1D* h_reweight_zvertex30_jerdown; get_reweight_hist(f_out, h_reweight_zvertex30_jerdown, "h_reweight_zvertex30_jerdown", h_calibjet_pt_zvertex30_jerdown, h_measure_unweighted_zvertex30_jerdown);
0272 TH1D* h_reweight_zvertex30_jetup; get_reweight_hist(f_out, h_reweight_zvertex30_jetup, "h_reweight_zvertex30_jetup", h_calibjet_pt_zvertex30_jetup, h_measure_unweighted_zvertex30_jetup);
0273 TH1D* h_reweight_zvertex30_jetdown; get_reweight_hist(f_out, h_reweight_zvertex30_jetdown, "h_reweight_zvertex30_jetdown", h_calibjet_pt_zvertex30_jetdown, h_measure_unweighted_zvertex30_jetdown);
0274 TH1D* h_reweight_zvertex30_mbdup; get_reweight_hist(f_out, h_reweight_zvertex30_mbdup, "h_reweight_zvertex30_mbdup", h_calibjet_pt_zvertex30_mbdup, h_measure_unweighted_zvertex30_mbdup);
0275 TH1D* h_reweight_zvertex30_mbddown; get_reweight_hist(f_out, h_reweight_zvertex30_mbddown, "h_reweight_zvertex30_mbddown", h_calibjet_pt_zvertex30_mbddown, h_measure_unweighted_zvertex30_mbddown);
0276
0277 TH1D* h_reweight_zvertex60; get_reweight_hist(f_out, h_reweight_zvertex60, "h_reweight_zvertex60", h_calibjet_pt_zvertex60, h_measure_unweighted_zvertex60);
0278 TH1D* h_reweight_zvertex60_jesup; get_reweight_hist(f_out, h_reweight_zvertex60_jesup, "h_reweight_zvertex60_jesup", h_calibjet_pt_zvertex60_jesup, h_measure_unweighted_zvertex60_jesup);
0279 TH1D* h_reweight_zvertex60_jesdown; get_reweight_hist(f_out, h_reweight_zvertex60_jesdown, "h_reweight_zvertex60_jesdown", h_calibjet_pt_zvertex60_jesdown, h_measure_unweighted_zvertex60_jesdown);
0280 TH1D* h_reweight_zvertex60_jerup; get_reweight_hist(f_out, h_reweight_zvertex60_jerup, "h_reweight_zvertex60_jerup", h_calibjet_pt_zvertex60_jerup, h_measure_unweighted_zvertex60_jerup);
0281 TH1D* h_reweight_zvertex60_jerdown; get_reweight_hist(f_out, h_reweight_zvertex60_jerdown, "h_reweight_zvertex60_jerdown", h_calibjet_pt_zvertex60_jerdown, h_measure_unweighted_zvertex60_jerdown);
0282 TH1D* h_reweight_zvertex60_jetup; get_reweight_hist(f_out, h_reweight_zvertex60_jetup, "h_reweight_zvertex60_jetup", h_calibjet_pt_zvertex60_jetup, h_measure_unweighted_zvertex60_jetup);
0283 TH1D* h_reweight_zvertex60_jetdown; get_reweight_hist(f_out, h_reweight_zvertex60_jetdown, "h_reweight_zvertex60_jetdown", h_calibjet_pt_zvertex60_jetdown, h_measure_unweighted_zvertex60_jetdown);
0284 TH1D* h_reweight_zvertex60_mbdup; get_reweight_hist(f_out, h_reweight_zvertex60_mbdup, "h_reweight_zvertex60_mbdup", h_calibjet_pt_zvertex60_mbdup, h_measure_unweighted_zvertex60_mbdup);
0285 TH1D* h_reweight_zvertex60_mbddown; get_reweight_hist(f_out, h_reweight_zvertex60_mbddown, "h_reweight_zvertex60_mbddown", h_calibjet_pt_zvertex60_mbddown, h_measure_unweighted_zvertex60_mbddown);
0286 }