diff --git a/Trigger/TrigValidation/TrigAnalysisTest/share/ref_RDOtoRDOTrig_mt1_build.ref b/Trigger/TrigValidation/TrigAnalysisTest/share/ref_RDOtoRDOTrig_mt1_build.ref index d2eddab6fd0da28c4a073890fd14a6e92fb24353..26771b164e7aec5ca975baaf58ee73403ad62d34 100644 --- a/Trigger/TrigValidation/TrigAnalysisTest/share/ref_RDOtoRDOTrig_mt1_build.ref +++ b/Trigger/TrigValidation/TrigAnalysisTest/share/ref_RDOtoRDOTrig_mt1_build.ref @@ -198,10 +198,10 @@ TrigSignatureMoniMT INFO -- #3341539267 Events TrigSignatureMoniMT INFO -- #3341539267 Features 51 - - - - TrigSignatureMoniMT INFO HLT_j45_ftf_subjesgscIS_bmv2c1070_split_L1J20 #991419339 TrigSignatureMoniMT INFO -- #991419339 Events 19 19 19 19 19 - - 19 -TrigSignatureMoniMT INFO -- #991419339 Features 51 50 50 - - +TrigSignatureMoniMT INFO -- #991419339 Features 50 50 50 - - TrigSignatureMoniMT INFO HLT_j45_ftf_subjesgscIS_boffperf_split_L1J20 #1961149049 TrigSignatureMoniMT INFO -- #1961149049 Events 19 19 19 19 19 - - 19 -TrigSignatureMoniMT INFO -- #1961149049 Features 51 50 50 - - +TrigSignatureMoniMT INFO -- #1961149049 Features 50 50 50 - - TrigSignatureMoniMT INFO HLT_j45_ftf_subjesgscIS_pf_L1J20 #761060030 TrigSignatureMoniMT INFO -- #761060030 Events 19 19 16 - - - - 16 TrigSignatureMoniMT INFO -- #761060030 Features 33 - - - - diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/DictFromChainName.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/DictFromChainName.py index a672a800613abaae0f57696ef1a64f632da8c344..bd60349da4cda741d750c1d0ede885a6cffd4990 100755 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/DictFromChainName.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/DictFromChainName.py @@ -362,6 +362,23 @@ def analyseChainName(chainName, L1thresholds, L1item): chainProperties[prop] = part matchedparts.append(part) + # ----- at this point we can figure out if the chain is a bJet chain and update defaults accordingly + if chainProperties['signature']=='Jet' and chainProperties['bTag'] != '': + log.debug('Setting b-jet chain defaults') + # b-jet chain, so we now use the bJet defaults if they have not already been overriden + bJetDefaultValues, allowedbJetPropertiesAndValues = getSignatureInformation('Bjet') + for prop, value in bJetDefaultValues.items(): + propSet=False + for value in allowedbJetPropertiesAndValues[prop]: + if value in matchedparts: + propSet=True + break + + # if the property was not set already, then set if according to the b-jet defaults + if propSet is False: + log.debug('Changing %s from %s to %s', prop, str(chainProperties[prop]), str(bJetDefaultValues[prop])) + chainProperties[prop] = bJetDefaultValues[prop] + log.debug("matched parts %s", matchedparts) leftoverparts = set(parts)-set(matchedparts) log.debug('leftoverparts %s', leftoverparts) diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/SignatureDicts.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/SignatureDicts.py index 56056753392cfe34864492ca22cc3124cf39a943..76daed940085892de3e31d9add62c2c9ae6abd3b 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/SignatureDicts.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/SignatureDicts.py @@ -92,7 +92,7 @@ JetChainParts = { 'chainPartName': '', 'threshold' : '', 'multiplicity' : '', - 'etaRange' : ['0eta320', '320eta490', '0eta240'], + 'etaRange' : ['0eta320', '320eta490', '0eta240', '0eta290'], 'jvt' : ['011jvt', '015jvt', '059jvt'], # May need to reinstate in the event that preselection is # needed before running tracking @@ -155,6 +155,11 @@ JetChainParts_Default = { 'smc' : 'nosmc', } +# ---- bJet Dictionary of default Values that are different to the ones for normal jet chains ---- +bJetChainParts_Default = { + 'etaRange' : '0eta290', +} + #========================================================== # HT chains #========================================================== @@ -759,8 +764,8 @@ def getSignatureNameFromToken(chainpart): theMatchingTokens = [] reverseSliceIDDict = dict([(value, key) for key, value in six.iteritems (SliceIDDict)]) #reversed SliceIDDict for sig,token in SliceIDDict.items(): - if (token in chainpart): - theMatchingTokens += [token] + if (token in chainpart): + theMatchingTokens += [token] theToken = max(theMatchingTokens, key=len) # gets the longest string in t if len(theMatchingTokens)>0: if len(theMatchingTokens)>1: @@ -781,6 +786,8 @@ def getSignatureInformation(signature): return [PhotonChainParts_Default, PhotonChainParts] if signature == "Jet": return [JetChainParts_Default, JetChainParts] + if signature == "Bjet": + return [bJetChainParts_Default, JetChainParts] if signature == "HT": return [HTChainParts_Default, HTChainParts] if signature == "Tau":