Exemplo n.º 1
0
    {
        "cpt": 0,
        "cpQM": 7,
        "res": 0.04173
    },
    {
        "cpt": 0,
        "cpQM": 8,
        "res": 0.03942
    },
]
genSelection = "abs(genZ_mass-91.2)<10&&Sum$(genLep_pt>15&&abs(genLep_eta)<2.4)>=2"
regionCut = "(1)"  #replaceAliases( simpleStringToCutString( cut ) )

sel = genSelection  #"&&".join( [ cutInterpreter.cutString( genSelection ), regionCut ] )
coeffList = w.getCoeffListFromDraw(genSignalSample, selectionString=sel)

signal_genRateSM = float(w.get_weight_yield(coeffList))
dSignal_genRateSM = 0.07082

for kwargs in kwargsList:
    dRes = kwargs["res"]
    del kwargs["res"]
    signal_genRateEFT = w.get_weight_yield(coeffList, **kwargs)

    print "BSM point:", kwargs
    print "SM:", signal_genRateSM, "Daniel:", dSignal_genRateSM
    print "BSM:", signal_genRateEFT, "Daniel:", dRes
    print "ratio:", signal_genRateEFT / signal_genRateSM, "Daniel:", dRes / dSignal_genRateSM, "difference:", (
        signal_genRateEFT / signal_genRateSM) / (dRes / dSignal_genRateSM)
    print
Exemplo n.º 2
0
        logger.info( "At reco region %s", region )
        res = {"selection":args.selection, "year":args.year, "small":args.small, "region":str(region), sample.name:sample.name }

        if yieldDB.contains( res ):
            rate[region][sample.name] = float( yieldDB.getDicts( res )[0]["value"] )
            logger.info("Using yield for sample %s at region %s: %f"%(sample.name, region, rate[region][sample.name]))
        else:
            logger.info("Yield for sample %s at region %s not cached! Run caching script first"%(sample.name, region))
            sys.exit(1)

for i_region, region in enumerate(regions):

    genRegion = genRegions[i_region]
    logger.info( "At gen region %s", genRegion )

    coeffList   = w.getCoeffListFromDraw( signalSample, selectionString=genRegion.cutString() )
    genRateSM   = float( w.get_weight_yield( coeffList ) )

    for i_sample, sample in enumerate( signals ):
        genRateEFT = w.get_weight_yield( coeffList, **sample.params['WC'] )
        genKFactor = genRateEFT / genRateSM
        rate[region][sample.name] = rate[region][ttGammaSample.name] * genKFactor
        logger.info( "Calculated k-Factor for signal sample %s: %f! Signal yield: %s"%(sample.name, genKFactor, rate[region][sample.name]) )

    for i_sample, sample in enumerate( allSamples + signals ):
        hists[sample.name].SetBinContent(i_region+1, rate[region][sample.name])
#        hists[sample.name].SetBinError(i_region+1,0)
        hists[sample.name].legendText = sample.texName
        hists[sample.name].style      = sample.style