diff --git a/Event/xAOD/xAODTrigL1Calo/CMakeLists.txt b/Event/xAOD/xAODTrigL1Calo/CMakeLists.txt
new file mode 100644
index 0000000000000000000000000000000000000000..6e8b57d76fb4d530d3ff6ac4b5920cb28a023252
--- /dev/null
+++ b/Event/xAOD/xAODTrigL1Calo/CMakeLists.txt
@@ -0,0 +1,34 @@
+################################################################################
+# Package: xAODTrigL1Calo
+################################################################################
+
+# Declare the package name:
+atlas_subdir( xAODTrigL1Calo )
+
+# Declare the package's dependencies:
+atlas_depends_on_subdirs( PUBLIC
+                          Control/AthContainers
+                          Control/CxxUtils
+                          Event/xAOD/xAODBase
+                          Event/xAOD/xAODCore
+                          PRIVATE
+                          Control/AthLinks )
+
+# External dependencies:
+find_package( ROOT COMPONENTS Physics Core Tree MathCore Hist RIO pthread )
+
+# Component(s) in the package:
+atlas_add_library( xAODTrigL1Calo
+                   Root/*.cxx
+                   PUBLIC_HEADERS xAODTrigL1Calo
+                   PRIVATE_INCLUDE_DIRS ${ROOT_INCLUDE_DIRS}
+                   LINK_LIBRARIES AthContainers CxxUtils xAODBase xAODCore
+                   PRIVATE_LINK_LIBRARIES ${ROOT_LIBRARIES} AthLinks )
+
+atlas_add_dictionary( xAODTrigL1CaloDict
+                      xAODTrigL1Calo/xAODTrigL1CaloDict.h
+                      xAODTrigL1Calo/selection.xml
+                      INCLUDE_DIRS ${ROOT_INCLUDE_DIRS}
+                      LINK_LIBRARIES ${ROOT_LIBRARIES} AthContainers CxxUtils xAODBase xAODCore AthLinks xAODTrigL1Calo
+                      EXTRA_FILES Root/dict/*.cxx )
+
diff --git a/Event/xAOD/xAODTrigL1Calo/Root/CMXRoI_v1.cxx b/Event/xAOD/xAODTrigL1Calo/Root/CMXRoI_v1.cxx
index 154f61401fe222acdbd6386253f36f31807125c5..1eb61e39679f94e403cfb781a60a54c2860138e2 100644
--- a/Event/xAOD/xAODTrigL1Calo/Root/CMXRoI_v1.cxx
+++ b/Event/xAOD/xAODTrigL1Calo/Root/CMXRoI_v1.cxx
@@ -2,7 +2,7 @@
   Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 */
 
-// $Id: CMXRoI_v1.cxx 681007 2015-07-07 13:34:12Z morrisj $
+// $Id: CMXRoI_v1.cxx 723918 2016-02-15 07:52:49Z amazurov $
 
 // System include(s):
 #include <cmath>
@@ -13,155 +13,140 @@
 // Local include(s):
 #include "xAODTrigL1Calo/versions/CMXRoI_v1.h"
 
-namespace xAOD{ 
-  
-  CMXRoI_v1::CMXRoI_v1() :
-    SG::AuxElement()
-  {        
-  }  
-  
-  AUXSTORE_OBJECT_SETTER_AND_GETTER( CMXRoI_v1 , std::vector<uint32_t> , cmxRoIWords , setCmxRoIWords )
-  
-  /// initialize
-  void CMXRoI_v1::initialize(uint32_t roiWord0, uint32_t roiWord1, uint32_t roiWord2,
-                             uint32_t roiWord3, uint32_t roiWord4, uint32_t roiWord5)
-  {
-    std::vector<uint32_t> myRoIWords(s_maxRoiWords);
-    myRoIWords[0] = roiWord0;
-    myRoIWords[1] = roiWord1;
-    myRoIWords[2] = roiWord2;
-    myRoIWords[3] = roiWord3;
-    myRoIWords[4] = roiWord4;
-    myRoIWords[5] = roiWord5;
-    setCmxRoIWords( myRoIWords );
-  }
-
-  /// initialize
-  void CMXRoI_v1::initialize(unsigned int ex, unsigned int ey, unsigned int et,
-                          int exError, int eyError, int etError,
-                          unsigned int sumEtHits, unsigned int missingEtHits,
-                          unsigned int missingEtSigHits,
-                          unsigned int exM, unsigned int eyM, unsigned int etM,
-                          int exErrorM, int eyErrorM, int etErrorM,
-                          unsigned int sumEtHitsM, unsigned int missingEtHitsM)
-  {
-    std::vector<uint32_t> myRoIWords(s_maxRoiWords);
-    
-    int type = NORMAL;
-    int ix   = s_exOffset + type;
-    myRoIWords[ix]  =  s_wordIdVal0                  << s_wordIdBit;
-    myRoIWords[ix] |=  type                          << s_sumTypeBit;
-    myRoIWords[ix] |= (ex & s_energyMask)            << s_energyBit;
-    myRoIWords[ix] |= (exError & s_overflowMask)     << s_overflowBit;
-    myRoIWords[ix] |= (missingEtSigHits & s_missingEtSigHitsMask)
-                                                    << s_missingEtSigHitsBit;
-    type = MASKED;
-    ix   = s_exOffset + type;
-    myRoIWords[ix]  =  s_wordIdVal0                  << s_wordIdBit;
-    myRoIWords[ix] |=  type                          << s_sumTypeBit;
-    myRoIWords[ix] |= (exM & s_energyMask)           << s_energyBit;
-    myRoIWords[ix] |= (exErrorM & s_overflowMask)    << s_overflowBit;
-
-    type = NORMAL;
-    ix   = s_eyOffset + type;
-    myRoIWords[ix]  =  s_wordIdVal1                  << s_wordIdBit;
-    myRoIWords[ix] |=  type                          << s_sumTypeBit;
-    myRoIWords[ix] |= (ey & s_energyMask)            << s_energyBit;
-    myRoIWords[ix] |= (eyError & s_overflowMask)     << s_overflowBit;
-    myRoIWords[ix] |= (missingEtHits & s_missingEtHitsMask)
-                                                    << s_missingEtHitsBit;
-    type = MASKED;
-    ix   = s_eyOffset + type;
-    myRoIWords[ix]  =  s_wordIdVal1                  << s_wordIdBit;
-    myRoIWords[ix] |=  type                          << s_sumTypeBit;
-    myRoIWords[ix] |= (eyM & s_energyMask)           << s_energyBit;
-    myRoIWords[ix] |= (eyErrorM & s_overflowMask)    << s_overflowBit;
-    myRoIWords[ix] |= (missingEtHitsM & s_missingEtHitsMask)
-                                                    << s_missingEtHitsBit;
-    type = NORMAL;
-    ix   = s_etOffset + type;
-    myRoIWords[ix]  =  s_wordIdVal2                  << s_wordIdBit;
-    myRoIWords[ix] |=  type                          << s_sumTypeBit;
-    myRoIWords[ix] |= (et & s_energyMask)            << s_energyBit;
-    myRoIWords[ix] |= (etError & s_overflowMask)     << s_overflowBit;
-    myRoIWords[ix] |= (sumEtHits & s_sumEtHitsMask)  << s_sumEtHitsBit;
-
-    type = MASKED;
-    ix   = s_etOffset + type;
-    myRoIWords[ix]  =  s_wordIdVal2                  << s_wordIdBit;
-    myRoIWords[ix] |=  type                          << s_sumTypeBit;
-    myRoIWords[ix] |= (etM & s_energyMask)           << s_energyBit;
-    myRoIWords[ix] |= (etErrorM & s_overflowMask)    << s_overflowBit;
-    myRoIWords[ix] |= (sumEtHitsM & s_sumEtHitsMask) << s_sumEtHitsBit;    
-    
-    setCmxRoIWords( myRoIWords );
-  }
-
-  /// Return Ex
-  unsigned int CMXRoI_v1::ex(SumType type)            const
-  {
-    return (cmxRoIWords()[s_eyOffset+type] >> s_energyBit ) & s_energyMask;
-  }
-  /// Return Ey
-  unsigned int CMXRoI_v1::ey(SumType type)            const
-  {
-    return (cmxRoIWords()[s_eyOffset+type] >> s_energyBit) & s_energyMask;
-  }
-  /// Return Et
-  unsigned int CMXRoI_v1::et(SumType type)            const
-  {
-    return (cmxRoIWords()[s_etOffset+type] >> s_energyBit) & s_energyMask;
-  }
-  /// Return Ex error flags (bit 0 Overflow)
-  int CMXRoI_v1::exError(SumType type)                const
-  {
-    return (cmxRoIWords()[s_exOffset+type] >> s_overflowBit) & s_overflowMask;
-  }
-  /// Return Ey error flags (bit 0 Overflow)
-  int CMXRoI_v1::eyError(SumType type)                const
-  {
-    return (cmxRoIWords()[s_eyOffset+type] >> s_overflowBit) & s_overflowMask;
-  }
-  /// Return Et error flags (bit 0 Overflow)
-  int CMXRoI_v1::etError(SumType type)                const
-  {
-    return (cmxRoIWords()[s_etOffset+type] >> s_overflowBit) & s_overflowMask;
-  }
-  /// Return Sum-ET hits
-  unsigned int CMXRoI_v1::sumEtHits(SumType type)     const
-  {
-    return (cmxRoIWords()[s_etOffset+type] >> s_sumEtHitsBit) & s_sumEtHitsMask;
-  }
-  /// Return Missing-ET hits
-  unsigned int CMXRoI_v1::missingEtHits(SumType type) const
-  {
-    return (cmxRoIWords()[s_eyOffset+type] >> s_missingEtHitsBit) & s_missingEtHitsMask;
-  }
-  /// Return Missing-ET-Sig hits
-  unsigned int CMXRoI_v1::missingEtSigHits()                   const
-  {
-    return (cmxRoIWords()[s_exOffset+NORMAL] >> s_missingEtSigHitsBit) & s_missingEtSigHitsMask;
-  }
-
-  /// Return packed Energy RoI word (0-5)
-  uint32_t CMXRoI_v1::roiWord(int word) const
-  {
-    return (word < s_maxRoiWords) ? cmxRoIWords()[word] : 0;
-  }
-  /// Return Ex RoI word
-  unsigned int CMXRoI_v1::exWord(SumType type)        const
-  {
-    return cmxRoIWords()[s_exOffset+type];
-  }
-  /// Return Ey RoI word
-  unsigned int CMXRoI_v1::eyWord(SumType type)        const
-  {
-    return cmxRoIWords()[s_eyOffset+type];
-  }
-  /// Return ET RoI word
-  unsigned int CMXRoI_v1::etWord(SumType type)        const
-  {
-    return cmxRoIWords()[s_etOffset+type];
-  }
-  
-} // namespace xAOD
+namespace xAOD {
+
+CMXRoI_v1::CMXRoI_v1() : SG::AuxElement() {}
+
+AUXSTORE_OBJECT_SETTER_AND_GETTER(CMXRoI_v1, std::vector<uint32_t>, cmxRoIWords,
+                                  setCmxRoIWords)
+
+/// initialize
+void CMXRoI_v1::initialize(uint32_t roiWord0, uint32_t roiWord1,
+                           uint32_t roiWord2, uint32_t roiWord3,
+                           uint32_t roiWord4, uint32_t roiWord5) {
+  std::vector<uint32_t> myRoIWords(s_maxRoiWords);
+  myRoIWords[0] = roiWord0;
+  myRoIWords[1] = roiWord1;
+  myRoIWords[2] = roiWord2;
+  myRoIWords[3] = roiWord3;
+  myRoIWords[4] = roiWord4;
+  myRoIWords[5] = roiWord5;
+  setCmxRoIWords(myRoIWords);
+}
+
+/// initialize
+void CMXRoI_v1::initialize(unsigned int ex, unsigned int ey, unsigned int et,
+                           int exError, int eyError, int etError,
+                           unsigned int sumEtHits, unsigned int missingEtHits,
+                           unsigned int missingEtSigHits, unsigned int exM,
+                           unsigned int eyM, unsigned int etM, int exErrorM,
+                           int eyErrorM, int etErrorM, unsigned int sumEtHitsM,
+                           unsigned int missingEtHitsM) {
+  std::vector<uint32_t> myRoIWords(s_maxRoiWords);
+
+  int type = NORMAL;
+  int ix = s_exOffset + type;
+  myRoIWords[ix] = s_wordIdVal0 << s_wordIdBit;
+  myRoIWords[ix] |= type << s_sumTypeBit;
+  myRoIWords[ix] |= (ex & s_energyMask) << s_energyBit;
+  myRoIWords[ix] |= (exError & s_overflowMask) << s_overflowBit;
+  myRoIWords[ix] |= (missingEtSigHits & s_missingEtSigHitsMask)
+                    << s_missingEtSigHitsBit;
+  type = MASKED;
+  ix = s_exOffset + type;
+  myRoIWords[ix] = s_wordIdVal0 << s_wordIdBit;
+  myRoIWords[ix] |= type << s_sumTypeBit;
+  myRoIWords[ix] |= (exM & s_energyMask) << s_energyBit;
+  myRoIWords[ix] |= (exErrorM & s_overflowMask) << s_overflowBit;
+
+  type = NORMAL;
+  ix = s_eyOffset + type;
+  myRoIWords[ix] = s_wordIdVal1 << s_wordIdBit;
+  myRoIWords[ix] |= type << s_sumTypeBit;
+  myRoIWords[ix] |= (ey & s_energyMask) << s_energyBit;
+  myRoIWords[ix] |= (eyError & s_overflowMask) << s_overflowBit;
+  myRoIWords[ix] |= (missingEtHits & s_missingEtHitsMask) << s_missingEtHitsBit;
+  type = MASKED;
+  ix = s_eyOffset + type;
+  myRoIWords[ix] = s_wordIdVal1 << s_wordIdBit;
+  myRoIWords[ix] |= type << s_sumTypeBit;
+  myRoIWords[ix] |= (eyM & s_energyMask) << s_energyBit;
+  myRoIWords[ix] |= (eyErrorM & s_overflowMask) << s_overflowBit;
+  myRoIWords[ix] |= (missingEtHitsM & s_missingEtHitsMask)
+                    << s_missingEtHitsBit;
+  type = NORMAL;
+  ix = s_etOffset + type;
+  myRoIWords[ix] = s_wordIdVal2 << s_wordIdBit;
+  myRoIWords[ix] |= type << s_sumTypeBit;
+  myRoIWords[ix] |= (et & s_energyMask) << s_energyBit;
+  myRoIWords[ix] |= (etError & s_overflowMask) << s_overflowBit;
+  myRoIWords[ix] |= (sumEtHits & s_sumEtHitsMask) << s_sumEtHitsBit;
+
+  type = MASKED;
+  ix = s_etOffset + type;
+  myRoIWords[ix] = s_wordIdVal2 << s_wordIdBit;
+  myRoIWords[ix] |= type << s_sumTypeBit;
+  myRoIWords[ix] |= (etM & s_energyMask) << s_energyBit;
+  myRoIWords[ix] |= (etErrorM & s_overflowMask) << s_overflowBit;
+  myRoIWords[ix] |= (sumEtHitsM & s_sumEtHitsMask) << s_sumEtHitsBit;
+
+  setCmxRoIWords(myRoIWords);
+}
+
+/// Return Ex
+unsigned int CMXRoI_v1::ex(SumType type) const {
+  return (cmxRoIWords()[s_exOffset + type] >> s_energyBit) & s_energyMask;
+}
+/// Return Ey
+unsigned int CMXRoI_v1::ey(SumType type) const {
+  return (cmxRoIWords()[s_eyOffset + type] >> s_energyBit) & s_energyMask;
+}
+/// Return Et
+unsigned int CMXRoI_v1::et(SumType type) const {
+  return (cmxRoIWords()[s_etOffset + type] >> s_energyBit) & s_energyMask;
+}
+/// Return Ex error flags (bit 0 Overflow)
+int CMXRoI_v1::exError(SumType type) const {
+  return (cmxRoIWords()[s_exOffset + type] >> s_overflowBit) & s_overflowMask;
+}
+/// Return Ey error flags (bit 0 Overflow)
+int CMXRoI_v1::eyError(SumType type) const {
+  return (cmxRoIWords()[s_eyOffset + type] >> s_overflowBit) & s_overflowMask;
+}
+/// Return Et error flags (bit 0 Overflow)
+int CMXRoI_v1::etError(SumType type) const {
+  return (cmxRoIWords()[s_etOffset + type] >> s_overflowBit) & s_overflowMask;
+}
+/// Return Sum-ET hits
+unsigned int CMXRoI_v1::sumEtHits(SumType type) const {
+  return (cmxRoIWords()[s_etOffset + type] >> s_sumEtHitsBit) & s_sumEtHitsMask;
+}
+/// Return Missing-ET hits
+unsigned int CMXRoI_v1::missingEtHits(SumType type) const {
+  return (cmxRoIWords()[s_eyOffset + type] >> s_missingEtHitsBit) &
+         s_missingEtHitsMask;
+}
+/// Return Missing-ET-Sig hits
+unsigned int CMXRoI_v1::missingEtSigHits() const {
+  return (cmxRoIWords()[s_exOffset + NORMAL] >> s_missingEtSigHitsBit) &
+         s_missingEtSigHitsMask;
+}
+
+/// Return packed Energy RoI word (0-5)
+uint32_t CMXRoI_v1::roiWord(int word) const {
+  return (word < s_maxRoiWords) ? cmxRoIWords()[word] : 0;
+}
+/// Return Ex RoI word
+unsigned int CMXRoI_v1::exWord(SumType type) const {
+  return cmxRoIWords()[s_exOffset + type];
+}
+/// Return Ey RoI word
+unsigned int CMXRoI_v1::eyWord(SumType type) const {
+  return cmxRoIWords()[s_eyOffset + type];
+}
+/// Return ET RoI word
+unsigned int CMXRoI_v1::etWord(SumType type) const {
+  return cmxRoIWords()[s_etOffset + type];
+}
+
+}  // namespace xAOD
diff --git a/Event/xAOD/xAODTrigL1Calo/Root/TriggerTower_v2.cxx b/Event/xAOD/xAODTrigL1Calo/Root/TriggerTower_v2.cxx
index 6ca186e06cafc6c493b8a54dbc569a6fdafbc8ba..197b9a88b67c337254cd5b16b701e05c8589fc15 100644
--- a/Event/xAOD/xAODTrigL1Calo/Root/TriggerTower_v2.cxx
+++ b/Event/xAOD/xAODTrigL1Calo/Root/TriggerTower_v2.cxx
@@ -2,7 +2,7 @@
   Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 */
 
-// $Id: TriggerTower_v2.cxx 700710 2015-10-15 10:46:15Z morrisj $
+// $Id: TriggerTower_v2.cxx 700709 2015-10-15 10:45:46Z morrisj $
 
 // EDM includes(s):
 #include "xAODCore/AuxStoreAccessorMacros.h"