print "Putting plots in {}".format(outdir) sampleID = ana if ana == "z4l": sampleID = "full" plotter = NtuplePlotter( "zz", outdir, { "mc": "/data/nawoods/ntuples/uwvvNtuples_ggH_18jul2016/results_{0}/*.root,/data/nawoods/ntuples/uwvvNtuples_smzz_19jul2016/results_{0}/*.root".format( sampleID ) }, # 'mc3P1F':'/data/nawoods/ntuples/uwvvNtuples_smzz_19jul2016/results_{0}_3P1F/*.root'.format(sampleID), # 'mc2P2F':'/data/nawoods/ntuples/uwvvNtuples_smzz_19jul2016/results_{0}_2P2F/*.root'.format(sampleID),}, { "datab": "/data/nawoods/ntuples/uwvvNtuples_data2016b*/results_{0}/*.root".format(sampleID), "datac": "/data/nawoods/ntuples/uwvvNtuples_data2016c*/results_{0}/*.root".format(sampleID), "datad": "/data/nawoods/ntuples/uwvvNtuples_data2016d*/results_{0}/*.root".format(sampleID), "3P1F": "/data/nawoods/ntuples/uwvvNtuples_data2016*/results_{0}_3P1F/*.root".format(sampleID), "2P2F": "/data/nawoods/ntuples/uwvvNtuples_data2016*/results_{0}_2P2F/*.root".format(sampleID), }, intLumi=9200.0, ) plotter.printPassingEvents("datab") plotter.printPassingEvents("datac") plotter.printPassingEvents("datad") # samples to subtract off of CRs based on MC
def joinSelections(*selections): return ' && '.join([s for s in selections if bool(s)]) for ana in ['z4l']:#'full']: sampleID = ana js = 'silver' latest = '26jan2016_0' plotter = NtuplePlotter('zz', '', {'mc3P1F':'/data/nawoods/ntuples/zzNtuples_mc_26jan2016_0/results_{0}_3P1F/*.root'.format(sampleID), 'mc2P2F':'/data/nawoods/ntuples/zzNtuples_mc_26jan2016_0/results_{0}_2P2F/*.root'.format(sampleID),}, {'3P1F':'/data/nawoods/ntuples/zzNtuples_data_2015{1}_{2}/results_{0}_3P1F/data*.root'.format(sampleID, js, latest), '2P2F':'/data/nawoods/ntuples/zzNtuples_data_2015{1}_{2}/results_{0}_2P2F/data*.root'.format(sampleID, js, latest), }, intLumi=2619.) # samples to subtract off of CRs based on MC subtractSamples = [] for s in plotter.ntuples['mc3P1F']: if s[:3] == 'ZZT' or s[:10] == 'GluGluToZZ' and 'tau' not in s: subtractSamples.append(s) if ana == 'z4l': binning4l = { 'MassDREtFSR' : [5,80.,100.],
# cut that is always applied, in case it's needed constSelection = '' print "Putting plots in {}".format(outdir) # signalMasses = [450,750,1500,2500] # otherSignalSamples = {'m{}'.format(m) : glob('/data/nawoods/ntuples/uwvvNtuples_ggH_26jul2016/results_hzz/*M{}*.root'.format(m))[0] for m in signalMasses} #mcFiles = {'mc':'/data/nawoods/ntuples/uwvvNtuples_ggH_26jul2016/results_hzz/*M125*.root,/data/nawoods/ntuples/uwvvNtuples_smzz_26jul2016/results_hzz/*.root',} mcFiles = {'mc':'/data/nawoods/ntuples/uwvvNtuples_smzz_26jul2016/results_hzz/*.root',} # mcFiles.update(otherSignalSamples) plotter = NtuplePlotter('zz', outdir, mcFiles, {'data' :'/data/nawoods/ntuples/uwvvNtuples_data2016b*26jul*/results_hzz/*.root', 'data ' :'/data/nawoods/ntuples/uwvvNtuples_data2016c*26jul*/results_hzz/*.root', 'data ':'/data/nawoods/ntuples/uwvvNtuples_data2016d*26jul*/results_hzz/*.root', }, intLumi=12900.) # remove box from around legend gStyle.SetLegendBorderSize(0) # plotter.printPassingEvents('data') # plotter.printPassingEvents('data ') # plotter.printPassingEvents('data ') binning = [200.5+i*40. for i in range(12)] + [680.5+i*80. for i in range(12)] + [1640.5+i*160. for i in range(9)] #binning = [70,200.,3000.] #[70. + 10. * i for i in xrange(23)] + [300. + 20. * i for i in xrange(10)] + [500. + 40. * i for i in xrange(5)] + [700.,800.,900.],
constSelection = '' if ana == 'z4l': constSelection = 'MassFSR < 110.' print "Putting plots in {}".format(outdir) sampleID = ana if ana == 'z4l': sampleID = 'full' plotter = NtuplePlotter('zz', outdir, {'mc':'/data/nawoods/ntuples/uwvvNtuples_ggH_18jul2016/results_{0}/*.root,/data/nawoods/ntuples/uwvvNtuples_smzz_19jul2016/results_{0}/*.root'.format(sampleID),}, # 'mc3P1F':'/data/nawoods/ntuples/uwvvNtuples_smzz_19jul2016/results_{0}_3P1F/*.root'.format(sampleID), # 'mc2P2F':'/data/nawoods/ntuples/uwvvNtuples_smzz_19jul2016/results_{0}_2P2F/*.root'.format(sampleID),}, {'datab':'/data/nawoods/ntuples/uwvvNtuples_data2016b*/results_{0}/*.root'.format(sampleID), 'datac':'/data/nawoods/ntuples/uwvvNtuples_data2016c*/results_{0}/*.root'.format(sampleID), 'datad':'/data/nawoods/ntuples/uwvvNtuples_data2016d*/results_{0}/*.root'.format(sampleID), '3P1F':'/data/nawoods/ntuples/uwvvNtuples_data2016*/results_{0}_3P1F/*.root'.format(sampleID), '2P2F':'/data/nawoods/ntuples/uwvvNtuples_data2016*/results_{0}_2P2F/*.root'.format(sampleID), }, intLumi=9200.) plotter.printPassingEvents('datab') plotter.printPassingEvents('datac') plotter.printPassingEvents('datad') # samples to subtract off of CRs based on MC subtractSamples = [] # for s in plotter.ntuples['mc3P1F']: # if s[:3] == 'ZZT' or 'GluGluToContin' in s and 'tau' not in s: # subtractSamples.append(s)
z1mVar = varTemp.format('m1', 'm2') z2mVar = varTemp.format('m3', 'm4') var = { 'z' : [z1eVar, z2eVar, z1eVar, z1mVar, z1mVar, z2mVar], 'z1' : [z1eVar, z1eVar, z1mVar, z1mVar], 'z2' : [z2eVar, z1mVar, z1eVar, z2mVar], 'ze' : [z1eVar, z2eVar, z1eVar], 'zm' : [z1mVar, z2mVar, z1mVar], 'z1e' : [z1eVar, z1eVar], 'z2e' : [z2eVar, z1eVar], 'z1m' : [z1mVar, z1mVar], 'z2m' : [z2mVar, z1mVar], } plotter = NtuplePlotter('zz', '/afs/cern.ch/user/n/nawoods/www/ZZPlots/genZMass/', {'mc':'/data/nawoods/ntuples/zzNtuples_mc_26jan2016_0/results_full/*ZZTo*.root'}, {}, 2619.) for massCut in [10., 40., 60., 120.]: print 'Making plots for mll < {}'.format(int(massCut)) for z in channels: d = plotter.Drawing('{}GenMassRes_m-{}'.format(z, int(massCut)), plotter.style, 1000, 1000, False, False) if isinstance(sels[z], str): if sels[z]: sel = [' && '.join([sels[z], mc.format(massCut)]) for mc in massCuts[z]]
ana = 'hzz' outdir = '/afs/cern.ch/user/n/nawoods/www/ZZPlots/highMassComb_{0}_{1}'.format(date.today().strftime('%d%b%Y').lower(), ana) if args.link: link = '/afs/cern.ch/user/n/nawoods/www/ZZPlots/highMassComb_{}_latest'.format(ana) print "Putting plots in {}".format(link) else: print "Putting plots in {}".format(outdir) sampleID = ana #ntupleVersion2015 = args.ntupleVersion2015 ntupleVersion2016 = args.ntupleVersion plotter = NtuplePlotter('zz', outdir, {'mc':'/data/nawoods/ntuples/zzNtuples_mc_16jun2016_0/results_{0}/ZZTo4L_13TeV_*.root,/data/nawoods/ntuples/zzNtuples_mc_16jun2016_0/results_{0}/GluGlu*.root'.format(sampleID),}, {'data':'/data/nawoods/ntuples/zzNtuples_data_2016b_{0}/results_{1}/*.root'.format(ntupleVersion2016, sampleID),}, intLumi=2600.) if args.link: try: os.unlink(link) except: pass os.symlink(outdir, link) constSelection = 'MassFSR > 250.' binning4l = { 'MassFSR' : [23,250.,1400.], 'EtaFSR' : [16, -5., 5.], 'PtFSR' : [30, 0., 180.],
from NtuplePlotter import NtuplePlotter from ZZAnalyzer.utils.helpers import Z_MASS from ZZAnalyzer.utils import WeightStringMaker, TPFunctionManager from rootpy.io import root_open from datetime import date import os outdir = '/afs/cern.ch/user/n/nawoods/www/ZZPlots/singleZ_2015silver_{0}'.format(date.today().strftime('%d%b%Y').lower()) link = '/afs/cern.ch/user/n/nawoods/www/ZZPlots/singleZ_latest' plotter = NtuplePlotter('z', outdir, {'mc':'/data/nawoods/ntuples/singlez_mc_14feb2016_0/results/*.root'}, {'data':'/data/nawoods/ntuples/singlez_data_2015silver_14feb2016_0/results/*.root'}, intLumi=2619.) try: os.unlink(link) except: pass os.symlink(outdir, link) tpVersionHash = 'v2.0-13-g36fc26c' #'v2.0-11-gafcf7cc' #'v1.1-4-ga295b14-extended' TP = TPFunctionManager(tpVersionHash) z1eMCWeight = '*'.join(TP.getTPString('e%d'%ne, 'TightID')+'*'+TP.getTPString('e%d'%ne, 'IsoTight') for ne in range(1,3)) z2eMCWeight = '*'.join(TP.getTPString('e%d'%ne, 'TightID')+'*'+TP.getTPString('e%d'%ne, 'IsoTight') for ne in range(3,5))
print "Putting plots in {}".format(outdir) sampleID = ana if ana == 'z4l': sampleID = 'full' js = 'goldv2' if args.goldv2 else 'silver' ntupleVersion = args.ntupleVersion plotter = NtuplePlotter('zz', outdir, {'mc':'/data/nawoods/ntuples/zzNtuples_mc_26jan2016_0/results_{0}/ZZTo4L_13TeV_*.root,/data/nawoods/ntuples/zzNtuples_mc_26jan2016_0/results_{0}/GluGlu*.root'.format(sampleID), 'mc3P1F':'/data/nawoods/ntuples/zzNtuples_mc_{1}/results_{0}_3P1F/*.root'.format(sampleID, ntupleVersion), 'mc2P2F':'/data/nawoods/ntuples/zzNtuples_mc_{1}/results_{0}_2P2F/*.root'.format(sampleID, ntupleVersion),}, {'data':'/data/nawoods/ntuples/zzNtuples_data_2015{1}_{2}/results_{0}/data*.root'.format(sampleID, js, ntupleVersion), '3P1F':'/data/nawoods/ntuples/zzNtuples_data_2015{1}_{2}/results_{0}_3P1F/data*.root'.format(sampleID, js, ntupleVersion), '2P2F':'/data/nawoods/ntuples/zzNtuples_data_2015{1}_{2}/results_{0}_2P2F/data*.root'.format(sampleID, js, ntupleVersion), }, intLumi=(1340. if args.goldv2 else 2619.)) if args.link: try: os.unlink(link) except: pass os.symlink(outdir, link)
print "Putting plots in {}".format(outdir) # signalMasses = [450,750,1500,2500] # otherSignalSamples = {'m{}'.format(m) : glob('/data/nawoods/ntuples/uwvvNtuples_ggH_26jul2016/results_hzz/*M{}*.root'.format(m))[0] for m in signalMasses} # mcFiles = {'mc':'/data/nawoods/ntuples/uwvvNtuples_ggH_26jul2016/results_hzz/*M125*.root,/data/nawoods/ntuples/uwvvNtuples_smzz_26jul2016/results_hzz/*.root',} mcFiles = {"mc": "/data/nawoods/ntuples/uwvvNtuples_smzz_26jul2016/results_hzz/ZZ*.root"} # mcFiles.update(otherSignalSamples) ntuplePlotter = NtuplePlotter( "zz", outdir, mcFiles, { "data": "/data/nawoods/ntuples/uwvvNtuples_data2016b*26jul*/results_hzz/*.root", "data ": "/data/nawoods/ntuples/uwvvNtuples_data2016c*26jul*/results_hzz/*.root", "data ": "/data/nawoods/ntuples/uwvvNtuples_data2016d*26jul*/results_hzz/*.root", }, intLumi=12900.0, ) # remove box from around legend gStyle.SetLegendBorderSize(0) # ntuplePlotter.printPassingEvents('data') # ntuplePlotter.printPassingEvents('data ') # ntuplePlotter.printPassingEvents('data ') binning = (