Пример #1
0
from GG_onestepCC_OptiChannels import *
from GG_direct_OptiChannels import *
from SS_direct_OptiChannels import *

###########################################################
# definition of the channels for plotting purpose
###########################################################

channelsForPlottingDict = {}

#SRs used for plotting
anaSR2jrun1 = ChannelConfig(name="SR2jrun1", regionDict=regionDict)
anaSR2jrun1.nJets = 2
anaSR2jrun1.jetpt1 = 130
anaSR2jrun1.jetpt2 = 60
anaSR2jrun1.MET = 160
anaSR2jrun1.dPhi = 0.4
#anaSR2jrun1.MET_over_meff  =  0.1
channelsForPlottingDict[anaSR2jrun1.name] = anaSR2jrun1

anaSR3jrun1 = ChannelConfig(name="SR3jrun1", regionDict=regionDict)
anaSR3jrun1.nJets = 3
anaSR3jrun1.jetpt1 = 130
anaSR3jrun1.jetpt2 = 60
anaSR3jrun1.jetpt3 = 60
anaSR3jrun1.MET = 160
anaSR3jrun1.dPhi = 0.4
#anaSR3jrun1.MET_over_meff  =  0.1
channelsForPlottingDict[anaSR3jrun1.name] = anaSR3jrun1

anaSR4jrun1 = ChannelConfig(name="SR4jrun1", regionDict=regionDict)
from GG_onestepCC_OptiChannels import *
from GG_direct_OptiChannels import *
from SS_direct_OptiChannels import *

###########################################################
# definition of the channels for plotting purpose
###########################################################

channelsForPlottingDict = {}

#SRs used for plotting
anaSR2jrun1 = ChannelConfig(name="SR2jrun1", regionDict=regionDict)
anaSR2jrun1.nJets = 2
anaSR2jrun1.jetpt1 = 130
anaSR2jrun1.jetpt2 = 60
anaSR2jrun1.MET = 160
anaSR2jrun1.dPhi = 0.4
#anaSR2jrun1.MET_over_meff  =  0.1
channelsForPlottingDict[anaSR2jrun1.name] = anaSR2jrun1

anaSR3jrun1 = ChannelConfig(name="SR3jrun1", regionDict=regionDict)
anaSR3jrun1.nJets = 3
anaSR3jrun1.jetpt1 = 130
anaSR3jrun1.jetpt2 = 60
anaSR3jrun1.jetpt3 = 60
anaSR3jrun1.MET = 160
anaSR3jrun1.dPhi = 0.4
#anaSR3jrun1.MET_over_meff  =  0.1
channelsForPlottingDict[anaSR3jrun1.name] = anaSR3jrun1

anaSR4jrun1 = ChannelConfig(name="SR4jrun1", regionDict=regionDict)
# anaSRFAR.meffIncl = 2200
# anaSRFAR.regionsWithLooserMeffCuts = ["CRT","CRW","CRY"]
# anaSRFAR.meffInclLoose = 2000
# paper2015ChannelsDict[anaSRFAR.name] = anaSRFAR

# GG_direct_1400_0 4jt
anaSRFAR = ChannelConfig(
    name="SR4jt",
    regionDict=regionDict,
    fullname=
    "SR4jbase-MetoMeff0.2-Meff2200-sljetpt100-34jetpt100-dphi0.4-ap0.04")
anaSRFAR.nJets = 4
anaSRFAR.dPhi = 0.4
anaSRFAR.dPhiR = 0.2
anaSRFAR.MET_over_meffNj = 0.2
anaSRFAR.MET = 200
anaSRFAR.METsig = 0
anaSRFAR.Ap = 0.04
anaSRFAR.jetpt1 = 200.
anaSRFAR.jetpt2 = 100.
anaSRFAR.jetpt3 = 100.
anaSRFAR.jetpt4 = 100.
anaSRFAR.meffIncl = 2200
paper2015ChannelsDict[anaSRFAR.name] = anaSRFAR

#GG_onestepCC_1265_945_625 at 4/fb 5j
# SR5jbase-MetoMeff0.25-Meff1600-sljetpt100-34jetpt100-dphi0.4-ap0.02
anaSRFAR = ChannelConfig(
    name="SR5j",
    regionDict=regionDict,
    fullname=
# anaSRFAR.jetpt3 = 100.
# anaSRFAR.jetpt4 = 100.
# anaSRFAR.meffIncl = 2200
# anaSRFAR.regionsWithLooserMeffCuts = ["CRT","CRW","CRY"]
# anaSRFAR.meffInclLoose = 2000
# paper2015ChannelsDict[anaSRFAR.name] = anaSRFAR



# GG_direct_1400_0 4jt
anaSRFAR = ChannelConfig(name="SR4jt", regionDict=regionDict, fullname="SR4jbase-MetoMeff0.2-Meff2200-sljetpt100-34jetpt100-dphi0.4-ap0.04")
anaSRFAR.nJets = 4
anaSRFAR.dPhi = 0.4
anaSRFAR.dPhiR = 0.2
anaSRFAR.MET_over_meffNj = 0.2
anaSRFAR.MET = 200
anaSRFAR.METsig = 0
anaSRFAR.Ap = 0.04
anaSRFAR.jetpt1 = 200.
anaSRFAR.jetpt2 = 100.
anaSRFAR.jetpt3 = 100.
anaSRFAR.jetpt4 = 100.
anaSRFAR.meffIncl = 2200
paper2015ChannelsDict[anaSRFAR.name] = anaSRFAR

#GG_onestepCC_1265_945_625 at 4/fb 5j
# SR5jbase-MetoMeff0.25-Meff1600-sljetpt100-34jetpt100-dphi0.4-ap0.02
anaSRFAR = ChannelConfig(name="SR5j", regionDict=regionDict, fullname="SR5jbase-MetoMeff0.25-Meff1600-sljetpt100-34jetpt100-dphi0.4-ap0.04")
anaSRFAR.nJets = 5
anaSRFAR.dPhi = 0.4
anaSRFAR.dPhiR = 0.2
Пример #5
0
def main(configMain):
    CountList=[]
    myChannelsDict ={}
    #setbaseline
    anaSR4jt=ChannelConfig(name="SR4jvt",regionDict=regionDict)
    anaSR4jt.nJets=4
    anaSR4jt.dPhi=0.4
    anaSR4jt.dPhiR=0.2
    anaSR4jt.MET = 200.
    anaSR4jt.jetpt1 = 130.
    anaSR4jt.jetpt2 = 50.
    anaSR4jt.jetpt3 = 50.
    anaSR4jt.jetpt4 = 50.
    anaSR4jt.MET_over_meffNj=0.2
    anaSR4jt.meffIncl=2200
    anaSR4jt.METsig = 0
    anaSR4jt.Ap = 0.04
    myChannelsDict[anaSR4jt.name]=anaSR4jt

    anaCRL4jt=ChannelConfig(name="CRL4jvt",regionDict=regionDict)
    anaCRL4jt.nJets=4
    anaCRL4jt.dPhi=0.4
    anaCRL4jt.dPhiR=0.2
    anaCRL4jt.MET = 440.
    anaCRL4jt.jetpt1 = 130.
    anaCRL4jt.jetpt2 = 50.
    anaCRL4jt.jetpt3 = 50.
    anaCRL4jt.jetpt4 = 50.
    anaCRL4jt.meffIncl=1200
    myChannelsDict[anaCRL4jt.name]=anaCRL4jt

    anaCRVL4jt=ChannelConfig(name="CRVL4jvt",regionDict=regionDict)
    anaCRVL4jt.nJets=4
    anaCRVL4jt.MET = 200.
    anaCRVL4jt.jetpt1 = 130.
    anaCRVL4jt.jetpt2 = 50.
    anaCRVL4jt.jetpt3 = 50.
    anaCRVL4jt.jetpt4 = 50.
    anaCRVL4jt.meffIncl=1200
    myChannelsDict[anaCRVL4jt.name]=anaCRVL4jt
    allAna = myChannelsDict.keys()
    onlyExtraWeights=False

    for region in RegionList:
        print region
        if("SR" in region["type"]) :
            ch=anaSR4jt
            ch.WithoutMeffCut = False
            ch.WithoutMetOverMeffCut = False
            ch.WithoutdPhiCut = False
            ch.WithoutApCut = False
            ch.WithoutJetpT1Cut = False
            ch.WithoutJetpT2Cut = False
            ch.WithoutJetpT3Cut = False
            ch.WithoutJetpT4Cut = False
            weights=ch.getWeights(region["cuts"],onlyExtraWeights)
            cuts=ch.getCuts(region["cuts"])
        if("CRL" in region["type"]) :
            ch=anaCRL4jt
            ch.WithoutMeffCut = False
            ch.WithoutMetOverMeffCut = True
            ch.WithoutdPhiCut = False
            ch.WithoutApCut = True
            ch.WithoutJetpT1Cut = False
            ch.WithoutJetpT2Cut = False
            ch.WithoutJetpT3Cut = False
            ch.WithoutJetpT4Cut = False
            weights=ch.getWeights(region["cuts"],onlyExtraWeights)
            cuts=ch.getCuts(region["cuts"])
            cuts="(("+cuts+")&&(meffInc < "+str(anaSR4jt.meffIncl)+"))"
        if("CRVL" in region["type"]) :
            ch=anaCRVL4jt
            ch.WithoutMeffCut = False
            ch.WithoutMetOverMeffCut = True
            ch.WithoutdPhiCut = True
            ch.WithoutApCut = True
            ch.WithoutJetpT1Cut = False
            ch.WithoutJetpT2Cut = False
            ch.WithoutJetpT3Cut = False
            ch.WithoutJetpT4Cut = False
            weights=ch.getWeights(region["cuts"],onlyExtraWeights)
            cuts=ch.getCuts(region["cuts"])
            cuts="(("+cuts+")&&(met < "+str(anaCRL4jt.MET)+"))"
        print "channel",cuts
        for each in mc:
            if(each["key"] in region["key"]):
                count=Count(region["cuts"], each['inputdir'], each["treePrefix"]+region["pre"],cuts,weights, "mc", configMain.lumi)
                tmphist=ROOT.TH1F(region["cuts"]+"meffInc","meffInc",1,0.,14000.)
                count.project(1.,region["cuts"]+"meffInc", "meffInc",cuts )
                value=tmphist.GetBinContent(1) 
                error=tmphist.GetBinError(1) 
                CountList.append({"region":region["cuts"],"value":value,"error":error})
                        
    print CountList
    for count in CountList:
        print count
        if ("SR" == count["region"]):
            SRcount = count
        if ("SRZVL" == count["region"]):
            SRZVLcount = count
        if ("CRZVL" == count["region"]):
            CRZVLcount = count
        if ("CRWL" == count["region"]):
            CRWLcount = count
        if ("CRWVL" == count["region"]):
            CRWVLcount = count
        if ("CRYL" == count["region"]):
            CRYLcount = count
        if ("CRY" == count["region"]):
            CRYcount = count
    CRYeff={"region":"effCRY","value":CRYcount["value"]/SRcount["value"],"error":CalcError(SRcount["value"], SRcount["error"], CRYcount["value"], CRYcount["error"],)} 
    CountList.append(CRYeff)
    CRYLeff={"region":"effCRYL","value":CRYLcount["value"]/SRcount["value"],"error":CalcError(SRcount["value"], SRcount["error"], CRYLcount["value"], CRYLcount["error"],)} 
    CountList.append(CRYLeff)
    CRWLeff={"region":"effCRWL","value":CRWLcount["value"]/CRYLcount["value"],"error":CalcError(CRYLcount["value"], CRYLcount["error"], CRWLcount["value"], CRWLcount["error"],)} 
    CountList.append(CRWLeff)
    CRZVLeff={"region":"effCRZVL","value":CRZVLcount["value"]/SRcount["value"],"error":CalcError(SRcount["value"], SRcount["error"], CRZVLcount["value"], CRZVLcount["error"],)} 
    CountList.append(CRZVLeff)
    CRZVLSF={"region":"SFCRZVL","value":CRZVLcount["value"]/SRZVLcount["value"],"error":CalcError(SRZVLcount["value"], SRZVLcount["error"], CRZVLcount["value"], CRZVLcount["error"],)} 
    CountList.append(CRZVLSF)
    print CountList
    f = open("4jt.dat","w")
    for count in CountList:
        f.write(count["region"]+" "+str(count["value"]) +" "+str(count["error"])+"\n" )

    f.close()