'/Run2017.AllZpAnomalonData_unc_' + reg + '_Zptcut' + str(zptcut) + '_Hptcut' + str(hptcut) + '_metcut' + str(metcut) + '_btagwp' + str(btagwp) + '.pkl') datuncs18 = pd.read_pickle('analysis_output_ZpAnomalon/' + args.date + '/Run2018.AllZpAnomalonData_unc_' + reg + '_Zptcut' + str(zptcut) + '_Hptcut' + str(hptcut) + '_metcut' + str(metcut) + '_btagwp' + str(btagwp) + '.pkl') #check for plotting, prep backgrounds bkg_colors = gecorg.colsFromPalette(bkgnames, ROOT.kLake) if not year: lumi = 41.53 + 59.74 print("Stacking for a luminosity of ", round(lumi, 2)) bkg_info17 = gecorg.prepBkg(bkgupout17, bkgnames, bkg_colors, 'xsects_2017.ini', 41.53, "yes") bkg_info18 = gecorg.prepBkg(bkgupout18, bkgnames, bkg_colors, 'xsects_2017.ini', 59.74, "yes") bkguncs = (bkguncs17**2 + bkguncs18**2)**(1 / 2) datfiles = datfiles17 + datfiles18 dat_info = [ROOT.TFile(dat) for dat in datfiles] datuncs = (datuncs17**2 + datuncs18**2)**(1 / 2) regiondescrip = reg + '_1718' keys = bkg_info17[0]['binlist'][0]['tfile'].GetListOfKeys() if year == 17: lumi = 41.53 print("Stacking for 2017 luminosity alone.") bkg_info17 = gecorg.prepBkg(bkgupout17, bkgnames, bkg_colors, 'xsects_2017.ini', 41.53, "yes") dat_info = [ROOT.TFile(dat) for dat in datfiles17] datuncs = datuncs17
str(hptcut) + '_metcut' + str(metcut) + '_btagwp*') bkgfiles = [DYJetsToLL, TT, WZTo2L2Q, ZZTo2L2Q] bkgnames = ["DYJetsToLL", "TT", "WZTo2L2Q", "ZZTo2L2Q"] sigfiles = glob.glob('analysis_output_ZpAnomalon/' + args.date + '/ZpAnomalonHZ_UFO-' + sigsamp + '_upout_' + btag + '_Zptcut' + str(zptcut) + '_Hptcut' + str(hptcut) + '_metcut' + str(metcut) + '.root') #Prep signals sig_colors = gecorg.colsFromPalette(sigfiles, ROOT.kCMYK) sig_info = gecorg.prepSig(sigfiles, sig_colors, sig_xsec, lumi) #Prep backgrounds bkg_colors = gecorg.colsFromPalette(bkgnames, ROOT.kLake) bkg_info = gecorg.prepBkg(bkgfiles, bkgnames, bkg_colors, 'xsects_2017.ini', lumi) #Make the stacked plot hname = released_plot hsbkg = ROOT.THStack('hsbkg', '') leg = ROOT.TLegend(0.45, 0.55, 0.90, 0.88) gecorg.stackBkg(bkg_info, released_plot, hsbkg, leg, plotmax, 0.0) #Signal Plot hsig = sig_info[0]["tfile"].Get(released_plot) hsig.Scale(sig_info[0]["scale"]) #LUT with titles titles = { "h_z_pt": "Z pT",
args = parser.parse_args() #Get command line parameters lumi = args.lumi sig_xsec = args.xsec zptcut = args.zptcut hptcut = args.hptcut metcut = args.metcut btagwp = args.btagwp year = args.year bkgfiles = go.gatherBkg('analysis_output_ZpAnomalon/'+args.date,'upout',zptcut,hptcut,metcut,btagwp,year) #bkguncs = np.load('analysis_output_ZpAnomalon/'+args.date+'/Fall17.AllZpAnomalonBkgs_unc_Zptcut'+str(zptcut)+'_Hptcut'+str(hptcut)+'_metcut'+str(metcut)+'_btagwp'+str(btagwp)+'.npz') bkgnames = ["DYJetsToLL","TT","WZTo2L2Q","ZZTo2L2Q"] bkgcols = go.colsFromPalette(bkgnames,ROOT.kLake) bkginfo = go.prepBkg(bkgfiles,bkgnames,bkgcols,'xsects_2017.ini',lumi,"yes")#gathers xs scales metstr = "Percent Passing \(MET > "+str(metcut)+"\)" zptstr = "Percent Passing \(Z p_{T} > "+str(zptcut)+"\)" hptstr = "Percent Passing Fat Jet \(p_{T} > "+str(hptcut)+"\)" btgstr = "Percent Passing {0} btag WP".format(str(btagwp)) sbstr = "Percent in side band" cfdict = {metstr:{},zptstr:{},hptstr:{},btgstr:{},sbstr:{}} totorig = 0 totymet = 0 totyzpt = 0 totyhpt = 0 totybtg = 0 totysb = 0
bkgupout17 = go.gatherBkg('analysis_output_ZpAnomalon/' + args.date, 'upout_' + reg, zptcut, hptcut, metcut, btagwp, 17) bkgtopia17 = go.gatherBkg('analysis_output_ZpAnomalon/2021-03-26', 'topiary', 0.0, 250.0, 0.0, 0.0, 17) bkgupout18 = go.gatherBkg('analysis_output_ZpAnomalon/' + args.date, 'upout_' + reg, zptcut, hptcut, metcut, btagwp, 18) bkgtopia18 = go.gatherBkg('analysis_output_ZpAnomalon/2021-03-28', 'topiary', 0.0, 250.0, 0.0, 0.0, 18) #bkguncs = np.load('analysis_output_ZpAnomalon/'+args.date+'/Fall17.AllZpAnomalonBkgs_unc_Zptcut'+str(zptcut)+'_Hptcut'+str(hptcut)+'_metcut'+str(metcut)+'_btagwp'+str(btagwp)+'.npz') bkgnames = ["DYJetsToLL", "TT", "WZTo2L2Q", "ZZTo2L2Q"] bkgcols = go.colsFromPalette(bkgnames, ROOT.kLake) bkginfo17 = go.prepBkg(bkgupout17, bkgnames, bkgcols, 'xsects_2017.ini', 41.53, "yes") #gathers xs scales bkginfo18 = go.prepBkg(bkgupout18, bkgnames, bkgcols, 'xsects_2017.ini', 59.74, "yes") skimstr = "Events with \( > 0\) fat jets and \( Z(\ell^{+}\ell^{-}) cand \)" trigstr = "Events Pass trigger" zrecostr = "Events with \( 70 < m_{\ell\ell} < 110 \)" hrecostr = "Events Pass $H$ reco " metstr = "Events Passing \(MET > " + str(metcut) + "\)" zptstr = "Events Passing \(Z p_{T} > " + str(zptcut) + "\)" hptstr = "Events Passing Fat Jet \(p_{T} > " + str(hptcut) + "\)" btgstr = "Events Passing {0} btag WP".format(str(btagwp)) sbstr = "Events in side band" cfdict = { metstr: {},