from GG_direct_OptiChannels import *
from SS_direct_OptiChannels import *

###########################################################
# 2015 SR for paper
###########################################################

# FAR SRs
paper2015ChannelsDict = {}

#SS_direct_800_400 2jl
# SR2jbase-MeSig15-Meff1200-sljetpt200-dphi0.8-ap0.00
anaSRFAR = ChannelConfig(name="SR2jl", regionDict=regionDict, fullname="SR2jbase-MeSig15-Meff1200-sljetpt200-dphi0.8-ap0.00")
anaSRFAR.nJets = 2
anaSRFAR.dPhi = 0.8
anaSRFAR.MET_over_meffNj = 0.0
anaSRFAR.METsig = 15
anaSRFAR.jetpt1 = 200.
anaSRFAR.jetpt2 = 200.
anaSRFAR.meffIncl = 1200
paper2015ChannelsDict[anaSRFAR.name] = anaSRFAR

#Compressed regionsa
anaSRFAR = ChannelConfig(name="SR2jm", regionDict=regionDict, fullname="SR2jm")
anaSRFAR.nJets = 2
anaSRFAR.dPhi = 0.4
anaSRFAR.MET_over_meffNj = 0.0
anaSRFAR.METsig = 15
anaSRFAR.jetpt1 = 300.
anaSRFAR.jetpt2 = 50.
anaSRFAR.meffIncl = 1600
Ejemplo n.º 2
0
jetPtThresList=[50]
 

for meff in meffList:
    for metomeff in metomeffList:
        for jetPtThres in jetPtThresList:
            for Ap in ApList: 

                name=str(meff)+"-"+str(metomeff)+"-"+str(jetPtThres)
                name=name+"-"+str(Ap)

                ana = ChannelConfig(name="GGOSCC-5j-"+name, regionDict=regionDict, fullname="GGOSCC-5jbase-"+name)
                ana.nJets = 5
                ana.dPhi = 0.4
                ana.dPhiR = 0.2
                ana.MET_over_meffNj = metomeff
                ana.Ap = Ap
                ana.jetpt5 = jetPtThres
                ana.meffIncl = meff
                GG_onestepCCOptiChannels[ana.name] = ana


                ana = ChannelConfig(name="GGOSCC-6j-"+name, regionDict=regionDict, fullname="GGOSCC-6jbase-"+name)
                ana.nJets = 6
                ana.dPhi = 0.4
                ana.dPhiR = 0.2
                ana.MET_over_meffNj = metomeff
                ana.Ap = Ap
                ana.jetpt6 = jetPtThres
                ana.meffIncl = meff
                GG_onestepCCOptiChannels[ana.name] = ana
dPhiList=[0.4,0.8]
jetPtList=[200]

for meff in meffList:
    for metsig in metsigList:
        for dPhi in dPhiList:
            for jetPt in jetPtList:


                name=str(meff)+"-"+str(metsig)+"-"+str(dPhi)+"-"+str(jetPt)
                
                ana = ChannelConfig(name="SS-2j-"+name, regionDict=regionDict, fullname="SS-2jbase-"+name)
                ana.nJets = 2
                ana.dPhi = dPhi
                ana.METsig = metsig
                ana.MET_over_meffNj = 0.0
                ana.jetPtThreshold = jetPt
                ana.meffIncl = meff
                SS_directOptiChannels[ana.name] = ana




                # ana = ChannelConfig(name="SS-3j-"+name, regionDict=regionDict, fullname="SS-3jbase-"+name)
                # ana.nJets = 3
                # ana.dPhi = dPhi
                # ana.METsig = metsig
                # ana.jetPtThreshold = jetPt
                # ana.meffIncl = meff
                # SS_directOptiChannels[ana.name] = ana
###########################################################
# 2015 SR for paper
###########################################################

# FAR SRs
paper2015ChannelsDict = {}

#SS_direct_800_400 2jl
# SR2jbase-MeSig15-Meff1200-sljetpt200-dphi0.8-ap0.00
anaSRFAR = ChannelConfig(
    name="SR2jl",
    regionDict=regionDict,
    fullname="SR2jbase-MeSig15-Meff1200-sljetpt200-dphi0.8-ap0.00")
anaSRFAR.nJets = 2
anaSRFAR.dPhi = 0.8
anaSRFAR.MET_over_meffNj = 0.0
anaSRFAR.METsig = 15
anaSRFAR.jetpt1 = 200.
anaSRFAR.jetpt2 = 200.
anaSRFAR.meffIncl = 1200
paper2015ChannelsDict[anaSRFAR.name] = anaSRFAR

#Compressed regionsa
anaSRFAR = ChannelConfig(name="SR2jm", regionDict=regionDict, fullname="SR2jm")
anaSRFAR.nJets = 2
anaSRFAR.dPhi = 0.4
anaSRFAR.MET_over_meffNj = 0.0
anaSRFAR.METsig = 15
anaSRFAR.jetpt1 = 300.
anaSRFAR.jetpt2 = 50.
anaSRFAR.meffIncl = 1600
Ejemplo n.º 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()
 
for meff in meffList:
    for metomeff in metomeffList:
        for jet4Pt in jet4PtList:

            for Ap in ApList:

                name=str(meff)+"-"+str(metomeff)+"-"+str(jet4Pt)+"-"+str(Ap)          
                name=name.replace(".","")


                ana = ChannelConfig(name="GG-4j-"+name, regionDict=regionDict, fullname="GG-4jbase-"+name)
                ana.nJets = 4
                ana.dPhi = 0.4
                ana.dPhiR = 0.2
                ana.MET_over_meffNj = metomeff
                ana.Ap = Ap
                ana.jetpt4 = jet4Pt
                ana.meffIncl = meff
                GG_directOptiChannels[ana.name] = ana


                # ana = ChannelConfig(name="GG-5j-"+name, regionDict=regionDict, fullname="GG-5jbase-"+str(meff)+"_"+str(metomeff))
                # ana.nJets = 5
                # ana.dPhi = 0.4
                
                #                ana.jetpt4 = jet4Pt
                # ana.dPhiR = 0.2
                # ana.MET_over_meffNj = metomeff
                # ana.Ap = Ap
                # ana.meffIncl = meff
Ejemplo n.º 7
0
for meff in meffList:
    for metsig in metsigList:
        for dPhi in dPhiList:
            for jetPt in jetPtList:

                name = str(meff) + "-" + str(metsig) + "-" + str(
                    dPhi) + "-" + str(jetPt)

                ana = ChannelConfig(name="SS-2j-" + name,
                                    regionDict=regionDict,
                                    fullname="SS-2jbase-" + name)
                ana.nJets = 2
                ana.dPhi = dPhi
                ana.METsig = metsig
                ana.MET_over_meffNj = 0.0
                ana.jetPtThreshold = jetPt
                ana.meffIncl = meff
                SS_directOptiChannels[ana.name] = ana

                # ana = ChannelConfig(name="SS-3j-"+name, regionDict=regionDict, fullname="SS-3jbase-"+name)
                # ana.nJets = 3
                # ana.dPhi = dPhi
                # ana.METsig = metsig
                # ana.jetPtThreshold = jetPt
                # ana.meffIncl = meff
                # SS_directOptiChannels[ana.name] = ana

#save signal regions in a pkl file
pickle.dump(SS_directOptiChannels, open('SS_directOptiChannels.pkl', 'wb'))