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
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
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
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'))