Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-05 08:13:11

0001 #include <TFile.h>
0002 #include <TH1D.h>
0003 #include <TH2D.h>
0004 #include <TMath.h>
0005 #include <iostream>
0006 #include "/sphenix/user/hanpuj/CaloDataAna24_skimmed/src/draw_template.C"
0007 
0008 void get_reweight_hist(TFile* f_data, TH2D* h_respmatrix, TH1D*& h_reweight, std::string input_histname, std::string output_histname) { 
0009   TH1D* h_data_reco = (TH1D*)f_data->Get(input_histname.c_str());
0010   TH1D* h_sim_reco = (TH1D*)h_respmatrix->ProjectionX("h_sim_reco");
0011   h_reweight = (TH1D*)h_data_reco->Clone(output_histname.c_str());
0012   double normalization_reco = h_data_reco->Integral() / h_sim_reco->Integral();
0013   h_sim_reco->Scale(normalization_reco);
0014   h_reweight->Divide(h_sim_reco);
0015 
0016   std::string prefix_to_remove = "h_reweight_";
0017   std::string new_prefix = "reweightfactor_";
0018   std::string plot_name = new_prefix + output_histname.substr(prefix_to_remove.length());
0019 
0020   std::vector<TH1F*> h_input;
0021   std::vector<int> color;
0022   std::vector<int> markerstyle;
0023   std::vector<std::string> text;
0024   std::vector<std::string> legend;
0025 
0026   h_input.push_back((TH1F*)h_sim_reco);
0027   h_input.push_back((TH1F*)h_data_reco);
0028   color.push_back(kRed);
0029   color.push_back(kBlack);
0030   markerstyle.push_back(20);
0031   markerstyle.push_back(20);
0032   text.push_back("#bf{#it{sPHENIX}} Internal");
0033   text.push_back("Data & PYTHIA8 p+p#sqrt{s} = 200 GeV");
0034   text.push_back("anti-k_{T}#it{R} = 0.4");
0035   text.push_back("|#eta^{jet}| < 0.7");
0036   text.push_back("#DeltaR_{matching} < 0.3");
0037   legend.push_back("Simulation jet spectrum");
0038   legend.push_back("Data jet spectrum");
0039   draw_1D_multiple_plot_ratio(h_input, color, markerstyle,
0040                               false, 10, true,
0041                               true, 15, 72, false,
0042                               false, 0, 0.5, true,
0043                               true, 0., 2.,
0044                               true, "p_{T}^{reco jet} [GeV]", "Arbitrary Unit", "Reweight factor", 0,
0045                               true, text, 0.52, 0.9, 0.04,
0046                               true, legend, 0.55, 0.65, 0.04,
0047                               Form("figure/%s.pdf", plot_name.c_str()));
0048   h_input.clear();
0049   color.clear();
0050   markerstyle.clear();
0051   text.clear();
0052   legend.clear();
0053 }
0054 
0055 void get_reweightmatrix() {
0056   // Read Files
0057   TFile* f_data = new TFile("output_data_puritycorr.root", "READ");
0058   TFile* f_sim = new TFile("output_sim.root", "READ");
0059   TFile* f_out = new TFile("output_reweightmatrix.root", "RECREATE");
0060 
0061   TH2D* h_respmatrix_calib_dijet = (TH2D*)f_sim->Get("h_respmatrix_calib_dijet");
0062   TH2D* h_respmatrix_calib_dijet_jesdown = (TH2D*)f_sim->Get("h_respmatrix_calib_dijet_jesdown");
0063   TH2D* h_respmatrix_calib_dijet_jesup = (TH2D*)f_sim->Get("h_respmatrix_calib_dijet_jesup");
0064   TH2D* h_respmatrix_calib_dijet_jerdown = (TH2D*)f_sim->Get("h_respmatrix_calib_dijet_jerdown");
0065   TH2D* h_respmatrix_calib_dijet_jerup = (TH2D*)f_sim->Get("h_respmatrix_calib_dijet_jerup");
0066   
0067   TH2D* h_respmatrix_calib_frac = (TH2D*)f_sim->Get("h_respmatrix_calib_frac");
0068   TH2D* h_respmatrix_calib_frac_jesdown = (TH2D*)f_sim->Get("h_respmatrix_calib_frac_jesdown");
0069   TH2D* h_respmatrix_calib_frac_jesup = (TH2D*)f_sim->Get("h_respmatrix_calib_frac_jesup");
0070   TH2D* h_respmatrix_calib_frac_jerdown = (TH2D*)f_sim->Get("h_respmatrix_calib_frac_jerdown");
0071   TH2D* h_respmatrix_calib_frac_jerup = (TH2D*)f_sim->Get("h_respmatrix_calib_frac_jerup");
0072 
0073   // Form reweight histograms.
0074   TH1D* h_reweight_calib_dijet; get_reweight_hist(f_data, h_respmatrix_calib_dijet, h_reweight_calib_dijet, "h_calibjet_pt_puritycorr_dijet", "h_reweight_calib_dijet");
0075   TH1D* h_reweight_calib_dijet_effdown; get_reweight_hist(f_data, h_respmatrix_calib_dijet, h_reweight_calib_dijet_effdown, "h_calibjet_pt_puritycorr_dijet_effdown", "h_reweight_calib_dijet_effdown");
0076   TH1D* h_reweight_calib_dijet_effup; get_reweight_hist(f_data, h_respmatrix_calib_dijet, h_reweight_calib_dijet_effup, "h_calibjet_pt_puritycorr_dijet_effup", "h_reweight_calib_dijet_effup");
0077   TH1D* h_reweight_calib_dijet_jesdown; get_reweight_hist(f_data, h_respmatrix_calib_dijet_jesdown, h_reweight_calib_dijet_jesdown, "h_calibjet_pt_puritycorr_dijet_jesdown", "h_reweight_calib_dijet_jesdown");
0078   TH1D* h_reweight_calib_dijet_jesup; get_reweight_hist(f_data, h_respmatrix_calib_dijet_jesup, h_reweight_calib_dijet_jesup, "h_calibjet_pt_puritycorr_dijet_jesup", "h_reweight_calib_dijet_jesup");
0079   TH1D* h_reweight_calib_dijet_jerdown; get_reweight_hist(f_data, h_respmatrix_calib_dijet_jerdown, h_reweight_calib_dijet_jerdown, "h_calibjet_pt_puritycorr_dijet_jerdown", "h_reweight_calib_dijet_jerdown");
0080   TH1D* h_reweight_calib_dijet_jerup; get_reweight_hist(f_data, h_respmatrix_calib_dijet_jerup, h_reweight_calib_dijet_jerup, "h_calibjet_pt_puritycorr_dijet_jerup", "h_reweight_calib_dijet_jerup");
0081 
0082   TH1D* h_reweight_calib_frac; get_reweight_hist(f_data, h_respmatrix_calib_frac, h_reweight_calib_frac, "h_calibjet_pt_puritycorr_frac", "h_reweight_calib_frac");
0083   TH1D* h_reweight_calib_frac_effdown; get_reweight_hist(f_data, h_respmatrix_calib_frac, h_reweight_calib_frac_effdown, "h_calibjet_pt_puritycorr_frac_effdown", "h_reweight_calib_frac_effdown");
0084   TH1D* h_reweight_calib_frac_effup; get_reweight_hist(f_data, h_respmatrix_calib_frac, h_reweight_calib_frac_effup, "h_calibjet_pt_puritycorr_frac_effup", "h_reweight_calib_frac_effup");
0085   TH1D* h_reweight_calib_frac_jesdown; get_reweight_hist(f_data, h_respmatrix_calib_frac_jesdown, h_reweight_calib_frac_jesdown, "h_calibjet_pt_puritycorr_frac_jesdown", "h_reweight_calib_frac_jesdown");
0086   TH1D* h_reweight_calib_frac_jesup; get_reweight_hist(f_data, h_respmatrix_calib_frac_jesup, h_reweight_calib_frac_jesup, "h_calibjet_pt_puritycorr_frac_jesup", "h_reweight_calib_frac_jesup");
0087   TH1D* h_reweight_calib_frac_jerdown; get_reweight_hist(f_data, h_respmatrix_calib_frac_jerdown, h_reweight_calib_frac_jerdown, "h_calibjet_pt_puritycorr_frac_jerdown", "h_reweight_calib_frac_jerdown");
0088   TH1D* h_reweight_calib_frac_jerup; get_reweight_hist(f_data, h_respmatrix_calib_frac_jerup, h_reweight_calib_frac_jerup, "h_calibjet_pt_puritycorr_frac_jerup", "h_reweight_calib_frac_jerup");
0089 
0090   // Form reweighted response matrix.
0091   TH2D* h_respmatrix_calib_dijet_reweighted = (TH2D*)h_respmatrix_calib_dijet->Clone("h_respmatrix_calib_dijet_reweighted");
0092   TH2D* h_respmatrix_calib_dijet_effdown_reweighted = (TH2D*)h_respmatrix_calib_dijet->Clone("h_respmatrix_calib_dijet_effdown_reweighted");
0093   TH2D* h_respmatrix_calib_dijet_effup_reweighted = (TH2D*)h_respmatrix_calib_dijet->Clone("h_respmatrix_calib_dijet_effup_reweighted");
0094   TH2D* h_respmatrix_calib_dijet_jesdown_reweighted = (TH2D*)h_respmatrix_calib_dijet_jesdown->Clone("h_respmatrix_calib_dijet_jesdown_reweighted");
0095   TH2D* h_respmatrix_calib_dijet_jesup_reweighted = (TH2D*)h_respmatrix_calib_dijet_jesup->Clone("h_respmatrix_calib_dijet_jesup_reweighted");
0096   TH2D* h_respmatrix_calib_dijet_jerdown_reweighted = (TH2D*)h_respmatrix_calib_dijet_jerdown->Clone("h_respmatrix_calib_dijet_jerdown_reweighted");
0097   TH2D* h_respmatrix_calib_dijet_jerup_reweighted = (TH2D*)h_respmatrix_calib_dijet_jerup->Clone("h_respmatrix_calib_dijet_jerup_reweighted");
0098 
0099   TH2D* h_respmatrix_calib_frac_reweighted = (TH2D*)h_respmatrix_calib_frac->Clone("h_respmatrix_calib_frac_reweighted");
0100   TH2D* h_respmatrix_calib_frac_effdown_reweighted = (TH2D*)h_respmatrix_calib_frac->Clone("h_respmatrix_calib_frac_effdown_reweighted");
0101   TH2D* h_respmatrix_calib_frac_effup_reweighted = (TH2D*)h_respmatrix_calib_frac->Clone("h_respmatrix_calib_frac_effup_reweighted");
0102   TH2D* h_respmatrix_calib_frac_jesdown_reweighted = (TH2D*)h_respmatrix_calib_frac_jesdown->Clone("h_respmatrix_calib_frac_jesdown_reweighted");
0103   TH2D* h_respmatrix_calib_frac_jesup_reweighted = (TH2D*)h_respmatrix_calib_frac_jesup->Clone("h_respmatrix_calib_frac_jesup_reweighted");
0104   TH2D* h_respmatrix_calib_frac_jerdown_reweighted = (TH2D*)h_respmatrix_calib_frac_jerdown->Clone("h_respmatrix_calib_frac_jerdown_reweighted");
0105   TH2D* h_respmatrix_calib_frac_jerup_reweighted = (TH2D*)h_respmatrix_calib_frac_jerup->Clone("h_respmatrix_calib_frac_jerup_reweighted");
0106 
0107   int nbin_meas = h_respmatrix_calib_dijet_reweighted->GetNbinsX();
0108   int nbin_truth = h_respmatrix_calib_dijet_reweighted->GetNbinsY();
0109   for (int ibm = 1; ibm <= nbin_meas; ++ibm) {
0110     for (int ibt = 1; ibt <= nbin_truth; ++ibt) {
0111       h_respmatrix_calib_dijet_reweighted->SetBinContent(ibm, ibt, h_respmatrix_calib_dijet_reweighted->GetBinContent(ibm, ibt) * h_reweight_calib_dijet->GetBinContent(ibm));
0112       h_respmatrix_calib_dijet_reweighted->SetBinError(ibm, ibt, h_respmatrix_calib_dijet_reweighted->GetBinError(ibm, ibt) * h_reweight_calib_dijet->GetBinContent(ibm));
0113 
0114       h_respmatrix_calib_dijet_effdown_reweighted->SetBinContent(ibm, ibt, h_respmatrix_calib_dijet_effdown_reweighted->GetBinContent(ibm, ibt) * h_reweight_calib_dijet_effdown->GetBinContent(ibm));
0115       h_respmatrix_calib_dijet_effdown_reweighted->SetBinError(ibm, ibt, h_respmatrix_calib_dijet_effdown_reweighted->GetBinError(ibm, ibt) * h_reweight_calib_dijet_effdown->GetBinContent(ibm));
0116 
0117       h_respmatrix_calib_dijet_effup_reweighted->SetBinContent(ibm, ibt, h_respmatrix_calib_dijet_effup_reweighted->GetBinContent(ibm, ibt) * h_reweight_calib_dijet_effup->GetBinContent(ibm));
0118       h_respmatrix_calib_dijet_effup_reweighted->SetBinError(ibm, ibt, h_respmatrix_calib_dijet_effup_reweighted->GetBinError(ibm, ibt) * h_reweight_calib_dijet_effup->GetBinContent(ibm));
0119 
0120       h_respmatrix_calib_dijet_jesdown_reweighted->SetBinContent(ibm, ibt, h_respmatrix_calib_dijet_jesdown_reweighted->GetBinContent(ibm, ibt) * h_reweight_calib_dijet_jesdown->GetBinContent(ibm));
0121       h_respmatrix_calib_dijet_jesdown_reweighted->SetBinError(ibm, ibt, h_respmatrix_calib_dijet_jesdown_reweighted->GetBinError(ibm, ibt) * h_reweight_calib_dijet_jesdown->GetBinContent(ibm));
0122 
0123       h_respmatrix_calib_dijet_jesup_reweighted->SetBinContent(ibm, ibt, h_respmatrix_calib_dijet_jesup_reweighted->GetBinContent(ibm, ibt) * h_reweight_calib_dijet_jesup->GetBinContent(ibm));
0124       h_respmatrix_calib_dijet_jesup_reweighted->SetBinError(ibm, ibt, h_respmatrix_calib_dijet_jesup_reweighted->GetBinError(ibm, ibt) * h_reweight_calib_dijet_jesup->GetBinContent(ibm));
0125 
0126       h_respmatrix_calib_dijet_jerdown_reweighted->SetBinContent(ibm, ibt, h_respmatrix_calib_dijet_jerdown_reweighted->GetBinContent(ibm, ibt) * h_reweight_calib_dijet_jerdown->GetBinContent(ibm));
0127       h_respmatrix_calib_dijet_jerdown_reweighted->SetBinError(ibm, ibt, h_respmatrix_calib_dijet_jerdown_reweighted->GetBinError(ibm, ibt) * h_reweight_calib_dijet_jerdown->GetBinContent(ibm));
0128 
0129       h_respmatrix_calib_dijet_jerup_reweighted->SetBinContent(ibm, ibt, h_respmatrix_calib_dijet_jerup_reweighted->GetBinContent(ibm, ibt) * h_reweight_calib_dijet_jerup->GetBinContent(ibm));
0130       h_respmatrix_calib_dijet_jerup_reweighted->SetBinError(ibm, ibt, h_respmatrix_calib_dijet_jerup_reweighted->GetBinError(ibm, ibt) * h_reweight_calib_dijet_jerup->GetBinContent(ibm));
0131 
0132       h_respmatrix_calib_frac_reweighted->SetBinContent(ibm, ibt, h_respmatrix_calib_frac_reweighted->GetBinContent(ibm, ibt) * h_reweight_calib_frac->GetBinContent(ibm));
0133       h_respmatrix_calib_frac_reweighted->SetBinError(ibm, ibt, h_respmatrix_calib_frac_reweighted->GetBinError(ibm, ibt) * h_reweight_calib_frac->GetBinContent(ibm));
0134 
0135       h_respmatrix_calib_frac_effdown_reweighted->SetBinContent(ibm, ibt, h_respmatrix_calib_frac_effdown_reweighted->GetBinContent(ibm, ibt) * h_reweight_calib_frac_effdown->GetBinContent(ibm));
0136       h_respmatrix_calib_frac_effdown_reweighted->SetBinError(ibm, ibt, h_respmatrix_calib_frac_effdown_reweighted->GetBinError(ibm, ibt) * h_reweight_calib_frac_effdown->GetBinContent(ibm));
0137 
0138       h_respmatrix_calib_frac_effup_reweighted->SetBinContent(ibm, ibt, h_respmatrix_calib_frac_effup_reweighted->GetBinContent(ibm, ibt) * h_reweight_calib_frac_effup->GetBinContent(ibm));
0139       h_respmatrix_calib_frac_effup_reweighted->SetBinError(ibm, ibt, h_respmatrix_calib_frac_effup_reweighted->GetBinError(ibm, ibt) * h_reweight_calib_frac_effup->GetBinContent(ibm));
0140 
0141       h_respmatrix_calib_frac_jesdown_reweighted->SetBinContent(ibm, ibt, h_respmatrix_calib_frac_jesdown_reweighted->GetBinContent(ibm, ibt) * h_reweight_calib_frac_jesdown->GetBinContent(ibm));
0142       h_respmatrix_calib_frac_jesdown_reweighted->SetBinError(ibm, ibt, h_respmatrix_calib_frac_jesdown_reweighted->GetBinError(ibm, ibt) * h_reweight_calib_frac_jesdown->GetBinContent(ibm));
0143 
0144       h_respmatrix_calib_frac_jesup_reweighted->SetBinContent(ibm, ibt, h_respmatrix_calib_frac_jesup_reweighted->GetBinContent(ibm, ibt) * h_reweight_calib_frac_jesup->GetBinContent(ibm));
0145       h_respmatrix_calib_frac_jesup_reweighted->SetBinError(ibm, ibt, h_respmatrix_calib_frac_jesup_reweighted->GetBinError(ibm, ibt) * h_reweight_calib_frac_jesup->GetBinContent(ibm));
0146 
0147       h_respmatrix_calib_frac_jerdown_reweighted->SetBinContent(ibm, ibt, h_respmatrix_calib_frac_jerdown_reweighted->GetBinContent(ibm, ibt) * h_reweight_calib_frac_jerdown->GetBinContent(ibm));
0148       h_respmatrix_calib_frac_jerdown_reweighted->SetBinError(ibm, ibt, h_respmatrix_calib_frac_jerdown_reweighted->GetBinError(ibm, ibt) * h_reweight_calib_frac_jerdown->GetBinContent(ibm));
0149 
0150       h_respmatrix_calib_frac_jerup_reweighted->SetBinContent(ibm, ibt, h_respmatrix_calib_frac_jerup_reweighted->GetBinContent(ibm, ibt) * h_reweight_calib_frac_jerup->GetBinContent(ibm));
0151       h_respmatrix_calib_frac_jerup_reweighted->SetBinError(ibm, ibt, h_respmatrix_calib_frac_jerup_reweighted->GetBinError(ibm, ibt) * h_reweight_calib_frac_jerup->GetBinContent(ibm));
0152     }
0153   }
0154 
0155   // Draw response matrix.
0156   std::vector<std::string> text;
0157   text.push_back("#bf{#it{sPHENIX}} Simulation");
0158   text.push_back("PYTHIA8 p+p#sqrt{s} = 200 GeV");
0159   text.push_back("anti-k_{T}#it{R} = 0.4");
0160   text.push_back("|#eta^{jet}| < 0.7");
0161   text.push_back("#DeltaR_{matching} < 0.3");
0162   draw_2D_plot((TH2F*)h_respmatrix_calib_dijet,
0163                false, 1, 1, false,
0164                false, 0, 40, false,
0165                false, 0, 40, false,
0166                true, 1e-9, 2, true,
0167                true, "p_{T}^{reco jet} [GeV]", "p_{T}^{truth jet} [GeV]", "Arbitrary Unit",
0168                true, text, 0.16, 0.9, 0.04,
0169                "figure/respmatrix_calib_dijet.pdf");
0170 
0171   draw_2D_plot((TH2F*)h_respmatrix_calib_dijet_jesdown,
0172                false, 1, 1, false,
0173                false, 0, 40, false,
0174                false, 0, 40, false,
0175                true, 1e-9, 2, true,
0176                true, "p_{T}^{reco jet} [GeV]", "p_{T}^{truth jet} [GeV]", "Arbitrary Unit",
0177                true, text, 0.16, 0.9, 0.04,
0178                "figure/respmatrix_calib_dijet_jesdown.pdf");
0179 
0180   draw_2D_plot((TH2F*)h_respmatrix_calib_dijet_jesup,
0181                false, 1, 1, false,
0182                false, 0, 40, false,
0183                false, 0, 40, false,
0184                true, 1e-9, 2, true,
0185                true, "p_{T}^{reco jet} [GeV]", "p_{T}^{truth jet} [GeV]", "Arbitrary Unit",
0186                true, text, 0.16, 0.9, 0.04,
0187                "figure/respmatrix_calib_dijet_jesup.pdf");
0188 
0189   draw_2D_plot((TH2F*)h_respmatrix_calib_dijet_jerdown,
0190                false, 1, 1, false,
0191                false, 0, 40, false,
0192                false, 0, 40, false,
0193                true, 1e-9, 2, true,
0194                true, "p_{T}^{reco jet} [GeV]", "p_{T}^{truth jet} [GeV]", "Arbitrary Unit",
0195                true, text, 0.16, 0.9, 0.04,
0196                "figure/respmatrix_calib_dijet_jerdown.pdf");
0197 
0198   draw_2D_plot((TH2F*)h_respmatrix_calib_dijet_jerup,
0199                false, 1, 1, false,
0200                false, 0, 40, false,
0201                false, 0, 40, false,
0202                true, 1e-9, 2, true,
0203                true, "p_{T}^{reco jet} [GeV]", "p_{T}^{truth jet} [GeV]", "Arbitrary Unit",
0204                true, text, 0.16, 0.9, 0.04,
0205                "figure/respmatrix_calib_dijet_jerup.pdf");
0206 
0207   draw_2D_plot((TH2F*)h_respmatrix_calib_frac,
0208                false, 1, 1, false,
0209                false, 0, 40, false,
0210                false, 0, 40, false,
0211                true, 1e-9, 2, true,
0212                true, "p_{T}^{reco jet} [GeV]", "p_{T}^{truth jet} [GeV]", "Arbitrary Unit",
0213                true, text, 0.16, 0.9, 0.04,
0214                "figure/respmatrix_calib_frac.pdf");
0215 
0216   draw_2D_plot((TH2F*)h_respmatrix_calib_frac_jesdown,
0217                false, 1, 1, false,
0218                false, 0, 40, false,
0219                false, 0, 40, false,
0220                true, 1e-9, 2, true,
0221                true, "p_{T}^{reco jet} [GeV]", "p_{T}^{truth jet} [GeV]", "Arbitrary Unit",
0222                true, text, 0.16, 0.9, 0.04,
0223                "figure/respmatrix_calib_frac_jesdown.pdf");
0224 
0225   draw_2D_plot((TH2F*)h_respmatrix_calib_frac_jesup,
0226                false, 1, 1, false,
0227                false, 0, 40, false,
0228                false, 0, 40, false,
0229                true, 1e-9, 2, true,
0230                true, "p_{T}^{reco jet} [GeV]", "p_{T}^{truth jet} [GeV]", "Arbitrary Unit",
0231                true, text, 0.16, 0.9, 0.04,
0232                "figure/respmatrix_calib_frac_jesup.pdf");
0233 
0234   draw_2D_plot((TH2F*)h_respmatrix_calib_frac_jerdown,
0235                false, 1, 1, false,
0236                false, 0, 40, false,
0237                false, 0, 40, false,
0238                true, 1e-9, 2, true,
0239                true, "p_{T}^{reco jet} [GeV]", "p_{T}^{truth jet} [GeV]", "Arbitrary Unit",
0240                true, text, 0.16, 0.9, 0.04,
0241                "figure/respmatrix_calib_frac_jerdown.pdf");
0242 
0243   draw_2D_plot((TH2F*)h_respmatrix_calib_frac_jerup,
0244                false, 1, 1, false,
0245                false, 0, 40, false,
0246                false, 0, 40, false,
0247                true, 1e-9, 2, true,
0248                true, "p_{T}^{reco jet} [GeV]", "p_{T}^{truth jet} [GeV]", "Arbitrary Unit",
0249                true, text, 0.16, 0.9, 0.04,
0250                "figure/respmatrix_calib_frac_jerup.pdf");
0251 
0252   draw_2D_plot((TH2F*)h_respmatrix_calib_dijet_reweighted,
0253                false, 1, 1, false,
0254                false, 0, 40, false,
0255                false, 0, 40, false,
0256                true, 1e-9, 2, true,
0257                true, "p_{T}^{reco jet} [GeV]", "p_{T}^{truth jet} [GeV]", "Arbitrary Unit",
0258                true, text, 0.16, 0.9, 0.04,
0259                "figure/respmatrix_reweighted_calib_dijet.pdf");
0260 
0261   draw_2D_plot((TH2F*)h_respmatrix_calib_dijet_effdown_reweighted,
0262                false, 1, 1, false,
0263                false, 0, 40, false,
0264                false, 0, 40, false,
0265                true, 1e-9, 2, true,
0266                true, "p_{T}^{reco jet} [GeV]", "p_{T}^{truth jet} [GeV]", "Arbitrary Unit",
0267                true, text, 0.16, 0.9, 0.04,
0268                "figure/respmatrix_reweighted_calib_dijet_effdown.pdf");
0269 
0270   draw_2D_plot((TH2F*)h_respmatrix_calib_dijet_effup_reweighted,
0271                false, 1, 1, false,
0272                false, 0, 40, false,
0273                false, 0, 40, false,
0274                true, 1e-9, 2, true,
0275                true, "p_{T}^{reco jet} [GeV]", "p_{T}^{truth jet} [GeV]", "Arbitrary Unit",
0276                true, text, 0.16, 0.9, 0.04,
0277                "figure/respmatrix_reweighted_calib_dijet_effup.pdf");
0278 
0279   draw_2D_plot((TH2F*)h_respmatrix_calib_dijet_jesdown_reweighted,
0280                false, 1, 1, false,
0281                false, 0, 40, false,
0282                false, 0, 40, false,
0283                true, 1e-9, 2, true,
0284                true, "p_{T}^{reco jet} [GeV]", "p_{T}^{truth jet} [GeV]", "Arbitrary Unit",
0285                true, text, 0.16, 0.9, 0.04,
0286                "figure/respmatrix_reweighted_calib_dijet_jesdown.pdf");
0287 
0288   draw_2D_plot((TH2F*)h_respmatrix_calib_dijet_jesup_reweighted,
0289                false, 1, 1, false,
0290                false, 0, 40, false,
0291                false, 0, 40, false,
0292                true, 1e-9, 2, true,
0293                true, "p_{T}^{reco jet} [GeV]", "p_{T}^{truth jet} [GeV]", "Arbitrary Unit",
0294                true, text, 0.16, 0.9, 0.04,
0295                "figure/respmatrix_reweighted_calib_dijet_jesup.pdf");
0296 
0297   draw_2D_plot((TH2F*)h_respmatrix_calib_dijet_jerdown_reweighted,
0298                false, 1, 1, false,
0299                false, 0, 40, false,
0300                false, 0, 40, false,
0301                true, 1e-9, 2, true,
0302                true, "p_{T}^{reco jet} [GeV]", "p_{T}^{truth jet} [GeV]", "Arbitrary Unit",
0303                true, text, 0.16, 0.9, 0.04,
0304                "figure/respmatrix_reweighted_calib_dijet_jerdown.pdf");
0305 
0306   draw_2D_plot((TH2F*)h_respmatrix_calib_dijet_jerup_reweighted,
0307                false, 1, 1, false,
0308                false, 0, 40, false,
0309                false, 0, 40, false,
0310                true, 1e-9, 2, true,
0311                true, "p_{T}^{reco jet} [GeV]", "p_{T}^{truth jet} [GeV]", "Arbitrary Unit",
0312                true, text, 0.16, 0.9, 0.04,
0313                "figure/respmatrix_reweighted_calib_dijet_jerup.pdf");
0314 
0315   draw_2D_plot((TH2F*)h_respmatrix_calib_frac_reweighted,
0316                false, 1, 1, false,
0317                false, 0, 40, false,
0318                false, 0, 40, false,
0319                true, 1e-9, 2, true,
0320                true, "p_{T}^{reco jet} [GeV]", "p_{T}^{truth jet} [GeV]", "Arbitrary Unit",
0321                true, text, 0.16, 0.9, 0.04,
0322                "figure/respmatrix_reweighted_calib_frac.pdf");
0323 
0324   draw_2D_plot((TH2F*)h_respmatrix_calib_frac_effdown_reweighted,
0325                false, 1, 1, false,
0326                false, 0, 40, false,
0327                false, 0, 40, false,
0328                true, 1e-9, 2, true,
0329                true, "p_{T}^{reco jet} [GeV]", "p_{T}^{truth jet} [GeV]", "Arbitrary Unit",
0330                true, text, 0.16, 0.9, 0.04,
0331                "figure/respmatrix_reweighted_calib_frac_effdown.pdf");
0332 
0333   draw_2D_plot((TH2F*)h_respmatrix_calib_frac_effup_reweighted,
0334                false, 1, 1, false,
0335                false, 0, 40, false,
0336                false, 0, 40, false,
0337                true, 1e-9, 2, true,
0338                true, "p_{T}^{reco jet} [GeV]", "p_{T}^{truth jet} [GeV]", "Arbitrary Unit",
0339                true, text, 0.16, 0.9, 0.04,
0340                "figure/respmatrix_reweighted_calib_frac_effup.pdf");
0341 
0342   draw_2D_plot((TH2F*)h_respmatrix_calib_frac_jesdown_reweighted,
0343                false, 1, 1, false,
0344                false, 0, 40, false,
0345                false, 0, 40, false,
0346                true, 1e-9, 2, true,
0347                true, "p_{T}^{reco jet} [GeV]", "p_{T}^{truth jet} [GeV]", "Arbitrary Unit",
0348                true, text, 0.16, 0.9, 0.04,
0349                "figure/respmatrix_reweighted_calib_frac_jesdown.pdf");
0350 
0351   draw_2D_plot((TH2F*)h_respmatrix_calib_frac_jesup_reweighted,
0352                false, 1, 1, false,
0353                false, 0, 40, false,
0354                false, 0, 40, false,
0355                true, 1e-9, 2, true,
0356                true, "p_{T}^{reco jet} [GeV]", "p_{T}^{truth jet} [GeV]", "Arbitrary Unit",
0357                true, text, 0.16, 0.9, 0.04,
0358                "figure/respmatrix_reweighted_calib_frac_jesup.pdf");
0359 
0360   draw_2D_plot((TH2F*)h_respmatrix_calib_frac_jerdown_reweighted,
0361                false, 1, 1, false,
0362                false, 0, 40, false,
0363                false, 0, 40, false,
0364                true, 1e-9, 2, true,
0365                true, "p_{T}^{reco jet} [GeV]", "p_{T}^{truth jet} [GeV]", "Arbitrary Unit",
0366                true, text, 0.16, 0.9, 0.04,
0367                "figure/respmatrix_reweighted_calib_frac_jerdown.pdf");
0368 
0369   draw_2D_plot((TH2F*)h_respmatrix_calib_frac_jerup_reweighted,
0370                false, 1, 1, false,
0371                false, 0, 40, false,
0372                false, 0, 40, false,
0373                true, 1e-9, 2, true,
0374                true, "p_{T}^{reco jet} [GeV]", "p_{T}^{truth jet} [GeV]", "Arbitrary Unit",
0375                true, text, 0.16, 0.9, 0.04,
0376                "figure/respmatrix_reweighted_calib_frac_jerup.pdf");
0377 
0378   f_out->cd();
0379   h_respmatrix_calib_dijet->Write();
0380   h_respmatrix_calib_dijet_jesdown->Write();
0381   h_respmatrix_calib_dijet_jesup->Write();
0382   h_respmatrix_calib_dijet_jerdown->Write();
0383   h_respmatrix_calib_dijet_jerup->Write();
0384   h_respmatrix_calib_frac->Write();
0385   h_respmatrix_calib_frac_jesdown->Write();
0386   h_respmatrix_calib_frac_jesup->Write();
0387   h_respmatrix_calib_frac_jerdown->Write();
0388   h_respmatrix_calib_frac_jerup->Write();
0389 
0390   h_reweight_calib_dijet->Write();
0391   h_reweight_calib_dijet_effdown->Write();
0392   h_reweight_calib_dijet_effup->Write();
0393   h_reweight_calib_dijet_jesdown->Write();
0394   h_reweight_calib_dijet_jesup->Write();
0395   h_reweight_calib_dijet_jerdown->Write();
0396   h_reweight_calib_dijet_jerup->Write();
0397   h_reweight_calib_frac->Write();
0398   h_reweight_calib_frac_effdown->Write();
0399   h_reweight_calib_frac_effup->Write();
0400   h_reweight_calib_frac_jesdown->Write();
0401   h_reweight_calib_frac_jesup->Write();
0402   h_reweight_calib_frac_jerdown->Write();
0403   h_reweight_calib_frac_jerup->Write();
0404 
0405   h_respmatrix_calib_dijet_reweighted->Write();
0406   h_respmatrix_calib_dijet_effdown_reweighted->Write();
0407   h_respmatrix_calib_dijet_effup_reweighted->Write();
0408   h_respmatrix_calib_dijet_jesdown_reweighted->Write();
0409   h_respmatrix_calib_dijet_jesup_reweighted->Write();
0410   h_respmatrix_calib_dijet_jerdown_reweighted->Write();
0411   h_respmatrix_calib_dijet_jerup_reweighted->Write();
0412   h_respmatrix_calib_frac_reweighted->Write();
0413   h_respmatrix_calib_frac_effdown_reweighted->Write();
0414   h_respmatrix_calib_frac_effup_reweighted->Write();
0415   h_respmatrix_calib_frac_jesdown_reweighted->Write();
0416   h_respmatrix_calib_frac_jesup_reweighted->Write();
0417   h_respmatrix_calib_frac_jerdown_reweighted->Write();
0418   h_respmatrix_calib_frac_jerup_reweighted->Write();
0419   f_out->Close();
0420 }