Exemple #1
0
    hpp3lPlotter.addHistogram('BG',allSamplesDict['BG'])
    sigOrder = []
    bgOrder = []
    for mass in masses:
        name = 'HppHm{0}GeV'.format(mass)
        sigOrder += [name]
        bgOrder += ['BG']
        hpp3lPlotter.addHistogram(name,sigMap[name],signal=True,style={'linecolor': sigColors[mass]})

    for plot in significance_cust:
        plotname = 'default/{0}'.format(plot)
        savename = 'significance/{0}'.format(plot)
        kwargs = deepcopy(plots[plot])
        if plot in significance_cust: kwargs.update(significance_cust[plot])
        hpp3lPlotter.plotSignificance(plotname,sigOrder,bgOrder,savename,**kwargs)
        for cat in cats:
            plotnames = []
            for subcat in subCatChannels[cat]:
                plotnames += ['default/{0}/{1}'.format(chan,plot) for chan in subCatChannels[cat][subcat]]
            savename = 'significance/{0}/{1}'.format(cat,plot)
            if doCat: hpp3lPlotter.plotSignificance(plotnames,sigOrder,bgOrder,savename,**kwargs)

##############################
### all signal on one plot ###
##############################
if plotAllMasses:
    hpp3lPlotter.clearHistograms()

    xvals = {}
    for mass in allmasses:
Exemple #2
0
    bgOrder = []
    for mass in masses:
        name = 'HppHmm{0}GeV'.format(mass)
        sigOrder += [name]
        bgOrder += ['BG']
        hpp4lPlotter.addHistogram(name,
                                  sigMap[name],
                                  signal=True,
                                  style={'linecolor': sigColors[mass]})

    for plot in significance_cust:
        plotname = 'default/{0}'.format(plot)
        savename = 'significance/{0}'.format(plot)
        kwargs = deepcopy(plots[plot])
        if plot in significance_cust: kwargs.update(significance_cust[plot])
        hpp4lPlotter.plotSignificance(plotname, sigOrder, bgOrder, savename,
                                      **kwargs)
        for cat in cats:
            plotnames = []
            for subcat in subCatChannels[cat]:
                plotnames += [
                    'default/{0}/{1}'.format(chan, plot)
                    for chan in subCatChannels[cat][subcat]
                ]
            savename = 'significance/{0}/{1}'.format(cat, plot)
            if doCat:
                hpp4lPlotter.plotSignificance(plotnames, sigOrder, bgOrder,
                                              savename, **kwargs)

##############################
### all signal on one plot ###
##############################
    
    hpp4lPlotter.addHistogram('BG',allSamplesDict['BG'])
    sigOrder = []
    bgOrder = []
    for mass in masses:
        name = 'HppHmm{0}GeV'.format(mass)
        sigOrder += [name]
        bgOrder += ['BG']
        hpp4lPlotter.addHistogram(name,sigMap[name],signal=True,style={'linecolor': sigColors[mass]})

    for plot in significance_cust:
        plotname = 'default/{0}'.format(plot)
        savename = 'significance/{0}'.format(plot)
        kwargs = deepcopy(plots[plot])
        if plot in significance_cust: kwargs.update(significance_cust[plot])
        hpp4lPlotter.plotSignificance(plotname,sigOrder,bgOrder,savename,**kwargs)
        for cat in cats:
            plotnames = []
            for subcat in subCatChannels[cat]:
                plotnames += ['default/{0}/{1}'.format(chan,plot) for chan in subCatChannels[cat][subcat]]
            savename = 'significance/{0}/{1}'.format(cat,plot)
            if doCat: hpp4lPlotter.plotSignificance(plotnames,sigOrder,bgOrder,savename,**kwargs)


##############################
### all signal on one plot ###
##############################
if plotAllMasses:
    hpp4lPlotter.clearHistograms()

    xvals = {}
                    sigOrder = []
                    bgOrder = []
                    for a in amasses:
                        name = signame.format(h=h,a=a)
                        sigOrder += [name]
                        bgOrder += ['datadriven']
                        plotter.addHistogram(name,sigMap[name],signal=True,style={'linecolor': aColors[a]})

                    for plot in ['kinFitChi2']:
                        kwargs = deepcopy(plots[plot])
                        kwargs['yaxis'] = 'Significance'
                        kwargs['rebin'] = [x*0.2 for x in range(50)]
                        plotname = '{}'.format(plot)
                        savename = '{}region{}/datadriven_from{}/{}_significance_h{}'.format(tag+'/' if tag else '',region,source,plot,h)
                        if looseMVA: savename = '{}region{}/datadriven_from{}{:.1f}/{}_significiance_h{}'.format(tag+'/' if tag else '',region,source,looseMVA,plot,h)
                        plotter.plotSignificance(getDatadrivenPlot(plotname,region=region,source=source,looseMVA=looseMVA,tag=tag),sigOrder,bgOrder,savename,**kwargs)



def getMatrixDatadrivenPlot(*plots,**kwargs):
    region = kwargs.pop('region','A')
    sources = kwargs.pop('sources',['A','C'])
    fakeRegion = kwargs.pop('region','B')
    fakeSources = kwargs.pop('sources',['B','D'])
    tag = kwargs.pop('tag',None)
    doPrompt = kwargs.pop('doPrompt',True)
    doFake = kwargs.pop('doFake',False)
    histMap = {}
    for s in samples+signals+['data','matP','matF']: histMap[s] = []
    for plot in plots:
        #aplot = '{}region{}/{}'.format(tag+'/' if tag else '',region,plot)