From 163ef7ed1b13305012a931414eef98ee7f72ed58 Mon Sep 17 00:00:00 2001
From: Ben Carlson <ben.carlson@cern.ch>
Date: Fri, 24 Jan 2020 21:11:40 +0100
Subject: [PATCH] commit changes to keep rho

---
 .../TrigT1CaloFexSim/JGTowerReader.h          | 10 ++++-
 .../TrigT1CaloFexSim/src/JGTowerReader.cxx    | 37 +++++++++++++++++--
 2 files changed, 43 insertions(+), 4 deletions(-)

diff --git a/Trigger/TrigT1/TrigT1CaloFexSim/TrigT1CaloFexSim/JGTowerReader.h b/Trigger/TrigT1/TrigT1CaloFexSim/TrigT1CaloFexSim/JGTowerReader.h
index 5f866a88803..2b7cb03e442 100644
--- a/Trigger/TrigT1/TrigT1CaloFexSim/TrigT1CaloFexSim/JGTowerReader.h
+++ b/Trigger/TrigT1/TrigT1CaloFexSim/TrigT1CaloFexSim/JGTowerReader.h
@@ -181,7 +181,15 @@ class JGTowerReader: public ::AthAlgorithm {
   std::shared_ptr<TowerHelper> gT_helper;
 
   unsigned int m_eventCount = 0;
-  SG::AuxElement::Accessor<float>* acc_rho = new SG::AuxElement::Accessor<float>("Rho_avg");
+  SG::AuxElement::Accessor<float>* acc_rho_barrel = new SG::AuxElement::Accessor<float>("Rho_barrel");
+  SG::AuxElement::Accessor<float>* acc_rhoA = new SG::AuxElement::Accessor<float>("RhoA");
+  SG::AuxElement::Accessor<float>* acc_rhoB = new SG::AuxElement::Accessor<float>("RhoB"); 
+  SG::AuxElement::Accessor<float>* acc_rhoC = new SG::AuxElement::Accessor<float>("RhoC");
+  
+  SG::AuxElement::Accessor<float>* acc_threshA = new SG::AuxElement::Accessor<float>("ThreshA");
+  SG::AuxElement::Accessor<float>* acc_threshB = new SG::AuxElement::Accessor<float>("ThreshB");  
+  SG::AuxElement::Accessor<float>* acc_threshC = new SG::AuxElement::Accessor<float>("ThreshC");
+  
   SG::AuxElement::Accessor<float>* acc_mht = new SG::AuxElement::Accessor<float>("MHT");
   SG::AuxElement::Accessor<float>* acc_mst = new SG::AuxElement::Accessor<float>("MST");
 }; 
diff --git a/Trigger/TrigT1/TrigT1CaloFexSim/src/JGTowerReader.cxx b/Trigger/TrigT1/TrigT1CaloFexSim/src/JGTowerReader.cxx
index b1be62ac163..e543d8124c8 100644
--- a/Trigger/TrigT1/TrigT1CaloFexSim/src/JGTowerReader.cxx
+++ b/Trigger/TrigT1/TrigT1CaloFexSim/src/JGTowerReader.cxx
@@ -115,7 +115,14 @@ JGTowerReader::~JGTowerReader() {
   delete jSeeds;
   delete jJetSeeds;
   delete gSeeds;
-  delete acc_rho;
+  delete acc_rhoA; 
+  delete acc_rhoB;
+  delete acc_rhoC;
+  delete acc_rho_barrel; 
+  delete acc_threshA;
+  delete acc_threshB;
+  delete acc_threshC;
+  
   delete acc_mht;
   delete acc_mst;
 
@@ -155,7 +162,15 @@ StatusCode JGTowerReader::initialize() {
     CHECK( ReadTowerMap() );
   }
 
-  acc_rho = new SG::AuxElement::Accessor<float>("Rho");
+  acc_rhoA = new SG::AuxElement::Accessor<float>("RhoA");
+  acc_rhoB = new SG::AuxElement::Accessor<float>("RhoB");
+  acc_rhoC = new SG::AuxElement::Accessor<float>("RhoC");
+  acc_rho_barrel = new SG::AuxElement::Accessor<float>("Rho_barrel");
+  
+  acc_threshA = new SG::AuxElement::Accessor<float>("ThreshA");
+  acc_threshB = new SG::AuxElement::Accessor<float>("ThreshB");
+  acc_threshC = new SG::AuxElement::Accessor<float>("ThreshC");
+
   acc_mht = new SG::AuxElement::Accessor<float>("MHT");
   acc_mst = new SG::AuxElement::Accessor<float>("MST");
 
@@ -454,6 +469,11 @@ StatusCode JGTowerReader::GFexAlg(const xAOD::JGTowerContainer* gTs){
   xAOD::JGTowerContainer* gCaloTowers = new xAOD::JGTowerContainer();
   gCaloTowers->setStore(gCaloTowersAux);
 
+  //add container for rhoA,B,C using Run2 EnergySumRoIAux container 
+  xAOD::EnergySumRoIAuxInfo* RhoContAux = new xAOD::EnergySumRoIAuxInfo();
+  xAOD::EnergySumRoI* RhoCont = new xAOD::EnergySumRoI();
+  RhoCont->setStore(RhoContAux);
+
   for(unsigned int t = 0; t < gTs->size(); t++){
     const xAOD::JGTower* gt_em = gTs->at(t);
     const float eta = gt_em->eta();
@@ -535,6 +555,15 @@ StatusCode JGTowerReader::GFexAlg(const xAOD::JGTowerContainer* gTs){
   
   float rho_barrel = METAlg::Rho_avg(gCaloTowers, false);
 
+  (*acc_rhoA)(*RhoCont) = rhoA; 
+  (*acc_rhoB)(*RhoCont) = rhoB;
+  (*acc_rhoC)(*RhoCont) = rhoC;
+  (*acc_rho_barrel)(*RhoCont) = rho_barrel;
+  
+  (*acc_threshA)(*RhoCont) = thresh_a;
+  (*acc_threshB)(*RhoCont) = thresh_b;
+  (*acc_threshC)(*RhoCont) = thresh_c;
+
   for(unsigned int t = 0; t < gCaloTowers->size(); t++){
     const xAOD::JGTower* tower = gCaloTowers->at(t);
     const float eta = tower->eta();
@@ -662,6 +691,9 @@ StatusCode JGTowerReader::GFexAlg(const xAOD::JGTowerContainer* gTs){
   CHECK(evtStore()->record(gBs, "gBlocks"));
   CHECK(evtStore()->record(gBAux, "gBlocksAux."));
 
+  CHECK(evtStore()->record(RhoCont,"EventVariables"));
+  CHECK(evtStore()->record(RhoContAux,"EventVariablesAux."));
+
   delete h_fpga_a;
   delete h_fpga_b;
   delete h_fpga_c;
@@ -722,7 +754,6 @@ StatusCode JGTowerReader::ProcessObjects(){
     METCont->setEnergyX(met->ex); 
     METCont->setEnergyY(met->ey); 
     METCont->setEnergyT(met->et);
-    (*acc_rho)(*METCont) = met->rho;
     (*acc_mht)(*METCont) = met->mht;
     (*acc_mst)(*METCont) = met->mst;
     CHECK(evtStore()->record(METCont,Form("%s_MET",it->first.Data())));
-- 
GitLab