Ejemplo n.º 1
0
parser.add_option("--metSigMin", dest="metSigMin", default=5, type="int", action="store", help="metSigMin?")
parser.add_option("--metMin", dest="metMin", default=80, type="int", action="store", help="metMin?")
parser.add_option("--multiIsoWP", dest="multiIsoWP", default="", type="string", action="store", help="multiIsoWP?")
(options, args) = parser.parse_args()

from StopsDilepton.analysis.SetupHelpers import allChannels
from StopsDilepton.analysis.defaultAnalysis import setup, regions, bkgEstimators
setup.analysisOutputDir='/afs/hephy.at/data/rschoefbeck01/StopsDilepton/results/test3'
setup.parameters['metMin'] = options.metMin
setup.parameters['metSigMin'] = options.metSigMin

if options.multiIsoWP!="":
  multiIsoWPs = ['VL', 'L', 'M', 'T', 'VT']
  assert options.multiIsoWP in multiIsoWPs, "MultiIsoWP not defined. Use one of %s"%",".join(multiIsoWPs)
  from StopsDilepton.tools.objectSelection import multiIsoLepString
  setup.externalCuts.append(multiIsoLepString(options.multiIsoWP, ('l1_index','l2_index')))
  setup.prefixes.append('multiIso'+options.multiIsoWP)

for e in bkgEstimators:
  e.initCache(setup.defaultCacheDir())

setup.verbose=True
#from multi_estimate import multi_estimate
from StopsDilepton.analysis.MCBasedEstimate import MCBasedEstimate
from StopsDilepton.samples.cmgTuples_FastSimT2tt_mAODv2_25ns_1l_postProcessed import *
signalEstimators = [ MCBasedEstimate(name=s['name'],    sample={channel:s for channel in allChannels}, cacheDir=setup.defaultCacheDir() ) for s in signals_T2tt ]

#estimate = signals_T2tt[0]['estimator']
#isSignal=True
#regions=regions[:1]
#bkgEstimators=[]
Ejemplo n.º 2
0
        sample.reduceFiles(to = 1)

if not args.noData:
    data_sample.style = styles.errorStyle( ROOT.kBlack )
    lumi_scale = data_sample.lumi/1000

for sample in mc:
    sample.style = styles.fillStyle( sample.color)

from StopsDilepton.tools.user import plot_directory

# official PU reweighting
weight = lambda data:data.weight

from StopsDilepton.tools.objectSelection import multiIsoLepString
multiIsoWP = multiIsoLepString('VT','VT', ('l1_index','l2_index'))

cuts=[
#    ("leadingLepIsTight", "l1_miniRelIso<0.4"),
#    ("EE", "abs(l1_eta)>1.5&&abs(l2_eta)>1.5"),
#    ("EB", "(abs(l1_eta)<1.5&&abs(l2_eta)>1.5||abs(l1_eta)>1.5&&abs(l2_eta)<1.5)"),
    ("BB", "abs(l1_eta)<1.5&&abs(l2_eta)<1.5"),
    ("multiIsoWP", "l1_index>=0&&l1_index<1000&&l2_index>=0&&l2_index<1000&&"+multiIsoWP),
    ("njet2", "nJetGood>=2"),
    ("nbtag1", "nBTag>=1"),
#    ("nbtag0", "nBTag==0"),
    ("mll20", "dl_mass>20"),
    ("met80", "met_pt>80"),
    ("metSig5", "met_pt/sqrt(ht)>5"),
    ("dPhiJet0-dPhiJet1", "cos(met_phi-JetGood_phi[0])<cos(0.25)&&cos(met_phi-JetGood_phi[1])<cos(0.25)"),
    ("lepVeto", "nGoodMuons+nGoodElectrons==2"),
Ejemplo n.º 3
0
setup.parameters['metMin']    = options.metMin
setup.parameters['metSigMin'] = options.metSigMin

# Logging
import StopsDilepton.tools.logger as logger
logger = logger.get_logger(options.logLevel, logFile = None )
import RootTools.core.logger as logger_rt
logger_rt = logger_rt.get_logger(options.logLevel, logFile = None )

allRegions = set(defaultRegions + reducedRegionsA + reducedRegionsB + reducedRegionsAB + reducedRegionsNew + reducedRegionsC)
if options.multiIsoWP!="":
    multiIsoWPs = ['VL', 'L', 'M', 'T', 'VT']
    wpMu, wpEle=options.multiIsoWP.split(',')
    from StopsDilepton.tools.objectSelection import multiIsoLepString
    setup.externalCuts.append(multiIsoLepString(wpMu, wpEle, ('l1_index','l2_index')))
    setup.prefixes.append('multiIso'+options.multiIsoWP.replace(',',''))

if options.relIso04>0:
    setup.externalCuts.append("&&".join(["LepGood_relIso04["+ist+"]<"+str(options.relIso04) for ist in ('l1_index','l2_index')]))
    setup.prefixes.append('relIso04sm'+str(int(100*options.relIso04)))

for e in allEstimators:
    e.initCache(setup.defaultCacheDir())

setup.verbose=True
#from multi_estimate import multi_estimate
from StopsDilepton.analysis.MCBasedEstimate import MCBasedEstimate
from StopsDilepton.samples.cmgTuples_FastSimT2tt_mAODv2_25ns_postProcessed import *
from StopsDilepton.samples.cmgTuples_FullSimTTbarDM_mAODv2_25ns_postProcessed import *
Ejemplo n.º 4
0
from StopsDilepton.tools.helpers import getVarValue, getYieldFromChain

maxN = -1
#Define chains for signals and backgrounds
samples = [
    DY_HT_LO, TTJets_Lep, TTZ, TTXNoZ, singleTop, diBoson, WZZ, QCD_Mu5EMbcToE, 
    TTbarDMJets_pseudoscalar_Mchi1_Mphi10,
    TTbarDMJets_pseudoscalar_Mchi10_Mphi100
# Sample.fromFiles(name="T2tt_450_0", treeName="Events", isData=False, color=ROOT.kBlack, texName="T2tt(450,0)", files=['/scratch/rschoefbeck/cmgTuples/postProcessed_Fall15_mAODv2/dilep/T2tt/T2tt_450_0.root'], maxN = maxN), 
# Sample.fromDirectory(name="TTJets_Lep", treeName="Events", isData=False, color=7, texName="t#bar{t} + Jets (lep)", directory=['/scratch/rschoefbeck/cmgTuples/fromTom/postProcessed_Fall15_mAODv2/dilep/TTJets_DiLepton_comb/'], maxN = maxN) 
]
QCD_Mu5EMbcToE.name = 'QCD'
TTbarDMJets_pseudoscalar_Mchi1_Mphi10.name = "10/1"
TTbarDMJets_pseudoscalar_Mchi10_Mphi100.name = "100/10"
from StopsDilepton.tools.objectSelection import multiIsoLepString
multiIsoWPVTVT = multiIsoLepString('VT','VT', ('l1_index','l2_index'))
multiIsoWPMT = multiIsoLepString('M','T', ('l1_index','l2_index'))
relIso04sm12Cut =   "&&".join(["LepGood_relIso04["+ist+"]<0.12" for ist in ('l1_index','l2_index')])

cuts=[
  ("==2 leptons", "nGoodMuons+nGoodElectrons==2"),
  ("opposite sign","isOS==1"),
  ("m(ll)>20", "dl_mass>20"),
  ("|m(ll) - mZ|>15 for SF","( (isMuMu==1||isEE==1)&&abs(dl_mass-91.2)>=15 || isEMu==1 )"),
  (">=2 jets", "(Sum$(JetGood_pt>30&&abs(JetGood_eta)<2.4&&JetGood_id))>=2"),
  (">=1 b-tags (CSVv2)", "Sum$(JetGood_pt>30&&abs(JetGood_eta)<2.4&&JetGood_id&&JetGood_btagCSV>0.890)>=1"),
  ("MET>80", "met_pt>80"),
  ("MET/sqrt(HT)>5", "met_pt/sqrt(Sum$(JetGood_pt*(JetGood_pt>30&&abs(JetGood_eta)<2.4&&JetGood_id)))>5"),
  ("dPhi(JetGood_1,2|MET)>0.25", "cos(met_phi-JetGood_phi[0])<cos(0.25)&&cos(met_phi-JetGood_phi[1])<cos(0.25)"),
  ("MT2(ll) > 140", "dl_mt2ll>140"),
#  ("looseLeptonVeto", "Sum$(LepGood_pt>15&&LepGood_miniRelIso<0.4)==2"),
Ejemplo n.º 5
0
        sample.reduceFiles(to=1)

if not args.noData:
    data_sample.style = styles.errorStyle(ROOT.kBlack)
    lumi_scale = data_sample.lumi / 1000

for sample in mc:
    sample.style = styles.fillStyle(sample.color)

from StopsDilepton.tools.user import plot_directory

# official PU reweighting
weight = lambda data: data.weight

from StopsDilepton.tools.objectSelection import multiIsoLepString
multiIsoWP = multiIsoLepString('VT', 'VT', ('l1_index'))

preselection = [
    ("multiIsoWP", "l1_index>=0&&l1_index<1000&&" + multiIsoWP),
    ("dPhiJet0-dPhiJet1",
     "cos(met_phi-JetGood_phi[0])<cos(0.25)&&cos(met_phi-JetGood_phi[1])<cos(0.25)"
     ),
    ("lepVeto", "nGoodMuons+nGoodElectrons==1"),
    ("looseLeptonVeto", "Sum$(LepGood_pt>15&&LepGood_miniRelIso<0.4)==1"),
]

cuts = [
    ("njet2", "nJetGood>=2"),
    ("nbtag1", "nBTag>=1"),
    ("nbtag0", "nBTag==0"),
    ("met80", "met_pt>80"),
Ejemplo n.º 6
0
from StopsDilepton.tools.helpers import getVarValue, getYieldFromChain

maxN = -1
#Define chains for signals and backgrounds
samples = [
    DY_HT_LO, TTJets_Lep, TTZ, TTXNoZ, singleTop, diBoson, WZZ, QCD_Mu5EMbcToE,
    TTbarDMJets_pseudoscalar_Mchi1_Mphi10,
    TTbarDMJets_pseudoscalar_Mchi10_Mphi100
    # Sample.fromFiles(name="T2tt_450_0", treeName="Events", isData=False, color=ROOT.kBlack, texName="T2tt(450,0)", files=['/scratch/rschoefbeck/cmgTuples/postProcessed_Fall15_mAODv2/dilep/T2tt/T2tt_450_0.root'], maxN = maxN),
    # Sample.fromDirectory(name="TTJets_Lep", treeName="Events", isData=False, color=7, texName="t#bar{t} + Jets (lep)", directory=['/scratch/rschoefbeck/cmgTuples/fromTom/postProcessed_Fall15_mAODv2/dilep/TTJets_DiLepton_comb/'], maxN = maxN)
]
QCD_Mu5EMbcToE.name = 'QCD'
TTbarDMJets_pseudoscalar_Mchi1_Mphi10.name = "10/1"
TTbarDMJets_pseudoscalar_Mchi10_Mphi100.name = "100/10"
from StopsDilepton.tools.objectSelection import multiIsoLepString
multiIsoWPVTVT = multiIsoLepString('VT', 'VT', ('l1_index', 'l2_index'))
multiIsoWPMT = multiIsoLepString('M', 'T', ('l1_index', 'l2_index'))
relIso04sm12Cut = "&&".join(
    ["LepGood_relIso04[" + ist + "]<0.12" for ist in ('l1_index', 'l2_index')])

cuts = [
    ("==2 leptons", "nGoodMuons+nGoodElectrons==2"),
    ("opposite sign", "isOS==1"),
    ("m(ll)>20", "dl_mass>20"),
    ("|m(ll) - mZ|>15 for SF",
     "( (isMuMu==1||isEE==1)&&abs(dl_mass-91.2)>=15 || isEMu==1 )"),
    (">=2 jets", "(Sum$(JetGood_pt>30&&abs(JetGood_eta)<2.4&&JetGood_id))>=2"),
    (">=1 b-tags (CSVv2)",
     "Sum$(JetGood_pt>30&&abs(JetGood_eta)<2.4&&JetGood_id&&JetGood_btagCSV>0.890)>=1"
     ),
    ("MET>80", "met_pt>80"),
Ejemplo n.º 7
0
                  help="multiIsoWP?")
(options, args) = parser.parse_args()

from StopsDilepton.analysis.SetupHelpers import allChannels
from StopsDilepton.analysis.defaultAnalysis import setup, regions, bkgEstimators
setup.verbose = False
setup.analysisOutputDir = '/afs/hephy.at/data/rschoefbeck01/StopsDilepton/results/test3'
setup.parameters['metMin'] = options.metMin
setup.parameters['metSigMin'] = options.metSigMin
if options.multiIsoWP != "":
    multiIsoWPs = ['VL', 'L', 'M', 'T', 'VT']
    assert options.multiIsoWP in multiIsoWPs, "MultiIsoWP not defined. Use one of %s" % ",".join(
        multiIsoWPs)
    from StopsDilepton.tools.objectSelection import multiIsoLepString
    setup.externalCuts.append(
        multiIsoLepString(options.multiIsoWP, ('l1_index', 'l2_index')))
    setup.prefixes.append('multiIso' + options.multiIsoWP)

for e in bkgEstimators:
    e.initCache(setup.defaultCacheDir())

from StopsDilepton.samples.cmgTuples_FastSimT2tt_mAODv2_25ns_1l_postProcessed import *
from StopsDilepton.analysis.MCBasedEstimate import MCBasedEstimate
from StopsDilepton.analysis.u_float import u_float
from math import sqrt
##https://twiki.cern.ch/twiki/bin/viewauth/CMS/SUSYSignalSystematicsRun2
from StopsDilepton.tools.btagEfficiency import btagWeightNames_FS_1b, btagWeightNames_1b
from StopsDilepton.tools.localInfo import releaseLocation71XC
from StopsDilepton.tools.cardFileWriter import cardFileWriter

limitPrefix = 'flavSplit_almostAllReg'
Ejemplo n.º 8
0
setup.verbose = False
setup.parameters['metMin'] = options.metMin
setup.parameters['metSigMin'] = options.metSigMin

if options.regions == "defaultRegions": regions = defaultRegions
elif options.regions == "reducedRegionsA": regions = reducedRegionsA
elif options.regions == "reducedRegionsB": regions = reducedRegionsB
elif options.regions == "reducedRegionsAB": regions = reducedRegionsAB
else: raise Exception("Unknown regions setup")

if options.multiIsoWP != "":
    multiIsoWPs = ['VL', 'L', 'M', 'T', 'VT']
    wpMu, wpEle = options.multiIsoWP.split(',')
    from StopsDilepton.tools.objectSelection import multiIsoLepString
    setup.externalCuts.append(
        multiIsoLepString(wpMu, wpEle, ('l1_index', 'l2_index')))
    setup.prefixes.append('multiIso' + options.multiIsoWP.replace(',', ''))

if options.relIso04 > 0:
    setup.externalCuts.append("&&".join([
        "LepGood_relIso04[" + ist + "]<" + str(options.relIso04)
        for ist in ('l1_index', 'l2_index')
    ]))
    setup.prefixes.append('relIso04sm' + str(int(100 * options.relIso04)))

for e in bkgEstimators:
    e.initCache(setup.defaultCacheDir())

from StopsDilepton.samples.cmgTuples_FastSimT2tt_mAODv2_25ns_postProcessed import *
from StopsDilepton.analysis.MCBasedEstimate import MCBasedEstimate
from StopsDilepton.analysis.u_float import u_float
Ejemplo n.º 9
0
(options, args) = parser.parse_args()

from StopsDilepton.analysis.SetupHelpers import allChannels
from StopsDilepton.analysis.mcAnalysis import setup, bkgEstimators
from StopsDilepton.analysis.regions import defaultRegions, reducedRegionsA, reducedRegionsB, reducedRegionsAB

setup.parameters["metMin"] = options.metMin
setup.parameters["metSigMin"] = options.metSigMin

allRegions = set(defaultRegions + reducedRegionsA + reducedRegionsB + reducedRegionsAB)
if options.multiIsoWP != "":
    multiIsoWPs = ["VL", "L", "M", "T", "VT"]
    wpMu, wpEle = options.multiIsoWP.split(",")
    from StopsDilepton.tools.objectSelection import multiIsoLepString

    setup.externalCuts.append(multiIsoLepString(wpMu, wpEle, ("l1_index", "l2_index")))
    setup.prefixes.append("multiIso" + options.multiIsoWP.replace(",", ""))

if options.relIso04 > 0:
    setup.externalCuts.append(
        "&&".join(["LepGood_relIso04[" + ist + "]<" + str(options.relIso04) for ist in ("l1_index", "l2_index")])
    )
    setup.prefixes.append("relIso04sm" + str(int(100 * options.relIso04)))

for e in bkgEstimators:
    e.initCache(setup.defaultCacheDir())

setup.verbose = True
# from multi_estimate import multi_estimate
from StopsDilepton.analysis.MCBasedEstimate import MCBasedEstimate
from StopsDilepton.samples.cmgTuples_FastSimT2tt_mAODv2_25ns_postProcessed import *
Ejemplo n.º 10
0
#Define chains for signals and backgrounds
samples = [
    #    DY_HT_LO, TTJets_Lep, TTZ, TTXNoZ, singleTop, WJetsToLNu_HT, diBoson, triBoson, QCD_Mu5EMbcToE, T2tt_450_0
    DY_HT_LO,
    TTJets_Lep,
    TTZ,
    TTXNoZ,
    singleTop,
    diBoson,
    triBoson,
    QCD_Mu5EMbcToE
]

from StopsDilepton.tools.objectSelection import multiIsoLepString

multiIsoWP = multiIsoLepString('M', 'T', ('l1_index', 'l2_index'))
relIso04sm12Cut = "&&".join(
    ["LepGood_relIso04[" + ist + "]<0.12" for ist in ('l1_index', 'l2_index')])

cuts = [
    ("==2 leptons", "nGoodMuons+nGoodElectrons==2"),
    ("opposite sign", "isOS==1"),
    ("m(ll)>20", "dl_mass>20"),
    ("|m(ll) - mZ|>15 for SF",
     "( (isMuMu==1||isEE==1)&&abs(dl_mass-91.2)>=15 || isEMu==1 )"),
    (">=2 jets", "(Sum$(JetGood_pt>30&&abs(JetGood_eta)<2.4&&JetGood_id))>=2"),
    (">=1 b-tags (CSVv2)",
     "Sum$(JetGood_pt>30&&abs(JetGood_eta)<2.4&&JetGood_id&&JetGood_btagCSV>0.890)>=1"
     ),
    ("MET>80", "met_pt>80"),
    ("MET/sqrt(HT)>5",