diff --git a/Trigger/TrigMonitoring/TrigJetMonitoring/python/TrigJetMonitorAlgorithm.py b/Trigger/TrigMonitoring/TrigJetMonitoring/python/TrigJetMonitorAlgorithm.py index a4c69b02dfdcc3a3799bf416aa0af15632da58d2..1833e36604e30b6bacf34dfc3f18a31bc7e74a6d 100644 --- a/Trigger/TrigMonitoring/TrigJetMonitoring/python/TrigJetMonitorAlgorithm.py +++ b/Trigger/TrigMonitoring/TrigJetMonitoring/python/TrigJetMonitorAlgorithm.py @@ -63,7 +63,7 @@ Chains2Monitor['MT'] = { 'HLT_j45_pf_subjesgscIS_ftf_L1J15' : { 'HLTColl' : 'HLT_AntiKt4EMPFlowJets_subjesgscIS_ftf', 'RefChain' : 'NONE', 'OfflineColl' : 'NONE' }, 'HLT_j85_pf_ftf_L1J20' : { 'HLTColl' : 'HLT_AntiKt4EMPFlowJets_subjesIS_ftf', 'RefChain' : 'HLT_j45_pf_ftf_L1J15', 'OfflineColl' : 'AntiKt4EMPFlowJets' }, 'HLT_j45_pf_nojcalib_ftf_L1J15' : { 'HLTColl' : 'HLT_AntiKt4EMPFlowJets_nojcalib_ftf', 'RefChain' : 'NONE', 'OfflineColl' : 'NONE' }, - 'HLT_j45_csskpf_nojcalib_ftf_L1J15' : { 'HLTColl' : 'HLT_AntiKt4EMPFlowCSSKJets_nojcalib_ftf', 'RefChain' : 'NONE', 'OfflineColl' : 'NONE' }, + 'HLT_j45_cssk_pf_nojcalib_ftf_L1J15' : { 'HLTColl' : 'HLT_AntiKt4EMPFlowCSSKJets_nojcalib_ftf', 'RefChain' : 'NONE', 'OfflineColl' : 'NONE' }, 'HLT_10j40_pf_subresjesgscIS_ftf_L14J15' : { 'HLTColl' : 'HLT_AntiKt4EMPFlowJets_subresjesgscIS_ftf', 'RefChain' : 'NONE', 'OfflineColl' : 'NONE' }, } diff --git a/Trigger/TrigValidation/TrigAnalysisTest/share/ref_RDOtoRDOTrig_v1Dev_build.ref b/Trigger/TrigValidation/TrigAnalysisTest/share/ref_RDOtoRDOTrig_v1Dev_build.ref index 8f6556182bedf558ac142fb9a5c89037710bac4e..ba4fd8984cec3a8e928937693397f5ff8315d270 100644 --- a/Trigger/TrigValidation/TrigAnalysisTest/share/ref_RDOtoRDOTrig_v1Dev_build.ref +++ b/Trigger/TrigValidation/TrigAnalysisTest/share/ref_RDOtoRDOTrig_v1Dev_build.ref @@ -134,13 +134,13 @@ HLT_2g50_loose_L12EM20VH: 0: 2 stepFeatures: 0: 2 -HLT_2j330_a10sd_csskpf_jes_ftf_35smcINF_L1J100: +HLT_2j330_a10sd_cssk_pf_jes_ftf_35smcINF_L1J100: eventCount: 0 stepCounts: 0: 3 stepFeatures: 0: 3 -HLT_2j330_a10sd_csskpf_nojcalib_ftf_35smcINF_L1J100: +HLT_2j330_a10sd_cssk_pf_nojcalib_ftf_35smcINF_L1J100: eventCount: 0 stepCounts: 0: 3 @@ -1726,7 +1726,13 @@ HLT_j420_subresjesgscIS_ftf_L1J100: 0: 3 HLT_j45_L1J15: eventCount: 0 -HLT_j45_csskpf_nojcalib_ftf_L1J15: +HLT_j45_cssk_nojcalib_L1J15: + eventCount: 15 + stepCounts: + 0: 15 + stepFeatures: + 0: 27 +HLT_j45_cssk_pf_nojcalib_ftf_L1J15: eventCount: 17 stepCounts: 0: 20 @@ -1734,12 +1740,6 @@ HLT_j45_csskpf_nojcalib_ftf_L1J15: stepFeatures: 0: 20 1: 37 -HLT_j45_cssktc_nojcalib_L1J15: - eventCount: 15 - stepCounts: - 0: 15 - stepFeatures: - 0: 27 HLT_j45_ftf_L1J15: eventCount: 19 stepCounts: @@ -1838,7 +1838,7 @@ HLT_j45_pf_subjesgscIS_ftf_boffperf_split_L1J20: 0: 19 1: 49 2: 49 -HLT_j45_sktc_nojcalib_L1J15: +HLT_j45_sk_nojcalib_L1J15: eventCount: 15 stepCounts: 0: 15 @@ -1930,25 +1930,25 @@ HLT_j460_a10r_L1J100: eventCount: 0 HLT_j460_a10r_L1J20: eventCount: 0 -HLT_j460_a10sd_csskpf_jes_ftf_35smcINF_L1J100: +HLT_j460_a10sd_cssk_pf_jes_ftf_35smcINF_L1J100: eventCount: 0 stepCounts: 0: 3 stepFeatures: 0: 3 -HLT_j460_a10sd_csskpf_jes_ftf_L1J100: +HLT_j460_a10sd_cssk_pf_jes_ftf_L1J100: eventCount: 0 stepCounts: 0: 3 stepFeatures: 0: 3 -HLT_j460_a10sd_csskpf_nojcalib_ftf_35smcINF_L1J100: +HLT_j460_a10sd_cssk_pf_nojcalib_ftf_35smcINF_L1J100: eventCount: 0 stepCounts: 0: 3 stepFeatures: 0: 3 -HLT_j460_a10sd_csskpf_nojcalib_ftf_L1J100: +HLT_j460_a10sd_cssk_pf_nojcalib_ftf_L1J100: eventCount: 0 stepCounts: 0: 3 diff --git a/Trigger/TrigValidation/TriggerTest/share/ref_data_v1Dev_build.ref b/Trigger/TrigValidation/TriggerTest/share/ref_data_v1Dev_build.ref index 0a890b8b9c5e8986cb283434ae2ccda877e384f0..cb1ca037c665a94377ae1c82c3fe46eedcb92e5a 100644 --- a/Trigger/TrigValidation/TriggerTest/share/ref_data_v1Dev_build.ref +++ b/Trigger/TrigValidation/TriggerTest/share/ref_data_v1Dev_build.ref @@ -68,9 +68,9 @@ HLT_2g35_medium_L12EM20VH: eventCount: 0 HLT_2g50_loose_L12EM20VH: eventCount: 0 -HLT_2j330_a10sd_csskpf_jes_ftf_35smcINF_L1J100: +HLT_2j330_a10sd_cssk_pf_jes_ftf_35smcINF_L1J100: eventCount: 0 -HLT_2j330_a10sd_csskpf_nojcalib_ftf_35smcINF_L1J100: +HLT_2j330_a10sd_cssk_pf_nojcalib_ftf_35smcINF_L1J100: eventCount: 0 HLT_2j330_a10t_lcw_jes_35smcINF_L1J100: eventCount: 0 @@ -818,7 +818,13 @@ HLT_j45_L1J15: 0: 6 stepFeatures: 0: 6 -HLT_j45_csskpf_nojcalib_ftf_L1J15: +HLT_j45_cssk_nojcalib_L1J15: + eventCount: 3 + stepCounts: + 0: 3 + stepFeatures: + 0: 3 +HLT_j45_cssk_pf_nojcalib_ftf_L1J15: eventCount: 3 stepCounts: 0: 7 @@ -826,12 +832,6 @@ HLT_j45_csskpf_nojcalib_ftf_L1J15: stepFeatures: 0: 7 1: 3 -HLT_j45_cssktc_nojcalib_L1J15: - eventCount: 3 - stepCounts: - 0: 3 - stepFeatures: - 0: 3 HLT_j45_ftf_L1J15: eventCount: 7 stepCounts: @@ -928,7 +928,7 @@ HLT_j45_pf_subjesgscIS_ftf_boffperf_split_L1J20: 0: 5 1: 5 2: 5 -HLT_j45_sktc_nojcalib_L1J15: +HLT_j45_sk_nojcalib_L1J15: eventCount: 3 stepCounts: 0: 3 @@ -1018,13 +1018,13 @@ HLT_j460_a10r_L1J100: eventCount: 0 HLT_j460_a10r_L1J20: eventCount: 0 -HLT_j460_a10sd_csskpf_jes_ftf_35smcINF_L1J100: +HLT_j460_a10sd_cssk_pf_jes_ftf_35smcINF_L1J100: eventCount: 0 -HLT_j460_a10sd_csskpf_jes_ftf_L1J100: +HLT_j460_a10sd_cssk_pf_jes_ftf_L1J100: eventCount: 0 -HLT_j460_a10sd_csskpf_nojcalib_ftf_35smcINF_L1J100: +HLT_j460_a10sd_cssk_pf_nojcalib_ftf_35smcINF_L1J100: eventCount: 0 -HLT_j460_a10sd_csskpf_nojcalib_ftf_L1J100: +HLT_j460_a10sd_cssk_pf_nojcalib_ftf_L1J100: eventCount: 0 HLT_j460_a10sd_lcw_nojcalib_L1J100: eventCount: 0 diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Jet/JetChainConfiguration.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Jet/JetChainConfiguration.py index cda41f8bb6545fc8f979844ef8119e9ffa7035dc..1240e95e80e102062c71132068a957b7de9c481f 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Jet/JetChainConfiguration.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Jet/JetChainConfiguration.py @@ -114,11 +114,11 @@ class JetChainConfiguration(ChainConfigurationBase): return jetCollectionName, ChainStep(stepName, [jetSeq], multiplicity=[1], chainDicts=[self.dict]) def getJetCaloRecoChainStep(self): - stepName = "CaloRecoPTStep_jet_"+self.recoDict["calib"] + stepName = "CaloRecoPTStep_jet_"+self.recoDict["clusterCalib"] from AthenaConfiguration.AllConfigFlags import ConfigFlags from TriggerMenuMT.HLTMenuConfig.Jet.JetMenuSequences import jetCaloRecoMenuSequence jetSeq, clustersKey = RecoFragmentsPool.retrieve( jetCaloRecoMenuSequence, - ConfigFlags, clusterCalib=self.recoDict["calib"] ) + ConfigFlags, clusterCalib=self.recoDict["clusterCalib"] ) return str(clustersKey), ChainStep(stepName, [jetSeq], multiplicity=[1], chainDicts=[self.dict]) @@ -126,8 +126,9 @@ class JetChainConfiguration(ChainConfigurationBase): # Define a fixed preselection dictionary for prototyping -- we may expand the options preselRecoDict = { 'recoAlg':'a4', - 'dataType':'tc', - 'calib':'em', + 'constitType':'tc', + 'clusterCalib':'em', + 'constitMod':'', 'jetCalib':'subjesIS', 'trkopt':'notrk', 'trkpresel': 'nopresel' diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Jet/JetMenuSequences.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Jet/JetMenuSequences.py index 2215c5846f49b01355baaab8d62a042f0d70e9f9..4f7793f1efe900519b68565be608ee603a643d6c 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Jet/JetMenuSequences.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Jet/JetMenuSequences.py @@ -37,7 +37,7 @@ def jetCaloRecoSequences( configFlags, RoIs, **jetRecoDict ): # Get the topocluster reconstruction sequence from .JetRecoSequences import jetClusterSequence, jetRecoSequence topoClusterSequence, clustersKey = RecoFragmentsPool.retrieve( - jetClusterSequence, configFlags, RoIs=RoIs, clusterCalib=jetRecoDict["calib"]) + jetClusterSequence, configFlags, RoIs=RoIs, clusterCalib=jetRecoDict["clusterCalib"]) # Get the jet reconstruction sequence including the jet definition and output collection jetRecoSeq, jetsOut, jetDef = RecoFragmentsPool.retrieve( diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Jet/JetRecoConfiguration.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Jet/JetRecoConfiguration.py index 6a11c5ec9050038a4c228efb0a0def56d2956407..307b9ecf1f440f374bfee0a888a97411a9e68100 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Jet/JetRecoConfiguration.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Jet/JetRecoConfiguration.py @@ -15,12 +15,12 @@ from AthenaCommon.Logging import logging log = logging.getLogger("TriggerMenuMT.HLTMenuConfig.Jet.JetRecoConfiguration") def interpretJetCalibDefault(recoDict): - if recoDict['dataType'].endswith('tc'): + if recoDict['constitType'] == 'tc': return 'subresjesgscIS' if recoDict['trkopt'] == 'ftf' else 'subjesIS' - elif recoDict['dataType'].endswith('pf'): + elif recoDict['constitType'] == 'pf': return 'subresjesgscIS' -recoKeys = ['recoAlg','dataType','calib','jetCalib','trkopt','trkpresel'] +recoKeys = ['recoAlg','constitType','clusterCalib','constitMod','jetCalib','trkopt','trkpresel'] # Extract the jet reco dict from the chainDict def extractRecoDict(chainParts): @@ -46,7 +46,7 @@ def extractRecoDict(chainParts): # Translate the reco dict to a string for suffixing etc def jetRecoDictToString(jetRecoDict): - strtemp = "{recoAlg}_{dataType}_{calib}_{jetCalib}" + strtemp = "{recoAlg}_{constitMod}{constitType}_{clusterCalib}_{jetCalib}" if jetRecoDict["trkopt"] != "notrk": strtemp += "_{trkopt}_{trkpresel}" return strtemp.format(**jetRecoDict) @@ -57,25 +57,20 @@ def jetRecoDictFromString(jet_def_string): # Translate the definition string into an approximation # of the "recoParts" in the jet chainParts. jetRecoDict = {} - # Insert values from string - # Python names are more descriptive. May want to sync - # these names with the SignatureDict, needs coordination with - # menu group when they start to implement this - trkopt = "notrk" - trkpresel = "nopresel" - if "_ftf" in jet_def_string: - jetalg, inputtype, clusterscale, jetcalib, trkopt = jet_def_string.split('_') - else: - jetalg, inputtype, clusterscale, jetcalib = jet_def_string.split('_') - - jetRecoDict = { - "recoAlg": jetalg, - "dataType": inputtype, - "calib": clusterscale, - "jetCalib": jetcalib, - "trkopt" : trkopt, - "trkpresel": trkpresel - } + from TriggerMenuMT.HLTMenuConfig.Menu.SignatureDicts import JetChainParts,JetChainParts_Default + for key in recoKeys: + keyFound = False + for part in jet_def_string.split('_'): + if part in JetChainParts[key]: + jetRecoDict[key] = part + keyFound = True + if not keyFound: + jetRecoDict[key] = JetChainParts_Default[key] + + # set proper jetCalib key in default case + if jetRecoDict['jetCalib'] == "default": + jetRecoDict['jetCalib'] = interpretJetCalibDefault(jetRecoDict) + return jetRecoDict # Define the jet constituents to be interpreted by JetRecConfig @@ -88,7 +83,7 @@ def defineJetConstit(jetRecoDict,clustersKey=None,pfoPrefix=None): # type, mods and the input container name - if "pf" in jetRecoDict["dataType"]: + if jetRecoDict["constitType"] == "pf": if pfoPrefix is None: raise RuntimeError("JetRecoConfiguration: Cannot define PF jets without pfo prefix!") @@ -98,11 +93,11 @@ def defineJetConstit(jetRecoDict,clustersKey=None,pfoPrefix=None): constitModWithAlternateTrk("CorrectPFO", trkopt) constitMods = ["CorrectPFO"+trkopt] # apply constituent pileup suppression - if "vs" in jetRecoDict["dataType"]: + if "vs" in jetRecoDict["constitMod"]: constitMods.append("Vor") - if "cs" in jetRecoDict["dataType"]: + if "cs" in jetRecoDict["constitMod"]: constitMods.append("CS") - if "sk" in jetRecoDict["dataType"]: + if "sk" in jetRecoDict["constitMod"]: constitMods.append("SK") # Generate a new JetConstitModifier with track proterties setup according to trkopt constitModWithAlternateTrk("CHS", trkopt) # @@ -119,20 +114,20 @@ def defineJetConstit(jetRecoDict,clustersKey=None,pfoPrefix=None): jetConstit = JetConstitSeq( "HLT_EMPFlow"+modstring, xAODType.ParticleFlow, constitMods, inputname=inputPFO, outputname=pfoPrefix+modstring+"ParticleFlowObjects",label='EMPFlow'+(modstring if modstring!='CHS' else '') ) - if "tc" in jetRecoDict["dataType"]: + if jetRecoDict["constitType"] == "tc": # apply constituent pileup suppression - if "vs" in jetRecoDict["dataType"]: + if "vs" in jetRecoDict["constitMod"]: constitMods.append("Vor") - if "cs" in jetRecoDict["dataType"]: + if "cs" in jetRecoDict["constitMod"]: constitMods.append("CS") - if "sk" in jetRecoDict["dataType"]: + if "sk" in jetRecoDict["constitMod"]: constitMods.append("SK") # build a modifier identifier : modstring = ''.join(constitMods) # prepend the cluster calib state : - if jetRecoDict["calib"] == "em": + if jetRecoDict["clusterCalib"] == "em": constitMods = ["EM"] + constitMods - elif jetRecoDict["calib"] == "lcw": + elif jetRecoDict["clusterCalib"] == "lcw": constitMods = ["LC"] + constitMods jetConstit = JetConstitSeq( "HLT_"+constitMods[0]+"Topo",xAODType.CaloCluster, constitMods, inputname=clustersKey, outputname=clustersKey+modstring,label=constitMods[0]+'Topo'+modstring) @@ -221,7 +216,7 @@ def defineCalibMods(jetRecoDict,dataSource,rhoKey="auto"): if jetRecoDict["trkopt"]=="notrk" and "subres" in jetRecoDict["jetCalib"]: raise ValueError("Pileup residual calibration requested but no track source provided!") - if jetRecoDict["dataType"].endswith("tc"): + if jetRecoDict["constitType"] == "tc": calibContext,calibSeq = { ("a4","subjes"): ("TrigRun2","JetArea_EtaJES_GSC"), # Calo GSC only ("a4","subjesIS"): ("TrigRun2","JetArea_EtaJES_GSC"), # Calo GSC only @@ -237,7 +232,7 @@ def defineCalibMods(jetRecoDict,dataSource,rhoKey="auto"): gscDepth = "trackWIDTH" pvname = "HLT_IDVertex_FS" - elif jetRecoDict["dataType"].endswith("pf"): + elif jetRecoDict["constitType"] == "pf": gscDepth = "auto" if 'sd' in jetRecoDict["recoAlg"]: calibContext = "TrigSoftDrop" diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Jet/JetRecoSequences.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Jet/JetRecoSequences.py index c9bb7f3ee3b315613984e1a341f2554afe2a215e..81e99c76ae947d1e499698783f18b4aa648fdb92 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Jet/JetRecoSequences.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Jet/JetRecoSequences.py @@ -82,7 +82,7 @@ def standardJetBuildSequence( configFlags, dataSource, clustersKey, **jetRecoDic if doesTracking and not trkcolls: raise RuntimeError("Failed to retrieve track collections for trkopt '{}'".format(jetRecoDict["trkopt"])) - isPFlow = "pf" in jetRecoDict["dataType"] + isPFlow = jetRecoDict["constitType"] == "pf" # Add particle flow reconstruction if needed if isPFlow: @@ -100,8 +100,8 @@ def standardJetBuildSequence( configFlags, dataSource, clustersKey, **jetRecoDic # chosen jet collection jetsFullName = jetDef.fullname() jetsOut = recordable(jetsFullName) - doConstitMods = jetRecoDict["dataType"] in ["sktc","cssktc", "pf", "csskpf"] JetRecConfig.instantiateAliases(jetDef) + doConstitMods = jetRecoDict["constitMod"]+jetRecoDict["constitType"] in ["sktc","cssktc", "pf", "csskpf"] if doConstitMods: # Get online monitoring jet rec tool from JetRecTools import OnlineMon @@ -183,7 +183,7 @@ def standardJetRecoSequence( configFlags, dataSource, clustersKey, **jetRecoDict jetDef.modifiers = JetRecoConfiguration.defineCalibMods(jetRecoDict,dataSource,rhoKey) # If we need JVT, just rerun the JVT modifier doesTracking = jetRecoDict["trkopt"] != "notrk" - isPFlow = "pf" in jetRecoDict["dataType"] + isPFlow = jetRecoDict["constitType"] == "pf" if doesTracking: jetDef.modifiers.append("JVT:"+jetRecoDict["trkopt"]) decorList = JetRecoConfiguration.getDecorList(doesTracking,isPFlow) diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/MET/AlgConfigs.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/MET/AlgConfigs.py index 042a5f7c7dbc0172784048108b00e35ea27b5ce1..7fd4421e160aece539b9ece76761c9bbe2b161d5 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/MET/AlgConfigs.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/MET/AlgConfigs.py @@ -182,7 +182,7 @@ class MHTPufitConfig(AlgConfig): def __init__(self, **recoDict): inputs = ["Jets", "JetDef"] - if "pf" in recoDict["jetDataType"]: + if recoDict["constitType"] == "pf": inputs += ["MergedPFOs"] else: inputs += ["Clusters"] @@ -202,7 +202,7 @@ class MHTPufitConfig(AlgConfig): rhoKey = evtShapeAlg.EventDensityTool.OutputContainer else: rhoKey = "" - if "pf" in self.recoDict["jetDataType"]: + if self.recoDict["constitType"] == "pf": inputName = inputs["MergedPFOs"] else: inputName = inputs["Clusters"] diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/MET/ConfigHelpers.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/MET/ConfigHelpers.py index 0e6b550921a79dbd812d2af9b234c9f342a1ef2d..fd9a7b1d5de6a103ed17e65824d7bf687bf22fb3 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/MET/ConfigHelpers.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/MET/ConfigHelpers.py @@ -17,7 +17,7 @@ log = logging.getLogger(__name__) # The keys from the MET chain dict that directly affect reconstruction # The order here is important as it also controls the dict -> string conversion -recoKeys = ["EFrecoAlg", "calib", "jetDataType", "constitmod", "jetCalib", "addInfo"] +recoKeys = ["EFrecoAlg", "calib", "constitType", "constitmod", "jetCalib", "addInfo"] metFSRoIs = [caloFSRoI, trkFSRoI] def metRecoDictToString(recoDict, skipDefaults=True): diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/MET/METRecoSequences.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/MET/METRecoSequences.py index 38837b6787b5f54d401a7f0b87f1f91e326c25f2..65f163ab2c417c7bb1926819980ec37100cafe58 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/MET/METRecoSequences.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/MET/METRecoSequences.py @@ -39,15 +39,17 @@ log = logging.getLogger(__name__) def jetRecoDictForMET(**recoDict): """ Get a jet reco dict that's usable for the MET slice """ jrd = {k: recoDict.get(k, JetChainParts_Default[k]) for k in jetRecoKeys} - if "jetDataType" in recoDict: - # Allow for the renaming dataType -> jetDataType - jrd["dataType"] = recoDict["jetDataType"] - if jrd["dataType"] == "pf": - # We only use em calibration for PFOs - jrd["calib"] = "em" - # For various reasons, we can store the constituent modifiers separately - # to the data type, so we have to add that back in - jrd["dataType"] = recoDict.get("constitmod", "") + jrd["dataType"] + # Rename the cluster calibration + try: + jrd["clusterCalib"] = recoDict["calib"] + except KeyError: + pass + # Fill constitMod + jrd["constitMod"] = recoDict.get("constitmod", "") + # We only use em calibration for PFOs + if jrd["constitType"] == "pf": + jrd["clusterCalib"] = "em" + # Interpret jet calibration if jrd["jetCalib"] == "default": jrd["jetCalib"] = interpretJetCalibDefault(jrd) return jrd @@ -98,7 +100,7 @@ class ClusterInputConfig(AlgInputConfig): if recoDict.get("constitmod"): # Force the datatype to topoclusters recoDict = copy.copy(recoDict) - recoDict["jetDataType"] = "tc" + recoDict["constitType"] = "tc" jetRecoDict = jetRecoDictForMET(**recoDict) constit = aliasToInputDef( defineJetConstit(jetRecoDict, clustersKey=clusterName) @@ -186,7 +188,7 @@ class PFOInputConfig(AlgInputConfig): # modifiers those are also applied. recoDict = copy.copy(recoDict) # Force the jet data type to the correct thing - recoDict["jetDataType"] = "pf" + recoDict["constitType"] = "pf" jetRecoDict = jetRecoDictForMET(trkopt="ftf", **recoDict) constit = aliasToInputDef(defineJetConstit(jetRecoDict, pfoPrefix=pfoPrefix)) constit_mod_seq = getConstitModAlg(constit) @@ -301,12 +303,12 @@ class JetInputConfig(AlgInputConfig): """ Whether or not this reco configuration requires tracks """ if recoDict.get("forceTracks", False): return True - if recoDict["jetDataType"] in ["pf", "csskpf"]: + if recoDict["constitType"] == "pf": return True - elif recoDict["jetDataType"] in ["tc", "sktc", "cssktc"]: + elif recoDict["constitType"] == "tc": return "gsc" in recoDict["jetCalib"] else: - raise ValueError(f"Unexpected jetDataType {recoDict['jetDataType']}") + raise ValueError(f"Unexpected constitType {recoDict['constitType']}") def dependencies(self, recoDict): deps = [self._input_clusters(recoDict)] @@ -319,7 +321,7 @@ class JetInputConfig(AlgInputConfig): recoDict = {k: v for k, v in recoDict.items() if k != "forceTracks"} jetRecoDict = jetRecoDictForMET(trkopt=trkopt, **recoDict) # hard code to em (for now) - there are no LC jets in EDM - jetRecoDict["calib"] = "em" + jetRecoDict["clusterCalib"] = "em" # Extract the track collections part from our input dict trkcolls = {} if trkopt == "notrk" else getTrkColls(inputs) diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/LS2_v1.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/LS2_v1.py index f8dd16c5923cbc687f1c55df535f852237a2060e..e25904294e75834f762a474b64c896149dd2f95b 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/LS2_v1.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/LS2_v1.py @@ -258,10 +258,10 @@ def setupMenu(): ChainProp(name='HLT_j85_pf_ftf_L1J20', groups=SingleJetGroup), ChainProp(name='HLT_j45_nojcalib_L1J15', groups=SingleJetGroup), - ChainProp(name='HLT_j45_sktc_nojcalib_L1J15', groups=SingleJetGroup), - ChainProp(name='HLT_j45_cssktc_nojcalib_L1J15', groups=SingleJetGroup), + ChainProp(name='HLT_j45_sk_nojcalib_L1J15', groups=SingleJetGroup), + ChainProp(name='HLT_j45_cssk_nojcalib_L1J15', groups=SingleJetGroup), ChainProp(name='HLT_j45_pf_nojcalib_ftf_L1J15', groups=SingleJetGroup), - ChainProp(name='HLT_j45_csskpf_nojcalib_ftf_L1J15', groups=SingleJetGroup), + ChainProp(name='HLT_j45_cssk_pf_nojcalib_ftf_L1J15', groups=SingleJetGroup), ChainProp(name='HLT_j260_320eta490_L1J20', groups=['Online',SingleJetGroup]), @@ -272,12 +272,12 @@ def setupMenu(): ChainProp(name='HLT_2j330_a10t_lcw_nojcalib_35smcINF_L1J100', groups=SingleJetGroup), ChainProp(name='HLT_j460_a10sd_lcw_nojcalib_L1J100', groups=SingleJetGroup), ChainProp(name='HLT_j460_a10sd_pf_nojcalib_ftf_L1J100', groups=SingleJetGroup), - ChainProp(name='HLT_j460_a10sd_csskpf_nojcalib_ftf_L1J100', groups=SingleJetGroup), - ChainProp(name='HLT_j460_a10sd_csskpf_nojcalib_ftf_35smcINF_L1J100', groups=SingleJetGroup), - ChainProp(name='HLT_2j330_a10sd_csskpf_nojcalib_ftf_35smcINF_L1J100', groups=SingleJetGroup), - ChainProp(name='HLT_j460_a10sd_csskpf_jes_ftf_L1J100', groups=SingleJetGroup), - ChainProp(name='HLT_j460_a10sd_csskpf_jes_ftf_35smcINF_L1J100', groups=SingleJetGroup), - ChainProp(name='HLT_2j330_a10sd_csskpf_jes_ftf_35smcINF_L1J100', groups=SingleJetGroup), + ChainProp(name='HLT_j460_a10sd_cssk_pf_nojcalib_ftf_L1J100', groups=SingleJetGroup), + ChainProp(name='HLT_j460_a10sd_cssk_pf_nojcalib_ftf_35smcINF_L1J100', groups=SingleJetGroup), + ChainProp(name='HLT_2j330_a10sd_cssk_pf_nojcalib_ftf_35smcINF_L1J100', groups=SingleJetGroup), + ChainProp(name='HLT_j460_a10sd_cssk_pf_jes_ftf_L1J100', groups=SingleJetGroup), + ChainProp(name='HLT_j460_a10sd_cssk_pf_jes_ftf_35smcINF_L1J100', groups=SingleJetGroup), + ChainProp(name='HLT_2j330_a10sd_cssk_pf_jes_ftf_35smcINF_L1J100', groups=SingleJetGroup), ChainProp(name='HLT_j0_vbenfSEP30etSEP34mass35SEP50fbet_L1J20', groups=SingleJetGroup), ChainProp(name='HLT_j0_fbdjshared_L1J20', groups=SingleJetGroup), diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/SignatureDicts.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/SignatureDicts.py index ad097da08b9975ab722ee1c1f2bda5fbe4b3f4dd..dd4c659eb0e953a7c3ce98a03f97ff599dbd906e 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/SignatureDicts.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/SignatureDicts.py @@ -115,10 +115,12 @@ JetChainParts = { # Reco information 'recoAlg' : # Jet clustering algorithm ['a4', 'a10', 'a10r', 'a10t', 'a10sd'], - 'dataType' : # Jet input type (rename?) - ['tc','pf','sktc','cssktc','csskpf'], - 'calib' : # Topocluster calibration (change to constit mods?) + 'constitType' : # Jet input type + ['tc','pf'], # 'ufo' might be added at some point + 'clusterCalib' : # Topocluster calibration ['em', 'lcw'], + 'constitMod' : # Constituent modifiers + ['sk', 'cssk'], 'jetCalib' : # Jet calibration ['jes', 'subjes', 'subjesIS', 'subjesgscIS', 'subresjesgscIS', 'nojcalib'], 'scan' : # No longer used? @@ -182,8 +184,9 @@ JetChainParts_Default = { 'subSigs' : ['Jet'], # 'recoAlg' :'a4', - 'dataType' :'tc', - 'calib' :'em', + 'constitType' :'tc', + 'clusterCalib' :'em', + 'constitMod' :'', 'jetCalib' :'default', 'scan' :'FS', 'trkopt' : 'notrk', @@ -342,7 +345,7 @@ METChainParts = { 'jetCalib' : JetChainParts['jetCalib'], 'L2recoAlg' : [], 'EFrecoAlg' : ['cell', 'tc', 'tcpufit', 'mht', 'trkmht', 'pfsum', 'cvfpufit', 'pfopufit', 'mhtpufit'], - 'jetDataType' : JetChainParts['dataType'], + 'constitType' : JetChainParts['constitType'], 'L2muonCorr' : [], 'EFmuonCorr' : [], 'addInfo' : ['FStracks'], @@ -365,7 +368,7 @@ METChainParts_Default = { 'L2muonCorr' : '', 'EFmuonCorr' : '', 'addInfo' : '', - 'jetDataType' : 'tc', + 'constitType' : 'tc', 'constitmod' : '', 'sigFolder' : 'MET', 'subSigs' : ['MET']