From ce88c47df7b590ff4f8ebe9b3176d01b1839a3d8 Mon Sep 17 00:00:00 2001 From: Christian Weber <ChristianTMWeber@gmal.com> Date: Tue, 19 Jul 2022 16:14:47 -0700 Subject: [PATCH] limitsetting - update mechanism to select signal physics process Can now also use generic 'signal' --- limitSetting/limitSetting.py | 37 +++++++++++++++++++++++++++++++++--- 1 file changed, 34 insertions(+), 3 deletions(-) diff --git a/limitSetting/limitSetting.py b/limitSetting/limitSetting.py index f7e2d5e..4bb80a2 100644 --- a/limitSetting/limitSetting.py +++ b/limitSetting/limitSetting.py @@ -787,6 +787,33 @@ def setupHistofactoryData(TH1): return dataObj + +def selectSignal( signalTag , physicsProcessList): + + def matchFunction(tag): + + rePattern = re.compile(tag) + + matchList = filter(rePattern.search, physicsProcessList) # Read Note below + + if not isinstance(matchList, list): matchList = [item for item in matchList] + + if len(matchList)>0: return matchList[0] + else: return None + + + signalSampleExact = matchFunction(signalTag) + + if signalSampleExact is None: signalSampleExact = matchFunction("signal") + + # selection via difflib + #signalSampleExact = difflib.get_close_matches( signalSample , masterDict[region].keys())[0] + + + + return signalSampleExact + + if __name__ == '__main__': parser = argparse.ArgumentParser() @@ -918,9 +945,13 @@ if __name__ == '__main__': templatePaths = {} # Prep signal sample locations - signalSample = "ZZd %iGeV" %( massPoint ) - signalSampleExact = difflib.get_close_matches( signalSample , masterDict[region].keys())[0] - templatePaths["Signal"] = getFullTDirPath(masterDict, region, signalSampleExact , "Nominal", flavor) # region+"/ZZd, m_{Zd} = 35GeV/Nominal/"+flavor+"/ZXSR_ZZd, m_{Zd} = 35GeV_Nominal_All" + signalSampleTag = "ZZd\D+%iGeV" %( massPoint ) + + signalSample = selectSignal( signalSampleTag , masterDict[region].keys()) + + + + templatePaths["Signal"] = getFullTDirPath(masterDict, region, signalSample , "Nominal", flavor) # region+"/ZZd, m_{Zd} = 35GeV/Nominal/"+flavor+"/ZXSR_ZZd, m_{Zd} = 35GeV_Nominal_All" templatePaths["ZZ"] = getFullTDirPath(masterDict, region, "ZZ" , "Nominal", flavor) templatePaths["H4l"] = getFullTDirPath(masterDict, region, "H4l" , "Nominal", flavor) -- GitLab