From d6d9a9c31a023b54cf699fe02ef50377ff887a5b Mon Sep 17 00:00:00 2001
From: Olga Igonkina <olga.igonkina@cern.ch>
Date: Thu, 4 Oct 2018 13:49:04 +0000
Subject: [PATCH] Merge branch 'TM-3-10-18' into '21.1'

Fix for UCC triggers in HI_v5 menu

See merge request atlas/athena!14721

(cherry picked from commit ef928f8e16056d7857564f231f479c86115fa0ca)

d89794ae Fix for UCC triggers (ATLHI-204, ATR-18402)
---
 .../TrigHIHypo/python/UltraCentralHypos.py    |  8 ++++++--
 .../TrigHIHypo/src/UltraCentralHypo.cxx       | 19 +++++++++++++------
 .../TrigHIHypo/src/UltraCentralHypo.h         |  1 +
 3 files changed, 20 insertions(+), 8 deletions(-)

diff --git a/Trigger/TrigHypothesis/TrigHIHypo/python/UltraCentralHypos.py b/Trigger/TrigHypothesis/TrigHIHypo/python/UltraCentralHypos.py
index 5d9b9231ddc..a830bfd538c 100644
--- a/Trigger/TrigHypothesis/TrigHIHypo/python/UltraCentralHypos.py
+++ b/Trigger/TrigHypothesis/TrigHIHypo/python/UltraCentralHypos.py
@@ -23,6 +23,8 @@ class UltraCentral(UltraCentralHypo):
         super( UltraCentralHypo, self ).__init__( name )
         self.FcalEtLowerBound = minCut
         self.FcalEtUpperBound = maxCut
+        self.EtaMin = 3.2
+        self.isFgap = False
         self.AthenaMonTools += [UltraCentralMonitoring(name="UltraCentralMonitoring")]
 
 class UltraCentral_PT(UltraCentralHypo):
@@ -31,11 +33,13 @@ class UltraCentral_PT(UltraCentralHypo):
         super( UltraCentralHypo, self ).__init__( name )
         self.forceAccept     = True
         self.FcalEtLowerBound = 5000.
+        self.EtaMin = 3.2
+        self.isFgap = False
         self.AthenaMonTools += [UltraCentralMonitoring(name="UltraCentralMonitoring")]
 
 
-UCC_th = {"th1": UltraCentral("UCCHypo_th1", 4172*GeV, 5200*GeV), 
-          "th2": UltraCentral("UCCHypo_th2", 4326*GeV, 5200*GeV), 
+UCC_th = {"th1": UltraCentral("UCCHypo_th1", 3610*GeV, 5200*GeV), 
+          "th2": UltraCentral("UCCHypo_th2", 4080*GeV, 5200*GeV), 
           "th3": UltraCentral("UCCHypo_th3", 4500*GeV, 5200*GeV) }
 
 
diff --git a/Trigger/TrigHypothesis/TrigHIHypo/src/UltraCentralHypo.cxx b/Trigger/TrigHypothesis/TrigHIHypo/src/UltraCentralHypo.cxx
index fa3328971a3..e6e9b2dfc98 100644
--- a/Trigger/TrigHypothesis/TrigHIHypo/src/UltraCentralHypo.cxx
+++ b/Trigger/TrigHypothesis/TrigHIHypo/src/UltraCentralHypo.cxx
@@ -17,6 +17,7 @@ UltraCentralHypo::UltraCentralHypo(const std::string& name, ISvcLocator* pSvcLoc
   declareProperty("FcalEtLowerBound",     m_FcalEt_min=-1.e10, "Lower bound of passing values, negative means -inf.");
   declareProperty("EtaMin",               m_Eta_min=-3.25, "Lower bound of slice taken into calculation");
   declareProperty("EtaMax",               m_Eta_max=3.25, "Upper bound of slice taken into calculation");
+  declareProperty("isFgap",               m_isFgap=true, "Eta cuts for FGap or UCC chains");
 
 }
 
@@ -54,14 +55,20 @@ HLT::ErrorCode UltraCentralHypo::hltExecute(const HLT::TriggerElement* outputTE,
     const float Et     =  sh->et();
     const float etaMin =  sh->etaMin();
     const float etaMax =  sh->etaMax();
-    //    ATH_MSG_WARNING("ET " << Et << " etaMin " << etaMin << " etaMax " << etaMax);
+    //ATH_MSG_DEBUG("ET " << Et << " etaMin " << etaMin << " etaMax " << etaMax);
     if(Et==0) continue;
     
-    if ( etaMin < m_Eta_min ) continue;
-    if ( etaMax > m_Eta_max ) continue;
-    //    float eta=(sh->etaMin()+sh->etaMax())/2.0;
-    //    if(fabs(eta)<3.2) continue;//FCal Only
-    
+    //For Fgap chains
+    if (m_isFgap){
+		if ( etaMin < m_Eta_min ) continue;
+		if ( etaMax > m_Eta_max ) continue;
+	}
+	//For UCC chains
+	else{	
+		if ( fabs(etaMin) < m_Eta_min ) continue;
+		//float eta=(sh->etaMin()+sh->etaMax())/2.0;
+		//if(fabs(eta)<3.2) continue;//FCal Only
+    }
     m_Tot_Et+=Et;
   }
   
diff --git a/Trigger/TrigHypothesis/TrigHIHypo/src/UltraCentralHypo.h b/Trigger/TrigHypothesis/TrigHIHypo/src/UltraCentralHypo.h
index 34dc21d86c1..38c4940fc55 100644
--- a/Trigger/TrigHypothesis/TrigHIHypo/src/UltraCentralHypo.h
+++ b/Trigger/TrigHypothesis/TrigHIHypo/src/UltraCentralHypo.h
@@ -26,4 +26,5 @@ private:
   float    m_FcalEt_max;
   float    m_Eta_min;
   float    m_Eta_max;
+  bool     m_isFgap;
 };
-- 
GitLab