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
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 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
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
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 #----------------------------------------------------------
# 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