示例#1
0
文件: plot.py 项目: blallen/MitMonoX
            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)
示例#2
0
    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.)
示例#3
0
    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)
示例#4
0
文件: plot.py 项目: MiT-HEP/MonoX
        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)
示例#5
0
文件: plot.py 项目: DylanHsu/MonoX
            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)
示例#6
0
文件: plotfit.py 项目: sraman2/MonoX
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)'