File indexing completed on 2025-08-05 08:13:10
0001 #include <TChain.h>
0002 #include <TFile.h>
0003 #include <TH1F.h>
0004 #include <TH2F.h>
0005 #include <TF1.h>
0006 #include <TMath.h>
0007 #include <iostream>
0008 #include <vector>
0009 #include <string>
0010 #include <cmath>
0011 #include "RooUnfold.h"
0012 #include "RooUnfoldResponse.h"
0013 #include "RooUnfoldBayes.h"
0014
0015 void get_unfolded_spectrum(TH2D* h_respmatrix, TH1D* h_spectrum, TH1D*& h_unfolded, int niter, std::string hist_name, TH1D* h_eff) {
0016 TH1D* h_meas = (TH1D*)h_respmatrix->ProjectionX("h_meas");
0017 TH1D* h_truth = (TH1D*)h_respmatrix->ProjectionY("h_truth");
0018 RooUnfoldResponse* response = new RooUnfoldResponse(h_meas, h_truth, h_respmatrix, "response", "");
0019 RooUnfoldBayes unfold(response, h_spectrum, niter);
0020 h_unfolded = (TH1D*)unfold.Hunfold(RooUnfold::kErrors);
0021 h_unfolded->SetName(hist_name.c_str());
0022 h_unfolded->Divide(h_eff);
0023 }
0024
0025
0026 void do_unfolding() {
0027
0028 const float PI = TMath::Pi();
0029 const float jet_radius = 0.4;
0030
0031
0032 TFile *f_out = new TFile("output_unfolded.root", "RECREATE");
0033
0034 TFile *f_data = new TFile("output_data_puritycorr.root", "READ");
0035 TFile *f_in_rm = new TFile("output_reweightmatrix.root", "READ");
0036 TFile *f_efficiency = new TFile("output_purityefficiency.root", "READ");
0037 TFile *f_mbd = new TFile("output_mbdtrigeff.root", "READ");
0038
0039
0040 TH1D* h_calibjet_pt_puritycorr_dijet = (TH1D*)f_data->Get("h_calibjet_pt_puritycorr_dijet");
0041 TH1D* h_calibjet_pt_puritycorr_dijet_effdown = (TH1D*)f_data->Get("h_calibjet_pt_puritycorr_dijet_effdown");
0042 TH1D* h_calibjet_pt_puritycorr_dijet_effup = (TH1D*)f_data->Get("h_calibjet_pt_puritycorr_dijet_effup");
0043 TH1D* h_calibjet_pt_puritycorr_dijet_jesdown = (TH1D*)f_data->Get("h_calibjet_pt_puritycorr_dijet_jesdown");
0044 TH1D* h_calibjet_pt_puritycorr_dijet_jesup = (TH1D*)f_data->Get("h_calibjet_pt_puritycorr_dijet_jesup");
0045 TH1D* h_calibjet_pt_puritycorr_dijet_jerdown = (TH1D*)f_data->Get("h_calibjet_pt_puritycorr_dijet_jerdown");
0046 TH1D* h_calibjet_pt_puritycorr_dijet_jerup = (TH1D*)f_data->Get("h_calibjet_pt_puritycorr_dijet_jerup");
0047
0048 TH1D* h_calibjet_pt_puritycorr_frac = (TH1D*)f_data->Get("h_calibjet_pt_puritycorr_frac");
0049 TH1D* h_calibjet_pt_puritycorr_frac_effdown = (TH1D*)f_data->Get("h_calibjet_pt_puritycorr_frac_effdown");
0050 TH1D* h_calibjet_pt_puritycorr_frac_effup = (TH1D*)f_data->Get("h_calibjet_pt_puritycorr_frac_effup");
0051 TH1D* h_calibjet_pt_puritycorr_frac_jesdown = (TH1D*)f_data->Get("h_calibjet_pt_puritycorr_frac_jesdown");
0052 TH1D* h_calibjet_pt_puritycorr_frac_jesup = (TH1D*)f_data->Get("h_calibjet_pt_puritycorr_frac_jesup");
0053 TH1D* h_calibjet_pt_puritycorr_frac_jerdown = (TH1D*)f_data->Get("h_calibjet_pt_puritycorr_frac_jerdown");
0054 TH1D* h_calibjet_pt_puritycorr_frac_jerup = (TH1D*)f_data->Get("h_calibjet_pt_puritycorr_frac_jerup");
0055
0056
0057 TH2D* h_respmatrix_calib_dijet_reweighted = (TH2D*)f_in_rm->Get("h_respmatrix_calib_dijet_reweighted");
0058 TH2D* h_respmatrix_calib_dijet_effdown_reweighted = (TH2D*)f_in_rm->Get("h_respmatrix_calib_dijet_effdown_reweighted");
0059 TH2D* h_respmatrix_calib_dijet_effup_reweighted = (TH2D*)f_in_rm->Get("h_respmatrix_calib_dijet_effup_reweighted");
0060 TH2D* h_respmatrix_calib_dijet_jesdown_reweighted = (TH2D*)f_in_rm->Get("h_respmatrix_calib_dijet_jesdown_reweighted");
0061 TH2D* h_respmatrix_calib_dijet_jesup_reweighted = (TH2D*)f_in_rm->Get("h_respmatrix_calib_dijet_jesup_reweighted");
0062 TH2D* h_respmatrix_calib_dijet_jerdown_reweighted = (TH2D*)f_in_rm->Get("h_respmatrix_calib_dijet_jerdown_reweighted");
0063 TH2D* h_respmatrix_calib_dijet_jerup_reweighted = (TH2D*)f_in_rm->Get("h_respmatrix_calib_dijet_jerup_reweighted");
0064
0065 TH2D* h_respmatrix_calib_frac_reweighted = (TH2D*)f_in_rm->Get("h_respmatrix_calib_frac_reweighted");
0066 TH2D* h_respmatrix_calib_frac_effdown_reweighted = (TH2D*)f_in_rm->Get("h_respmatrix_calib_frac_effdown_reweighted");
0067 TH2D* h_respmatrix_calib_frac_effup_reweighted = (TH2D*)f_in_rm->Get("h_respmatrix_calib_frac_effup_reweighted");
0068 TH2D* h_respmatrix_calib_frac_jesdown_reweighted = (TH2D*)f_in_rm->Get("h_respmatrix_calib_frac_jesdown_reweighted");
0069 TH2D* h_respmatrix_calib_frac_jesup_reweighted = (TH2D*)f_in_rm->Get("h_respmatrix_calib_frac_jesup_reweighted");
0070 TH2D* h_respmatrix_calib_frac_jerdown_reweighted = (TH2D*)f_in_rm->Get("h_respmatrix_calib_frac_jerdown_reweighted");
0071 TH2D* h_respmatrix_calib_frac_jerup_reweighted = (TH2D*)f_in_rm->Get("h_respmatrix_calib_frac_jerup_reweighted");
0072
0073 TH2D* h_respmatrix_calib_dijet = (TH2D*)f_in_rm->Get("h_respmatrix_calib_dijet");
0074 TH2D* h_respmatrix_calib_frac = (TH2D*)f_in_rm->Get("h_respmatrix_calib_frac");
0075
0076
0077 TH1D* h_efficiency_calib_dijet = (TH1D*)f_efficiency->Get("h_efficiency_calib_dijet");
0078 TH1D* h_efficiency_calib_dijet_jesdown = (TH1D*)f_efficiency->Get("h_efficiency_calib_dijet_jesdown");
0079 TH1D* h_efficiency_calib_dijet_jesup = (TH1D*)f_efficiency->Get("h_efficiency_calib_dijet_jesup");
0080 TH1D* h_efficiency_calib_dijet_jerdown = (TH1D*)f_efficiency->Get("h_efficiency_calib_dijet_jerdown");
0081 TH1D* h_efficiency_calib_dijet_jerup = (TH1D*)f_efficiency->Get("h_efficiency_calib_dijet_jerup");
0082 TH1D* h_efficiency_calib_frac = (TH1D*)f_efficiency->Get("h_efficiency_calib_frac");
0083 TH1D* h_efficiency_calib_frac_jesdown = (TH1D*)f_efficiency->Get("h_efficiency_calib_frac_jesdown");
0084 TH1D* h_efficiency_calib_frac_jesup = (TH1D*)f_efficiency->Get("h_efficiency_calib_frac_jesup");
0085 TH1D* h_efficiency_calib_frac_jerdown = (TH1D*)f_efficiency->Get("h_efficiency_calib_frac_jerdown");
0086 TH1D* h_efficiency_calib_frac_jerup = (TH1D*)f_efficiency->Get("h_efficiency_calib_frac_jerup");
0087
0088
0089 TH1D* h_mbd_efficiency = (TH1D*)f_mbd->Get("Ratio_h_TJetSpectrumCBin1_tzvtx_PMTHit40_MBDNS1_Over_h_TJetpTSpectrumCBin1_tzvtx");
0090 TH1D* h_mbd_efficiency_down = (TH1D*)f_mbd->Get("Ratio_h_TJetSpectrumCBin1_tzvtx_PMTHit30_MBDNS1_Over_h_TJetpTSpectrumCBin1_tzvtx");
0091 TH1D* h_mbd_efficiency_up = (TH1D*)f_mbd->Get("Ratio_h_TJetSpectrumCBin1_tzvtx_PMTHit50_MBDNS1_Over_h_TJetpTSpectrumCBin1_tzvtx");
0092
0093
0094 TH1D* h_unfold_calib_dijet_reweighted_1; get_unfolded_spectrum(h_respmatrix_calib_dijet_reweighted, h_calibjet_pt_puritycorr_dijet, h_unfold_calib_dijet_reweighted_1, 1, "h_unfold_calib_dijet_reweighted_1", h_efficiency_calib_dijet);
0095 TH1D* h_unfold_calib_dijet_effdown_reweighted_1; get_unfolded_spectrum(h_respmatrix_calib_dijet_effdown_reweighted, h_calibjet_pt_puritycorr_dijet_effdown, h_unfold_calib_dijet_effdown_reweighted_1, 1, "h_unfold_calib_dijet_effdown_reweighted_1", h_efficiency_calib_dijet);
0096 TH1D* h_unfold_calib_dijet_effup_reweighted_1; get_unfolded_spectrum(h_respmatrix_calib_dijet_effup_reweighted, h_calibjet_pt_puritycorr_dijet_effup, h_unfold_calib_dijet_effup_reweighted_1, 1, "h_unfold_calib_dijet_effup_reweighted_1", h_efficiency_calib_dijet);
0097 TH1D* h_unfold_calib_dijet_jesdown_reweighted_1; get_unfolded_spectrum(h_respmatrix_calib_dijet_jesdown_reweighted, h_calibjet_pt_puritycorr_dijet_jesdown, h_unfold_calib_dijet_jesdown_reweighted_1, 1, "h_unfold_calib_dijet_jesdown_reweighted_1", h_efficiency_calib_dijet_jesdown);
0098 TH1D* h_unfold_calib_dijet_jesup_reweighted_1; get_unfolded_spectrum(h_respmatrix_calib_dijet_jesup_reweighted, h_calibjet_pt_puritycorr_dijet_jesup, h_unfold_calib_dijet_jesup_reweighted_1, 1, "h_unfold_calib_dijet_jesup_reweighted_1", h_efficiency_calib_dijet_jesup);
0099 TH1D* h_unfold_calib_dijet_jerdown_reweighted_1; get_unfolded_spectrum(h_respmatrix_calib_dijet_jerdown_reweighted, h_calibjet_pt_puritycorr_dijet_jerdown, h_unfold_calib_dijet_jerdown_reweighted_1, 1, "h_unfold_calib_dijet_jerdown_reweighted_1", h_efficiency_calib_dijet_jerdown);
0100 TH1D* h_unfold_calib_dijet_jerup_reweighted_1; get_unfolded_spectrum(h_respmatrix_calib_dijet_jerup_reweighted, h_calibjet_pt_puritycorr_dijet_jerup, h_unfold_calib_dijet_jerup_reweighted_1, 1, "h_unfold_calib_dijet_jerup_reweighted_1", h_efficiency_calib_dijet_jerup);
0101
0102 TH1D* h_unfold_calib_frac_reweighted_1; get_unfolded_spectrum(h_respmatrix_calib_frac_reweighted, h_calibjet_pt_puritycorr_frac, h_unfold_calib_frac_reweighted_1, 1, "h_unfold_calib_frac_reweighted_1", h_efficiency_calib_frac);
0103 TH1D* h_unfold_calib_frac_effdown_reweighted_1; get_unfolded_spectrum(h_respmatrix_calib_frac_effdown_reweighted, h_calibjet_pt_puritycorr_frac_effdown, h_unfold_calib_frac_effdown_reweighted_1, 1, "h_unfold_calib_frac_effdown_reweighted_1", h_efficiency_calib_frac);
0104 TH1D* h_unfold_calib_frac_effup_reweighted_1; get_unfolded_spectrum(h_respmatrix_calib_frac_effup_reweighted, h_calibjet_pt_puritycorr_frac_effup, h_unfold_calib_frac_effup_reweighted_1, 1, "h_unfold_calib_frac_effup_reweighted_1", h_efficiency_calib_frac);
0105 TH1D* h_unfold_calib_frac_jesdown_reweighted_1; get_unfolded_spectrum(h_respmatrix_calib_frac_jesdown_reweighted, h_calibjet_pt_puritycorr_frac_jesdown, h_unfold_calib_frac_jesdown_reweighted_1, 1, "h_unfold_calib_frac_jesdown_reweighted_1", h_efficiency_calib_frac_jesdown);
0106 TH1D* h_unfold_calib_frac_jesup_reweighted_1; get_unfolded_spectrum(h_respmatrix_calib_frac_jesup_reweighted, h_calibjet_pt_puritycorr_frac_jesup, h_unfold_calib_frac_jesup_reweighted_1, 1, "h_unfold_calib_frac_jesup_reweighted_1", h_efficiency_calib_frac_jesup);
0107 TH1D* h_unfold_calib_frac_jerdown_reweighted_1; get_unfolded_spectrum(h_respmatrix_calib_frac_jerdown_reweighted, h_calibjet_pt_puritycorr_frac_jerdown, h_unfold_calib_frac_jerdown_reweighted_1, 1, "h_unfold_calib_frac_jerdown_reweighted_1", h_efficiency_calib_frac_jerdown);
0108 TH1D* h_unfold_calib_frac_jerup_reweighted_1; get_unfolded_spectrum(h_respmatrix_calib_frac_jerup_reweighted, h_calibjet_pt_puritycorr_frac_jerup, h_unfold_calib_frac_jerup_reweighted_1, 1, "h_unfold_calib_frac_jerup_reweighted_1", h_efficiency_calib_frac_jerup);
0109
0110 TH1D* h_unfold_calib_dijet_reweighted_2; get_unfolded_spectrum(h_respmatrix_calib_dijet_reweighted, h_calibjet_pt_puritycorr_dijet, h_unfold_calib_dijet_reweighted_2, 2, "h_unfold_calib_dijet_reweighted_2", h_efficiency_calib_dijet);
0111 TH1D* h_unfold_calib_dijet_reweighted_3; get_unfolded_spectrum(h_respmatrix_calib_dijet_reweighted, h_calibjet_pt_puritycorr_dijet, h_unfold_calib_dijet_reweighted_3, 3, "h_unfold_calib_dijet_reweighted_3", h_efficiency_calib_dijet);
0112 TH1D* h_unfold_calib_dijet_mbddown_reweighted_1; get_unfolded_spectrum(h_respmatrix_calib_dijet_reweighted, h_calibjet_pt_puritycorr_dijet, h_unfold_calib_dijet_mbddown_reweighted_1, 1, "h_unfold_calib_dijet_mbddown_reweighted_1", h_efficiency_calib_dijet);
0113 TH1D* h_unfold_calib_dijet_mbdup_reweighted_1; get_unfolded_spectrum(h_respmatrix_calib_dijet_reweighted, h_calibjet_pt_puritycorr_dijet, h_unfold_calib_dijet_mbdup_reweighted_1, 1, "h_unfold_calib_dijet_mbdup_reweighted_1", h_efficiency_calib_dijet);
0114 TH1D* h_unfold_calib_frac_reweighted_2; get_unfolded_spectrum(h_respmatrix_calib_frac_reweighted, h_calibjet_pt_puritycorr_frac, h_unfold_calib_frac_reweighted_2, 2, "h_unfold_calib_frac_reweighted_2", h_efficiency_calib_frac);
0115 TH1D* h_unfold_calib_frac_reweighted_3; get_unfolded_spectrum(h_respmatrix_calib_frac_reweighted, h_calibjet_pt_puritycorr_frac, h_unfold_calib_frac_reweighted_3, 3, "h_unfold_calib_frac_reweighted_3", h_efficiency_calib_frac);
0116 TH1D* h_unfold_calib_frac_mbddown_reweighted_1; get_unfolded_spectrum(h_respmatrix_calib_frac_reweighted, h_calibjet_pt_puritycorr_frac, h_unfold_calib_frac_mbddown_reweighted_1, 1, "h_unfold_calib_frac_mbddown_reweighted_1", h_efficiency_calib_frac);
0117 TH1D* h_unfold_calib_frac_mbdup_reweighted_1; get_unfolded_spectrum(h_respmatrix_calib_frac_reweighted, h_calibjet_pt_puritycorr_frac, h_unfold_calib_frac_mbdup_reweighted_1, 1, "h_unfold_calib_frac_mbdup_reweighted_1", h_efficiency_calib_frac);
0118
0119 TH1D* h_unfold_calib_dijet_1; get_unfolded_spectrum(h_respmatrix_calib_dijet, h_calibjet_pt_puritycorr_dijet, h_unfold_calib_dijet_1, 2, "h_unfold_calib_dijet_1", h_efficiency_calib_dijet);
0120 TH1D* h_unfold_calib_frac_1; get_unfolded_spectrum(h_respmatrix_calib_frac, h_calibjet_pt_puritycorr_frac, h_unfold_calib_frac_1, 2, "h_unfold_calib_frac_1", h_efficiency_calib_frac);
0121 for (int ib = 1; ib <= h_unfold_calib_dijet_1->GetNbinsX(); ++ib) {
0122 std::cout << "bin " << ib << " : " << h_unfold_calib_dijet_1->GetBinContent(ib) << "\t" << h_unfold_calib_dijet_reweighted_1->GetBinContent(ib) << "\t\t" << h_unfold_calib_frac_1->GetBinContent(ib) << "\t" << h_unfold_calib_frac_reweighted_1->GetBinContent(ib) << std::endl;
0123 }
0124
0125
0126 int n_underflow_bin = 2;
0127 int n_overflow_bin = 1;
0128 for (int ib = 1 + n_underflow_bin; ib <= h_unfold_calib_dijet_reweighted_1->GetNbinsX() - n_overflow_bin; ++ib) {
0129 double mbd_efficiency = h_mbd_efficiency->GetBinContent(ib - n_underflow_bin) / 0.57 * (26.1 / 42.);
0130
0131 h_unfold_calib_dijet_reweighted_1->SetBinContent(ib, h_unfold_calib_dijet_reweighted_1->GetBinContent(ib) / mbd_efficiency); h_unfold_calib_dijet_reweighted_1->SetBinError(ib, h_unfold_calib_dijet_reweighted_1->GetBinError(ib) / mbd_efficiency);
0132 h_unfold_calib_dijet_effdown_reweighted_1->SetBinContent(ib, h_unfold_calib_dijet_effdown_reweighted_1->GetBinContent(ib) / mbd_efficiency); h_unfold_calib_dijet_effdown_reweighted_1->SetBinError(ib, h_unfold_calib_dijet_effdown_reweighted_1->GetBinError(ib) / mbd_efficiency);
0133 h_unfold_calib_dijet_effup_reweighted_1->SetBinContent(ib, h_unfold_calib_dijet_effup_reweighted_1->GetBinContent(ib) / mbd_efficiency); h_unfold_calib_dijet_effup_reweighted_1->SetBinError(ib, h_unfold_calib_dijet_effup_reweighted_1->GetBinError(ib) / mbd_efficiency);
0134 h_unfold_calib_dijet_jesdown_reweighted_1->SetBinContent(ib, h_unfold_calib_dijet_jesdown_reweighted_1->GetBinContent(ib) / mbd_efficiency); h_unfold_calib_dijet_jesdown_reweighted_1->SetBinError(ib, h_unfold_calib_dijet_jesdown_reweighted_1->GetBinError(ib) / mbd_efficiency);
0135 h_unfold_calib_dijet_jesup_reweighted_1->SetBinContent(ib, h_unfold_calib_dijet_jesup_reweighted_1->GetBinContent(ib) / mbd_efficiency); h_unfold_calib_dijet_jesup_reweighted_1->SetBinError(ib, h_unfold_calib_dijet_jesup_reweighted_1->GetBinError(ib) / mbd_efficiency);
0136 h_unfold_calib_dijet_jerdown_reweighted_1->SetBinContent(ib, h_unfold_calib_dijet_jerdown_reweighted_1->GetBinContent(ib) / mbd_efficiency); h_unfold_calib_dijet_jerdown_reweighted_1->SetBinError(ib, h_unfold_calib_dijet_jerdown_reweighted_1->GetBinError(ib) / mbd_efficiency);
0137 h_unfold_calib_dijet_jerup_reweighted_1->SetBinContent(ib, h_unfold_calib_dijet_jerup_reweighted_1->GetBinContent(ib) / mbd_efficiency); h_unfold_calib_dijet_jerup_reweighted_1->SetBinError(ib, h_unfold_calib_dijet_jerup_reweighted_1->GetBinError(ib) / mbd_efficiency);
0138
0139 h_unfold_calib_frac_reweighted_1->SetBinContent(ib, h_unfold_calib_frac_reweighted_1->GetBinContent(ib) / mbd_efficiency); h_unfold_calib_frac_reweighted_1->SetBinError(ib, h_unfold_calib_frac_reweighted_1->GetBinError(ib) / mbd_efficiency);
0140 h_unfold_calib_frac_effdown_reweighted_1->SetBinContent(ib, h_unfold_calib_frac_effdown_reweighted_1->GetBinContent(ib) / mbd_efficiency); h_unfold_calib_frac_effdown_reweighted_1->SetBinError(ib, h_unfold_calib_frac_effdown_reweighted_1->GetBinError(ib) / mbd_efficiency);
0141 h_unfold_calib_frac_effup_reweighted_1->SetBinContent(ib, h_unfold_calib_frac_effup_reweighted_1->GetBinContent(ib) / mbd_efficiency); h_unfold_calib_frac_effup_reweighted_1->SetBinError(ib, h_unfold_calib_frac_effup_reweighted_1->GetBinError(ib) / mbd_efficiency);
0142 h_unfold_calib_frac_jesdown_reweighted_1->SetBinContent(ib, h_unfold_calib_frac_jesdown_reweighted_1->GetBinContent(ib) / mbd_efficiency); h_unfold_calib_frac_jesdown_reweighted_1->SetBinError(ib, h_unfold_calib_frac_jesdown_reweighted_1->GetBinError(ib) / mbd_efficiency);
0143 h_unfold_calib_frac_jesup_reweighted_1->SetBinContent(ib, h_unfold_calib_frac_jesup_reweighted_1->GetBinContent(ib) / mbd_efficiency); h_unfold_calib_frac_jesup_reweighted_1->SetBinError(ib, h_unfold_calib_frac_jesup_reweighted_1->GetBinError(ib) / mbd_efficiency);
0144 h_unfold_calib_frac_jerdown_reweighted_1->SetBinContent(ib, h_unfold_calib_frac_jerdown_reweighted_1->GetBinContent(ib) / mbd_efficiency); h_unfold_calib_frac_jerdown_reweighted_1->SetBinError(ib, h_unfold_calib_frac_jerdown_reweighted_1->GetBinError(ib) / mbd_efficiency);
0145 h_unfold_calib_frac_jerup_reweighted_1->SetBinContent(ib, h_unfold_calib_frac_jerup_reweighted_1->GetBinContent(ib) / mbd_efficiency); h_unfold_calib_frac_jerup_reweighted_1->SetBinError(ib, h_unfold_calib_frac_jerup_reweighted_1->GetBinError(ib) / mbd_efficiency);
0146
0147 h_unfold_calib_dijet_reweighted_2->SetBinContent(ib, h_unfold_calib_dijet_reweighted_2->GetBinContent(ib) / mbd_efficiency); h_unfold_calib_dijet_reweighted_2->SetBinError(ib, h_unfold_calib_dijet_reweighted_2->GetBinError(ib) / mbd_efficiency);
0148 h_unfold_calib_dijet_reweighted_3->SetBinContent(ib, h_unfold_calib_dijet_reweighted_3->GetBinContent(ib) / mbd_efficiency); h_unfold_calib_dijet_reweighted_3->SetBinError(ib, h_unfold_calib_dijet_reweighted_3->GetBinError(ib) / mbd_efficiency);
0149 h_unfold_calib_frac_reweighted_2->SetBinContent(ib, h_unfold_calib_frac_reweighted_2->GetBinContent(ib) / mbd_efficiency); h_unfold_calib_frac_reweighted_2->SetBinError(ib, h_unfold_calib_frac_reweighted_2->GetBinError(ib) / mbd_efficiency);
0150 h_unfold_calib_frac_reweighted_3->SetBinContent(ib, h_unfold_calib_frac_reweighted_3->GetBinContent(ib) / mbd_efficiency); h_unfold_calib_frac_reweighted_3->SetBinError(ib, h_unfold_calib_frac_reweighted_3->GetBinError(ib) / mbd_efficiency);
0151
0152 h_unfold_calib_dijet_1->SetBinContent(ib, h_unfold_calib_dijet_1->GetBinContent(ib) / mbd_efficiency); h_unfold_calib_dijet_1->SetBinError(ib, h_unfold_calib_dijet_1->GetBinError(ib) / mbd_efficiency);
0153 h_unfold_calib_frac_1->SetBinContent(ib, h_unfold_calib_frac_1->GetBinContent(ib) / mbd_efficiency); h_unfold_calib_frac_1->SetBinError(ib, h_unfold_calib_frac_1->GetBinError(ib) / mbd_efficiency);
0154
0155 double mbd_efficiency_down = h_mbd_efficiency_down->GetBinContent(ib - n_underflow_bin) / 0.57 * (26.1 / 42.);
0156 h_unfold_calib_dijet_mbddown_reweighted_1->SetBinContent(ib, h_unfold_calib_dijet_mbddown_reweighted_1->GetBinContent(ib) / mbd_efficiency_down); h_unfold_calib_dijet_mbddown_reweighted_1->SetBinError(ib, h_unfold_calib_dijet_mbddown_reweighted_1->GetBinError(ib) / mbd_efficiency_down);
0157 h_unfold_calib_frac_mbddown_reweighted_1->SetBinContent(ib, h_unfold_calib_frac_mbddown_reweighted_1->GetBinContent(ib) / mbd_efficiency_down); h_unfold_calib_frac_mbddown_reweighted_1->SetBinError(ib, h_unfold_calib_frac_mbddown_reweighted_1->GetBinError(ib) / mbd_efficiency_down);
0158 double mbd_efficiency_up = h_mbd_efficiency_up->GetBinContent(ib - n_underflow_bin) / 0.57 * (26.1 / 42.);
0159 h_unfold_calib_dijet_mbdup_reweighted_1->SetBinContent(ib, h_unfold_calib_dijet_mbdup_reweighted_1->GetBinContent(ib) / mbd_efficiency_up); h_unfold_calib_dijet_mbdup_reweighted_1->SetBinError(ib, h_unfold_calib_dijet_mbdup_reweighted_1->GetBinError(ib) / mbd_efficiency_up);
0160 h_unfold_calib_frac_mbdup_reweighted_1->SetBinContent(ib, h_unfold_calib_frac_mbdup_reweighted_1->GetBinContent(ib) / mbd_efficiency_up); h_unfold_calib_frac_mbdup_reweighted_1->SetBinError(ib, h_unfold_calib_frac_mbdup_reweighted_1->GetBinError(ib) / mbd_efficiency_up);
0161 }
0162
0163
0164 std::cout << "Writing histograms..." << std::endl;
0165 f_out->cd();
0166 h_unfold_calib_dijet_reweighted_1->Write();
0167 h_unfold_calib_dijet_effdown_reweighted_1->Write();
0168 h_unfold_calib_dijet_effup_reweighted_1->Write();
0169 h_unfold_calib_dijet_jesdown_reweighted_1->Write();
0170 h_unfold_calib_dijet_jesup_reweighted_1->Write();
0171 h_unfold_calib_dijet_jerdown_reweighted_1->Write();
0172 h_unfold_calib_dijet_jerup_reweighted_1->Write();
0173
0174 h_unfold_calib_frac_reweighted_1->Write();
0175 h_unfold_calib_frac_effdown_reweighted_1->Write();
0176 h_unfold_calib_frac_effup_reweighted_1->Write();
0177 h_unfold_calib_frac_jesdown_reweighted_1->Write();
0178 h_unfold_calib_frac_jesup_reweighted_1->Write();
0179 h_unfold_calib_frac_jerdown_reweighted_1->Write();
0180 h_unfold_calib_frac_jerup_reweighted_1->Write();
0181
0182 h_unfold_calib_dijet_reweighted_2->Write();
0183 h_unfold_calib_dijet_reweighted_3->Write();
0184 h_unfold_calib_dijet_mbddown_reweighted_1->Write();
0185 h_unfold_calib_dijet_mbdup_reweighted_1->Write();
0186 h_unfold_calib_frac_reweighted_2->Write();
0187 h_unfold_calib_frac_reweighted_3->Write();
0188 h_unfold_calib_frac_mbddown_reweighted_1->Write();
0189 h_unfold_calib_frac_mbdup_reweighted_1->Write();
0190
0191 h_unfold_calib_dijet_1->Write();
0192 h_unfold_calib_frac_1->Write();
0193 f_out->Close();
0194 std::cout << "All done!" << std::endl;
0195 }