Beispiel #1
0
meffList=[1400,1600,1800,2000,2200]
metomeffList=[0.15,0.2,0.25,0.3]
ApList=[0.04]
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
Beispiel #2
0
from ChannelConfig import *
from RegionsDict import *
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
from ChannelConfig import * 
from RegionsDict import *
from GG_onestepCC_OptiChannels import *
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
from ChannelConfig import * 
from RegionsDict import *
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
from RegionsDict import *
from GG_onestepCC_OptiChannels import *
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
SS_directOptiChannels={}

meffList=[1200,1400,1600,1800,2000,2200,2400,2600]
metsigList=[16,18,20,22]
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





###########################################################
# definition of the final analysis channels
###########################################################

# FAR SRs
finalChannelsDict = {}

#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
finalChannelsDict[anaSRFAR.name] = anaSRFAR

#GG_direct_750_650, GG_onestep_825_785_745 2jm
# SR2jbase-MeSig20-Meff1800-sljetpt60-dphi0.4-ap0.00
anaSRFAR = ChannelConfig(name="SR2jm", regionDict=regionDict, fullname="SR2jbase-MeSig20-Meff1800-sljetpt50-dphi0.4-ap0.00")
anaSRFAR.nJets = 2
anaSRFAR.dPhi = 0.4
anaSRFAR.MET_over_meffNj = 0.0
# anaSR.meffIncl = 800
# anaSR.meffInclUpperCut = 1000
# testChannelsDict[anaSR.name] = anaSR



# #This is temporary and will be removed with the actual SR to find SUSY
# #to be removed
# #finalChannelsDict=testChannelsDict
# #finalChannelsDict.update(testChannelsDict)
'''
finalChannelsDict = {}
#----------------------------------------------------------
# RJigsaw
#----------------------------------------------------------
anaSRJigsawBasic=ChannelConfig(name="SRJigsawBasic",regionDict=regionDict)

# trigger
anaSRJigsawBasic.met=250
#anaSRJigsawBasic.MDR=300

#----------------------------------------------------------
# RJigsaw SRs - Gluinos
#----------------------------------------------------------

import copy

###################################################################
#for all gluino regions, use the same loose CRs
anaSRJigsawSRGluinoCommon                = copy.deepcopy( anaSRJigsawBasic )
anaSRJigsawSRGluinoCommon.RPT_HT5PP_upper = 0.08
meffList=[2600,2800,3000]
metomeffList=[0.2]
ApList=[0.02,0.04,0.06]
jet4PtList=[150]
 
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
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()
metomeffList = [0.2]
ApList = [0.02, 0.04, 0.06]
jet4PtList = [150]

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
meffList = [1400, 1600, 1800, 2000, 2200]
metomeffList = [0.15, 0.2, 0.25, 0.3]
ApList = [0.04]
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
Beispiel #13
0
meffList = [1200, 1400, 1600, 1800, 2000, 2200, 2400, 2600]
metsigList = [16, 18, 20, 22]
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
Beispiel #14
0
regionDict["VRZ"]=Region("VRZ","CRZ",[],[])#ATT: leptonWeight
regionDict["VRZf"]=Region("VRZf","CRZ",[],["leptonWeight"])
regionDict["VRT2L"]=Region("VRT2L","CRZ_VR1b",["(mll>116000 &&  lep1Pt<200000 && lep2Pt<100000)"],["leptonWeight"])#ATT: qcd weight


###########################################################
# definition of the channels
###########################################################

allChannelsDict={}

#----------------------------------------------------------
# SR2jl
#----------------------------------------------------------

anaSR2jl=ChannelConfig("SR2jl",regionDict)
anaSR2jl.nJet=2
anaSR2jl.dPhi=0.4
anaSR2jl.metsig=8    
anaSR2jl.meff=800*1000
#only needed for SR2jl where the same cuts are applied in SR,CR and CRs
anaSR2jl.regionsWithoutDPHICut=[]
anaSR2jl.regionsWithoutMETOVERMEFFCut=[]
anaSR2jl.regionsWithoutMETSIGCut=[]
allChannelsDict[anaSR2jl.name]=anaSR2jl



#----------------------------------------------------------
# SR2jm
#----------------------------------------------------------
Beispiel #15
0
# anaSR.meffIncl = 800
# anaSR.meffInclUpperCut = 1000
# testChannelsDict[anaSR.name] = anaSR



# #This is temporary and will be removed with the actual SR to find SUSY
# #to be removed
# #finalChannelsDict=testChannelsDict
# #finalChannelsDict.update(testChannelsDict)
'''
finalChannelsDict = {}
#----------------------------------------------------------
# RJigsaw
#----------------------------------------------------------
anaSRJigsawBasic = ChannelConfig(name="SRJigsawBasic", regionDict=regionDict)

# trigger
anaSRJigsawBasic.met = 250
#anaSRJigsawBasic.MDR=300

#----------------------------------------------------------
# RJigsaw SRs - Gluinos
#----------------------------------------------------------

import copy

###################################################################
#for all gluino regions, use the same loose CRs
anaSRJigsawSRGluinoCommon = copy.deepcopy(anaSRJigsawBasic)
anaSRJigsawSRGluinoCommon.RPT_HT5PP_upper = 0.08