コード例 #1
0
            Plot(
                ROOT.TH1F(discrname + "_" + bl,
                          "final dicsriminator (" + bl + ")", nb, minx, maxx),
                discr, b))
    print discr, b, bl, nb, minx, maxx

#print "if cateries are correct press the \"any\" key"
#raw_input()

outputpath = plotParallel(name, 1000000, bdts, allsamples, [''], ['1.'],
                          weightsystnames, systweights)
if not os.path.exists(name):
    os.makedirs(name)

renameHistos(outputpath, name + '/' + name + '_limitInput.root', allsystnames)
addPseudoData(name + '/' + name + '_limitInput.root',
              [s.nick for s in samples[9:]], binlabels, allsystnames,
              discrname)

listOfHistoLists = createHistoLists_fromSuperHistoFile(outputpath, samples,
                                                       bdts)
lolT = transposeLOL(listOfHistoLists)
writeLOLAndOneOnTop(transposeLOL(lolT[9:]), samples[9:], lolT[0], samples[0],
                    20, name + '/' + name + '_controlplots')
makeDatacards(name + '/' + name + '_limitInput.root',
              name + '/' + name + '_datacard', binlabels)

#if askYesNo('Calculate limits?'):
limit = calcLimits(name + '/' + name + '_datacard', binlabels)
limit.dump()
コード例 #2
0
minxvals = [0., 0., -0.77, -0.69, -0.82, -0.71, -0.70, -0.75, -0.59]
maxxvals = [5000., 5000., 0.63, 0.57, 0.64, 0.56, 0.57, 0.58, 0.40]

bdts = []
for b, bl, nb, minx, maxx in zip(bins, binlabels, nhistobins, minxvals,
                                 maxxvals):
    if bl == "j4_t2" or bl == "j5_t2":
        bdts.append(
            Plot(
                ROOT.TH1F("BDT_ljets" + "_" + bl,
                          "BDT_ljets" + " (" + bl + ")", nb, minx, maxx),
                "Evt_HT", b))
    else:
        bdts.append(
            Plot(
                ROOT.TH1F("BDT_ljets" + "_" + bl,
                          "BDT_ljets" + " (" + bl + ")", nb, minx, maxx),
                "BDT_common5_output", b))

outputpath = plotParallel(name, 1000000, bdts, allsamples, [''], ['1.'],
                          weightsystnames, systweights)
renameHistos(outputpath, name + '_limitInput.root', allsystnames)
addPseudoData(name + '_limitInput.root', [s.name for s in samples[1:]],
              binlabels, allsystnames)
MoveOverUnderflow(name + '_limitInput.root',
                  name + '_limitInput_rebinned.root')

listOfHistoLists = createHistoLists_fromSuperHistoFile(outputpath, samples,
                                                       bdts)
writeListOfHistoLists(listOfHistoLists, allsamples, '', name, False)
コード例 #3
0
import ROOT
import sys
from limittools import addPseudoData

infname = sys.argv[1]

#samplesWOttH=['ttbarOther','ttbarPlusCCbar','ttbarPlusBBbar','ttbarPlusB','ttbarPlus2B','singlet','wjets','zjets','ttbarZ','ttbarW','diboson']
samplesWOttH = [
    'ttbarOther', 'ttbarPlusCCbar', 'ttbarPlusBBbar', 'ttbarPlusB',
    'ttbarPlus2B'
]

categories = [
    "j4_t2", "j5_t2", "j4_t3", "j4_t4", "j5_t3", "j5_tge4", "jge6_t2",
    "jge6_t3", "jge6_tge4"
]

disc = "BDT_ljets"

sysnames = [
    "_CMS_ttH_CSVLFUp", "_CMS_ttH_CSVLFDown", "_CMS_ttH_CSVHFUp",
    "_CMS_ttH_CSVHFDown", "_CMS_ttH_CSVHFStats1Up", "_CMS_ttH_CSVHFStats1Down",
    "_CMS_ttH_CSVLFStats1Up", "_CMS_ttH_CSVLFStats1Down",
    "_CMS_ttH_CSVHFStats2Up", "_CMS_ttH_CSVHFStats2Down",
    "_CMS_ttH_CSVLFStats2Up", "_CMS_ttH_CSVLFStats2Down",
    "_CMS_ttH_CSVCErr1Up", "_CMS_ttH_CSVCErr1Down", "_CMS_ttH_CSVCErr2Up",
    "_CMS_ttH_CSVCErr2Down", "_CMS_scale_jUp", "_CMS_scale_jDown",
    "_CMS_res_jUp", "_CMS_res_jDown"
]
addPseudoData(infname, samplesWOttH, categories, sysnames, disc)