extraObjects = [] else: legParams = {} extraObjects = [] plotter.fullPlot( "4l%s%s" % (varName, chEnding), channel, var, constSelection, bins, "mc", ["datab", "datac", "datad"], canvasX=1000, logy=False, xTitle=xTitle4l[varName].replace("__PARTICLES__", particles), xUnits=units[varName], extraBkgs=extraBkgs, outFile="%s%s.png" % (varName, chEnding), mcWeights=mcWeight[channel], drawRatio=False, widthInYTitle=bool(units[var]), blinding=blinding, legParams=legParams, extraObjects=extraObjects, plotType=plotType, ) if args.test: exit() binning2l = {
mute_roostats() fFit = root_open(args.massFit) w = fFit.Get("w") # RooFit workspace nbins = int(20 / ((bins[2] - bins[1])/bins[0])) fitFrame = w.var("MassFSR").frame(80., 100., nbins) w.data("data").plotOn(fitFrame) w.pdf('pdf').plotOn(fitFrame, R.RooFit.Range(80.,100.)) fit = fitFrame.getObject(1) fit.SetTitle("\\text{Mass Fit}") fit.legendstyle = "L" extraObjects = [fit] else: extraObjects = [] else: legParams = {} extraObjects = [] plotter.fullPlot('4l%s%s'%(varName,chEnding), channel, var, constSelection, bins, 'mc', ['datab','datac','datad'], canvasX=1000, logy=False, xTitle=xTitle4l[varName].replace('__PARTICLES__',particles), xUnits=units[varName], extraBkgs=extraBkgs, outFile='MassFSR_%s_%s.png'%(region,chEnding), mcWeights=mcWeight[channel], drawRatio=False, widthInYTitle=bool(units[var]), blinding=blinding, legParams=legParams, extraObjects=extraObjects, plotType=plotType)
elif channel == 'mmmm': particles = '4\\mu' if (not args.unblind) and ana != 'smp' and 'Mass' in var: blinding = [[600.,900.]] else: blinding = [] legParams={} plotter.fullPlot('4l%s%s'%(varName,chEnding), channel, var, constSelection, bins, 'mc', 'data', canvasX=1000, logy=False, xTitle=xTitle4l[varName].replace('__PARTICLES__',particles), xUnits=units[varName], outFile='%s%s.png'%(varName,chEnding), mcWeights=mcWeight[channel], drawRatio=False, widthInYTitle=bool(units[var]), blinding=blinding, legParams=legParams, plotType=plotType) if args.test: exit() binning2l = { 'MassFSR#1' : [40, 40., 120.], 'MassFSR#2' : [60, 0., 120.], 'EtaFSR' : [20, -5., 5.], 'PtFSR' : [70, 0., 700.], # 'PhiFSR' : [12, -3.15, 3.15],
legParams = {'leftmargin' : .3}#'topmargin' : 0.03, 'leftmargin' : .45, 'rightmargin' : .03, 'entryheight' : .025} kwargs = { 'canvasX' : 1000, 'xTitle' : xTitle.replace('__PARTICLES__',particles), 'xUnits' : 'GeV', 'extraBkgs' : [hBkg[channel]], 'mcWeights' : mcWeight[channel], 'drawRatio' : False, 'widthInYTitle' : True, 'extraObjects' : extraSignal, 'plotType' : 'Preliminary', 'logx' : True, 'stackErr' : False, 'legParams' : legParams, 'finishingFuncData' : formatDataHZZ, 'noPointWidth' : True, } plotter.fullPlot('HighMass{}'.format(chEnding), channel, var, constSelection, binning, 'mc', ['data','data ','data '], drawOpts={'logy_crop_value':5e-03}, logy=True, outFile='HighMassShapeLog{}.png'.format(chEnding), **kwargs) plotter.fullPlot('HighMass{}'.format(chEnding), channel, var, constSelection, binning, 'mc', ['data','data ','data '], outFile='HighMassShape{}.png'.format(chEnding), **kwargs)
s = plotter.makeCategoryStack('mc', channel, '1.', '', [1,0.,2.], 1., weight) h = plotter.makeHist('data', 'data', channel, '1.', '', [1,0.,2.]) mcScale = h.GetEntries() / s.GetStack().Last().Integral() # print z, mcScale # continue for var, bins in binningZ.iteritems(): variables = [varTempsZ[lep]%var for lep in objectsZ[z]] weight = [('%f*'%mcScale)+mcWeight[lep] for lep in objectsZ[z]] plotter.fullPlot('%s%s'%(z, var), channel, variables, '', bins, 'mc', 'data', canvasX=1000, logy=False, xTitle=xTitlesZ[var]%objectTextZ[z], xUnits=units[var], outFile='%s%s.png'%(z,var), mcWeights=weight, widthInYTitle=bool(units[var]),) for var, bins in binningL.iteritems(): variables = ['%s%d%s'%(lep, nLep, varsL[var][lep]) for nLep in range(1,3) for lep in objectsZ[z]] channel = [channels[lep] for nLep in range(1,3) for lep in objectsZ[z]] weight = [('%f*'%mcScale)+mcWeight[lep] for nLep in range(1,3) for lep in objectsZ[z]] if var == "Eta": legParams = {'leftmargin':0.3,'rightmargin':0.3,'topmargin':0.5} legSolid = True else: legParams = {} legSolid = False