#include "TFile.h" #include "TH1F.h" #include "TTreeReader.h" #include "TTreeReaderValue.h" TH1F* convertTF1toTH1F(TF1* f, TH1F* hIn){ TH1F* hOut = (TH1F*)hIn->Clone(); hOut->Reset(); for (unsigned int ibin=1; ibinGetNbinsX()+1; ++ibin){ double xlow = hOut->GetBinLowEdge(ibin); double xhigh = hOut->GetBinLowEdge(ibin+1); hOut->SetBinContent(ibin,f->Integral(xlow,xhigh)/(xhigh-xlow)); } return hOut; } TH1F* getWjetSignalRegion_usingAlpha(TH1F* wjet, TH1F* alpha){ TH1F* hOut = (TH1F*)wjet->Clone(); hOut->Reset(); for (unsigned int ibin=1; ibinGetNbinsX()+1; ++ibin){ hOut->SetBinContent(ibin, wjet->GetBinContent(ibin)*alpha->GetBinContent(ibin)); hOut->SetBinError(ibin, 0.0); } return hOut; } TH1F* ResetTo4bins(TH1F* wjet, int nbins, double xmin, double xmax){ TH1F* hOut = new TH1F("hOut",";M_{WW} (Vjet Signal Region);",nbins, xmin, xmax); double binWidth = (xmax - xmin)/nbins; int binFill = 0; double hOutBinContent[4] = {0.0, 0.0, 0.0, 0.0}; for (unsigned int ibin=1; ibinGetNbinsX()+1; ++ibin){ double xlow = wjet->GetBinLowEdge(ibin); double xhigh = wjet->GetBinLowEdge(ibin+1); double xlow_New = hOut->GetBinLowEdge(binFill); double xhigh_New = hOut->GetBinLowEdge(binFill+1); cout<< "binFill = " << binFill << endl; if (xlow < xlow_New){ cout<<" Don't fill lower bins..." << endl;cout<< "Debug 1: "<< binFill << endl; } else{ if (xhigh <= xhigh_New) { hOutBinContent[binFill] += wjet->GetBinContent(ibin); cout<< "Debug 2: "<< binFill << endl; } else { binFill += 1; hOutBinContent[binFill] += wjet->GetBinContent(ibin); cout<< "Debug 3: "<< binFill << endl; } } cout<< "binFill = " << binFill << endl; cout< LHEWeight = {fReader, "LHEWeight"}; TTreeReaderValue event = {fReader, "event"}; TTreeReaderValue nTotEvents = {fReader, "nTotEvents"}; TTreeReaderValue nTotNegEvents = {fReader, "nTotNegEvents"}; TTreeReaderValue nEvents = {fReader, "nEvents"}; TTreeReaderValue nNegEvents = {fReader, "nNegEvents"}; TTreeReaderValue nPV = {fReader, "nPV"}; TTreeReaderValue wSampleWeight = {fReader, "wSampleWeight"}; TTreeReaderValue genWeight = {fReader, "genWeight"}; TTreeReaderValue trig_eff_Weight = {fReader, "trig_eff_Weight"}; TTreeReaderValue trig_eff_Weight2 = {fReader, "trig_eff_Weight2"}; TTreeReaderValue id_eff_Weight = {fReader, "id_eff_Weight"}; TTreeReaderValue id_eff_Weight2 = {fReader, "id_eff_Weight2"}; TTreeReaderValue totalEventWeight = {fReader, "totalEventWeight"}; TTreeReaderValue pu_Weight = {fReader, "pu_Weight"}; TTreeReaderValue totalEventWeight_2 = {fReader, "totalEventWeight_2"}; TTreeReaderValue pu_Weight_up = {fReader, "pu_Weight_up"}; TTreeReaderValue totalEventWeight_3 = {fReader, "totalEventWeight_3"}; TTreeReaderValue totalEventWeight_2Lep = {fReader, "totalEventWeight_2Lep"}; TTreeReaderValue pu_Weight_down = {fReader, "pu_Weight_down"}; TTreeReaderValue pfMET = {fReader, "pfMET"}; TTreeReaderValue pfMET_jes_up = {fReader, "pfMET_jes_up"}; TTreeReaderValue pfMET_jes_dn = {fReader, "pfMET_jes_dn"}; TTreeReaderValue pfMET_Phi = {fReader, "pfMET_Phi"}; TTreeReaderValue pfMET_Corr = {fReader, "pfMET_Corr"}; TTreeReaderValue pfMET_Corr_phi = {fReader, "pfMET_Corr_phi"}; TTreeReaderValue pfMET_Corr_Cov00 = {fReader, "pfMET_Corr_Cov00"}; TTreeReaderValue pfMET_Corr_Cov01 = {fReader, "pfMET_Corr_Cov01"}; TTreeReaderValue pfMET_Corr_Cov11 = {fReader, "pfMET_Corr_Cov11"}; TTreeReaderValue pfMET_Corr_jerup = {fReader, "pfMET_Corr_jerup"}; TTreeReaderValue pfMET_Corr_jerdn = {fReader, "pfMET_Corr_jerdn"}; TTreeReaderValue pfMET_Corr_jenup = {fReader, "pfMET_Corr_jenup"}; TTreeReaderValue pfMET_Corr_jendn = {fReader, "pfMET_Corr_jendn"}; TTreeReaderValue pfMET_Corr_uncup = {fReader, "pfMET_Corr_uncup"}; TTreeReaderValue pfMET_Corr_uncdn = {fReader, "pfMET_Corr_uncdn"}; TTreeReaderValue pfMET_Corr_jrsup = {fReader, "pfMET_Corr_jrsup"}; TTreeReaderValue pfMET_Corr_jrsdn = {fReader, "pfMET_Corr_jrsdn"}; TTreeReaderValue pfMET_Corr_phijerup = {fReader, "pfMET_Corr_phijerup"}; TTreeReaderValue pfMET_Corr_phijerdn = {fReader, "pfMET_Corr_phijerdn"}; TTreeReaderValue pfMET_Corr_phijenup = {fReader, "pfMET_Corr_phijenup"}; TTreeReaderValue pfMET_Corr_phijendn = {fReader, "pfMET_Corr_phijendn"}; TTreeReaderValue pfMET_Corr_phiuncup = {fReader, "pfMET_Corr_phiuncup"}; TTreeReaderValue pfMET_Corr_phiuncdn = {fReader, "pfMET_Corr_phiuncdn"}; TTreeReaderValue pfMET_Corr_phijrsup = {fReader, "pfMET_Corr_phijrsup"}; TTreeReaderValue pfMET_Corr_phijrsdn = {fReader, "pfMET_Corr_phijrsdn"}; TTreeReaderValue nu_pz_type0 = {fReader, "nu_pz_type0"}; TTreeReaderValue nu_pz_type2 = {fReader, "nu_pz_type2"}; TTreeReaderValue nu_pz_run2 = {fReader, "nu_pz_run2"}; TTreeReaderValue nu_pz_run2_oth = {fReader, "nu_pz_run2_oth"}; TTreeReaderValue nu_pz_run2_type = {fReader, "nu_pz_run2_type"}; TTreeReaderValue nu_pz_isre = {fReader, "nu_pz_isre"}; TTreeReaderValue type = {fReader, "type"}; TTreeReaderValue l_pt1 = {fReader, "l_pt1"}; TTreeReaderValue l_eta1 = {fReader, "l_eta1"}; TTreeReaderValue l_phi1 = {fReader, "l_phi1"}; TTreeReaderValue l_e1 = {fReader, "l_e1"}; TTreeReaderValue l_charge1 = {fReader, "l_charge1"}; TTreeReaderValue l_iso1 = {fReader, "l_iso1"}; TTreeReaderValue l_pt2 = {fReader, "l_pt2"}; TTreeReaderValue l_eta2 = {fReader, "l_eta2"}; TTreeReaderValue l_phi2 = {fReader, "l_phi2"}; TTreeReaderValue l_e2 = {fReader, "l_e2"}; TTreeReaderValue dilep_pt = {fReader, "dilep_pt"}; TTreeReaderValue dilep_eta = {fReader, "dilep_eta"}; TTreeReaderValue dilep_phi = {fReader, "dilep_phi"}; TTreeReaderValue dilep_m = {fReader, "dilep_m"}; TTreeReaderValue l_charge2 = {fReader, "l_charge2"}; TTreeReaderValue l_iso2 = {fReader, "l_iso2"}; TTreeReaderValue ungroomed_AK8jet_pt = {fReader, "ungroomed_AK8jet_pt"}; TTreeReaderValue ungroomed_AK8jet_pt_jes_up = {fReader, "ungroomed_AK8jet_pt_jes_up"}; TTreeReaderValue ungroomed_AK8jet_pt_jes_dn = {fReader, "ungroomed_AK8jet_pt_jes_dn"}; TTreeReaderValue ungroomed_AK8jet_pt_jer = {fReader, "ungroomed_AK8jet_pt_jer"}; TTreeReaderValue ungroomed_AK8jet_pt_jer_up = {fReader, "ungroomed_AK8jet_pt_jer_up"}; TTreeReaderValue ungroomed_AK8jet_pt_jer_dn = {fReader, "ungroomed_AK8jet_pt_jer_dn"}; TTreeReaderValue ungroomed_AK8jet_eta = {fReader, "ungroomed_AK8jet_eta"}; TTreeReaderValue ungroomed_AK8jet_eta_jes_up = {fReader, "ungroomed_AK8jet_eta_jes_up"}; TTreeReaderValue ungroomed_AK8jet_eta_jes_dn = {fReader, "ungroomed_AK8jet_eta_jes_dn"}; TTreeReaderValue ungroomed_AK8jet_phi = {fReader, "ungroomed_AK8jet_phi"}; TTreeReaderValue ungroomed_AK8jet_phi_jes_up = {fReader, "ungroomed_AK8jet_phi_jes_up"}; TTreeReaderValue ungroomed_AK8jet_phi_jes_dn = {fReader, "ungroomed_AK8jet_phi_jes_dn"}; TTreeReaderValue ungroomed_AK8jet_e = {fReader, "ungroomed_AK8jet_e"}; TTreeReaderValue ungroomed_AK8jet_charge = {fReader, "ungroomed_AK8jet_charge"}; TTreeReaderValue AK8jet_mass = {fReader, "AK8jet_mass"}; TTreeReaderValue ungroomed_AK8jet_mass_jes_up = {fReader, "ungroomed_AK8jet_mass_jes_up"}; TTreeReaderValue ungroomed_AK8jet_mass_jes_dn = {fReader, "ungroomed_AK8jet_mass_jes_dn"}; TTreeReaderValue AK8jet_mass_pr = {fReader, "AK8jet_mass_pr"}; TTreeReaderValue AK8jet_mass_pr_jes_up = {fReader, "AK8jet_mass_pr_jes_up"}; TTreeReaderValue AK8jet_mass_pr_jes_dn = {fReader, "AK8jet_mass_pr_jes_dn"}; TTreeReaderValue AK8jet_mass_pr_jer = {fReader, "AK8jet_mass_pr_jer"}; TTreeReaderValue AK8jet_mass_pr_jer_up = {fReader, "AK8jet_mass_pr_jer_up"}; TTreeReaderValue AK8jet_mass_pr_jer_dn = {fReader, "AK8jet_mass_pr_jer_dn"}; TTreeReaderValue AK8jet_mass_so = {fReader, "AK8jet_mass_so"}; TTreeReaderValue AK8jet_pt_so = {fReader, "AK8jet_pt_so"}; TTreeReaderValue AK8jet_mass_tr = {fReader, "AK8jet_mass_tr"}; TTreeReaderValue AK8jet_mass_fi = {fReader, "AK8jet_mass_fi"}; TTreeReaderValue AK8jet_tau2tau1 = {fReader, "AK8jet_tau2tau1"}; TTreeReaderValue AK8jet_sj1_pt = {fReader, "AK8jet_sj1_pt"}; TTreeReaderValue AK8jet_sj1_eta = {fReader, "AK8jet_sj1_eta"}; TTreeReaderValue AK8jet_sj1_phi = {fReader, "AK8jet_sj1_phi"}; TTreeReaderValue AK8jet_sj1_m = {fReader, "AK8jet_sj1_m"}; TTreeReaderValue AK8jet_sj1_q = {fReader, "AK8jet_sj1_q"}; TTreeReaderValue AK8jet_sj2_pt = {fReader, "AK8jet_sj2_pt"}; TTreeReaderValue AK8jet_sj2_eta = {fReader, "AK8jet_sj2_eta"}; TTreeReaderValue AK8jet_sj2_phi = {fReader, "AK8jet_sj2_phi"}; TTreeReaderValue AK8jet_sj2_m = {fReader, "AK8jet_sj2_m"}; TTreeReaderValue AK8jet_sj2_q = {fReader, "AK8jet_sj2_q"}; TTreeReaderValue AK8_jetID_loose = {fReader, "AK8_jetID_loose"}; TTreeReaderValue AK8jet_e3_b1 = {fReader, "AK8jet_e3_b1"}; TTreeReaderValue AK8jet_e3_v1_b1 = {fReader, "AK8jet_e3_v1_b1"}; TTreeReaderValue AK8jet_e3_v2_b1 = {fReader, "AK8jet_e3_v2_b1"}; TTreeReaderValue AK8jet_e4_v1_b1 = {fReader, "AK8jet_e4_v1_b1"}; TTreeReaderValue AK8jet_e4_v2_b1 = {fReader, "AK8jet_e4_v2_b1"}; TTreeReaderValue AK8jet_e3_b2 = {fReader, "AK8jet_e3_b2"}; TTreeReaderValue AK8jet_e3_v1_b2 = {fReader, "AK8jet_e3_v1_b2"}; TTreeReaderValue AK8jet_e3_v2_b2 = {fReader, "AK8jet_e3_v2_b2"}; TTreeReaderValue AK8jet_e4_v1_b2 = {fReader, "AK8jet_e4_v1_b2"}; TTreeReaderValue AK8jet_e4_v2_b2 = {fReader, "AK8jet_e4_v2_b2"}; TTreeReaderValue AK8jet_e2_sdb1 = {fReader, "AK8jet_e2_sdb1"}; TTreeReaderValue AK8jet_e3_sdb1 = {fReader, "AK8jet_e3_sdb1"}; TTreeReaderValue AK8jet_e3_v1_sdb1 = {fReader, "AK8jet_e3_v1_sdb1"}; TTreeReaderValue AK8jet_e3_v2_sdb1 = {fReader, "AK8jet_e3_v2_sdb1"}; TTreeReaderValue AK8jet_e4_v1_sdb1 = {fReader, "AK8jet_e4_v1_sdb1"}; TTreeReaderValue AK8jet_e4_v2_sdb1 = {fReader, "AK8jet_e4_v2_sdb1"}; TTreeReaderValue AK8jet_e2_sdb2 = {fReader, "AK8jet_e2_sdb2"}; TTreeReaderValue AK8jet_e3_sdb2 = {fReader, "AK8jet_e3_sdb2"}; TTreeReaderValue AK8jet_e3_v1_sdb2 = {fReader, "AK8jet_e3_v1_sdb2"}; TTreeReaderValue AK8jet_e3_v2_sdb2 = {fReader, "AK8jet_e3_v2_sdb2"}; TTreeReaderValue AK8jet_e4_v1_sdb2 = {fReader, "AK8jet_e4_v1_sdb2"}; TTreeReaderValue AK8jet_e4_v2_sdb2 = {fReader, "AK8jet_e4_v2_sdb2"}; TTreeReaderValue AK8jet_e2_sdb4 = {fReader, "AK8jet_e2_sdb4"}; TTreeReaderValue AK8jet_e3_sdb4 = {fReader, "AK8jet_e3_sdb4"}; TTreeReaderValue AK8jet_e3_v1_sdb4 = {fReader, "AK8jet_e3_v1_sdb4"}; TTreeReaderValue AK8jet_e3_v2_sdb4 = {fReader, "AK8jet_e3_v2_sdb4"}; TTreeReaderValue AK8jet_e4_v1_sdb4 = {fReader, "AK8jet_e4_v1_sdb4"}; TTreeReaderValue AK8jet_e4_v2_sdb4 = {fReader, "AK8jet_e4_v2_sdb4"}; TTreeReaderValue AK8jet_e2_sdb05 = {fReader, "AK8jet_e2_sdb05"}; TTreeReaderValue AK8jet_e3_sdb05 = {fReader, "AK8jet_e3_sdb05"}; TTreeReaderValue AK8jet_e3_v1_sdb05 = {fReader, "AK8jet_e3_v1_sdb05"}; TTreeReaderValue AK8jet_e3_v2_sdb05 = {fReader, "AK8jet_e3_v2_sdb05"}; TTreeReaderValue AK8jet_e4_v1_sdb05 = {fReader, "AK8jet_e4_v1_sdb05"}; TTreeReaderValue AK8jet_e4_v2_sdb05 = {fReader, "AK8jet_e4_v2_sdb05"}; TTreeReaderValue AK8jet_qjet = {fReader, "AK8jet_qjet"}; TTreeReaderValue ungroomed_PuppiAK8_jet_pt = {fReader, "ungroomed_PuppiAK8_jet_pt"}; TTreeReaderValue ungroomed_PuppiAK8_jet_pt_jes_up = {fReader, "ungroomed_PuppiAK8_jet_pt_jes_up"}; TTreeReaderValue ungroomed_PuppiAK8_jet_pt_jes_dn = {fReader, "ungroomed_PuppiAK8_jet_pt_jes_dn"}; TTreeReaderValue ungroomed_PuppiAK8_jet_pt_jer = {fReader, "ungroomed_PuppiAK8_jet_pt_jer"}; TTreeReaderValue ungroomed_PuppiAK8_jet_pt_jer_up = {fReader, "ungroomed_PuppiAK8_jet_pt_jer_up"}; TTreeReaderValue ungroomed_PuppiAK8_jet_pt_jer_dn = {fReader, "ungroomed_PuppiAK8_jet_pt_jer_dn"}; TTreeReaderValue ungroomed_PuppiAK8_jet_eta = {fReader, "ungroomed_PuppiAK8_jet_eta"}; TTreeReaderValue ungroomed_PuppiAK8_jet_eta_jes_up = {fReader, "ungroomed_PuppiAK8_jet_eta_jes_up"}; TTreeReaderValue ungroomed_PuppiAK8_jet_eta_jes_dn = {fReader, "ungroomed_PuppiAK8_jet_eta_jes_dn"}; TTreeReaderValue ungroomed_PuppiAK8_jet_phi = {fReader, "ungroomed_PuppiAK8_jet_phi"}; TTreeReaderValue ungroomed_PuppiAK8_jet_phi_jes_up = {fReader, "ungroomed_PuppiAK8_jet_phi_jes_up"}; TTreeReaderValue ungroomed_PuppiAK8_jet_phi_jes_dn = {fReader, "ungroomed_PuppiAK8_jet_phi_jes_dn"}; TTreeReaderValue ungroomed_PuppiAK8_jet_e = {fReader, "ungroomed_PuppiAK8_jet_e"}; TTreeReaderValue ungroomed_PuppiAK8_jet_charge = {fReader, "ungroomed_PuppiAK8_jet_charge"}; TTreeReaderValue PuppiAK8_jet_mass = {fReader, "PuppiAK8_jet_mass"}; TTreeReaderValue ungroomed_PuppiAK8_jet_mass_jes_up = {fReader, "ungroomed_PuppiAK8_jet_mass_jes_up"}; TTreeReaderValue ungroomed_PuppiAK8_jet_mass_jes_dn = {fReader, "ungroomed_PuppiAK8_jet_mass_jes_dn"}; TTreeReaderValue PuppiAK8_jet_mass_pr = {fReader, "PuppiAK8_jet_mass_pr"}; TTreeReaderValue PuppiAK8_jet_mass_pr_jes_up = {fReader, "PuppiAK8_jet_mass_pr_jes_up"}; TTreeReaderValue PuppiAK8_jet_mass_pr_jes_dn = {fReader, "PuppiAK8_jet_mass_pr_jes_dn"}; TTreeReaderValue PuppiAK8_jet_mass_pr_jer = {fReader, "PuppiAK8_jet_mass_pr_jer"}; TTreeReaderValue PuppiAK8_jet_mass_pr_jer_up = {fReader, "PuppiAK8_jet_mass_pr_jer_up"}; TTreeReaderValue PuppiAK8_jet_mass_pr_jer_dn = {fReader, "PuppiAK8_jet_mass_pr_jer_dn"}; TTreeReaderValue PuppiAK8_jet_mass_so = {fReader, "PuppiAK8_jet_mass_so"}; TTreeReaderValue PuppiAK8_jet_mass_so_corr = {fReader, "PuppiAK8_jet_mass_so_corr"}; TTreeReaderValue PuppiAK8_jet_pt_so = {fReader, "PuppiAK8_jet_pt_so"}; TTreeReaderValue PuppiAK8_jet_mass_tr = {fReader, "PuppiAK8_jet_mass_tr"}; TTreeReaderValue PuppiAK8_jet_mass_fi = {fReader, "PuppiAK8_jet_mass_fi"}; TTreeReaderValue PuppiAK8_jet_tau2tau1 = {fReader, "PuppiAK8_jet_tau2tau1"}; TTreeReaderValue PuppiAK8_jet_sj1_pt = {fReader, "PuppiAK8_jet_sj1_pt"}; TTreeReaderValue PuppiAK8_jet_sj1_eta = {fReader, "PuppiAK8_jet_sj1_eta"}; TTreeReaderValue PuppiAK8_jet_sj1_phi = {fReader, "PuppiAK8_jet_sj1_phi"}; TTreeReaderValue PuppiAK8_jet_sj1_m = {fReader, "PuppiAK8_jet_sj1_m"}; TTreeReaderValue PuppiAK8_jet_sj1_q = {fReader, "PuppiAK8_jet_sj1_q"}; TTreeReaderValue PuppiAK8_jet_sj2_pt = {fReader, "PuppiAK8_jet_sj2_pt"}; TTreeReaderValue PuppiAK8_jet_sj2_eta = {fReader, "PuppiAK8_jet_sj2_eta"}; TTreeReaderValue PuppiAK8_jet_sj2_phi = {fReader, "PuppiAK8_jet_sj2_phi"}; TTreeReaderValue PuppiAK8_jet_sj2_m = {fReader, "PuppiAK8_jet_sj2_m"}; TTreeReaderValue PuppiAK8_jet_sj2_q = {fReader, "PuppiAK8_jet_sj2_q"}; TTreeReaderValue PuppiAK8_jetID_loose = {fReader, "PuppiAK8_jetID_loose"}; TTreeReaderValue PuppiAK8jet_e3_b1 = {fReader, "PuppiAK8jet_e3_b1"}; TTreeReaderValue PuppiAK8jet_e3_v1_b1 = {fReader, "PuppiAK8jet_e3_v1_b1"}; TTreeReaderValue PuppiAK8jet_e3_v2_b1 = {fReader, "PuppiAK8jet_e3_v2_b1"}; TTreeReaderValue PuppiAK8jet_e4_v1_b1 = {fReader, "PuppiAK8jet_e4_v1_b1"}; TTreeReaderValue PuppiAK8jet_e4_v2_b1 = {fReader, "PuppiAK8jet_e4_v2_b1"}; TTreeReaderValue PuppiAK8jet_e3_b2 = {fReader, "PuppiAK8jet_e3_b2"}; TTreeReaderValue PuppiAK8jet_e3_v1_b2 = {fReader, "PuppiAK8jet_e3_v1_b2"}; TTreeReaderValue PuppiAK8jet_e3_v2_b2 = {fReader, "PuppiAK8jet_e3_v2_b2"}; TTreeReaderValue PuppiAK8jet_e4_v1_b2 = {fReader, "PuppiAK8jet_e4_v1_b2"}; TTreeReaderValue PuppiAK8jet_e4_v2_b2 = {fReader, "PuppiAK8jet_e4_v2_b2"}; TTreeReaderValue PuppiAK8jet_e2_sdb1 = {fReader, "PuppiAK8jet_e2_sdb1"}; TTreeReaderValue PuppiAK8jet_e3_sdb1 = {fReader, "PuppiAK8jet_e3_sdb1"}; TTreeReaderValue PuppiAK8jet_e3_v1_sdb1 = {fReader, "PuppiAK8jet_e3_v1_sdb1"}; TTreeReaderValue PuppiAK8jet_e3_v2_sdb1 = {fReader, "PuppiAK8jet_e3_v2_sdb1"}; TTreeReaderValue PuppiAK8jet_e4_v1_sdb1 = {fReader, "PuppiAK8jet_e4_v1_sdb1"}; TTreeReaderValue PuppiAK8jet_e4_v2_sdb1 = {fReader, "PuppiAK8jet_e4_v2_sdb1"}; TTreeReaderValue PuppiAK8jet_e2_sdb2 = {fReader, "PuppiAK8jet_e2_sdb2"}; TTreeReaderValue PuppiAK8jet_e3_sdb2 = {fReader, "PuppiAK8jet_e3_sdb2"}; TTreeReaderValue PuppiAK8jet_e3_v1_sdb2 = {fReader, "PuppiAK8jet_e3_v1_sdb2"}; TTreeReaderValue PuppiAK8jet_e3_v2_sdb2 = {fReader, "PuppiAK8jet_e3_v2_sdb2"}; TTreeReaderValue PuppiAK8jet_e4_v1_sdb2 = {fReader, "PuppiAK8jet_e4_v1_sdb2"}; TTreeReaderValue PuppiAK8jet_e4_v2_sdb2 = {fReader, "PuppiAK8jet_e4_v2_sdb2"}; TTreeReaderValue PuppiAK8jet_e2_sdb4 = {fReader, "PuppiAK8jet_e2_sdb4"}; TTreeReaderValue PuppiAK8jet_e3_sdb4 = {fReader, "PuppiAK8jet_e3_sdb4"}; TTreeReaderValue PuppiAK8jet_e3_v1_sdb4 = {fReader, "PuppiAK8jet_e3_v1_sdb4"}; TTreeReaderValue PuppiAK8jet_e3_v2_sdb4 = {fReader, "PuppiAK8jet_e3_v2_sdb4"}; TTreeReaderValue PuppiAK8jet_e4_v1_sdb4 = {fReader, "PuppiAK8jet_e4_v1_sdb4"}; TTreeReaderValue PuppiAK8jet_e4_v2_sdb4 = {fReader, "PuppiAK8jet_e4_v2_sdb4"}; TTreeReaderValue PuppiAK8jet_e2_sdb05 = {fReader, "PuppiAK8jet_e2_sdb05"}; TTreeReaderValue PuppiAK8jet_e3_sdb05 = {fReader, "PuppiAK8jet_e3_sdb05"}; TTreeReaderValue PuppiAK8jet_e3_v1_sdb05 = {fReader, "PuppiAK8jet_e3_v1_sdb05"}; TTreeReaderValue PuppiAK8jet_e3_v2_sdb05 = {fReader, "PuppiAK8jet_e3_v2_sdb05"}; TTreeReaderValue PuppiAK8jet_e4_v1_sdb05 = {fReader, "PuppiAK8jet_e4_v1_sdb05"}; TTreeReaderValue PuppiAK8jet_e4_v2_sdb05 = {fReader, "PuppiAK8jet_e4_v2_sdb05"}; TTreeReaderValue PuppiAK8jet_qjet = {fReader, "PuppiAK8jet_qjet"}; TTreeReaderValue ttb_ungroomed_jet_pt = {fReader, "ttb_ungroomed_jet_pt"}; TTreeReaderValue ttb_ungroomed_jet_eta = {fReader, "ttb_ungroomed_jet_eta"}; TTreeReaderValue ttb_ungroomed_jet_phi = {fReader, "ttb_ungroomed_jet_phi"}; TTreeReaderValue ttb_ungroomed_jet_e = {fReader, "ttb_ungroomed_jet_e"}; TTreeReaderValue ttb_jet_mass_pr = {fReader, "ttb_jet_mass_pr"}; TTreeReaderValue ttb_jet_mass_so = {fReader, "ttb_jet_mass_so"}; TTreeReaderValue ttb_jet_pt_so = {fReader, "ttb_jet_pt_so"}; TTreeReaderValue ttb_jet_mass_tr = {fReader, "ttb_jet_mass_tr"}; TTreeReaderValue ttb_jet_mass_fi = {fReader, "ttb_jet_mass_fi"}; TTreeReaderValue ttb_jet_tau2tau1 = {fReader, "ttb_jet_tau2tau1"}; TTreeReaderValue isGen = {fReader, "isGen"}; TTreeReaderValue lep_pt_gen = {fReader, "lep_pt_gen"}; TTreeReaderValue lep_eta_gen = {fReader, "lep_eta_gen"}; TTreeReaderValue W_pt_gen = {fReader, "W_pt_gen"}; TTreeReaderValue W_pz_gen = {fReader, "W_pz_gen"}; TTreeReaderValue W_rap_gen = {fReader, "W_rap_gen"}; TTreeReaderValue nu_pz_gen = {fReader, "nu_pz_gen"}; TTreeReaderValue nu_pt_gen = {fReader, "nu_pt_gen"}; TTreeReaderValue nu_phi_gen = {fReader, "nu_phi_gen"}; TTreeReaderValue nu_eta_gen = {fReader, "nu_eta_gen"}; TTreeReaderValue hadW_pt_gen = {fReader, "hadW_pt_gen"}; TTreeReaderValue hadW_eta_gen = {fReader, "hadW_eta_gen"}; TTreeReaderValue hadW_phi_gen = {fReader, "hadW_phi_gen"}; TTreeReaderValue hadW_e_gen = {fReader, "hadW_e_gen"}; TTreeReaderValue hadW_m_gen = {fReader, "hadW_m_gen"}; TTreeReaderValue lepW_pt_gen = {fReader, "lepW_pt_gen"}; TTreeReaderValue lepW_eta_gen = {fReader, "lepW_eta_gen"}; TTreeReaderValue lepW_phi_gen = {fReader, "lepW_phi_gen"}; TTreeReaderValue lepW_e_gen = {fReader, "lepW_e_gen"}; TTreeReaderValue lepW_m_gen = {fReader, "lepW_m_gen"}; TTreeReaderValue WW_mass_gen = {fReader, "WW_mass_gen"}; TTreeReaderValue WW_mT_gen = {fReader, "WW_mT_gen"}; TTreeReaderValue WW_pT_gen = {fReader, "WW_pT_gen"}; TTreeReaderValue AK8_pt_gen = {fReader, "AK8_pt_gen"}; TTreeReaderValue AK8_eta_gen = {fReader, "AK8_eta_gen"}; TTreeReaderValue AK8_phi_gen = {fReader, "AK8_phi_gen"}; TTreeReaderValue AK8_e_gen = {fReader, "AK8_e_gen"}; TTreeReaderValue AK8_mass_gen = {fReader, "AK8_mass_gen"}; TTreeReaderValue AK8_pruned_mass_gen = {fReader, "AK8_pruned_mass_gen"}; TTreeReaderValue AK8_softdrop_mass_gen = {fReader, "AK8_softdrop_mass_gen"}; TTreeReaderValue AK8_softdrop_pt_gen = {fReader, "AK8_softdrop_pt_gen"}; TTreeReaderValue v_pt_type0 = {fReader, "v_pt_type0"}; TTreeReaderValue v_pt_type2 = {fReader, "v_pt_type2"}; TTreeReaderValue v_pt_run2 = {fReader, "v_pt_run2"}; TTreeReaderValue v_eta_type2 = {fReader, "v_eta_type2"}; TTreeReaderValue v_eta_type0 = {fReader, "v_eta_type0"}; TTreeReaderValue v_eta_run2 = {fReader, "v_eta_run2"}; TTreeReaderValue v_phi = {fReader, "v_phi"}; TTreeReaderValue v_mt_type2 = {fReader, "v_mt_type2"}; TTreeReaderValue v_mt_type0 = {fReader, "v_mt_type0"}; TTreeReaderValue v_mt_run2 = {fReader, "v_mt_run2"}; TTreeReaderValue v_mass_type2 = {fReader, "v_mass_type2"}; TTreeReaderValue v_mass_type0 = {fReader, "v_mass_type0"}; TTreeReaderValue v_mass_run2 = {fReader, "v_mass_run2"}; TTreeReaderValue v_pt_type0_jer_up = {fReader, "v_pt_type0_jer_up"}; TTreeReaderValue v_eta_type0_jer_up = {fReader, "v_eta_type0_jer_up"}; TTreeReaderValue v_mt_type0_jer_up = {fReader, "v_mt_type0_jer_up"}; TTreeReaderValue v_mass_type0_jer_up = {fReader, "v_mass_type0_jer_up"}; TTreeReaderValue v_pt_type0_jer_dn = {fReader, "v_pt_type0_jer_dn"}; TTreeReaderValue v_eta_type0_jer_dn = {fReader, "v_eta_type0_jer_dn"}; TTreeReaderValue v_mt_type0_jer_dn = {fReader, "v_mt_type0_jer_dn"}; TTreeReaderValue v_mass_type0_jer_dn = {fReader, "v_mass_type0_jer_dn"}; TTreeReaderValue v_pt_type0_jes_up = {fReader, "v_pt_type0_jes_up"}; TTreeReaderValue v_eta_type0_jes_up = {fReader, "v_eta_type0_jes_up"}; TTreeReaderValue v_mt_type0_jes_up = {fReader, "v_mt_type0_jes_up"}; TTreeReaderValue v_mass_type0_jes_up = {fReader, "v_mass_type0_jes_up"}; TTreeReaderValue v_pt_type0_jes_dn = {fReader, "v_pt_type0_jes_dn"}; TTreeReaderValue v_eta_type0_jes_dn = {fReader, "v_eta_type0_jes_dn"}; TTreeReaderValue v_mt_type0_jes_dn = {fReader, "v_mt_type0_jes_dn"}; TTreeReaderValue v_mass_type0_jes_dn = {fReader, "v_mass_type0_jes_dn"}; TTreeReaderValue mass_lvj_type0 = {fReader, "mass_lvj_type0"}; TTreeReaderValue mass_lvj_type0_met_jes_up = {fReader, "mass_lvj_type0_met_jes_up"}; TTreeReaderValue mass_lvj_type0_met_jes_dn = {fReader, "mass_lvj_type0_met_jes_dn"}; TTreeReaderValue mass_lvj_type0_met_jer_up = {fReader, "mass_lvj_type0_met_jer_up"}; TTreeReaderValue mass_lvj_type0_met_jer_dn = {fReader, "mass_lvj_type0_met_jer_dn"}; TTreeReaderValue mass_lvj_type0_met_jer = {fReader, "mass_lvj_type0_met_jer"}; TTreeReaderValue mass_lvj_type0_met_PuppiAK8_jes_up = {fReader, "mass_lvj_type0_met_PuppiAK8_jes_up"}; TTreeReaderValue mass_lvj_type0_met_PuppiAK8_jes_dn = {fReader, "mass_lvj_type0_met_PuppiAK8_jes_dn"}; TTreeReaderValue mass_lvj_type2 = {fReader, "mass_lvj_type2"}; TTreeReaderValue mass_lvj_run2 = {fReader, "mass_lvj_run2"}; TTreeReaderValue mass_lvj_type0_PuppiAK8 = {fReader, "mass_lvj_type0_PuppiAK8"}; TTreeReaderValue mass_lvj_type0_PuppiAK8_jes_up = {fReader, "mass_lvj_type0_PuppiAK8_jes_up"}; TTreeReaderValue mass_lvj_type0_PuppiAK8_jes_dn = {fReader, "mass_lvj_type0_PuppiAK8_jes_dn"}; TTreeReaderValue mass_lvj_type0_PuppiAK8_jer_up = {fReader, "mass_lvj_type0_PuppiAK8_jer_up"}; TTreeReaderValue mass_lvj_type0_PuppiAK8_jer_dn = {fReader, "mass_lvj_type0_PuppiAK8_jer_dn"}; TTreeReaderValue mass_lvj_type2_PuppiAK8 = {fReader, "mass_lvj_type2_PuppiAK8"}; TTreeReaderValue mass_lvj_run2_PuppiAK8 = {fReader, "mass_lvj_run2_PuppiAK8"}; TTreeReaderValue mt_lvj_type0_PuppiAK8 = {fReader, "mt_lvj_type0_PuppiAK8"}; TTreeReaderValue mt_lvj_type2_PuppiAK8 = {fReader, "mt_lvj_type2_PuppiAK8"}; TTreeReaderValue mt_lvj_run2_PuppiAK8 = {fReader, "mt_lvj_run2_PuppiAK8"}; TTreeReaderValue pt_lvj_type0_PuppiAK8 = {fReader, "pt_lvj_type0_PuppiAK8"}; TTreeReaderValue pt_lvj_type2_PuppiAK8 = {fReader, "pt_lvj_type2_PuppiAK8"}; TTreeReaderValue pt_lvj_run2_PuppiAK8 = {fReader, "pt_lvj_run2_PuppiAK8"}; TTreeReaderValue eta_lvj_type0_PuppiAK8 = {fReader, "eta_lvj_type0_PuppiAK8"}; TTreeReaderValue eta_lvj_type2_PuppiAK8 = {fReader, "eta_lvj_type2_PuppiAK8"}; TTreeReaderValue eta_lvj_run2_PuppiAK8 = {fReader, "eta_lvj_run2_PuppiAK8"}; TTreeReaderValue rapidity_lvj_type0_PuppiAK8 = {fReader, "rapidity_lvj_type0_PuppiAK8"}; TTreeReaderValue rapidity_lvj_type2_PuppiAK8 = {fReader, "rapidity_lvj_type2_PuppiAK8"}; TTreeReaderValue rapidity_lvj_run2_PuppiAK8 = {fReader, "rapidity_lvj_run2_PuppiAK8"}; TTreeReaderValue phi_lvj_type0_PuppiAK8 = {fReader, "phi_lvj_type0_PuppiAK8"}; TTreeReaderValue phi_lvj_type2_PuppiAK8 = {fReader, "phi_lvj_type2_PuppiAK8"}; TTreeReaderValue phi_lvj_run2_PuppiAK8 = {fReader, "phi_lvj_run2_PuppiAK8"}; TTreeReaderValue energy_lvj_type0_PuppiAK8 = {fReader, "energy_lvj_type0_PuppiAK8"}; TTreeReaderValue energy_lvj_type2_PuppiAK8 = {fReader, "energy_lvj_type2_PuppiAK8"}; TTreeReaderValue energy_lvj_run2_PuppiAK8 = {fReader, "energy_lvj_run2_PuppiAK8"}; TTreeReaderValue mass_llj_PuppiAK8 = {fReader, "mass_llj_PuppiAK8"}; TTreeReaderValue pt_llj_PuppiAK8 = {fReader, "pt_llj_PuppiAK8"}; TTreeReaderValue eta_llj_PuppiAK8 = {fReader, "eta_llj_PuppiAK8"}; TTreeReaderValue phi_llj_PuppiAK8 = {fReader, "phi_llj_PuppiAK8"}; TTreeReaderValue njets = {fReader, "njets"}; TTreeReaderValue njetsPuppi = {fReader, "njetsPuppi"}; TTreeReaderValue nGoodAK8jets = {fReader, "nGoodAK8jets"}; TTreeReaderValue nGoodPuppiAK8jets = {fReader, "nGoodPuppiAK8jets"}; TTreeReaderValue njets_unmerged = {fReader, "njets_unmerged"}; TTreeReaderValue njetsPuppi_unmerged = {fReader, "njetsPuppi_unmerged"}; TTreeReaderValue nBTagJet_loose = {fReader, "nBTagJet_loose"}; TTreeReaderValue nBTagJet_medium = {fReader, "nBTagJet_medium"}; TTreeReaderValue nBTagJet_tight = {fReader, "nBTagJet_tight"}; TTreeReaderValue nBTagJetPuppi_loose = {fReader, "nBTagJetPuppi_loose"}; TTreeReaderValue nBTagJetPuppi_medium = {fReader, "nBTagJetPuppi_medium"}; TTreeReaderValue nBTagJetPuppi_tight = {fReader, "nBTagJetPuppi_tight"}; TTreeReaderValue nBTagJet_loose_unmerged = {fReader, "nBTagJet_loose_unmerged"}; TTreeReaderValue nBTagJet_medium_unmerged = {fReader, "nBTagJet_medium_unmerged"}; TTreeReaderValue nBTagJet_tight_unmerged = {fReader, "nBTagJet_tight_unmerged"}; TTreeReaderValue nBTagJetPuppi_loose_unmerged = {fReader, "nBTagJetPuppi_loose_unmerged"}; TTreeReaderValue nBTagJetPuppi_medium_unmerged = {fReader, "nBTagJetPuppi_medium_unmerged"}; TTreeReaderValue nBTagJetPuppi_tight_unmerged = {fReader, "nBTagJetPuppi_tight_unmerged"}; TTreeReaderValue btag0Wgt = {fReader, "btag0Wgt"}; TTreeReaderValue btag1Wgt = {fReader, "btag1Wgt"}; TTreeReaderValue btag2Wgt = {fReader, "btag2Wgt"}; TTreeReaderValue btag0WgtUpHF = {fReader, "btag0WgtUpHF"}; TTreeReaderValue btag0WgtDownHF = {fReader, "btag0WgtDownHF"}; TTreeReaderValue btag0WgtUpLF = {fReader, "btag0WgtUpLF"}; TTreeReaderValue btag0WgtDownLF = {fReader, "btag0WgtDownLF"}; TTreeReaderValue btag1WgtUpHF = {fReader, "btag1WgtUpHF"}; TTreeReaderValue btag1WgtDownHF = {fReader, "btag1WgtDownHF"}; TTreeReaderValue btag1WgtUpLF = {fReader, "btag1WgtUpLF"}; TTreeReaderValue btag1WgtDownLF = {fReader, "btag1WgtDownLF"}; TTreeReaderValue vbf_maxpt_j1_pt = {fReader, "vbf_maxpt_j1_pt"}; TTreeReaderValue vbf_maxpt_j1_pt_jes_up = {fReader, "vbf_maxpt_j1_pt_jes_up"}; TTreeReaderValue vbf_maxpt_j1_pt_jes_dn = {fReader, "vbf_maxpt_j1_pt_jes_dn"}; TTreeReaderValue vbf_maxpt_j1_pt_jer = {fReader, "vbf_maxpt_j1_pt_jer"}; TTreeReaderValue vbf_maxpt_j1_pt_jer_up = {fReader, "vbf_maxpt_j1_pt_jer_up"}; TTreeReaderValue vbf_maxpt_j1_pt_jer_dn = {fReader, "vbf_maxpt_j1_pt_jer_dn"}; TTreeReaderValue vbf_maxpt_j1_eta = {fReader, "vbf_maxpt_j1_eta"}; TTreeReaderValue vbf_maxpt_j1_eta_jes_up = {fReader, "vbf_maxpt_j1_eta_jes_up"}; TTreeReaderValue vbf_maxpt_j1_eta_jes_dn = {fReader, "vbf_maxpt_j1_eta_jes_dn"}; TTreeReaderValue vbf_maxpt_j1_eta_jer = {fReader, "vbf_maxpt_j1_eta_jer"}; TTreeReaderValue vbf_maxpt_j1_eta_jer_up = {fReader, "vbf_maxpt_j1_eta_jer_up"}; TTreeReaderValue vbf_maxpt_j1_eta_jer_dn = {fReader, "vbf_maxpt_j1_eta_jer_dn"}; TTreeReaderValue vbf_maxpt_j1_phi = {fReader, "vbf_maxpt_j1_phi"}; TTreeReaderValue vbf_maxpt_j1_phi_jes_up = {fReader, "vbf_maxpt_j1_phi_jes_up"}; TTreeReaderValue vbf_maxpt_j1_phi_jes_dn = {fReader, "vbf_maxpt_j1_phi_jes_dn"}; TTreeReaderValue vbf_maxpt_j1_e = {fReader, "vbf_maxpt_j1_e"}; TTreeReaderValue vbf_maxpt_j1_mass = {fReader, "vbf_maxpt_j1_mass"}; TTreeReaderValue vbf_maxpt_j1_mass_jes_up = {fReader, "vbf_maxpt_j1_mass_jes_up"}; TTreeReaderValue vbf_maxpt_j1_mass_jes_dn = {fReader, "vbf_maxpt_j1_mass_jes_dn"}; TTreeReaderValue vbf_maxpt_j1_bDiscriminatorCSV = {fReader, "vbf_maxpt_j1_bDiscriminatorCSV"}; TTreeReaderValue vbf_maxpt_j1_charge = {fReader, "vbf_maxpt_j1_charge"}; TTreeReaderValue vbf_maxpt_j2_pt = {fReader, "vbf_maxpt_j2_pt"}; TTreeReaderValue vbf_maxpt_j2_pt_jes_up = {fReader, "vbf_maxpt_j2_pt_jes_up"}; TTreeReaderValue vbf_maxpt_j2_pt_jes_dn = {fReader, "vbf_maxpt_j2_pt_jes_dn"}; TTreeReaderValue vbf_maxpt_j2_pt_jer = {fReader, "vbf_maxpt_j2_pt_jer"}; TTreeReaderValue vbf_maxpt_j2_pt_jer_up = {fReader, "vbf_maxpt_j2_pt_jer_up"}; TTreeReaderValue vbf_maxpt_j2_pt_jer_dn = {fReader, "vbf_maxpt_j2_pt_jer_dn"}; TTreeReaderValue vbf_maxpt_j2_eta = {fReader, "vbf_maxpt_j2_eta"}; TTreeReaderValue vbf_maxpt_j2_eta_jes_up = {fReader, "vbf_maxpt_j2_eta_jes_up"}; TTreeReaderValue vbf_maxpt_j2_eta_jes_dn = {fReader, "vbf_maxpt_j2_eta_jes_dn"}; TTreeReaderValue vbf_maxpt_j2_eta_jer = {fReader, "vbf_maxpt_j2_eta_jer"}; TTreeReaderValue vbf_maxpt_j2_eta_jer_up = {fReader, "vbf_maxpt_j2_eta_jer_up"}; TTreeReaderValue vbf_maxpt_j2_eta_jer_dn = {fReader, "vbf_maxpt_j2_eta_jer_dn"}; TTreeReaderValue vbf_maxpt_j2_phi = {fReader, "vbf_maxpt_j2_phi"}; TTreeReaderValue vbf_maxpt_j2_phi_jes_up = {fReader, "vbf_maxpt_j2_phi_jes_up"}; TTreeReaderValue vbf_maxpt_j2_phi_jes_dn = {fReader, "vbf_maxpt_j2_phi_jes_dn"}; TTreeReaderValue vbf_maxpt_j2_e = {fReader, "vbf_maxpt_j2_e"}; TTreeReaderValue vbf_maxpt_j2_mass = {fReader, "vbf_maxpt_j2_mass"}; TTreeReaderValue vbf_maxpt_j2_mass_jes_up = {fReader, "vbf_maxpt_j2_mass_jes_up"}; TTreeReaderValue vbf_maxpt_j2_mass_jes_dn = {fReader, "vbf_maxpt_j2_mass_jes_dn"}; TTreeReaderValue vbf_maxpt_j2_bDiscriminatorCSV = {fReader, "vbf_maxpt_j2_bDiscriminatorCSV"}; TTreeReaderValue vbf_maxpt_j2_charge = {fReader, "vbf_maxpt_j2_charge"}; TTreeReaderValue vbf_maxpt_jj_pt = {fReader, "vbf_maxpt_jj_pt"}; TTreeReaderValue vbf_maxpt_jj_pt_jes_up = {fReader, "vbf_maxpt_jj_pt_jes_up"}; TTreeReaderValue vbf_maxpt_jj_pt_jes_dn = {fReader, "vbf_maxpt_jj_pt_jes_dn"}; TTreeReaderValue vbf_maxpt_jj_eta = {fReader, "vbf_maxpt_jj_eta"}; TTreeReaderValue vbf_maxpt_jj_phi = {fReader, "vbf_maxpt_jj_phi"}; TTreeReaderValue vbf_maxpt_jj_m = {fReader, "vbf_maxpt_jj_m"}; TTreeReaderValue vbf_maxpt_jj_m_jes_up = {fReader, "vbf_maxpt_jj_m_jes_up"}; TTreeReaderValue vbf_maxpt_jj_m_jes_dn = {fReader, "vbf_maxpt_jj_m_jes_dn"}; TTreeReaderValue vbf_maxpt_jj_Deta = {fReader, "vbf_maxpt_jj_Deta"}; TTreeReaderValue vbf_maxpt_jj_Deta_jes_up = {fReader, "vbf_maxpt_jj_Deta_jes_up"}; TTreeReaderValue vbf_maxpt_jj_Deta_jes_dn = {fReader, "vbf_maxpt_jj_Deta_jes_dn"}; TTreeReaderValue LepWEta = {fReader, "LepWEta"}; TTreeReaderValue LepWRapidity = {fReader, "LepWRapidity"}; TTreeReaderValue HadWEta = {fReader, "HadWEta"}; TTreeReaderValue HadWRapidity = {fReader, "HadWRapidity"}; TTreeReaderValue WWEta = {fReader, "WWEta"}; TTreeReaderValue WWEta_PuppiAK8 = {fReader, "WWEta_PuppiAK8"}; TTreeReaderValue WWRapidity = {fReader, "WWRapidity"}; TTreeReaderValue WWRapidity_PuppiAK8 = {fReader, "WWRapidity_PuppiAK8"}; TTreeReaderValue ZeppenfeldWH = {fReader, "ZeppenfeldWH"}; TTreeReaderValue ZeppenfeldWH_jes_up = {fReader, "ZeppenfeldWH_jes_up"}; TTreeReaderValue ZeppenfeldWH_jes_dn = {fReader, "ZeppenfeldWH_jes_dn"}; TTreeReaderValue ZeppenfeldWHPuppi = {fReader, "ZeppenfeldWHPuppi"}; TTreeReaderValue costheta1Puppi_type0 = {fReader, "costheta1Puppi_type0"}; TTreeReaderValue costheta2Puppi_type0 = {fReader, "costheta2Puppi_type0"}; TTreeReaderValue costhetastarPuppi_type0 = {fReader, "costhetastarPuppi_type0"}; TTreeReaderValue phiPuppi_type0 = {fReader, "phiPuppi_type0"}; TTreeReaderValue phi1Puppi_type0 = {fReader, "phi1Puppi_type0"}; TTreeReaderValue VBSCentralityPuppi_type0 = {fReader, "VBSCentralityPuppi_type0"}; TTreeReaderValue costheta1Puppi_type2 = {fReader, "costheta1Puppi_type2"}; TTreeReaderValue costheta2Puppi_type2 = {fReader, "costheta2Puppi_type2"}; TTreeReaderValue costhetastarPuppi_type2 = {fReader, "costhetastarPuppi_type2"}; TTreeReaderValue phiPuppi_type2 = {fReader, "phiPuppi_type2"}; TTreeReaderValue phi1Puppi_type2 = {fReader, "phi1Puppi_type2"}; TTreeReaderValue VBSCentralityPuppi_type2 = {fReader, "VBSCentralityPuppi_type2"}; TTreeReaderValue costheta1Puppi_run2 = {fReader, "costheta1Puppi_run2"}; TTreeReaderValue costheta2Puppi_run2 = {fReader, "costheta2Puppi_run2"}; TTreeReaderValue costhetastarPuppi_run2 = {fReader, "costhetastarPuppi_run2"}; TTreeReaderValue phiPuppi_run2 = {fReader, "phiPuppi_run2"}; TTreeReaderValue phi1Puppi_run2 = {fReader, "phi1Puppi_run2"}; TTreeReaderValue VBSCentralityPuppi_run2 = {fReader, "VBSCentralityPuppi_run2"}; TTreeReaderValue RpTPuppi_type0 = {fReader, "RpTPuppi_type0"}; TTreeReaderValue ZeppenfeldWLPuppi_type0 = {fReader, "ZeppenfeldWLPuppi_type0"}; TTreeReaderValue LeptonProjectionPuppi_type0 = {fReader, "LeptonProjectionPuppi_type0"}; TTreeReaderValue RpTPuppi_type2 = {fReader, "RpTPuppi_type2"}; TTreeReaderValue ZeppenfeldWLPuppi_type2 = {fReader, "ZeppenfeldWLPuppi_type2"}; TTreeReaderValue LeptonProjectionPuppi_type2 = {fReader, "LeptonProjectionPuppi_type2"}; TTreeReaderValue RpTPuppi_run2 = {fReader, "RpTPuppi_run2"}; TTreeReaderValue ZeppenfeldWLPuppi_run2 = {fReader, "ZeppenfeldWLPuppi_run2"}; TTreeReaderValue LeptonProjectionPuppi_run2 = {fReader, "LeptonProjectionPuppi_run2"}; TTreeReaderValue PtBalancePuppi_type0 = {fReader, "PtBalancePuppi_type0"}; TTreeReaderValue PtBalancePuppi_type2 = {fReader, "PtBalancePuppi_type2"}; TTreeReaderValue PtBalancePuppi_run2 = {fReader, "PtBalancePuppi_run2"}; TTreeReaderValue costheta1_type0 = {fReader, "costheta1_type0"}; TTreeReaderValue costheta2_type0 = {fReader, "costheta2_type0"}; TTreeReaderValue costhetastar_type0 = {fReader, "costhetastar_type0"}; TTreeReaderValue phi_type0 = {fReader, "phi_type0"}; TTreeReaderValue phi1_type0 = {fReader, "phi1_type0"}; TTreeReaderValue VBSCentrality_type0 = {fReader, "VBSCentrality_type0"}; TTreeReaderValue costheta1_type2 = {fReader, "costheta1_type2"}; TTreeReaderValue costheta2_type2 = {fReader, "costheta2_type2"}; TTreeReaderValue costhetastar_type2 = {fReader, "costhetastar_type2"}; TTreeReaderValue phi_type2 = {fReader, "phi_type2"}; TTreeReaderValue phi1_type2 = {fReader, "phi1_type2"}; TTreeReaderValue VBSCentrality_type2 = {fReader, "VBSCentrality_type2"}; TTreeReaderValue costheta1_run2 = {fReader, "costheta1_run2"}; TTreeReaderValue costheta2_run2 = {fReader, "costheta2_run2"}; TTreeReaderValue costhetastar_run2 = {fReader, "costhetastar_run2"}; TTreeReaderValue phi_run2 = {fReader, "phi_run2"}; TTreeReaderValue phi1_run2 = {fReader, "phi1_run2"}; TTreeReaderValue VBSCentrality_run2 = {fReader, "VBSCentrality_run2"}; TTreeReaderValue RpT_type0 = {fReader, "RpT_type0"}; TTreeReaderValue ZeppenfeldWL_type0 = {fReader, "ZeppenfeldWL_type0"}; TTreeReaderValue ZeppenfeldWL_type0_jes_up = {fReader, "ZeppenfeldWL_type0_jes_up"}; TTreeReaderValue ZeppenfeldWL_type0_jes_dn = {fReader, "ZeppenfeldWL_type0_jes_dn"}; TTreeReaderValue ZeppenfeldWL_type0_jer_up = {fReader, "ZeppenfeldWL_type0_jer_up"}; TTreeReaderValue ZeppenfeldWL_type0_jer_dn = {fReader, "ZeppenfeldWL_type0_jer_dn"}; TTreeReaderValue LeptonProjection_type0 = {fReader, "LeptonProjection_type0"}; TTreeReaderValue RpT_type2 = {fReader, "RpT_type2"}; TTreeReaderValue ZeppenfeldWL_type2 = {fReader, "ZeppenfeldWL_type2"}; TTreeReaderValue LeptonProjection_type2 = {fReader, "LeptonProjection_type2"}; TTreeReaderValue RpT_run2 = {fReader, "RpT_run2"}; TTreeReaderValue ZeppenfeldWL_run2 = {fReader, "ZeppenfeldWL_run2"}; TTreeReaderValue LeptonProjection_run2 = {fReader, "LeptonProjection_run2"}; TTreeReaderValue PtBalance_type0 = {fReader, "PtBalance_type0"}; TTreeReaderValue PtBalance_type0_jes_up = {fReader, "PtBalance_type0_jes_up"}; TTreeReaderValue PtBalance_type0_jes_dn = {fReader, "PtBalance_type0_jes_dn"}; TTreeReaderValue PtBalance_type0_jer_up = {fReader, "PtBalance_type0_jer_up"}; TTreeReaderValue PtBalance_type0_jer_dn = {fReader, "PtBalance_type0_jer_dn"}; TTreeReaderValue PtBalance_type2 = {fReader, "PtBalance_type2"}; TTreeReaderValue PtBalance_run2 = {fReader, "PtBalance_run2"}; TTreeReaderValue BosonCentrality_type0 = {fReader, "BosonCentrality_type0"}; TTreeReaderValue BosonCentrality_type0_jes_up = {fReader, "BosonCentrality_type0_jes_up"}; TTreeReaderValue BosonCentrality_type0_jes_dn = {fReader, "BosonCentrality_type0_jes_dn"}; TTreeReaderValue BosonCentrality_type0_jer_up = {fReader, "BosonCentrality_type0_jer_up"}; TTreeReaderValue BosonCentrality_type0_jer_dn = {fReader, "BosonCentrality_type0_jer_dn"}; TTreeReaderValue BosonCentrality_type2 = {fReader, "BosonCentrality_type2"}; TTreeReaderValue BosonCentrality_run2 = {fReader, "BosonCentrality_run2"}; TTreeReaderValue BosonCentralityPuppi_type0 = {fReader, "BosonCentralityPuppi_type0"}; TTreeReaderValue BosonCentralityPuppi_type2 = {fReader, "BosonCentralityPuppi_type2"}; TTreeReaderValue BosonCentralityPuppi_run2 = {fReader, "BosonCentralityPuppi_run2"}; TTreeReaderValue PtBalance_2Lep = {fReader, "PtBalance_2Lep"}; TTreeReaderValue BosonCentrality_2Lep = {fReader, "BosonCentrality_2Lep"}; TTreeReaderValue BosonCentrality_2Lep_jes_up = {fReader, "BosonCentrality_2Lep_jes_up"}; TTreeReaderValue BosonCentrality_2Lep_jes_dn = {fReader, "BosonCentrality_2Lep_jes_dn"}; TTreeReaderValue costheta1_2Lep = {fReader, "costheta1_2Lep"}; TTreeReaderValue costheta2_2Lep = {fReader, "costheta2_2Lep"}; TTreeReaderValue costhetastar_2Lep = {fReader, "costhetastar_2Lep"}; TTreeReaderValue phi_2Lep = {fReader, "phi_2Lep"}; TTreeReaderValue phi1_2Lep = {fReader, "phi1_2Lep"}; TTreeReaderValue VBSCentrality_2Lep = {fReader, "VBSCentrality_2Lep"}; TTreeReaderValue RpT_2Lep = {fReader, "RpT_2Lep"}; TTreeReaderValue ZeppenfeldWL_2Lep = {fReader, "ZeppenfeldWL_2Lep"}; TTreeReaderValue ZeppenfeldWL_2Lep_jes_up = {fReader, "ZeppenfeldWL_2Lep_jes_up"}; TTreeReaderValue ZeppenfeldWL_2Lep_jes_dn = {fReader, "ZeppenfeldWL_2Lep_jes_dn"}; TTreeReaderValue LeptonProjection_2Lep = {fReader, "LeptonProjection_2Lep"}; TFile f("bkg_estimation.root", "RECREATE"); // Create a histogram for the values we read. TH1F *hSignal_4bin = new TH1F("hSignal_4bin", "hSignal_4bin;M_{WW};", 4, 600, 5000); TH1F *hSignal_15bin = new TH1F("hSignal_15bin", "hSignal_15bin;M_{WW};", 15, 600, 5000); TH1F *hSignal_88bin = new TH1F("hSignal_88bin", "hSignal_88bin;M_{WW};", 88, 600, 5000); TH1F *hSideBand_4bin = new TH1F("hSideBand_4bin", "hSideBand_4bin;M_{WW};", 4, 600, 5000); TH1F *hSideBand_15bin = new TH1F("hSideBand_15bin", "hSideBand_15bin;M_{WW};", 15, 600, 5000); TH1F *hSideBand_88bin = new TH1F("hSideBand_88bin", "hSideBand_88bin;M_{WW};", 88, 600, 5000); // Loop over all entries of the TTree or TChain. while (fReader.Next()) { // Just access the data as if myPx and btag were iterators (note the '*' // in front of them): if(!(*l_pt2<0 && *l_pt1>30)) continue; if(!(((*type==0)&&(abs(*l_eta1)<2.4))||((*type==1)&&((abs(*l_eta1)<2.5)&&!(abs(*l_eta1)>1.4442 && abs(*l_eta1)<1.566))))) continue; if(!(((*type==0)&&(*pfMET_Corr>50)) || ((*type==1)&&(*pfMET_Corr>80)))) continue; if(!((*ungroomed_PuppiAK8_jet_pt>200)&&(abs(*ungroomed_PuppiAK8_jet_eta)<2.4)&&(*PuppiAK8_jet_tau2tau1<0.55))) continue; //if(!((*PuppiAK8_jet_mass_so_corr>65) && (*PuppiAK8_jet_mass_so_corr<105))) continue; if(!(*nBTagJet_loose==0)) continue; if(!(*vbf_maxpt_jj_m>800)) continue; if(!(abs(*vbf_maxpt_j2_eta-*vbf_maxpt_j1_eta)>4.0)) continue; if(!((*vbf_maxpt_j1_pt>30) && (*vbf_maxpt_j2_pt>30))) continue; if(!(*mass_lvj_type0_PuppiAK8>600)) continue; if(!(*BosonCentrality_type0>1.0)) continue; if(!((abs(*ZeppenfeldWL_type0)/abs(*vbf_maxpt_j2_eta-*vbf_maxpt_j1_eta))<0.3)) continue; if(!((abs(*ZeppenfeldWH)/abs(*vbf_maxpt_j2_eta-*vbf_maxpt_j1_eta))<0.3)) continue; // Fill histogram for signal region if ((*PuppiAK8_jet_mass_so_corr>65) && (*PuppiAK8_jet_mass_so_corr<105)) { hSignal_4bin->Fill(*mass_lvj_type0_PuppiAK8,((*wSampleWeight)*(35867.06)*(*btag0Wgt)*(*genWeight)*(*trig_eff_Weight)*(*id_eff_Weight)*(*pu_Weight))); hSignal_15bin->Fill(*mass_lvj_type0_PuppiAK8,((*wSampleWeight)*(35867.06)*(*btag0Wgt)*(*genWeight)*(*trig_eff_Weight)*(*id_eff_Weight)*(*pu_Weight))); hSignal_88bin->Fill(*mass_lvj_type0_PuppiAK8,((*wSampleWeight)*(35867.06)*(*btag0Wgt)*(*genWeight)*(*trig_eff_Weight)*(*id_eff_Weight)*(*pu_Weight))); } // Fill histogram for side-band region if ((*PuppiAK8_jet_mass_so_corr<65) || (*PuppiAK8_jet_mass_so_corr>105)) { hSideBand_4bin->Fill(*mass_lvj_type0_PuppiAK8,((*wSampleWeight)*(35867.06)*(*btag0Wgt)*(*genWeight)*(*trig_eff_Weight)*(*id_eff_Weight)*(*pu_Weight))); hSideBand_15bin->Fill(*mass_lvj_type0_PuppiAK8,((*wSampleWeight)*(35867.06)*(*btag0Wgt)*(*genWeight)*(*trig_eff_Weight)*(*id_eff_Weight)*(*pu_Weight))); hSideBand_88bin->Fill(*mass_lvj_type0_PuppiAK8,((*wSampleWeight)*(35867.06)*(*btag0Wgt)*(*genWeight)*(*trig_eff_Weight)*(*id_eff_Weight)*(*pu_Weight))); } //cout<<*mass_lvj_type0_PuppiAK8<<"\t"<<*BosonCentrality_type0<SetBinContent(4,hSignal_4bin->GetBinContent(4)+hSignal_4bin->GetBinContent(5)); hSignal_15bin->SetBinContent(4,hSignal_15bin->GetBinContent(4)+hSignal_15bin->GetBinContent(5)); hSignal_88bin->SetBinContent(4,hSignal_88bin->GetBinContent(4)+hSignal_88bin->GetBinContent(5)); hSideBand_4bin->SetBinContent(4,hSideBand_4bin->GetBinContent(4)+hSideBand_4bin->GetBinContent(5)); hSideBand_15bin->SetBinContent(4,hSideBand_15bin->GetBinContent(4)+hSideBand_15bin->GetBinContent(5)); hSideBand_88bin->SetBinContent(4,hSideBand_88bin->GetBinContent(4)+hSideBand_88bin->GetBinContent(5)); // Calculate alpha TH1F* alpha = (TH1F*)hSignal_15bin->Clone(); alpha->Divide(hSideBand_15bin); alpha->SetMinimum(-1.0); alpha->SetMaximum(4.0); alpha->SetName("alpha"); alpha->GetXaxis()->SetTitle("M_{WW} (GeV)"); alpha->GetYaxis()->SetTitle("alpha = #frac{N^{MC,V+jets}_{signal}}{N^{MC,V+jets}_{side-band}}"); // Fit alpha using polynomial of order 1 gStyle->SetOptFit(1); TF1* f1 = new TF1("f1","pol1",600,5000); f1->SetLineColor(2); TFitResultPtr fitRes = alpha->Fit("f1","S"); TCanvas* c1 = new TCanvas("AlphaSigmaBand","canvas", 1000, 900); // Get sigma band for alpha TH1F *hConf1s = (TH1F*)alpha->Clone("hConf1s"); TH1F *hConf2s = (TH1F*)alpha->Clone("hConf2s"); hConf1s->Reset(); hConf2s->Reset(); (TVirtualFitter::GetFitter())->GetConfidenceIntervals(hConf1s, 0.68); (TVirtualFitter::GetFitter())->GetConfidenceIntervals(hConf2s, 0.95); hConf1s->SetStats(kFALSE); hConf2s->SetStats(kFALSE); hConf1s->SetMarkerSize(0); hConf2s->SetMarkerSize(0); hConf1s->SetFillColor(kGreen+1); hConf2s->SetFillColor(kOrange); hConf1s->SetLineColor(kGreen+1); hConf2s->SetLineColor(kOrange); hConf2s->SetTitle(""); hConf2s->Draw("e3"); hConf1s->Draw("e3 same"); alpha->Draw("E1 same"); f1->Draw("same"); TLegend* leg = new TLegend(0.10,0.95,0.55,0.75); leg->SetNColumns(2); leg->AddEntry(alpha, "MC", "lep"); leg->AddEntry(f1, "Fit", "l"); leg->AddEntry(hConf1s, "1 #sigma band","f"); leg->AddEntry(hConf2s, "2 #sigma band","f"); leg->Draw(); TPaveText* pt = new TPaveText(0.55, 0.75, 0.90,0.95, "brNDC"); char chi2[200], a[200],b[200]; sprintf(chi2, "Chi2/ndf = %f / %d",f1->GetChisquare(),f1->GetNDF()); sprintf(a, "a = %f +/- %f",f1->GetParameter(0),f1->GetParError(0)); sprintf(b, "b = %f +/- %f",f1->GetParameter(1),f1->GetParError(1)); pt->AddText(chi2); pt->AddText(a); pt->AddText(b); pt->Draw(); c1->Draw(); c1->Write(); c1->Clear(); leg->Clear(); //////////////////////////////////////////////////////////////////////////////////////////////// // // PART- 2: Alpha function variation by +/- 1 sigma // //////////////////////////////////////////////////////////////////////////////////////////////// c1->SetName("AlphaParVariation"); alpha->SetStats(0); alpha->SetTitle(""); alpha->Draw("E1"); f1->SetLineColor(1); f1->Draw("E1 same"); leg->AddEntry(alpha, "MC", "lep"); leg->AddEntry(f1, "Fit", "l"); // Get Correlation matrix... int debug = 1; //float initialPars[2],initialParErrors[2]; std::vector initialPars; std::vector initialParErrors; for(int ipar=0; ipar<2; ipar++) { initialPars.push_back(f1->GetParameter(ipar)); initialParErrors.push_back(f1->GetParError(ipar)); cout << "par " << ipar << " : " << f1->GetParameter(ipar) << " +/- " << f1->GetParError(ipar) << endl; } TMatrixDSym cov = fitRes->GetCovarianceMatrix(); cov.Print(); int numFitParameter = cov.GetNrows(); //int numFitParameter = f1->GetNpar(); //Find the Eigenvectors and Eigen value of the covariance matrix TMatrixDSymEigen eigencov = cov; //eigencov.Print(); //Get the matrix of Eigen vector const TMatrixD eigenvector_matrix = eigencov.GetEigenVectors(); const TVectorD eigenvalues = eigencov.GetEigenValues(); eigenvector_matrix.Print(); eigenvalues.Print(); std::vector eigenvectors; cout << "eigenvector_matrix.GetNrows() = " << eigenvector_matrix.GetNrows() << endl; for ( int i = 0; i < eigenvector_matrix.GetNrows(); ++i ) { TVectorD* eigenvector = new TVectorD(eigenvector_matrix.GetNrows()); for ( int j = 0; j < eigenvector_matrix.GetNrows(); ++j ) { (*eigenvector)(j) = eigenvector_matrix(j, i); } eigenvectors.push_back(eigenvector); std::cout << "EigenValue #" << i << " = " << eigenvalues(i) << ": EigenVector = { "; for ( int j = 0; j < eigenvector_matrix.GetNrows(); ++j ) { std::cout << (*eigenvector)(j); if ( j < (eigenvector_matrix.GetNrows() - 1) ) std::cout << ","; } std::cout << " }" << std::endl; } std::vector systFunctions; std::vector names; for( int i = 0; i < numFitParameter; ++i ) { //Get the i-th Eigenvector const TVectorD& eigenvector = (*eigenvectors[i]); //Compute norm of i-th Eigenvector double norm = eigenvector.Norm2Sqr(); //Get the Eigenvalue associate to i-th Eigenvector double eigenvalue = eigenvalues[i]; //Compute uncertainty on fit parameter double sigma = sqrt(TMath::Abs(eigenvalue)); if (debug) cout << i << " norm " << norm << " " << eigenvalue << " +/- " << sigma << endl; //Compute unit vector in direction of i-th Eigenvector TVectorD eigenvector_unit = (1./norm)*eigenvector; if (debug) cout << i << " eigenvector " << eigenvector[i] << "; unit eigenvector " << eigenvector_unit[i] < upPars; for (int j=0;jFixParameter(j,upPars[j]); } if (i==0) { f12Up->SetLineColor(kBlue); }else{ f12Up->SetLineColor(kRed); } f12Up->Draw("same"); leg->AddEntry(f12Up,f12UpName); systFunctions.push_back(f12Up); names.push_back(f12UpName); // Vary parameters down std::vector downPars; for (int j=0;jSetParameter(j,downPars[j]); } if (i==0){ f12Down->SetLineColor(kBlue); f12Down->SetLineStyle(2); } else { f12Down->SetLineColor(kRed); f12Down->SetLineStyle(2); } f12Down->Draw("same"); leg->AddEntry(f12Down,f12DownName); systFunctions.push_back(f12Down); names.push_back(f12DownName); if (debug) { for (int j=0;jDraw(); pt->Draw(); c1->Draw(); c1->Write(); for (int k=0; kWrite(); if (debug) { cout << "Number of fit functions " << systFunctions.size() << endl; cout << "Order of functions is such: " << endl; cout << "[0] -- par1 Up" << endl; cout << "[1] -- par1 Down" << endl; cout << "[2] -- par2 Up" << endl; cout << "[3] -- par2 Down" << endl; cout << "Etc......" << endl; } //First convert nominal fit into histogram c1->Clear(); leg->Clear(); c1->SetName("Alpha_Hist_Systematic_fits"); TH1F* hCentral = convertTF1toTH1F(f1, hSignal_88bin); hCentral->SetName("Alpha_Central"); hCentral->SetTitle(""); hCentral->SetLineColor(1); hCentral->SetMarkerSize(1.5); hCentral->SetMarkerStyle(5); alpha->Draw(); hCentral->Draw("same"); leg->AddEntry(alpha,"Alpha MC","lep"); leg->AddEntry(hCentral,"Alpha Central","l"); //Now conver systematic fits into histos std::vector histos; TString catname = "Alpha_Hist_Systematic_fits_"; for (int ifun=0; ifunSetName(thisHistoName); thisHisto->SetTitle(thisHistoName); //thisHisto->Write(); thisHisto->SetLineColor(ifun+1); thisHisto->Draw("same"); histos.push_back(thisHisto); leg->AddEntry(thisHisto,thisHistoName); } leg->Draw(); pt->Draw(); c1->Draw(); c1->Write(); leg->Clear(); c1->Clear(); //////////////////////////////////////////////////////////////////////////////////////////////// // // PART - 3: Get signal histogram from alpha multiplication // //////////////////////////////////////////////////////////////////////////////////////////////// //File is opened at start of program so that TFile will not interfer with the output TFile c1->SetName("Comp_Wjet_SideBand_MC_Corr"); //TH1F* alpha = (TH1F*)hSignal_15bin->Clone(); TH1F* Wjet_Corr_Hist = (TH1F*)bkgEstFile->Get("rrv_mass_lvj__rrv_mass_lvj"); Wjet_Corr_Hist->Scale(140.626122846+101.117465308); Wjet_Corr_Hist->SetStats(0); Wjet_Corr_Hist->SetLineColor(2); Wjet_Corr_Hist->SetMarkerColor(2); hSideBand_88bin->SetStats(0); Wjet_Corr_Hist->SetName("Wjet_SideBandRegion_Corr_Hist_From_Data"); Wjet_Corr_Hist->Draw("hist"); hSideBand_88bin->Draw("E1 same"); leg->AddEntry(Wjet_Corr_Hist,"SideBand Region (Corr)"); leg->AddEntry(hSideBand_88bin,"SideBand Region (MC)","lep"); leg->Draw(); c1->Draw(); c1->Write(); c1->SetName("Comp_Wjet_SideBand_MC_Corr_Log"); c1->SetLogy(1); c1->Write(); c1->SetLogy(0); c1->Clear(); leg->Clear(); //////////////////////////////////////////////////////////////////////////////////////////////// // // PART - 3: Get signal histogram from alpha multiplication // //////////////////////////////////////////////////////////////////////////////////////////////// c1->SetName("Vjet_Corr_SignalRegion_Hist_AlphaSystematic_fits"); TH1F* hCorr_Signal_Central = getWjetSignalRegion_usingAlpha(Wjet_Corr_Hist,hCentral); hCorr_Signal_Central->SetName("Corr Vjet Signal Region (Nominal)"); hCorr_Signal_Central->SetTitle(""); hCorr_Signal_Central->SetLineColor(1); hCorr_Signal_Central->SetMarkerSize(1.5); hCorr_Signal_Central->SetMarkerStyle(5); hSignal_88bin->Draw(); hCorr_Signal_Central->Draw("same"); leg->AddEntry(hSignal_88bin,"Vjet MC","lep"); leg->AddEntry(hCorr_Signal_Central,"Vjet Corr SR Central","l"); //Now conver systematic fits into histos std::vector histos_Vjet_SR; histos_Vjet_SR.push_back(hCorr_Signal_Central); catname = "Vjet_SRHist_Systematic_fits_"; for (int ifun=0; ifunSetName(thisHistoName); thisHisto->SetTitle(thisHistoName); //thisHisto->Write(); thisHisto->SetLineColor(ifun+1); histos_Vjet_SR.push_back(thisHisto); thisHisto->Draw("same"); leg->AddEntry(thisHisto,thisHistoName); } leg->Draw(); c1->Draw(); c1->Write(); c1->SetName("Vjet_Corr_SignalRegion_Hist_AlphaSystematic_fits_Log"); c1->SetLogy(1); c1->Write(); leg->Clear(); c1->Clear(); c1->SetLogy(0); //////////////////////////////////////////////////////////////////////////////////////////////// // // PART - 5: Reset to 4 bins // //////////////////////////////////////////////////////////////////////////////////////////////// c1->SetName("Vjet_Corr_SR_4bins"); //TH1F* ResetTo4bins(TH1F* wjet, int nbins, double xmin, double xmax){ catname = "Vjet_Corr_SR_4bins"; for (int ifun=0; ifunSetName(thisHistoName); thisHisto->SetTitle(thisHistoName); //thisHisto->Write(); thisHisto->SetLineColor(ifun+1); thisHisto->Draw("same"); leg->AddEntry(thisHisto,thisHistoName); } leg->Draw(); c1->Draw(); c1->Write(); c1->SetName("Vjet_Corr_SR_4bins_Log"); c1->SetLogy(1); c1->Write(); leg->Clear(); c1->Clear(); c1->SetLogy(0); f1->Write(); f.Write(); f.Close(); }