From e9897fb8e8a37c57dfbe49ace2c55959e23844d2 Mon Sep 17 00:00:00 2001
From: John Morris <j.d.morris@qmul.ac.uk>
Date: Wed, 11 Feb 2015 23:31:39 +0100
Subject: [PATCH] Update to work with xAODTrigL1Calo-00-00-37
 (xAODTrigL1CaloCnv-00-00-06)

	* Update to xAODTrigL1Calo-00-00-37
	* Tag as xAODTrigL1CaloCnv-00-00-06

2015-02-10 John Morris <john.morris@cern.ch>
	* Update to xAODTrigL1Calo-00-00-36
	* Tag as xAODTrigT1CaloCnv-00-00-05
---
 .../xAODTrigL1CaloCnv/src/CPMTowerCnvTool.cxx | 28 ++++++++++-----
 .../src/JEMEtSumsCnvTool.cxx                  | 36 +++++++++++++++----
 .../src/JetElementCnvTool.cxx                 | 31 ++++++++++------
 .../src/TriggerTowerCnvTool.cxx               |  6 ++--
 4 files changed, 73 insertions(+), 28 deletions(-)

diff --git a/Event/xAOD/xAODTrigL1CaloCnv/src/CPMTowerCnvTool.cxx b/Event/xAOD/xAODTrigL1CaloCnv/src/CPMTowerCnvTool.cxx
index d94a8b7eb599b..b5a5c19e7d233 100644
--- a/Event/xAOD/xAODTrigL1CaloCnv/src/CPMTowerCnvTool.cxx
+++ b/Event/xAOD/xAODTrigL1CaloCnv/src/CPMTowerCnvTool.cxx
@@ -2,7 +2,7 @@
   Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 */
 
-// $Id: CPMTowerCnvTool.cxx 576327 2013-12-19 16:08:56Z morrisj $
+// $Id: CPMTowerCnvTool.cxx 646317 2015-02-11 23:31:39Z morrisj $
 
 // EDM include(s):
 #include "TrigT1CaloEvent/CPMTowerCollection.h"
@@ -12,6 +12,17 @@
 // Local include(s):
 #include "CPMTowerCnvTool.h"
 
+namespace {
+  template <typename T>
+  std::vector<T> convertVector(const std::vector<int>& in) {
+    std::vector<T> result;
+    for(auto i : in) {
+      result.push_back(static_cast<T>(i));
+    }
+    return result;
+  }
+}
+
 namespace xAODMaker {
 
    CPMTowerCnvTool::CPMTowerCnvTool( const std::string& type,
@@ -58,13 +69,14 @@ namespace xAODMaker {
         xAOD::CPMTower* x = new xAOD::CPMTower();
         xaod->push_back( x );
         
-        x->setEmEnergyVec( (*itr)->emEnergyVec() );
-        x->setHadEnergyVec( (*itr)->hadEnergyVec() );
-        x->setEmErrorVec( (*itr)->emErrorVec() );
-        x->setHadErrorVec( (*itr)->hadErrorVec() );
-        x->setEta( (*itr)->eta() );
-        x->setPhi( (*itr)->phi() );
-        x->setPeak( (*itr)->peak() );
+        x->initialize( (float)(*itr)->eta() ,
+                       (float)(*itr)->phi() ,
+                       convertVector<uint_least8_t>((*itr)->emEnergyVec() ) ,
+                       convertVector<uint_least8_t>((*itr)->hadEnergyVec() ) ,
+                       convertVector<uint_least8_t>((*itr)->emErrorVec() ) ,
+                       convertVector<uint_least8_t>((*itr)->hadErrorVec() ) , 
+                       (uint_least8_t)(*itr)->peak() );
+
       }
       
       // Return gracefully:
diff --git a/Event/xAOD/xAODTrigL1CaloCnv/src/JEMEtSumsCnvTool.cxx b/Event/xAOD/xAODTrigL1CaloCnv/src/JEMEtSumsCnvTool.cxx
index 6394aee90b411..b1d89026295a3 100644
--- a/Event/xAOD/xAODTrigL1CaloCnv/src/JEMEtSumsCnvTool.cxx
+++ b/Event/xAOD/xAODTrigL1CaloCnv/src/JEMEtSumsCnvTool.cxx
@@ -2,7 +2,7 @@
   Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 */
 
-// $Id: JEMEtSumsCnvTool.cxx 576052 2013-12-18 09:13:50Z morrisj $
+// $Id: JEMEtSumsCnvTool.cxx 646317 2015-02-11 23:31:39Z morrisj $
 
 // EDM include(s):
 #include "TrigT1CaloEvent/JEMEtSumsCollection.h"
@@ -12,6 +12,28 @@
 // Local include(s):
 #include "JEMEtSumsCnvTool.h"
 
+namespace {
+  template <typename T>
+  std::vector<T> convertVector(const std::vector<int>& in) {
+    std::vector<T> result;
+    for(auto i : in) {
+      result.push_back(static_cast<T>(i));
+    }
+    return result;
+  }
+}
+
+namespace {
+  template <typename T>
+  std::vector<T> convertVector(const std::vector<unsigned int>& in) {
+    std::vector<T> result;
+    for(auto i : in) {
+      result.push_back(static_cast<T>(i));
+    }
+    return result;
+  }
+}
+
 namespace xAODMaker {
 
    JEMEtSumsCnvTool::JEMEtSumsCnvTool( const std::string& type,
@@ -58,12 +80,12 @@ namespace xAODMaker {
         xAOD::JEMEtSums* x = new xAOD::JEMEtSums();
         xaod->push_back( x );
         
-        x->setCrate( (*itr)->crate() );
-        x->setModule( (*itr)->module() );
-        x->setPeak( (*itr)->peak() );
-        x->setEtVec( (*itr)->EtVec() );
-        x->setExVec( (*itr)->ExVec() );
-        x->setEyVec( (*itr)->EyVec() );  
+        x->initialize( (uint_least8_t)(*itr)->crate() ,
+                       (uint_least8_t)(*itr)->module() ,
+                       convertVector<uint_least16_t>((*itr)->EtVec()) ,
+                       convertVector<uint_least16_t>((*itr)->ExVec()) ,
+                       convertVector<uint_least16_t>((*itr)->EyVec()) ,
+                       (uint_least8_t)(*itr)->peak() ); 
       }
       
       // Return gracefully:
diff --git a/Event/xAOD/xAODTrigL1CaloCnv/src/JetElementCnvTool.cxx b/Event/xAOD/xAODTrigL1CaloCnv/src/JetElementCnvTool.cxx
index b854136aad774..85a303a3fbefd 100644
--- a/Event/xAOD/xAODTrigL1CaloCnv/src/JetElementCnvTool.cxx
+++ b/Event/xAOD/xAODTrigL1CaloCnv/src/JetElementCnvTool.cxx
@@ -2,7 +2,7 @@
   Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 */
 
-// $Id: JetElementCnvTool.cxx 576052 2013-12-18 09:13:50Z morrisj $
+// $Id: JetElementCnvTool.cxx 646317 2015-02-11 23:31:39Z morrisj $
 
 // EDM include(s):
 #include "TrigT1CaloEvent/JetElementCollection.h"
@@ -12,6 +12,17 @@
 // Local include(s):
 #include "JetElementCnvTool.h"
 
+namespace {
+  template <typename T>
+  std::vector<T> convertVector(const std::vector<int>& in) {
+    std::vector<T> result;
+    for(auto i : in) {
+      result.push_back(static_cast<T>(i));
+    }
+    return result;
+  }
+}
+
 namespace xAODMaker {
 
    JetElementCnvTool::JetElementCnvTool( const std::string& type,
@@ -58,15 +69,15 @@ namespace xAODMaker {
         xAOD::JetElement* x = new xAOD::JetElement();
         xaod->push_back( x );
         
-        x->setPhi( (*itr)->phi() );
-        x->setEta( (*itr)->eta() );
-        x->setKey( (*itr)->key() );
-        x->setPeak( (*itr)->peak() );
-        x->setEmEnergyVec( (*itr)->emEnergyVec() );
-        x->setHadEnergyVec( (*itr)->hadEnergyVec() );
-        x->setEmErrorVec( (*itr)->emErrorVec() );
-        x->setHadErrorVec( (*itr)->hadErrorVec() );
-        x->setLinkErrorVec( (*itr)->linkErrorVec() );
+        x->initialize( (float)(*itr)->eta() ,
+                       (float)(*itr)->phi() ,
+                       (*itr)->key() ,
+                       convertVector<uint_least16_t>((*itr)->emEnergyVec()) ,
+                       convertVector<uint_least16_t>((*itr)->hadEnergyVec()) ,
+                       convertVector<uint_least8_t>((*itr)->emErrorVec()) ,
+                       convertVector<uint_least8_t>((*itr)->hadErrorVec()) ,
+                       convertVector<uint_least8_t>((*itr)->linkErrorVec()) ,
+                       (uint_least8_t)(*itr)->peak() );
       }
       
       // Return gracefully:
diff --git a/Event/xAOD/xAODTrigL1CaloCnv/src/TriggerTowerCnvTool.cxx b/Event/xAOD/xAODTrigL1CaloCnv/src/TriggerTowerCnvTool.cxx
index 981cbea6a645b..30a998d34aab7 100644
--- a/Event/xAOD/xAODTrigL1CaloCnv/src/TriggerTowerCnvTool.cxx
+++ b/Event/xAOD/xAODTrigL1CaloCnv/src/TriggerTowerCnvTool.cxx
@@ -2,7 +2,7 @@
   Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 */
 
-// $Id: TriggerTowerCnvTool.cxx 630277 2014-11-21 19:48:39Z vscharf $
+// $Id: TriggerTowerCnvTool.cxx 646317 2015-02-11 23:31:39Z morrisj $
 
 // EDM include(s):
 #include "TrigT1CaloEvent/TriggerTowerCollection.h"
@@ -72,7 +72,6 @@ namespace xAODMaker {
         xaod->push_back( x );
 
         x->initialize(0u, // coolId
-                      0u, // layer
                       tt->eta(), // eta
                       tt->phi(), // phi
                       convertVector<uint_least8_t>(tt->emLUT()), // lut_cp
@@ -82,6 +81,7 @@ namespace xAODMaker {
                       convertVector<uint_least8_t>(tt->emBCIDvec()), // bcidVec
                       convertVector<uint_least16_t>(tt->emADC()), // adc
                       convertVector<uint_least8_t>(tt->emBCIDext()), //bcidExt
+                      std::vector<uint_least8_t>(tt->emLUT().size(), 0u), // Sat80Vec
                       static_cast<uint_least16_t>(tt->emError()), // error
                       static_cast<uint_least8_t>(tt->emPeak()), // peak
                       static_cast<uint_least8_t>(tt->emADCPeak())); //adcPeak
@@ -91,7 +91,6 @@ namespace xAODMaker {
         xaod->push_back( x );
 
         x->initialize(0u,
-                      1u,
                       tt->eta(),
                       tt->phi(),
                       convertVector<uint_least8_t>(tt->hadLUT()),
@@ -101,6 +100,7 @@ namespace xAODMaker {
                       convertVector<uint_least8_t>(tt->hadBCIDvec()),
                       convertVector<uint_least16_t>(tt->hadADC()),
                       convertVector<uint_least8_t>(tt->hadBCIDext()),
+                      std::vector<uint_least8_t>(tt->hadLUT().size(), 0u),
                       static_cast<uint_least16_t>(tt->hadError()),
                       static_cast<uint_least8_t>(tt->hadPeak()),
                       static_cast<uint_least8_t>(tt->hadADCPeak()));
-- 
GitLab