From f4defb98efeafef5267ca45571639ff43eb4f0d5 Mon Sep 17 00:00:00 2001
From: Catrin Bernius <catrin.bernius@cern.ch>
Date: Mon, 27 May 2019 14:04:03 +0000
Subject: [PATCH] Moving taus to TMMT, moving files used in Electron & Photon
 directories (new JO) to TMMT

---
 .../TrigUpgradeTest/share/full_menu.py        |  7 +-
 .../TrigUpgradeTest/share/runMenuTest.py      |  1 +
 .../Electron/ElectronRecoSequences.py}        |  0
 .../Electron/generateElectron.py              |  2 +-
 .../python/HLTMenuConfig/Menu/LS2_v1.py       |  5 +-
 .../Photon/PhotonRecoSequences.py}            |  2 +-
 .../HLTMenuConfig/Photon/generatePhoton.py    |  4 +-
 .../HLTMenuConfig/Tau/GenerateTauChainDefs.py | 41 +++++++++
 .../Tau/TauChainConfiguration.py              | 83 +++++++++++++++++++
 .../HLTMenuConfig/Tau/TauMenuSequences.py}    |  2 +-
 .../HLTMenuConfig/Tau/TauRecoSequences.py}    |  0
 11 files changed, 138 insertions(+), 9 deletions(-)
 rename Trigger/{TrigValidation/TrigUpgradeTest/python/ElectronMenuConfig.py => TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Electron/ElectronRecoSequences.py} (100%)
 rename Trigger/{TrigValidation/TrigUpgradeTest/python/PhotonMenuConfig.py => TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Photon/PhotonRecoSequences.py} (97%)
 create mode 100644 Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Tau/GenerateTauChainDefs.py
 create mode 100755 Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Tau/TauChainConfiguration.py
 rename Trigger/{TrigValidation/TrigUpgradeTest/python/tauMenuDefs.py => TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Tau/TauMenuSequences.py} (98%)
 rename Trigger/{TrigValidation/TrigUpgradeTest/python/tauDefs.py => TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Tau/TauRecoSequences.py} (100%)

diff --git a/Trigger/TrigValidation/TrigUpgradeTest/share/full_menu.py b/Trigger/TrigValidation/TrigUpgradeTest/share/full_menu.py
index 7432c3f9dcc..4ddb6ed8230 100644
--- a/Trigger/TrigValidation/TrigUpgradeTest/share/full_menu.py
+++ b/Trigger/TrigValidation/TrigUpgradeTest/share/full_menu.py
@@ -157,8 +157,6 @@ if opt.doJetSlice == True:
     testChains += jetChains
 
 
-
-
 ##################################################################
 # bjet chains
 ##################################################################
@@ -175,8 +173,11 @@ if opt.doBJetSlice == True:
         ]
     testChains += bjetChains
     
+##################################################################
+# tau chains
+##################################################################
 if opt.doTauSlice == True:
-  from TrigUpgradeTest.tauMenuDefs import getTauSequence
+  from TriggerMenuMT.HLTMenuConfig.Tau.TauMenuSequences import getTauSequence
   step1=ChainStep("Step1_tau", [getTauSequence('calo')])
   step2=ChainStep("Step2_tau", [getTauSequence('track_core')])
   
diff --git a/Trigger/TrigValidation/TrigUpgradeTest/share/runMenuTest.py b/Trigger/TrigValidation/TrigUpgradeTest/share/runMenuTest.py
index 6186fc09812..a8fdf603faa 100644
--- a/Trigger/TrigValidation/TrigUpgradeTest/share/runMenuTest.py
+++ b/Trigger/TrigValidation/TrigUpgradeTest/share/runMenuTest.py
@@ -17,6 +17,7 @@ def signaturesToGenerate():
     TriggerFlags.MuonSlice.setAll()
     TriggerFlags.METSlice.setAll()
     TriggerFlags.JetSlice.setAll()
+    TriggerFlags.TauSlice.setAll()
 
 
 # generate the Chains from the Menu Dictionary
diff --git a/Trigger/TrigValidation/TrigUpgradeTest/python/ElectronMenuConfig.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Electron/ElectronRecoSequences.py
similarity index 100%
rename from Trigger/TrigValidation/TrigUpgradeTest/python/ElectronMenuConfig.py
rename to Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Electron/ElectronRecoSequences.py
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Electron/generateElectron.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Electron/generateElectron.py
index 2b3424cc810..d5e7e173a14 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Electron/generateElectron.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Electron/generateElectron.py
@@ -1,6 +1,6 @@
 # Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
 
-from TrigUpgradeTest.ElectronMenuConfig import l2CaloRecoCfg, l2CaloHypoCfg
+from TriggerMenuMT.HLTMenuConfig.Electron.ElectronRecoSequences import l2CaloRecoCfg, l2CaloHypoCfg
 from TriggerMenuMT.HLTMenuConfig.Menu.MenuComponents import MenuSequence, \
     ChainStep, Chain, getChainStepName, createStepView
 
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/LS2_v1.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/LS2_v1.py
index 4154a63bc95..6cf942c9e46 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/LS2_v1.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/LS2_v1.py
@@ -91,7 +91,10 @@ def setupMenu():
         ChainProp(name="HLT_j35_gsc45_bmv2c1070_L1J20", groups=SingleBjetGroup),
     ] 
 
-    TriggerFlags.TauSlice.signatures = []
+    TriggerFlags.TauSlice.signatures = [
+        #ChainProp(name="HLT_tau0_perf_ptonly_L1TAU12", groups=SingleTauGroup),
+        #ChainProp(name="HLT_tau25_medium1_tracktwo_L1TAU12IM", groups=SingleTauGroup),
+    ]
     TriggerFlags.BphysicsSlice.signatures = [ ]
     TriggerFlags.CombinedSlice.signatures = []
     TriggerFlags.HeavyIonSlice.signatures  = []
diff --git a/Trigger/TrigValidation/TrigUpgradeTest/python/PhotonMenuConfig.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Photon/PhotonRecoSequences.py
similarity index 97%
rename from Trigger/TrigValidation/TrigUpgradeTest/python/PhotonMenuConfig.py
rename to Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Photon/PhotonRecoSequences.py
index 9ccc441059d..b8d3439a3e0 100644
--- a/Trigger/TrigValidation/TrigUpgradeTest/python/PhotonMenuConfig.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Photon/PhotonRecoSequences.py
@@ -55,7 +55,7 @@ def generatePhotonsCfg( flags ):
     l2CaloHypo.CaloClusters = 'L2CaloEMClusters'
 
 
-    from TrigUpgradeTest.ElectronMenuConfig import l2CaloRecoCfg
+    from TriggerMenuMT.HLTMenuConfig.Electron.ElectronRecoSequences import l2CaloRecoCfg
     
     
     l2CaloReco = RecoFragmentsPool.retrieve( l2CaloRecoCfg, flags )
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Photon/generatePhoton.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Photon/generatePhoton.py
index 39ad1d9a0e7..707dc57749d 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Photon/generatePhoton.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Photon/generatePhoton.py
@@ -1,7 +1,7 @@
 # Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
 
-from TrigUpgradeTest.ElectronMenuConfig import l2CaloRecoCfg, l2CaloHypoCfg
-from TrigUpgradeTest.PhotonMenuConfig import l2PhotonRecoCfg, l2PhotonHypoCfg
+from TriggerMenuMT.HLTMenuConfig.Electron.ElectronRecoSequences import l2CaloRecoCfg, l2CaloHypoCfg
+from TriggerMenuMT.HLTMenuConfig.Photon.PhotonRecoSequences import l2PhotonRecoCfg, l2PhotonHypoCfg
 from TriggerMenuMT.HLTMenuConfig.Menu.MenuComponents import MenuSequence, \
     ChainStep, Chain, getChainStepName, createStepView
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Tau/GenerateTauChainDefs.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Tau/GenerateTauChainDefs.py
new file mode 100644
index 00000000000..7089a09c2f3
--- /dev/null
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Tau/GenerateTauChainDefs.py
@@ -0,0 +1,41 @@
+# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+
+###########################################################################
+# SliceDef file for Muon chains
+###########################################################################
+
+from AthenaCommon.Logging import logging
+log = logging.getLogger( 'TriggerMenuMT.HLTMenuConfig.Muon.generateChainConfigs' )
+logging.getLogger().info("Importing %s",__name__)
+
+from TriggerMenuMT.HLTMenuConfig.Menu.ChainDictTools import splitChainDict
+from TriggerMenuMT.HLTMenuConfig.Tau.TauChainConfiguration import TauChainConfiguration as TauChainConfiguration
+
+
+
+def generateChainConfigs(chainDict):
+    
+    listOfChainDicts = splitChainDict(chainDict)
+    listOfChainDefs=[]
+
+    for subChainDict in listOfChainDicts:
+        
+        Tau = TauChainConfiguration(subChainDict).assembleChain() 
+
+        listOfChainDefs += [Tau]
+        log.debug('length of chaindefs %s', len(listOfChainDefs) )
+        
+
+    if len(listOfChainDefs)>1:
+        log.warning("Implement case for multi-electron chain!!") 
+        theChainDef = listOfChainDefs[0] #needs to be implemented properly
+    else:
+        theChainDef = listOfChainDefs[0]
+
+    log.debug("theChainDef.name: %s" , theChainDef.name)
+    log.debug("theChainDef.seed: %s" , theChainDef.seed)
+    log.debug("theChainDef.ChainSteps: %s" , theChainDef.steps)
+
+    return theChainDef
+
+
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Tau/TauChainConfiguration.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Tau/TauChainConfiguration.py
new file mode 100755
index 00000000000..0c218f49c8b
--- /dev/null
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Tau/TauChainConfiguration.py
@@ -0,0 +1,83 @@
+# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+
+########################################################################
+#
+# SliceDef file for muon chains/signatures
+#
+#########################################################################
+from AthenaCommon.Logging import logging
+logging.getLogger().info("Importing %s",__name__)
+log = logging.getLogger("TriggerMenuMT.HLTMenuConfig.Tau.TauChainConfiguration")
+
+from TriggerMenuMT.HLTMenuConfig.Menu.ChainConfigurationBase import ChainConfigurationBase, RecoFragmentsPool
+from TriggerMenuMT.HLTMenuConfig.Menu.MenuComponents import ChainStep
+
+from TriggerMenuMT.HLTMenuConfig.Tau.TauMenuSequences import tauCaloMenuSequence, tauCoreTrackSequence
+
+from TrigUpgradeTest.InDetSetup import inDetSetup
+
+#--------------------------------------------------------
+# fragments generating config will be functions in new JO
+#--------------------------------------------------------
+def getTauCaloCfg(flags):
+    return tauCaloMenuSequence("Tau")
+
+def getTauCoreTrackCfg(flags):
+    return tauCoreTrackSequence()
+
+
+############################################# 
+###  Class/function to configure muon chains 
+#############################################
+
+class TauChainConfiguration(ChainConfigurationBase):
+
+    def __init__(self, chainDict):
+        ChainConfigurationBase.__init__(self,chainDict)
+        
+    # ----------------------
+    # Assemble the chain depending on information from chainName
+    # ----------------------
+    def assembleChain(self):                            
+        chainSteps = []
+        log.debug("Assembling chain for " + self.chainName)
+
+        # Calling inDetSetup here 
+        inDetSetup()
+
+        # --------------------
+        # define here the names of the steps and obtain the chainStep configuration 
+        # --------------------
+        stepDictionary = {
+            "ptonly":[self.getCaloSeq(), self.getTrackCore()],
+            "tracktwo":[self.getCaloSeq(), self.getTrackCore()],
+        }
+
+        # this should be extended by the signature expert to make full use of the dictionary!
+        key = self.chainPart['preselection']
+        steps=stepDictionary[key]
+        for step in steps:
+            chainSteps+=[step]
+    
+        myChain = self.buildChain(chainSteps)
+        return myChain
+
+
+    # --------------------
+    def getCaloSeq(self):
+        stepName = 'Step1_tau'
+        log.debug("Configuring step " + stepName)
+        tauSeq = RecoFragmentsPool.retrieve( getTauCaloCfg, None)
+        return ChainStep(stepName, [tauSeq])
+        
+    # --------------------
+    def getTrackCore(self):
+        stepName = 'Step2_tau'
+        log.debug("Configuring step " + stepName)
+        tauSeq = RecoFragmentsPool.retrieve( getTauCoreTrackCfg, None)
+        return ChainStep(stepName, [tauSeq])
+        
+    # --------------------
+
+
+
diff --git a/Trigger/TrigValidation/TrigUpgradeTest/python/tauMenuDefs.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Tau/TauMenuSequences.py
similarity index 98%
rename from Trigger/TrigValidation/TrigUpgradeTest/python/tauMenuDefs.py
rename to Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Tau/TauMenuSequences.py
index d65b0b2637b..ee17c680ea1 100644
--- a/Trigger/TrigValidation/TrigUpgradeTest/python/tauMenuDefs.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Tau/TauMenuSequences.py
@@ -9,7 +9,7 @@ from AthenaConfiguration.AllConfigFlags import ConfigFlags
 from TriggerMenuMT.HLTMenuConfig.Menu.MenuComponents import MenuSequence, RecoFragmentsPool
 from AthenaCommon.CFElements import parOR, seqAND
 from ViewAlgs.ViewAlgsConf import EventViewCreatorAlgorithm
-from TrigUpgradeTest.tauDefs import tauCaloSequence
+from TriggerMenuMT.HLTMenuConfig.Tau.TauRecoSequences import tauCaloSequence
 
 
 # ====================================================================================================  
diff --git a/Trigger/TrigValidation/TrigUpgradeTest/python/tauDefs.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Tau/TauRecoSequences.py
similarity index 100%
rename from Trigger/TrigValidation/TrigUpgradeTest/python/tauDefs.py
rename to Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Tau/TauRecoSequences.py
-- 
GitLab