From d932719cea3fea91746e9d0692e32ffa5c0495d4 Mon Sep 17 00:00:00 2001
From: Ben Carlson <ben.carlson@cern.ch>
Date: Mon, 27 Jan 2020 17:18:03 +0100
Subject: [PATCH] fixing compiler warnings

---
 .../TrigT1/TrigT1CaloFexSim/TrigT1CaloFexSim/JwoJ.h  | 12 +++++++++++-
 .../TrigT1/TrigT1CaloFexSim/src/JGTowerReader.cxx    |  2 +-
 Trigger/TrigT1/TrigT1CaloFexSim/src/METAlg.cxx       |  1 -
 3 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/Trigger/TrigT1/TrigT1CaloFexSim/TrigT1CaloFexSim/JwoJ.h b/Trigger/TrigT1/TrigT1CaloFexSim/TrigT1CaloFexSim/JwoJ.h
index a95a39275f8..238f5385349 100644
--- a/Trigger/TrigT1/TrigT1CaloFexSim/TrigT1CaloFexSim/JwoJ.h
+++ b/Trigger/TrigT1/TrigT1CaloFexSim/TrigT1CaloFexSim/JwoJ.h
@@ -26,7 +26,9 @@
  *@return @c std::vector<float>
  */
 std::vector<float> Run_JwoJ(const xAOD::JGTowerContainer* towers, const std::vector<TowerObject::Block> blocks, float rho, float pTcone_cut, bool useEtaBins, bool useNegTowers){
-  
+  /*
+    By this definition, if we set useNegTowers to true, then we will use all the towers. If we set it to false, then we veto them after pileup subtraction. 
+   */
   pTcone_cut*=Gaudi::Units::GeV;
   std::vector<float> Et_vals;
   float Ht = 0; float Htx = 0; float Hty = 0;
@@ -45,6 +47,10 @@ std::vector<float> Run_JwoJ(const xAOD::JGTowerContainer* towers, const std::vec
     
     if(useEtaBins){
       seed_Et -= rho;
+      if(!useNegTowers){
+	//If we set useNegTowers = False, then we would set all their ET = 0; This is set after pileup subtraction, which is a choice that could be studied, but seems reasonable. 
+	  if(seed_Et<0)seed_Et=0; 
+	}
       block_etx = seed_Et*TMath::Cos(block_phi);
       block_ety = seed_Et*TMath::Sin(block_phi);
 
@@ -60,6 +66,10 @@ std::vector<float> Run_JwoJ(const xAOD::JGTowerContainer* towers, const std::vec
     }else{
       if(TMath::Abs(blocks[b].Eta()) < 2.4){
 	seed_Et -= rho;
+	if(!useNegTowers){ 
+	  //If we set useNegTowers = False, then we would set all their ET = 0;
+	    if(seed_Et<0)seed_Et=0;
+	  }
 	block_etx = seed_Et*TMath::Cos(block_phi);
 	block_ety = seed_Et*TMath::Sin(block_phi);
 
diff --git a/Trigger/TrigT1/TrigT1CaloFexSim/src/JGTowerReader.cxx b/Trigger/TrigT1/TrigT1CaloFexSim/src/JGTowerReader.cxx
index e543d8124c8..0c35bfde7ae 100644
--- a/Trigger/TrigT1/TrigT1CaloFexSim/src/JGTowerReader.cxx
+++ b/Trigger/TrigT1/TrigT1CaloFexSim/src/JGTowerReader.cxx
@@ -677,7 +677,7 @@ StatusCode JGTowerReader::GFexAlg(const xAOD::JGTowerContainer* gTs){
     CHECK(METAlg::Baseline_MET(pu_sub, "gXERHO", noNoise, m_useNegTowers));
     CHECK(METAlg::Baseline_MET(gCaloTowers,"gXENOISECUT",gT_noise, m_useNegTowers));
     CHECK(METAlg::JwoJ_MET(pu_sub, puSub_gBlocks,"gXEJWOJRHO",m_pTcone_cut,false, false, m_useNegTowers));
-    CHECK(METAlg::JwoJ_MET(gTs, gBlocks, "gXEJWOJ",m_pTcone_cut,false, true, m_useNegTowers));
+    CHECK(METAlg::JwoJ_MET(gTs, gBlocks, "gXEJWOJ",m_pTcone_cut,false, true, /*m_useNegTowers*/ true));//by default, m_useNegTowers=false, but setting it = true here for consistency 
     CHECK(METAlg::Pufit_MET(gCaloTowers,"gXEPUFIT", m_useNegTowers) ); 
 
 
diff --git a/Trigger/TrigT1/TrigT1CaloFexSim/src/METAlg.cxx b/Trigger/TrigT1/TrigT1CaloFexSim/src/METAlg.cxx
index c745a2721e6..97acd868321 100644
--- a/Trigger/TrigT1/TrigT1CaloFexSim/src/METAlg.cxx
+++ b/Trigger/TrigT1/TrigT1CaloFexSim/src/METAlg.cxx
@@ -310,7 +310,6 @@ StatusCode METAlg::JwoJ_MET(const xAOD::JGTowerContainer* towers, const std::vec
   float Ey = ay*(Et_values[2])+ by*Et_values[4] + cy;
 
   float EtMiss = TMath::Sqrt(Ex*Ex + Ey*Ey);
-  float phi = 0;
 
   float mht_phi = 0;
   if(Et_values[5]>0) mht_phi = TMath::ACos(Et_values[1]/Et_values[5]);
-- 
GitLab