using namespace std; TH2D* hist_avgM_nom[98][4]; TH2D* hist_avgM_allTtbar_nom[98][4]; TH2D* hist_avgM_ZPlusJet_nom[98][4]; TH2D* hist_avgM_ggZZ_nom[98][4]; TH2D* hist_avgM_qqZZ_nom[98][4]; TH2D* hist_avgM_NoggZZ_nom[98][4]; TH2D* hist_avgM_NoqqZZ_nom[98][4]; TH2D* hist_avgM_kSyst[98][4]; TH2D* hist_avgM_pdf_qq_up[1][4]; TH2D* hist_avgM_pdf_gg_up[1][4]; TH2D* hist_avgM_pdf_qq_down[1][4]; TH2D* hist_avgM_pdf_gg_down[1][4]; TH2D* hist_avgM_qcd_qq_up[1][4]; TH2D* hist_avgM_qcd_gg_up[1][4]; TH2D* hist_avgM_qcd_qq_down[1][4]; TH2D* hist_avgM_qcd_gg_down[1][4]; bool do_syst=false; int lim; // Globals TObject *MyObj = 0; //TH2D* hist_avgM_nom[8][4]; TH2D* hist_m4l_nom[98][4]; TFile* fOut; //const char *l_name[8] = {"signal_15_30", "signal_15_40","signal_20_50","signal_25_60","signal_30_70","signal_35_80","signal_40_90", "signal_45_100"}; TFile* file[98]; TFile* file_kSyst[98][2]; const char *i_name[] = {"4e", "2e2m", "4m", "all"}; const char *i_namePrime[] = {"4e", "2e2mu", "4mu", "all"}; string line; //ifstream myfile ("inputsBkgNominal.dat");//for reco //ifstream myfileKinSyst ("inputsBkgkinSys.dat");//for reco //ifstream myfileWeightSyst ("inputsBkgWeightSys.dat");//for reco vector lineCointainerAvgM; vector lineCointainerWeightSys; vector lineCointainerAvgMkSyst[98][2]; int NFileToProcess; double abcd_ttbar_error[3][4]; double abcd_zPlusJets_error[3][4]; double abcd_ttbar_scale_up[3][4]; double abcd_zPlusJets_scale_up[3][4]; double abcd_ttbar_scale_down[3][4]; double abcd_zPlusJets_scale_down[3][4]; const char *n_bkg_sample[17] = {"allBkg","qqZZ", "ggZZ", "ggHZZ","VBFHZZ", "ZHZZ","WHZZ","ttHZZ", "bbHZZ", "WZ", "ttbarZ", "ttbarNoZ", "VVVlep", "VVV4l2j", "ggZH", "ZPlusJet", "NoggZZ"}; TFile* file_saveFitHist; TObjArray *MyHistArrayGen = new TObjArray(0); TObjArray *MyHistArrayHistAll = new TObjArray(0); TFile *file_saveGenHist; TH2D *bkg; TH2D *bkg_up; TH2D *bkg_down; TH2D *bkg_ggZZ_up; TH2D *bkg_ggZZ_down; TH2D *bkg_qqZZ_up; TH2D *bkg_qqZZ_down; TH2D *bkg_abcd_ttbar_up; TH2D *bkg_abcd_ttbar_down; TH2D *bkg_abcd_zPlusJets_up; TH2D *bkg_abcd_zPlusJets_down; TDirectory *myDirect; int channel; int i_sample; TCanvas *c1 = new TCanvas("c1","c1",700,500); TPad* thePad = (TPad*)c1->cd(); int i_Nwsyst = -1; int i_var = -1; int i_kSyst; int k_camp; double QCD_scale_up[1]; double QCD_scale_down[1]; double PDF_scale_up[1]; double PDF_scale_down[1]; double QCD_uncert_up[1]; double QCD_uncert_down[1]; double PDF_uncert_up[1]; double PDF_uncert_down[1]; double ggZZXS_uncert_up[1]; double ggZZXS_uncert_down[1]; double ggZZXS_scale_up[1]; double ggZZXS_scale_down[1]; double qqZZ_gen_scale_up[1]; double qqZZ_gen_scale_down[1]; double ckkw_scale_up[1]; double ckkw_scale_down[1]; double qsf_scale_up[1]; double qsf_scale_down[1]; double csskin_scale_up[1]; double csskin_scale_down[1]; TList*list_array[19][4]; const char *c_mZdmS[] = { "mZd15_mH30GeV", "mZd15_mH40GeV", "mZd20_mH50GeV", "mZd25_mH60GeV", "mZd30_mH70GeV", "mZd35_mH80GeV", "mZd40_mH90GeV", "mZd45_mH100GeV", "mZd18_mH56GeV", "mZd22_mH60GeV", "mZd16_mH64GeV", "mZd29_mH66GeV", "mZd32_mH68GeV", "mZd20_mH73GeV", "mZd34_mH76GeV", "mZd27_mH80GeV", "mZd36_mH82GeV", "mZd19_mH84GeV", "mZd33_mH85GeV", "mZd24_mH86GeV", "mZd37_mH92GeV", "mZd28_mH93GeV", "mZd17_mH95GeV", "mZd44_mH96GeV", "mZd42_mH98GeV", "mZd23_mH102GeV", "mZd48_mH104GeV", "mZd35_mH105GeV", "mZd38_mH105GeV", "mZd46_mH108GeV", "mZd26_mH109GeV", "mZd30_mH110GeV", "mZd20_mH40GeV", "mZd15_mH45GeV", "mZd20_mH45GeV", "mZd15_mH50GeV", "mZd25_mH50GeV", "mZd15_mH55GeV", "mZd20_mH55GeV", "mZd25_mH55GeV", "mZd15_mH60GeV", "mZd20_mH60GeV", "mZd30_mH60GeV", "mZd15_mH65GeV", "mZd20_mH65GeV", "mZd25_mH65GeV", "mZd30_mH65GeV", "mZd15_mH70GeV", "mZd20_mH70GeV", "mZd25_mH70GeV", "mZd35_mH70GeV", "mZd15_mH75GeV", "mZd20_mH75GeV", "mZd25_mH75GeV", "mZd30_mH75GeV", "mZd35_mH75GeV", "mZd15_mH80GeV", "mZd20_mH80GeV", "mZd25_mH80GeV", "mZd30_mH80GeV", "mZd40_mH80GeV", "mZd15_mH85GeV", "mZd20_mH85GeV", "mZd25_mH85GeV", "mZd30_mH85GeV", "mZd35_mH85GeV", "mZd40_mH85GeV", "mZd15_mH90GeV", "mZd20_mH90GeV", "mZd25_mH90GeV", "mZd30_mH90GeV", "mZd35_mH90GeV", "mZd45_mH90GeV", "mZd15_mH95GeV", "mZd20_mH95GeV", "mZd25_mH95GeV", "mZd30_mH95GeV", "mZd35_mH95GeV", "mZd40_mH95GeV", "mZd45_mH95GeV", "mZd15_mH100GeV", "mZd20_mH100GeV", "mZd25_mH100GeV", "mZd30_mH100GeV", "mZd35_mH100GeV", "mZd40_mH100GeV", "mZd15_mH105GeV", "mZd20_mH105GeV", "mZd25_mH105GeV", "mZd30_mH105GeV", "mZd40_mH105GeV", "mZd45_mH105GeV", "mZd15_mH110GeV", "mZd20_mH110GeV", "mZd25_mH110GeV", "mZd35_mH110GeV", "mZd40_mH110GeV", "mZd45_mH110GeV" }; const char *c_mZdmSPrime[] = { "mZd15_mS30", "mZd15_mS40", "mZd20_mS50", "mZd25_mS60", "mZd30_mS70", "mZd35_mS80", "mZd40_mS90", "mZd45_mS100", "mZd18_mS56", "mZd22_mS60", "mZd16_mS64", "mZd29_mS66", "mZd32_mS68", "mZd20_mS73", "mZd34_mS76", "mZd27_mS80", "mZd36_mS82", "mZd19_mS84", "mZd33_mS85", "mZd24_mS86", "mZd37_mS92", "mZd28_mS93", "mZd17_mS95", "mZd44_mS96", "mZd42_mS98", "mZd23_mS102", "mZd48_mS104", "mZd35_mS105", "mZd38_mS105", "mZd46_mS108", "mZd26_mS109", "mZd30_mS110", "mZd20_mS40", "mZd15_mS45", "mZd20_mS45", "mZd15_mS50", "mZd25_mS50", "mZd15_mS55", "mZd20_mS55", "mZd25_mS55", "mZd15_mS60", "mZd20_mS60", "mZd30_mS60", "mZd15_mS65", "mZd20_mS65", "mZd25_mS65", "mZd30_mS65", "mZd15_mS70", "mZd20_mS70", "mZd25_mS70", "mZd35_mS70", "mZd15_mS75", "mZd20_mS75", "mZd25_mS75", "mZd30_mS75", "mZd35_mS75", "mZd15_mS80", "mZd20_mS80", "mZd25_mS80", "mZd30_mS80", "mZd40_mS80", "mZd15_mS85", "mZd20_mS85", "mZd25_mS85", "mZd30_mS85", "mZd35_mS85", "mZd40_mS85", "mZd15_mS90", "mZd20_mS90", "mZd25_mS90", "mZd30_mS90", "mZd35_mS90", "mZd45_mS90", "mZd15_mS95", "mZd20_mS95", "mZd25_mS95", "mZd30_mS95", "mZd35_mS95", "mZd40_mS95", "mZd45_mS95", "mZd15_mS100", "mZd20_mS100", "mZd25_mS100", "mZd30_mS100", "mZd35_mS100", "mZd40_mS100", "mZd15_mS105", "mZd20_mS105", "mZd25_mS105", "mZd30_mS105", "mZd40_mS105", "mZd45_mS105", "mZd15_mS110", "mZd20_mS110", "mZd25_mS110", "mZd35_mS110", "mZd40_mS110", "mZd45_mS110" }; int i_NwSystPerChan; int i_NkSystPerChan; const char *c_wSyst[4][28] = { { "Nominal", "EL_EFF_ID_TOTAL", "EL_EFF_ISO_TOTAL", "EL_EFF_RECO_TOTAL", "Pileup_weight" }, { "Nominal", "EL_EFF_ID_TOTAL", "EL_EFF_ISO_TOTAL", "EL_EFF_RECO_TOTAL", "MUON_EFF_ISO_STAT", "MUON_EFF_ISO_SYS", "MUON_EFF_RECO_STAT", "MUON_EFF_RECO_STAT_LOWPT", "MUON_EFF_RECO_SYS", "MUON_EFF_RECO_SYS_LOWPT", "MUON_EFF_TTVA_STAT", "MUON_EFF_TTVA_SYS", "Pileup_weight" }, { "Nominal", "MUON_EFF_ISO_STAT", "MUON_EFF_ISO_SYS", "MUON_EFF_RECO_STAT", "MUON_EFF_RECO_STAT_LOWPT", "MUON_EFF_RECO_SYS", "MUON_EFF_RECO_SYS_LOWPT", "MUON_EFF_TTVA_STAT", "MUON_EFF_TTVA_SYS", "Pileup_weight" }, { "Nominal", "EL_EFF_ID_TOTAL", "EL_EFF_ISO_TOTAL", "EL_EFF_RECO_TOTAL", "MUON_EFF_ISO_STAT", "MUON_EFF_ISO_SYS", "MUON_EFF_RECO_STAT", "MUON_EFF_RECO_STAT_LOWPT", "MUON_EFF_RECO_SYS", "MUON_EFF_RECO_SYS_LOWPT", "MUON_EFF_TTVA_STAT", "MUON_EFF_TTVA_SYS", "Pileup_weight" } }; /*const char *c_wSyst[3][28] = { { "Nominal", "EL_EFF_ID_TOTAL", "EL_EFF_ISO_TOTAL", "EL_EFF_RECO_TOTAL", "MUON_EFF_ISO_STAT", "MUON_EFF_ISO_SYS", "MUON_EFF_RECO_STAT", "MUON_EFF_RECO_STAT_LOWPT", "MUON_EFF_RECO_SYS", "MUON_EFF_RECO_SYS_LOWPT", "MUON_EFF_TTVA_STAT", "MUON_EFF_TTVA_SYS", "Pileup_weight" }, { "Nominal", "EL_EFF_ID_TOTAL", "EL_EFF_ISO_TOTAL", "EL_EFF_RECO_TOTAL", "MUON_EFF_ISO_STAT", "MUON_EFF_ISO_SYS", "MUON_EFF_RECO_STAT", "MUON_EFF_RECO_STAT_LOWPT", "MUON_EFF_RECO_SYS", "MUON_EFF_RECO_SYS_LOWPT", "MUON_EFF_TTVA_STAT", "MUON_EFF_TTVA_SYS", "Pileup_weight" }, { "Nominal", "EL_EFF_ID_TOTAL", "EL_EFF_ISO_TOTAL", "EL_EFF_RECO_TOTAL", "MUON_EFF_ISO_STAT", "MUON_EFF_ISO_SYS", "MUON_EFF_RECO_STAT", "MUON_EFF_RECO_STAT_LOWPT", "MUON_EFF_RECO_SYS", "MUON_EFF_RECO_SYS_LOWPT", "MUON_EFF_TTVA_STAT", "MUON_EFF_TTVA_SYS", "Pileup_weight" } };*/ const char *c_kSyst[4][16]= { { "EG_RESOLUTION_ALL1", "EG_SCALE_ALL1" }, { "EG_RESOLUTION_ALL1", "EG_SCALE_ALL1", "MUONS_ID1", "MUONS_MS1", "MUONS_SAGITTA_RESBIAS1", "MUONS_SAGITTA_RHO1", "MUONS_SCALE1" }, { "EG_RESOLUTION_ALL1", "EG_SCALE_ALL1", "MUONS_ID1", "MUONS_MS1", "MUONS_SAGITTA_RESBIAS1", "MUONS_SAGITTA_RHO1", "MUONS_SCALE1" }, { "EG_RESOLUTION_ALL1", "EG_SCALE_ALL1", "MUONS_ID1", "MUONS_MS1", "MUONS_SAGITTA_RESBIAS1", "MUONS_SAGITTA_RHO1", "MUONS_SCALE1" } }; /*const char *c_kSyst[3][16]= { { "EG_RESOLUTION_ALL1", "EG_SCALE_ALL1", "MUONS_ID1", "MUONS_MS1", "MUONS_SAGITTA_RESBIAS1", "MUONS_SAGITTA_RHO1", "MUONS_SCALE1" }, { "EG_RESOLUTION_ALL1", "EG_SCALE_ALL1", "MUONS_ID1", "MUONS_MS1", "MUONS_SAGITTA_RESBIAS1", "MUONS_SAGITTA_RHO1", "MUONS_SCALE1" }, { "EG_RESOLUTION_ALL1", "EG_SCALE_ALL1", "MUONS_ID1", "MUONS_MS1", "MUONS_SAGITTA_RESBIAS1", "MUONS_SAGITTA_RHO1", "MUONS_SCALE1" } };*/ const char *c_vSyst[] = { "up", "down" }; const char *c_camp[] = { "mc16a", "mc16d", "mc16e" };