def theConfig(Nj, mH, isElectron = False, initFile = [], includeSignal = True,
              MVACutOverride = None):
    pars_mjj = HWW1D2FitsConfig.theConfig(Nj, mH, isElectron, [], 
                                          includeSignal, MVACutOverride)
    pars = Wjj2DFitterPars()

    pars.MCDirectory = pars_mjj.MCDirectory
    pars.DataDirectory = pars_mjj.DataDirectory
    pars.DataFile = pars_mjj.DataFile
    pars.integratedLumi = pars_mjj.integratedLumi
    pars.effToDo = pars_mjj.effToDo
    pars.leptonEffFiles = pars_mjj.leptonEffFiles
    pars.lumiPerEpoch = pars_mjj.lumiPerEpoch

    pars.isElectron = isElectron
    pars.initialParametersFile = initFile

    pars.backgrounds = pars_mjj.backgrounds
    pars.includeSignal = includeSignal
    pars.signals = pars_mjj.signals
    pars.yieldConstraints = pars_mjj.yieldConstraints
    #pars.yieldConstraints = {}
    pars.constrainShapes = []

    pars.Njets = Nj
    pars.mHiggs = mH

    modePars = mu2Pars
    if isElectron:
        flavorString = 'el'
        if Nj == 3:
            modePars = el3Pars
        else:
            modePars = el2Pars
    else:
        flavorString = 'mu'
        if Nj == 3:
            modePars = mu3Pars
        else:
            modePars = mu2Pars

    pars.btagVeto = pars_mjj.btagVeto
    
    pars.cuts = pars_mjj.cuts
    pars.cuts += '&&(%s>%.0f)&&(%s<%.0f)' % \
        (pars_mjj.var[0], pars_mjj.exclude[pars_mjj.var[0]][0],
         pars_mjj.var[0], pars_mjj.exclude[pars_mjj.var[0]][1])

    pars.dibosonFiles = pars_mjj.dibosonFiles
    pars.dibosonModels = [ modePars[mH][5]['diboson'][1] ]
 
    pars.WpJFiles = pars_mjj.WpJFiles
    pars.WpJModels = [ modePars[mH][5]['WpJ'][1] ]
    if (len(modePars[mH][5]['WpJ']) > 3):
        pars.WpJAuxModels = [ modePars[mH][5]['WpJ'][3] ]

    pars.topFiles = pars_mjj.topFiles
    pars.topModels = [ modePars[mH][5]['top'][1] ]

    # ngen = HWWSignalShapes.NgenHiggs(mH, 'ggH')
    pars.ggHFiles = pars_mjj.ggHFiles
    pars.ggHModels = [ modePars[mH][5]['ggH'][1] ]
    pars.ggHdoSystMult = False
    if pars.mHiggs >= 400:
        pars.ggHInterference = True
        pars.ggHSystMult = 'interf_ggH'

    # ngen = HWWSignalShapes.NgenHiggs(mH, 'qqH')
    pars.qqHFiles = pars_mjj.qqHFiles
    pars.qqHModels = [ modePars[mH][5]['qqH'][1] ]

    pars.QCDFiles = pars_mjj.QCDFiles
    pars.QCDModels = pars_mjj.QCDModels
    pars.QCDFracOfData = pars_mjj.QCDFracOfData

    pars.dibosonPlotting = pars_mjj.dibosonPlotting
    pars.WpJPlotting = pars_mjj.WpJPlotting
    pars.topPlotting = pars_mjj.topPlotting
    pars.ggHPlotting = pars_mjj.ggHPlotting
    pars.qqHPlotting = pars_mjj.qqHPlotting

    pars.var = ['fit_mlvjj', 'Mass2j_PFCor']
    pars.varRanges = pars_mjj.varRanges
    pars.plotRanges = pars_mjj.plotRanges
    pars.varTitles = pars_mjj.varTitles
    pars.exclude = pars_mjj.exclude
    pars.doExclude = False
    pars.blind = pars_mjj.blind

    pars.binData = pars_mjj.binData
    pars.binData = True

    return pars
예제 #2
0
def theConfig(**kwargs):
    # (Nj, mH, isElectron = False, initFile = [], includeSignal = True,
    #           MVACutOverride = None):
    print "mWW", kwargs
    pars_mjj = HWW1D2FitsConfig.theConfig(**kwargs)
    pars = Wjj2DFitterPars()

    pars.MCDirectory = pars_mjj.MCDirectory
    pars.DataDirectory = pars_mjj.DataDirectory
    pars.DataFile = pars_mjj.DataFile
    pars.integratedLumi = pars_mjj.integratedLumi
    pars.effToDo = pars_mjj.effToDo
    pars.leptonEffFiles = pars_mjj.leptonEffFiles
    pars.lumiPerEpoch = pars_mjj.lumiPerEpoch

    pars.isElectron = kwargs["isElectron"]
    if "initFile" in kwargs:
        pars.initialParametersFile = kwargs["initFile"]
    else:
        pars.inititalParametersFile = []

    pars.backgrounds = pars_mjj.backgrounds
    if "includeSignal" in kwargs:
        pars.includeSignal = kwargs["includeSignal"]
    else:
        pars.includeSignal = False
    pars.signals = pars_mjj.signals
    pars.yieldConstraints = pars_mjj.yieldConstraints
    # pars.yieldConstraints = {}
    pars.constrainShapes = []

    pars.Njets = kwargs["Nj"]
    pars.mHiggs = kwargs["mH"]

    modePars = mu2Pars
    if pars.isElectron:
        flavorString = "el"
        if pars.Njets == 3:
            modePars = el3Pars
        else:
            modePars = el2Pars
    else:
        flavorString = "mu"
        if pars.Njets == 3:
            modePars = mu3Pars
        else:
            modePars = mu2Pars

    pars.btagVeto = pars_mjj.btagVeto

    regionLow = pars_mjj.exclude[pars_mjj.var[0]][0]
    regionHigh = pars_mjj.exclude[pars_mjj.var[0]][1]
    region = "signal"
    try:
        regionLow = modePars[pars.mHiggs][6][kwargs["sideband"]][0]
        regionHigh = modePars[pars.mHiggs][6][kwargs["sideband"]][1]
        region = kwargs["sideband"]
    except KeyError:
        pass
    pars.regionLow = regionLow
    pars.regionHigh = regionHigh
    pars.region = region
    print pars_mjj.var[0], "region:", region, "(%f, %f)" % (regionLow, regionHigh)
    pars.cuts = pars_mjj.cuts
    pars.cuts += "&&(%s>%.0f)&&(%s<%.0f)" % (pars_mjj.var[0], regionLow, pars_mjj.var[0], regionHigh)

    pars.dibosonFiles = pars_mjj.dibosonFiles
    pars.dibosonModels = [modePars[pars.mHiggs][5]["diboson"][1]]

    pars.WpJFiles = pars_mjj.WpJFiles
    pars.WpJModels = [modePars[pars.mHiggs][5]["WpJ"][1]]
    if len(modePars[pars.mHiggs][5]["WpJ"]) > 3:
        pars.WpJAuxModels = [modePars[pars.mHiggs][5]["WpJ"][3]]

    pars.topFiles = pars_mjj.topFiles
    pars.topModels = [modePars[pars.mHiggs][5]["top"][1]]

    # ngen = HWWSignalShapes.NgenHiggs(pars.mHiggs, 'ggH')
    pars.ggHFiles = pars_mjj.ggHFiles
    pars.ggHModels = [modePars[pars.mHiggs][5]["ggH"][1]]
    pars.ggHdoSystMult = False
    if pars.mHiggs >= 400:
        pars.ggHInterference = True
        pars.ggHSystMult = "interf_ggH"

    # ngen = HWWSignalShapes.NgenHiggs(pars.mHiggs, 'qqH')
    pars.qqHFiles = pars_mjj.qqHFiles
    pars.qqHModels = [modePars[pars.mHiggs][5]["qqH"][1]]

    pars.QCDFiles = pars_mjj.QCDFiles
    pars.QCDModels = pars_mjj.QCDModels
    pars.QCDFracOfData = pars_mjj.QCDFracOfData

    pars.dibosonPlotting = pars_mjj.dibosonPlotting
    pars.WpJPlotting = pars_mjj.WpJPlotting
    pars.topPlotting = pars_mjj.topPlotting
    pars.ggHPlotting = pars_mjj.ggHPlotting
    pars.qqHPlotting = pars_mjj.qqHPlotting

    pars.var = ["fit_mlvjj", "Mass2j_PFCor"]
    pars.varRanges = pars_mjj.varRanges
    pars.plotRanges = pars_mjj.plotRanges
    pars.varTitles = pars_mjj.varTitles
    pars.exclude = pars_mjj.exclude
    pars.doExclude = False
    pars.blind = pars_mjj.blind

    pars.binData = pars_mjj.binData
    pars.binData = True

    return pars
def theConfig(**kwargs):
    # (Nj, mH, isElectron = False, initFile = [], includeSignal = True,
    #           MVACutOverride = None):
    pars_mjj = HWW1D2FitsConfig.theConfig(**kwargs)
    pars = Wjj2DFitterPars()

    pars.MCDirectory = pars_mjj.MCDirectory
    pars.DataDirectory = pars_mjj.DataDirectory
    pars.DataFile = pars_mjj.DataFile
    pars.integratedLumi = pars_mjj.integratedLumi
    pars.effToDo = pars_mjj.effToDo
    pars.leptonEffFiles = pars_mjj.leptonEffFiles
    pars.lumiPerEpoch = pars_mjj.lumiPerEpoch

    pars.isElectron = kwargs['isElectron']
    if ('initFile' in kwargs):
        pars.initialParametersFile = kwargs['initFile']
    else:
        pars.inititalParametersFile = []

    pars.backgrounds = pars_mjj.backgrounds
    if ('includeSignal' in kwargs):
        pars.includeSignal = kwargs['includeSignal']
    else:
        pars.includeSignal = False
    pars.signals = pars_mjj.signals
    pars.yieldConstraints = pars_mjj.yieldConstraints
    #pars.yieldConstraints = {}
    pars.constrainShapes = []

    pars.Njets = kwargs['Nj']
    pars.mHiggs = kwargs['mH']

    modePars = mu2Pars
    if pars.isElectron:
        flavorString = 'el'
        if pars.Njets == 3:
            modePars = el3Pars
        else:
            modePars = el2Pars
    else:
        flavorString = 'mu'
        if pars.Njets == 3:
            modePars = mu3Pars
        else:
            modePars = mu2Pars

    pars.btagVeto = pars_mjj.btagVeto
    
    regionLow = pars_mjj.exclude[pars_mjj.var[0]][0]
    regionHigh = pars_mjj.exclude[pars_mjj.var[0]][1]
    region = "signal"
    try:
        regionLow = modePars[pars.mHiggs][6][kwargs['sideband']][0]
        regionHigh = modePars[pars.mHiggs][6][kwargs['sideband']][1]
        region = kwargs['sideband']
    except KeyError:
        pass
    pars.regionLow = regionLow
    pars.regionHigh = regionHigh
    pars.region = region
    print pars_mjj.var[0],'region:',region,'(%f, %f)' % (regionLow, regionHigh)
    pars.cuts = pars_mjj.cuts
    pars.cuts += '&&(%s>%.0f)&&(%s<%.0f)' % \
        (pars_mjj.var[0], regionLow,
         pars_mjj.var[0], regionHigh)

    pars.dibosonFiles = pars_mjj.dibosonFiles
    pars.dibosonModels = [ modePars[pars.mHiggs][5]['diboson'][1] ]
 
    pars.WpJFiles = pars_mjj.WpJFiles
    pars.WpJModels = [ modePars[pars.mHiggs][5]['WpJ'][1] ]
    if (len(modePars[pars.mHiggs][5]['WpJ']) > 3):
        pars.WpJAuxModels = [ modePars[pars.mHiggs][5]['WpJ'][3] ]

    pars.topFiles = pars_mjj.topFiles
    pars.topModels = [ modePars[pars.mHiggs][5]['top'][1] ]

    # ngen = HWWSignalShapes.NgenHiggs(pars.mHiggs, 'ggH')
    pars.ggHFiles = pars_mjj.ggHFiles
    pars.ggHModels = [ modePars[pars.mHiggs][5]['ggH'][1] ]
    pars.ggHdoSystMult = False
    if pars.mHiggs >= 400:
        pars.ggHInterference = True
        pars.ggHSystMult = 'interf_ggH'

    # ngen = HWWSignalShapes.NgenHiggs(pars.mHiggs, 'qqH')
    pars.qqHFiles = pars_mjj.qqHFiles
    pars.qqHModels = [ modePars[pars.mHiggs][5]['qqH'][1] ]

    pars.QCDFiles = pars_mjj.QCDFiles
    pars.QCDModels = pars_mjj.QCDModels
    pars.QCDFracOfData = pars_mjj.QCDFracOfData

    pars.dibosonPlotting = pars_mjj.dibosonPlotting
    pars.WpJPlotting = pars_mjj.WpJPlotting
    pars.topPlotting = pars_mjj.topPlotting
    pars.ggHPlotting = pars_mjj.ggHPlotting
    pars.qqHPlotting = pars_mjj.qqHPlotting

    pars.var = ['fit_mlvjj', 'Mass2j_PFCor']
    pars.varRanges = pars_mjj.varRanges
    pars.plotRanges = pars_mjj.plotRanges
    pars.varTitles = pars_mjj.varTitles
    pars.exclude = pars_mjj.exclude
    pars.doExclude = False
    pars.blind = pars_mjj.blind

    pars.binData = pars_mjj.binData
    pars.binData = True

    return pars
def theConfig(Nj, mH, isElectron=False, initFile=[], includeSignal=True):
    pars_mjj = HWW1D2FitsConfig.theConfig(Nj, mH, isElectron, [],
                                          includeSignal)
    pars = Wjj2DFitterPars()

    pars.MCDirectory = pars_mjj.MCDirectory
    pars.DataDirectory = pars_mjj.DataDirectory
    pars.DataFile = pars_mjj.DataFile
    pars.integratedLumi = pars_mjj.integratedLumi
    pars.effToDo = pars_mjj.effToDo
    pars.leptonEffFiles = pars_mjj.leptonEffFiles
    pars.lumiPerEpoch = pars_mjj.lumiPerEpoch

    pars.isElectron = isElectron
    pars.initialParametersFile = initFile

    pars.backgrounds = pars_mjj.backgrounds
    pars.includeSignal = includeSignal
    pars.signals = pars_mjj.signals
    pars.yieldConstraints = pars_mjj.yieldConstraints
    #pars.yieldConstraints = {}
    pars.constrainShapes = []

    pars.Njets = Nj
    pars.mHiggs = mH

    modePars = mu2Pars
    if isElectron:
        flavorString = 'el'
        if Nj == 3:
            modePars = el3Pars
        else:
            modePars = el2Pars
    else:
        flavorString = 'mu'
        if Nj == 3:
            modePars = mu3Pars
        else:
            modePars = mu2Pars

    pars.btagVeto = pars_mjj.btagVeto

    pars.cuts = pars_mjj.cuts
    pars.cuts += '&&(%s>%.0f)&&(%s<%.0f)' % \
        (pars_mjj.var[0], pars_mjj.exclude[pars_mjj.var[0]][0],
         pars_mjj.var[0], pars_mjj.exclude[pars_mjj.var[0]][1])

    pars.dibosonFiles = pars_mjj.dibosonFiles
    pars.dibosonModels = [modePars[mH][5]['diboson'][1]]

    pars.WpJFiles = pars_mjj.WpJFiles
    pars.WpJModels = [modePars[mH][5]['WpJ'][1]]

    pars.topFiles = pars_mjj.topFiles
    pars.topModels = [modePars[mH][5]['top'][1]]

    # ngen = HWWSignalShapes.NgenHiggs(mH, 'ggH')
    pars.ggHFiles = pars_mjj.ggHFiles
    pars.ggHModels = [modePars[mH][5]['ggH'][1]]
    if pars.mHiggs >= 400:
        pars.ggHInterference = True

    # ngen = HWWSignalShapes.NgenHiggs(mH, 'qqH')
    pars.qqHFiles = pars_mjj.qqHFiles
    pars.qqHModels = [modePars[mH][5]['qqH'][1]]

    pars.QCDFiles = pars_mjj.QCDFiles
    pars.QCDModels = pars_mjj.QCDModels
    pars.QCDFracOfData = pars_mjj.QCDFracOfData

    pars.dibosonPlotting = pars_mjj.dibosonPlotting
    pars.WpJPlotting = pars_mjj.WpJPlotting
    pars.topPlotting = pars_mjj.topPlotting
    pars.ggHPlotting = pars_mjj.ggHPlotting
    pars.qqHPlotting = pars_mjj.qqHPlotting

    pars.var = ['fit_mlvjj', 'Mass2j_PFCor']
    pars.varRanges = pars_mjj.varRanges
    pars.plotRanges = pars_mjj.plotRanges
    pars.varTitles = pars_mjj.varTitles
    pars.exclude = pars_mjj.exclude
    pars.doExclude = False
    pars.blind = pars_mjj.blind

    pars.binData = pars_mjj.binData
    pars.binData = True

    return pars