if vardef.name == 'count' or vardef.name == args.bbb or vardef.name == args.chi2: counters[group.name] = hist # plot signal distributions for sensitive variables if isSensitive or outFile: usedPoints = [] for sspec in plotConfig.signalPoints: usedPoints.append(sspec.name) hist = groupHist(sspec.group, vardef, plotConfig, args.skimDir, samples = [sspec.name], name = sspec.name, lumi = lumi, outFile = outFile) if vardef.name == 'count' or vardef.name == args.bbb or vardef.name == args.chi2: counters[sspec.name] = hist elif plotDir: canvas.addSignal(hist, title = sspec.title, color = sspec.color, drawOpt = drawOpt) # write out all signal distributions if asked for if args.allSignal: for group in plotConfig.sigGroups: for sample in allsamples.getmany(group.samples): if sample.name not in usedPoints: usedPoints.append(sample.name) groupHist(group, vardef, plotConfig, args.skimDir, samples = [sample.name], name = sample.name, lumi = lumi, outFile = outFile) if args.asimov == '': print 'data_obs' if args.saveTrees: obshist = [] else: obshist = vardef.makeHist('data_obs', outDir = outFile)
scanvas.legend.apply(tname, tfact) scanvas.addHistogram(tfact, drawOpt='EP') scanvas.printWeb('monophoton/gjetsTFactor', 'tfactor' + method) canvas.Clear() canvas.legend.Clear() canvas.SetLogy(True) canvas.ylimits = (0.01, 2.5) canvas.legend.setPosition(0.6, 0.7, 0.9, 0.9) canvas.addObs(tfacts[0], 'Data') canvas.addSignal(tfacts[1], title='MC', color=r.kRed, idx=-1) canvas.addStacked(tfacts[1], title='MC', idx=-1) canvas.printWeb('monophoton/gjetsTFactor', 'tfactorRatio', ymax=2.5) ########################################### ####### Plain Root Attempt ################ ########################################### expo = r.TF1("SingleExpo", "[0] * TMath::Exp([1] * x) + [2]", 0., 600.) expo.SetParameters(1., -0.1, 0.) expo.SetParLimits(1, -10., 0.) expo.SetParLimits(2, 0., 10.) dexpo = r.TF1("Expo", "[0] * TMath::Exp([2] * x) + [1] * TMath::Exp([3] * x)", 0., 600.)
scanvas.legend.apply(tname, tfact) scanvas.addHistogram(tfact, drawOpt = 'EP') scanvas.printWeb('monophoton/gjetsTFactor', 'tfactor'+method) canvas.Clear() canvas.legend.Clear() canvas.ylimits = (0.01, 2.5) canvas.SetLogy(True) canvas.legend.setPosition(0.6, 0.7, 0.9, 0.9) canvas.addObs(tfacts[0], 'Data') canvas.addSignal(tfacts[1], title = 'MC', color = r.kRed, idx = -1) canvas.addStacked(tfacts[1], title = 'MC', idx = -1) canvas.printWeb('monophoton/gjetsTFactor', 'tfactorRatio') ########################################### ####### Plain Root Attempt ################ ########################################### expo = r.TF1("SingleExpo", "[0] * TMath::Exp([1] * x) + [2]", 0., 600.) expo.SetParameters(1., -0.1, 0.) expo.SetParLimits(1, -10., 0.) expo.SetParLimits(2, 0., 10.) dexpo = r.TF1("Expo", "[0] * TMath::Exp([2] * x) + [1] * TMath::Exp([3] * x)", 0., 600.) dexpo.SetParameters(10., 0.1, -0.1, -0.1)
if graphic: formatHist(bkgTotal, plotdef) # plot signal distributions for sensitive plots if isSensitive: for sspec in plotConfig.signalPoints: shist = inDir.Get('samples/' + sspec.name + '_' + plotConfig.name) if graphic: formatHist(shist, plotdef) title = sspec.title if sspec.group.scale != 1. and group.scale != 'data': title += (' #times %.1f' % sspec.group.scale) canvas.addSignal(shist, title=title, color=sspec.color, drawOpt=drawOpt) else: counters[sspec.name] = shist if obshist: if graphic: formatHist(obshist, plotdef) canvas.addObs(obshist, title=plotConfig.obs.title) else: counters['data_obs'] = obshist if plotdef.name == 'count': printCounts(counters, plotConfig) elif plotdef.name == args.bbb: printBinByBin(counters, plotdef, plotConfig)
if vardef.name == 'count' or vardef.name == args.bbb: counters[group.name] = hist # plot signal distributions for sensitive variables if isSensitive or outFile: usedPoints = [] for sspec in plotConfig.signalPoints: hist = groupHist(sspec.group, vardef, plotConfig, args.skimDir, samples = [sspec.name], name = sspec.name, postscale = postscale, outFile = outFile) usedPoints.append(sspec.name) if vardef.name == 'count' or vardef.name == args.bbb: counters[sspec.name] = hist elif plotDir: canvas.addSignal(hist, title = sspec.title, color = sspec.color) # write out all signal distributions if asked for if isSensitive and args.allSignal: for group in plotConfig.sigGroups: for sample in allsamples.getmany(group.samples): if sample.name not in usedPoints: groupHist(group, vardef, plotConfig, args.skimDir, samples = [sample.name], name = sample.name, postscale = postscale, outFile = outFile) usedPoints.append(sample.name) obshist = vardef.makeHist('data_obs', outDir = outFile) for sname in plotConfig.obs.samples: obshist.Add(getHist(sname, allsamples[sname], plotConfig, vardef, args.skimDir, prescale = prescale, outDir = sampleDir)) writeHist(obshist)
canvas.legend.setPosition(0.4, 0.6, 0.9, 0.9) canvas.addStacked(bkg, title='SM Bkgd.', color=ROOT.kGray, drawOpt='HIST') canvas.addStacked(fake, title='Fake E_{T}^{miss}', color=ROOT.kRed, drawOpt='HIST') canvas.addStacked(sig, title='H(125)', color=ROOT.kBlue, drawOpt='HIST') bkgTrue.Scale(1., 'width') fakeTrue.Scale(fakeNorm / fakeTrue.GetSumOfWeights(), 'width') sigTrue.Scale(sigScale, 'width') canvas.addSignal(bkgTrue, title='True SM Bkgd.', color=ROOT.kGreen + 2, drawOpt='HIST') canvas.addSignal(fakeTrue, title='True Fake E_{T}^{miss}', color=ROOT.kRed + 2, drawOpt='HIST') canvas.addSignal(sigTrue, title='True H(125)', color=ROOT.kBlue + 2, drawOpt='HIST') canvas.addObs(data, drawOpt='EP') canvas.title = '#sigma#timesBR = %.2f, N_{fake} = %.0f' % (originalMu * sigScale, fakeNorm) canvas.xtitle = 'm_{T} (GeV)'