def getSystDict(cardFnames, region, sig = "", lep = "lep", uncert = "default"): yields = {} for cardFname in cardFnames: binname = os.path.basename(cardFname) binname = binname.replace('.merge.root','') tfile = TFile(cardFname,"READ") if 'Scan' in sig: sampleDict = getScanYieldDict(tfile, sig ,region, lep) if type(uncert) == float: sampleDict.update({key: ( uncert, 0) for key in sampleDict.keys() } ) yields[binname] = sampleDict else: tfile.cd(region) dirList = gDirectory.GetListOfKeys() sourceYield = {} for k1 in dirList: h1 = k1.ReadObj().GetName() (yd, yerr) = getYield(tfile, h1, region, (lep,'sele')) if type(uncert) == float: sourceYield[h1] = (uncert , 0) yields[binname] = sourceYield return yields
def getSystDict(cardFnames, region, sig="", lep="lep", uncert="default"): yields = {} for cardFname in cardFnames: binname = os.path.basename(cardFname) binname = binname.replace('.merge.root', '') tfile = TFile(cardFname, "READ") if 'Scan' in sig: sampleDict = getScanYieldDict(tfile, sig, region, lep) if type(uncert) == float: sampleDict.update( {key: (uncert, 0) for key in sampleDict.keys()}) yields[binname] = sampleDict else: tfile.cd(region) dirList = gDirectory.GetListOfKeys() sourceYield = {} for k1 in dirList: h1 = k1.ReadObj().GetName() (yd, yerr) = getYield(tfile, h1, region, (lep, 'sele')) if type(uncert) == float: sourceYield[h1] = (uncert, 0) yields[binname] = sourceYield return yields
def getYieldDict(cardFnames, region, sig = "", lep = "lep"): print "getting dict", sig yields = {} for cardFname in cardFnames: binname = os.path.basename(cardFname) binname = binname.replace('.merge.root','') tfile = TFile(cardFname,"READ") if 'Scan' in sig: yields[binname] = getScanYieldDict(tfile, sig ,region, lep) else: tfile.cd(region) dirList = gDirectory.GetListOfKeys() sourceYield = {} for k1 in dirList: print k1, k1.ReadObj().GetName() if 'Name' in k1.ReadObj().GetName() or 'name' in k1.ReadObj().GetName(): continue h1 = k1.ReadObj().GetName() (yd, yerr) = getYield(tfile, h1, region, (lep,'sele')) if 'dummy' in sig: sourceYield[h1] = (0.3, 0) else: sourceYield[h1] = (yd, yerr) yields[binname] = sourceYield return yields
def getYieldDict(cardFnames, region, sig="", lep="lep"): print "getting dict", sig yields = {} for cardFname in cardFnames: binname = os.path.basename(cardFname) binname = binname.replace('.merge.root', '') tfile = TFile(cardFname, "READ") if 'Scan' in sig: yields[binname] = getScanYieldDict(tfile, sig, region, lep) else: tfile.cd(region) dirList = gDirectory.GetListOfKeys() sourceYield = {} for k1 in dirList: print k1, k1.ReadObj().GetName() if 'Name' in k1.ReadObj().GetName() or 'name' in k1.ReadObj( ).GetName(): continue h1 = k1.ReadObj().GetName() (yd, yerr) = getYield(tfile, h1, region, (lep, 'sele')) if 'dummy' in sig: sourceYield[h1] = (0.3, 0) else: sourceYield[h1] = (yd, yerr) yields[binname] = sourceYield return yields