From ce1b7f85f1f0b5700527bde4370428b0754766b5 Mon Sep 17 00:00:00 2001
From: Teng Jian Khoo <teng.jian.khoo@cern.ch>
Date: Tue, 13 Oct 2020 23:32:26 +0200
Subject: [PATCH] Add in HT chains

---
 .../python/TrigJetHypoToolConfig.py           |  5 +++-
 .../python/chainDict2jetLabel.py              | 17 ++++++------
 .../python/HLTMenuConfig/Menu/LS2_v1.py       |  3 +++
 .../HLTMenuConfig/Menu/SignatureDicts.py      | 26 +++----------------
 4 files changed, 20 insertions(+), 31 deletions(-)

diff --git a/Trigger/TrigHypothesis/TrigHLTJetHypo/python/TrigJetHypoToolConfig.py b/Trigger/TrigHypothesis/TrigHLTJetHypo/python/TrigJetHypoToolConfig.py
index 28a2d7923e65..87839bbb671e 100644
--- a/Trigger/TrigHypothesis/TrigHLTJetHypo/python/TrigJetHypoToolConfig.py
+++ b/Trigger/TrigHypothesis/TrigHLTJetHypo/python/TrigJetHypoToolConfig.py
@@ -82,6 +82,9 @@ def  trigJetHypoToolHelperFromDict(chain_dict):
     A Helper Tool returned by this function may be the root of a Helper
     Tool tree structure."""
 
+    from pprint import pprint
+    pprint(chain_dict)
+
     log.debug('trigJetHypoToolFromDictc chainDict %s', str(chain_dict))
 
     try:
@@ -100,7 +103,7 @@ def  trigJetHypoToolHelperFromDict(chain_dict):
     chain_name = chain_dict['chainName']
 
     toolSetter = None
-    if 'HT' in chain_name:
+    if 'agg' in chain_name:
         toolSetter=ConditionsToolSetterHT(chain_name)
     else:
         toolSetter=ConditionsToolSetterFastReduction(chain_name)
diff --git a/Trigger/TrigHypothesis/TrigHLTJetHypo/python/chainDict2jetLabel.py b/Trigger/TrigHypothesis/TrigHLTJetHypo/python/chainDict2jetLabel.py
index 41a114517011..e6ae7565ccfc 100644
--- a/Trigger/TrigHypothesis/TrigHLTJetHypo/python/chainDict2jetLabel.py
+++ b/Trigger/TrigHypothesis/TrigHLTJetHypo/python/chainDict2jetLabel.py
@@ -13,7 +13,7 @@ reject_substr = ( # noqa: W605
     '0i1',
     '1i2',
     'dphi',
-    'ht\d',)
+    'agg\d',)
 
 reject_substr_res = re.compile(r'%s' % '|'.join(reject_substr))
 
@@ -276,21 +276,22 @@ def _make_dijet_label(chain_parts):
             )""" % argvals
 
 
-def _make_ht_label(chain_parts):
-    """ht label. ht cuts, and cuts on particpating jets
+def _make_agg_label(chain_parts):
+    """agg label. cuts on aggregate quantities, and cuts on particpating jets
+    Only partway migrated from pure ht to more general agg
     Currently supported cuts:
     - all jets: ht
     - all jets: et
-    - all jets:  eta
+    - all jets: eta
 
     - default values are used for unspecified cuts.
     The cut set can be extended according to the pattern
     """
 
-    assert len(chain_parts) == 1, '_make_ht_label, no. of chain parts != 1'
+    assert len(chain_parts) == 1, '_make_agg_label, no. of chain parts != 1'
     scenario = chain_parts[0]['hypoScenario']
     
-    assert scenario.startswith('HT'), '_make_ht_label(): scenario does not start with HT'
+    assert scenario.startswith('agg'), '_make_agg_label(): scenario does not start with agg'
 
     arg_res = [
         re.compile(r'^(?P<lo>\d*)(?P<key>ht)(?P<hi>\d*)$'),
@@ -337,7 +338,7 @@ def _make_ht_label(chain_parts):
 
     print ('sent 100')
     result =  """
-    ht([(%(htlo).0fht) 
+    ht([(%(htlo).0fht)
         (%(etlo).0fet)
         (%(etalo).0feta%(etahi).0f)
     ])"""  % argvals
@@ -399,7 +400,7 @@ def chainDict2jetLabel(chain_dict):
     # suported scenarios 
     router = {
         'simple': _make_simple_label,
-        'HT': _make_ht_label,
+        'agg':   _make_agg_label,
         'vbenf': _make_vbenf_label,
         'dijet': _make_dijet_label,
         'combinationsTest': _make_combinationsTest_label,
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/LS2_v1.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/LS2_v1.py
index 9e390776d6b9..b980679fc815 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/LS2_v1.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/LS2_v1.py
@@ -240,6 +240,9 @@ def setupMenu():
 
         ChainProp(name='HLT_j0_vbenfSEP30etSEP34mass35SEP50fbet_L1J20', groups=SingleJetGroup),
 
+        ChainProp(name='HLT_j0_aggSEP1000htSEP30etSEP0eta320_L1J20', groups=SingleJetGroup),
+        ChainProp(name='HLT_j0_aggSEP500htSEP30etSEP0eta320_L1J20', groups=SingleJetGroup),
+
         # ATR-20624
         ChainProp(name='HLT_j0_perf_L1J12_EMPTY', stream=['Main'], groups=SingleJetGroup),
 
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/SignatureDicts.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/SignatureDicts.py
index 3140cc69c789..256711fee0b0 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/SignatureDicts.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/SignatureDicts.py
@@ -13,7 +13,6 @@ SliceIDDict = {
     'Electron': 'e',
     'Photon'  : 'g',
     'Jet'     : 'j',
-    'HT'      : 'ht',
     'Muon'    : 'mu',
     'Tau'     : 'tau',
     'MET'     : 'xe',
@@ -32,8 +31,7 @@ SliceIDDict = {
     'Test'          : 'TestChain',
 }
 
-AllowedSignatures = ["jet", "bjet", "ht",
-                     "electron", "photon", "egamma",
+AllowedSignatures = ["jet", "bjet",                     "electron", "photon", "egamma",
                      "muon",
                      "met",
                      "tau",
@@ -132,8 +130,9 @@ JetChainParts = {
     'hypoScenario' : ['simple', 'vbenf',
                       'vbenfSEP30etSEP34mass35SEP50fbet',
                       'dijetSEP80j1etSEP0j1eta240SEP80j2etSEP0j2eta240SEP700djmass',
-                      'HTSEP1000htSEP100etSEP0eta320',
-                      'HTSEP100htSEP10etSEP0eta320',],
+                      'aggSEP1000htSEP30etSEP0eta320',
+                      'aggSEP500htSEP30etSEP0eta320',
+                      'aggSEP100htSEP10etSEP0eta320',],
     'smc'          : ['30smcINF', '35smcINF', '40smcINF', '50smcINF', '60smcINF', 'nosmc'],
 }
 
@@ -172,21 +171,6 @@ bJetChainParts_Default = {
     'etaRange' : '0eta290',
 }
 
-#==========================================================
-# HT chains
-#==========================================================
-# ---- HT Dictionary of all allowed Values ----
-HTChainParts = deepcopy(JetChainParts)
-HTChainParts['signature']    = ['HT']
-HTChainParts['trigType']     = ['ht']
-HTChainParts['extra']     = ['j20', 'j25', 'j30', 'test4']
-
-# ---- HTDictionary of default Values ----
-HTChainParts_Default = deepcopy(JetChainParts_Default)
-HTChainParts_Default['signature']    = ['HT']
-HTChainParts_Default['trigType']     = 'ht'
-HTChainParts_Default['extra']     = ''
-
 #==========================================================
 # Muon
 #==========================================================
@@ -858,8 +842,6 @@ def getSignatureInformation(signature):
         return [JetChainParts_Default, JetChainParts]
     if signature == "Bjet":
         return [bJetChainParts_Default, JetChainParts]
-    if signature == "HT":
-        return [HTChainParts_Default, HTChainParts]
     if signature == "Tau":
         return [TauChainParts_Default, TauChainParts] 
     if (signature == "Muon"):
-- 
GitLab