diff --git a/Trigger/TrigT1/TrigT1CaloTools/src/L1CPCMXTools.cxx b/Trigger/TrigT1/TrigT1CaloTools/src/L1CPCMXTools.cxx
index aaf980b43861261480724edf7dc0352e3158f435..378b509501dadad52e20ab201581059badb6837b 100644
--- a/Trigger/TrigT1/TrigT1CaloTools/src/L1CPCMXTools.cxx
+++ b/Trigger/TrigT1/TrigT1CaloTools/src/L1CPCMXTools.cxx
@@ -1,26 +1,26 @@
 
 #include <map>
-#include <numeric>
-#include <utility>  // Temporary
 #include <memory>
+#include <numeric>
+#include <utility> // Temporary
 
-#include "TrigT1CaloUtils/ClusterProcessorModuleKey.h"
-#include "TrigT1CaloUtils/CPAlgorithm.h"
-#include "TrigT1CaloUtils/DataError.h"
-#include "TrigT1CaloEvent/CPMTobRoI.h"
-#include "TrigT1CaloEvent/EmTauROI.h"
-#include "TrigT1Interfaces/CoordinateRange.h"
-#include "TrigT1Interfaces/CPRoIDecoder.h"
-#include "TrigT1Interfaces/TrigT1CaloDefs.h"
-#include "TrigT1Interfaces/RecEmTauRoI.h"  //// for new getHits function
 #include "TrigConfInterfaces/ITrigConfigSvc.h"
-#include "TrigConfL1Data/L1DataDef.h"
 #include "TrigConfL1Data/CTPConfig.h"
+#include "TrigConfL1Data/ClusterThresholdValue.h"
+#include "TrigConfL1Data/L1DataDef.h"
 #include "TrigConfL1Data/Menu.h"
 #include "TrigConfL1Data/TriggerThreshold.h"
 #include "TrigConfL1Data/TriggerThresholdValue.h"
-#include "TrigConfL1Data/ClusterThresholdValue.h"
+#include "TrigT1CaloEvent/CPMTobRoI.h"
+#include "TrigT1CaloEvent/EmTauROI.h"
 #include "TrigT1CaloTools/L1CPCMXTools.h"
+#include "TrigT1CaloUtils/CPAlgorithm.h"
+#include "TrigT1CaloUtils/ClusterProcessorModuleKey.h"
+#include "TrigT1CaloUtils/DataError.h"
+#include "TrigT1Interfaces/CPRoIDecoder.h"
+#include "TrigT1Interfaces/CoordinateRange.h"
+#include "TrigT1Interfaces/RecEmTauRoI.h" //// for new getHits function
+#include "TrigT1Interfaces/TrigT1CaloDefs.h"
 
 namespace LVL1 {
 
@@ -29,12 +29,8 @@ namespace LVL1 {
 L1CPCMXTools::L1CPCMXTools(const std::string &type, const std::string &name,
                            const IInterface *parent)
     : AthAlgTool(type, name, parent),
-      m_configSvc("TrigConf::TrigConfigSvc/TrigConfigSvc", name),
-      m_crates(4),
-      m_modules(14),
-      m_maxTobs(5),
-      m_sysCrate(3),
-      m_debug(false) {
+      m_configSvc("TrigConf::TrigConfigSvc/TrigConfigSvc", name), m_crates(4),
+      m_modules(14), m_maxTobs(5), m_sysCrate(3), m_debug(false) {
   declareInterface<IL1CPCMXTools>(this);
 
   declareProperty("TrigConfigSvc", m_configSvc, "Trigger Config Service");
@@ -81,8 +77,10 @@ void L1CPCMXTools::formCPMTobRoI(const DataVector<CPAlgorithm> *cpAlgorithmVec,
     // cpmRoiVec->push_back(roi);
     const EmTauROI *etRoi = (*pos)->produceExternal();
     const std::pair<uint32_t, uint32_t> words = roiWord(etRoi);
-    if (words.first) sorted.insert(words.first);
-    if (words.second) sorted.insert(words.second);
+    if (words.first)
+      sorted.insert(words.first);
+    if (words.second)
+      sorted.insert(words.second);
   }
   std::set<uint32_t>::const_iterator siter = sorted.begin();
   std::set<uint32_t>::const_iterator siterE = sorted.end();
@@ -103,8 +101,10 @@ void L1CPCMXTools::formCPMTobRoI(const DataVector<EmTauROI> *emTauRoiVec,
     // CPMTobRoI* roi = new CPMTobRoI((*pos)->roiWord());
     // cpmRoiVec->push_back(roi);
     const std::pair<uint32_t, uint32_t> words = roiWord(*pos);
-    if (words.first) sorted.insert(words.first);
-    if (words.second) sorted.insert(words.second);
+    if (words.first)
+      sorted.insert(words.first);
+    if (words.second)
+      sorted.insert(words.second);
   }
   std::set<uint32_t>::const_iterator siter = sorted.begin();
   std::set<uint32_t>::const_iterator siterE = sorted.end();
@@ -159,7 +159,8 @@ int L1CPCMXTools::isolationEm(unsigned int /*clusterEnergy*/,
                               unsigned int /*emIsol*/, unsigned int /*hadIsol*/,
                               unsigned int hadVeto) const {
   int isol = 0;
-  if (hadVeto > 1) isol = 1;
+  if (hadVeto > 1)
+    isol = 1;
   return isol;
 }
 
@@ -167,7 +168,8 @@ int L1CPCMXTools::isolationTau(unsigned int /*clusterEnergy*/,
                                unsigned int emIsol,
                                unsigned int /*hadIsol*/) const {
   int isol = 0;
-  if (emIsol > 4) isol = 1;
+  if (emIsol > 4)
+    isol = 1;
   return isol;
 }
 
@@ -209,7 +211,7 @@ void L1CPCMXTools::formCMXCPTob(
     std::vector<int> tobCount(2 * m_crates * m_modules);
     xAOD::CPMTobRoIContainer::const_iterator it = cpmRoiVec->begin();
     xAOD::CPMTobRoIContainer::const_iterator itE = cpmRoiVec->end();
-    for (; it != itE; ++it) {  // get sorted list
+    for (; it != itE; ++it) { // get sorted list
       const xAOD::CPMTobRoI *roi = *it;
       const int type = roi->type();
       const int crate = roi->crate();
@@ -218,7 +220,7 @@ void L1CPCMXTools::formCMXCPTob(
       const int presenceBit =
           (roi->chip() << 1) |
           ((roi->location() >> 2) &
-           0x1);  // <<== CHECK   THIS SHIFT LOOKS OK @@vkousk
+           0x1); // <<== CHECK   THIS SHIFT LOOKS OK @@vkousk
       presenceMaps[index] |= (1 << presenceBit);
       tobCount[index]++;
       uint32_t key = roi->roiWord();
@@ -232,7 +234,7 @@ void L1CPCMXTools::formCMXCPTob(
       const xAOD::CPMTobRoI *roi = mit->second;
       const int type = roi->type();
       const int crate = roi->crate();
-      const int cmx = 1 - type;  // <<== CHECK
+      const int cmx = 1 - type; // <<== CHECK
       const int cpm = roi->cpm();
       const int chip = (roi->chip() << 1) | ((roi->location() >> 2) & 0x1);
       const int loc = roi->location() & 0x3;
@@ -241,10 +243,12 @@ void L1CPCMXTools::formCMXCPTob(
       const int isolation = roi->isolation();
       const unsigned int presence = presenceMaps[index];
       int error = 0;
-      if (tobCount[index] > m_maxTobs) {  // overflow
+      if (tobCount[index] > m_maxTobs) { // overflow
         int count = 0;
-        for (int bit = 0; bit <= chip; ++bit) count += (presence >> bit) & 0x1;
-        if (count > m_maxTobs) continue;
+        for (int bit = 0; bit <= chip; ++bit)
+          count += (presence >> bit) & 0x1;
+        if (count > m_maxTobs)
+          continue;
         LVL1::DataError err;
         err.set(LVL1::DataError::Overflow);
         error = err.error();
@@ -255,7 +259,7 @@ void L1CPCMXTools::formCMXCPTob(
       std::map<int, xAOD::CMXCPTob *>::iterator xit = cmxTobMap.find(key);
       if (xit == cmxTobMap.end()) {
         tob = new xAOD::CMXCPTob();
-        tob->makePrivateStore();  // make temp store
+        tob->makePrivateStore(); // make temp store
         tob->initialize(crate, cmx, cpm, chip, loc);
         std::vector<uint8_t> vecI(timeslices);
         std::vector<uint32_t> vecU32(timeslices);
@@ -306,8 +310,8 @@ void L1CPCMXTools::formCMXCPHitsCrate(
     xAOD::CMXCPHitsContainer *cmxHitsCrate) const {
   uint8_t peakm = 0;
   std::vector<HitsVector> hitVec(4 * m_crates);
-  std::vector<ErrorVector> errVec(
-      4 * m_crates);  // Need overflow for neutral format
+  std::vector<ErrorVector> errVec(4 *
+                                  m_crates); // Need overflow for neutral format
   HitsVector hit0;
   HitsVector hit1;
   HitsVector hits;
@@ -328,7 +332,8 @@ void L1CPCMXTools::formCMXCPHitsCrate(
     addOverflow(errVec[index], error);
     addOverflow(errVec[index + 1], error);
     uint8_t peak = tob->peak();
-    if (peak > peakm) peakm = peak;
+    if (peak > peakm)
+      peakm = peak;
   }
   // Save non-zero crate totals
   for (uint8_t crate = 0; crate < m_crates; ++crate) {
@@ -337,7 +342,7 @@ void L1CPCMXTools::formCMXCPHitsCrate(
       saveCMXCPHits(cmxHitsCrate, hitVec[index], hitVec[index + 1],
                     errVec[index], errVec[index + 1], crate, cmx,
                     xAOD::CMXCPHits::LOCAL, peakm);
-      if (crate != m_sysCrate) {  // REMOTE totals
+      if (crate != m_sysCrate) { // REMOTE totals
         uint8_t source = crate;
         saveCMXCPHits(cmxHitsCrate, hitVec[index], hitVec[index + 1],
                       errVec[index], errVec[index + 1], m_sysCrate, cmx, source,
@@ -358,6 +363,7 @@ void L1CPCMXTools::getHits(const xAOD::CMXCPTob *tob, HitsVector &hit0,
   int cpm = tob->cpm();
   int chip = (tob->chip() >> 1) & 0x7;
   int loc = tob->location() | ((tob->chip() & 1) << 2);
+  auto err = LVL1::DataError(tob->error());
 
   const int type = 1 - cmx;
   const int timeslices = energy.size();
@@ -386,8 +392,14 @@ void L1CPCMXTools::getHits(const xAOD::CMXCPTob *tob, HitsVector &hit0,
   }
 
   for (int slice = 0; slice < timeslices; ++slice) {
-    if (energy[slice] == 0) continue;
+    if (energy[slice] == 0)
+      continue;
 
+    if (err.get(LVL1::DataError::Overflow)) {
+      hit0[slice] = 0xffffff;
+      hit1[slice] = 0xffffff;
+      continue;
+    }
     /* Form an RoI word from the information present
        Simplest way without duplication is to create a CPMTobRoI */
     int et = energy[slice];
@@ -445,7 +457,8 @@ void L1CPCMXTools::formCMXCPHitsSystem(
   DataVector<xAOD::CMXCPHits>::const_iterator pose = cmxHitsCrate->end();
   for (; pos != pose; ++pos) {
     const xAOD::CMXCPHits *hits = *pos;
-    if (hits->crate() != m_sysCrate) continue;
+    if (hits->crate() != m_sysCrate)
+      continue;
     uint8_t source = hits->sourceComponent();
     if (source != xAOD::CMXCPHits::LOCAL &&
         source != xAOD::CMXCPHits::REMOTE_0 &&
@@ -453,7 +466,8 @@ void L1CPCMXTools::formCMXCPHitsSystem(
         source != xAOD::CMXCPHits::REMOTE_2)
       continue;
     const uint8_t peak = hits->peak();
-    if (peak > peakm) peakm = peak;
+    if (peak > peakm)
+      peakm = peak;
     HitsVector hits0(hits->hitsVec0());
     HitsVector hits1(hits->hitsVec1());
     ErrorVector err0(hits->errorVec0());
@@ -472,8 +486,8 @@ void L1CPCMXTools::formCMXCPHitsSystem(
   }
 }
 
-/** form partial CMX-CP hits (topo) from CMX-CP TOBs */  // Temporary for
-                                                         // testing
+/** form partial CMX-CP hits (topo) from CMX-CP TOBs */ // Temporary for
+                                                        // testing
 
 void L1CPCMXTools::formCMXCPHitsTopo(
     const xAOD::CMXCPTobContainer *cmxTobVec,
@@ -504,7 +518,8 @@ void L1CPCMXTools::formCMXCPHitsTopo(
     countsLow.resize(timeslices);
     countsHigh.resize(timeslices);
     for (int slice = 0; slice < timeslices; ++slice) {
-      if (energy[slice] == 0) continue;
+      if (energy[slice] == 0)
+        continue;
       // checksum
       LVL1::DataError err(error[slice]);
       int overflow = err.get(LVL1::DataError::Overflow);
@@ -515,13 +530,14 @@ void L1CPCMXTools::formCMXCPHitsTopo(
       map[slice] |= (1 << (cpm - 1));
       // occupancy counts
       if (cpm <= 7) {
-        countsLow[slice] += (1 << (3 * (cpm - 1)));  // can't saturate
+        countsLow[slice] += (1 << (3 * (cpm - 1))); // can't saturate
       } else {
         countsHigh[slice] += (1 << (3 * (cpm - 8)));
       }
     }
     uint8_t peak = tob->peak();
-    if (peak > peakm) peakm = peak;
+    if (peak > peakm)
+      peakm = peak;
   }
   // Save non-zero crate totals
   HitsVector dummy(timeslices);
@@ -546,7 +562,8 @@ void L1CPCMXTools::addCMXCPHits(HitsVector &vec1,
                                 const HitsVector &vec2) const {
   int size1 = vec1.size();
   int size2 = vec2.size();
-  if (size1 < size2) vec1.resize(size2);
+  if (size1 < size2)
+    vec1.resize(size2);
   HitsVector::iterator pos1 = vec1.begin();
   HitsVector::iterator pose1 = vec1.end();
   HitsVector::const_iterator pos2 = vec2.begin();
@@ -626,4 +643,4 @@ void L1CPCMXTools::saveCMXCPHits(
   }
 }
 
-}  // end of namespace
+} // end of namespace
diff --git a/Trigger/TrigT1/TrigT1CaloTools/src/L1JetCMXTools.cxx b/Trigger/TrigT1/TrigT1CaloTools/src/L1JetCMXTools.cxx
index 5ac6157ccd10f2b855326bfa33d9fdd02818ca6f..14e56d9fa02040cd019f0eed2f40c96ab69509d3 100644
--- a/Trigger/TrigT1/TrigT1CaloTools/src/L1JetCMXTools.cxx
+++ b/Trigger/TrigT1/TrigT1CaloTools/src/L1JetCMXTools.cxx
@@ -1,43 +1,39 @@
+#include <algorithm>
 #include <map>
 #include <numeric>
-#include <algorithm>
 #include <sstream>
 
 #include "GaudiKernel/MsgStream.h"
-#include "TrigConfL1Data/CaloInfo.h"
 #include "TrigConfL1Data/CTPConfig.h"
+#include "TrigConfL1Data/CaloInfo.h"
+#include "TrigConfL1Data/JetThresholdValue.h"
 #include "TrigConfL1Data/L1DataDef.h"
 #include "TrigConfL1Data/Menu.h"
 #include "TrigConfL1Data/ThresholdConfig.h"
 #include "TrigConfL1Data/TriggerThreshold.h"
 #include "TrigConfL1Data/TriggerThresholdValue.h"
-#include "TrigConfL1Data/JetThresholdValue.h"
 
-#include "TrigT1CaloEvent/CMXJetTob.h"
 #include "TrigT1CaloEvent/CMXJetHits.h"
+#include "TrigT1CaloEvent/CMXJetTob.h"
 #include "TrigT1CaloEvent/JEMTobRoI.h"
 #include "TrigT1CaloEvent/JetROI.h"
-#include "TrigT1CaloUtils/JetAlgorithm.h"
+#include "TrigT1CaloTools/L1JetCMXTools.h"
 #include "TrigT1CaloUtils/DataError.h"
+#include "TrigT1CaloUtils/JetAlgorithm.h"
 #include "TrigT1Interfaces/CoordinateRange.h"
 #include "TrigT1Interfaces/JEPRoIDecoder.h"
 #include "TrigT1Interfaces/RecJetRoI.h"
 #include "TrigT1Interfaces/TrigT1CaloDefs.h"
-#include "TrigT1CaloTools/L1JetCMXTools.h"
 
 namespace LVL1 {
 
 /** Constructor */
 
-L1JetCMXTools::L1JetCMXTools(const std::string& type, const std::string& name,
-                             const IInterface* parent)
+L1JetCMXTools::L1JetCMXTools(const std::string &type, const std::string &name,
+                             const IInterface *parent)
     : AthAlgTool(type, name, parent),
-      m_configSvc("TrigConf::TrigConfigSvc/TrigConfigSvc", name),
-      m_crates(2),
-      m_modules(16),
-      m_maxTobs(4),
-      m_sysCrate(1),
-      m_debug(false) {
+      m_configSvc("TrigConf::TrigConfigSvc/TrigConfigSvc", name), m_crates(2),
+      m_modules(16), m_maxTobs(4), m_sysCrate(1), m_debug(false) {
   declareInterface<IL1JetCMXTools>(this);
   declareProperty("LVL1ConfigSvc", m_configSvc, "LVL1 Config Service");
 }
@@ -73,43 +69,43 @@ StatusCode L1JetCMXTools::finalize() { return StatusCode::SUCCESS; }
 
 /** form CMX-Jet TOBs from RoIs - single slice */
 
-void L1JetCMXTools::formCMXJetTob(const xAOD::JEMTobRoIContainer* jemRoiVec,
-                                  xAOD::CMXJetTobContainer* cmxTobVec) const {
-  std::vector<const xAOD::JEMTobRoIContainer*> jemRoiColls(1, jemRoiVec);
+void L1JetCMXTools::formCMXJetTob(const xAOD::JEMTobRoIContainer *jemRoiVec,
+                                  xAOD::CMXJetTobContainer *cmxTobVec) const {
+  std::vector<const xAOD::JEMTobRoIContainer *> jemRoiColls(1, jemRoiVec);
   formCMXJetTob(jemRoiColls, cmxTobVec, 0);
 }
 
 void L1JetCMXTools::formCMXJetTob(
-    const std::vector<const xAOD::JEMTobRoIContainer*>& jemRoiColls,
-    xAOD::CMXJetTobContainer* cmxTobVec, int peak) const {
-  std::map<uint32_t, const xAOD::JEMTobRoI*> jemRoiMap;
-  std::map<int, xAOD::CMXJetTob*> cmxTobMap;
+    const std::vector<const xAOD::JEMTobRoIContainer *> &jemRoiColls,
+    xAOD::CMXJetTobContainer *cmxTobVec, int peak) const {
+  std::map<uint32_t, const xAOD::JEMTobRoI *> jemRoiMap;
+  std::map<int, xAOD::CMXJetTob *> cmxTobMap;
   xAOD::JEMTobRoIContainer::const_iterator it;
   int timeslices = jemRoiColls.size();
   for (int slice = 0; slice < timeslices; ++slice) {
-    const xAOD::JEMTobRoIContainer* jemRoiVec = jemRoiColls[slice];
+    const xAOD::JEMTobRoIContainer *jemRoiVec = jemRoiColls[slice];
     jemRoiMap.clear();
     std::vector<unsigned int> presenceMaps(m_crates * m_modules);
     std::vector<int> tobCount(m_crates * m_modules);
     xAOD::JEMTobRoIContainer::const_iterator it = jemRoiVec->begin();
     xAOD::JEMTobRoIContainer::const_iterator itE = jemRoiVec->end();
-    for (; it != itE; ++it) {  // get sorted list
-      const xAOD::JEMTobRoI* roi = *it;
+    for (; it != itE; ++it) { // get sorted list
+      const xAOD::JEMTobRoI *roi = *it;
       const int crate = roi->crate();
       const int jem = roi->jem();
       const int index = crate * m_modules + jem;
-      const int presenceBit = roi->frame();  // <<== CHECK
+      const int presenceBit = roi->frame(); // <<== CHECK
       presenceMaps[index] |= (1 << presenceBit);
       tobCount[index]++;
       uint32_t key = roi->roiWord();
       jemRoiMap.insert(std::make_pair(key, roi));
     }
-    std::map<uint32_t, const xAOD::JEMTobRoI*>::const_iterator mit =
+    std::map<uint32_t, const xAOD::JEMTobRoI *>::const_iterator mit =
         jemRoiMap.begin();
-    std::map<uint32_t, const xAOD::JEMTobRoI*>::const_iterator mitE =
+    std::map<uint32_t, const xAOD::JEMTobRoI *>::const_iterator mitE =
         jemRoiMap.end();
     for (; mit != mitE; ++mit) {
-      const xAOD::JEMTobRoI* roi = mit->second;
+      const xAOD::JEMTobRoI *roi = mit->second;
       const int crate = roi->crate();
       const int jem = roi->jem();
       const int frame = roi->frame();
@@ -119,22 +115,24 @@ void L1JetCMXTools::formCMXJetTob(
       const int energySm = roi->energySmall();
       const unsigned int presence = presenceMaps[index];
       int error = 0;
-      if (tobCount[index] > m_maxTobs) {  // overflow
+      if (tobCount[index] > m_maxTobs) { // overflow
         int count = 0;
-        for (int bit = 0; bit <= frame; ++bit) count += (presence >> bit) & 0x1;
-        if (count > m_maxTobs) continue;
+        for (int bit = 0; bit <= frame; ++bit)
+          count += (presence >> bit) & 0x1;
+        if (count > m_maxTobs)
+          continue;
         LVL1::DataError err;
         err.set(LVL1::DataError::Overflow);
         error = err.error();
       }
       const int key = (((((crate << 4) | jem) << 3) | frame) << 2) | loc;
-      xAOD::CMXJetTob* tob = 0;
-      std::map<int, xAOD::CMXJetTob*>::iterator xit = cmxTobMap.find(key);
+      xAOD::CMXJetTob *tob = 0;
+      std::map<int, xAOD::CMXJetTob *>::iterator xit = cmxTobMap.find(key);
       if (xit == cmxTobMap.end()) {
         tob = new xAOD::CMXJetTob;
         tob->makePrivateStore();
         tob->initialize(crate, jem, frame, loc);
-        if (timeslices > 0) {  // TODO(amazurov): need to check >1 or >0
+        if (timeslices > 0) { // TODO(amazurov): need to check >1 or >0
           std::vector<uint16_t> vecU16(timeslices);
           std::vector<uint32_t> vecU32(timeslices);
           tob->addTob(vecU16, vecU16, vecU32, vecU16);
@@ -158,11 +156,11 @@ void L1JetCMXTools::formCMXJetTob(
 }
 
 void L1JetCMXTools::formCMXJetHits(
-    const xAOD::CMXJetTobContainer* cmxTobVec,
-    xAOD::CMXJetHitsContainer* cmxHitsVec) const {
-  xAOD::CMXJetHitsContainer* cmxHitsCrate = new xAOD::CMXJetHitsContainer;
-  xAOD::CMXJetHitsContainer* cmxHitsSys = new xAOD::CMXJetHitsContainer;
-  xAOD::CMXJetHitsContainer* cmxHitsTopo = new xAOD::CMXJetHitsContainer;
+    const xAOD::CMXJetTobContainer *cmxTobVec,
+    xAOD::CMXJetHitsContainer *cmxHitsVec) const {
+  xAOD::CMXJetHitsContainer *cmxHitsCrate = new xAOD::CMXJetHitsContainer;
+  xAOD::CMXJetHitsContainer *cmxHitsSys = new xAOD::CMXJetHitsContainer;
+  xAOD::CMXJetHitsContainer *cmxHitsTopo = new xAOD::CMXJetHitsContainer;
 
   formCMXJetHitsCrate(cmxTobVec, cmxHitsCrate);
   formCMXJetHitsSystem(cmxHitsCrate, cmxHitsSys);
@@ -178,19 +176,19 @@ void L1JetCMXTools::formCMXJetHits(
 }
 
 void L1JetCMXTools::formCMXJetHitsCrate(
-    const xAOD::CMXJetTobContainer* cmxTobVec,
-    xAOD::CMXJetHitsContainer* cmxHitsCrate) const {
+    const xAOD::CMXJetTobContainer *cmxTobVec,
+    xAOD::CMXJetHitsContainer *cmxHitsCrate) const {
   int peakm = 0;
   std::vector<HitsVector> hitVecM(2 * m_crates);
   std::vector<HitsVector> hitVecF(2 * m_crates);
-  std::vector<ErrorVector> errVecM(2 * m_crates);  // Need overflow
+  std::vector<ErrorVector> errVecM(2 * m_crates); // Need overflow
   std::vector<ErrorVector> errVecF(2 * m_crates);
   HitsVector hit10, hit20;
   HitsVector hit11, hit21;
   xAOD::CMXJetTobContainer::const_iterator pos = cmxTobVec->begin();
   xAOD::CMXJetTobContainer::const_iterator pose = cmxTobVec->end();
   for (; pos != pose; ++pos) {
-    const xAOD::CMXJetTob* tob = *pos;
+    const xAOD::CMXJetTob *tob = *pos;
     const int index = 2 * tob->crate();
     const std::vector<uint32_t> error(tob->errorVec());
     hit10.clear();
@@ -209,7 +207,8 @@ void L1JetCMXTools::formCMXJetHitsCrate(
     addOverflow(errVecM[index], error);
     addOverflow(errVecM[index + 1], error);
     const int peak = tob->peak();
-    if (peak > peakm) peakm = peak;
+    if (peak > peakm)
+      peakm = peak;
   }
   // Save non-zero crate totals
   for (int crate = 0; crate < m_crates; ++crate) {
@@ -220,7 +219,7 @@ void L1JetCMXTools::formCMXJetHitsCrate(
     saveCMXJetHits(cmxHitsCrate, hitVecF[index], hitVecF[index + 1],
                    errVecF[index], errVecF[index + 1], crate,
                    xAOD::CMXJetHits::LOCAL_FORWARD, peakm);
-    if (crate != m_sysCrate) {  // REMOTE totals
+    if (crate != m_sysCrate) { // REMOTE totals
       saveCMXJetHits(cmxHitsCrate, hitVecM[index], hitVecM[index + 1],
                      errVecM[index], errVecM[index + 1], m_sysCrate,
                      xAOD::CMXJetHits::REMOTE_MAIN, peakm);
@@ -232,8 +231,8 @@ void L1JetCMXTools::formCMXJetHitsCrate(
 }
 
 void L1JetCMXTools::formCMXJetHitsSystem(
-    const xAOD::CMXJetHitsContainer* cmxHitsCrate,
-    xAOD::CMXJetHitsContainer* cmxHitsSys) const {
+    const xAOD::CMXJetHitsContainer *cmxHitsCrate,
+    xAOD::CMXJetHitsContainer *cmxHitsSys) const {
   int peakm = 0;
   HitsVector systemMain0(1);
   HitsVector systemMain1(1);
@@ -243,8 +242,9 @@ void L1JetCMXTools::formCMXJetHitsSystem(
   xAOD::CMXJetHitsContainer::const_iterator pos = cmxHitsCrate->begin();
   xAOD::CMXJetHitsContainer::const_iterator pose = cmxHitsCrate->end();
   for (; pos != pose; ++pos) {
-    const xAOD::CMXJetHits* hits = *pos;
-    if (hits->crate() != m_sysCrate) continue;
+    const xAOD::CMXJetHits *hits = *pos;
+    if (hits->crate() != m_sysCrate)
+      continue;
     int source = hits->sourceComponent();
     if (source != xAOD::CMXJetHits::LOCAL_MAIN &&
         source != xAOD::CMXJetHits::LOCAL_FORWARD &&
@@ -252,7 +252,8 @@ void L1JetCMXTools::formCMXJetHitsSystem(
         source != xAOD::CMXJetHits::REMOTE_FORWARD)
       continue;
     int peak = hits->peak();
-    if (peak > peakm) peakm = peak;
+    if (peak > peakm)
+      peakm = peak;
     HitsVector hitsVec0(hits->hitsVec0());
     HitsVector hitsVec1(hits->hitsVec1());
     if (source == xAOD::CMXJetHits::LOCAL_MAIN ||
@@ -263,7 +264,7 @@ void L1JetCMXTools::formCMXJetHitsSystem(
       addCMXJetHits(systemFwd0, hitsVec0, FORWARD_HITS);
       addCMXJetHits(systemFwd1, hitsVec1, FORWARD_HITS);
     }
-    ErrorVector error(hits->errorVec0());  // all have same error so redundant?
+    ErrorVector error(hits->errorVec0()); // all have same error so redundant?
     addOverflow(errVec, error);
   }
   // Save non-zero system totals
@@ -274,15 +275,15 @@ void L1JetCMXTools::formCMXJetHitsSystem(
 }
 
 void L1JetCMXTools::formCMXJetHitsTopo(
-    const xAOD::CMXJetTobContainer* cmxTobVec,
-    xAOD::CMXJetHitsContainer* cmxHitsTopo) const {
+    const xAOD::CMXJetTobContainer *cmxTobVec,
+    xAOD::CMXJetHitsContainer *cmxHitsTopo) const {
   int peakm = 0;
   int timeslices = 0;
   std::vector<HitsVector> hitVec(4 * m_crates);
   xAOD::CMXJetTobContainer::const_iterator pos = cmxTobVec->begin();
   xAOD::CMXJetTobContainer::const_iterator pose = cmxTobVec->end();
   for (; pos != pose; ++pos) {
-    const xAOD::CMXJetTob* tob = *pos;
+    const xAOD::CMXJetTob *tob = *pos;
     const int crate = tob->crate();
     const int jem = tob->jem();
     const int frame = tob->frame();
@@ -294,20 +295,21 @@ void L1JetCMXTools::formCMXJetHitsTopo(
                                     tob->energySmallVec().end());
     // const std::vector<int>& error(tob->errorVec());
     timeslices = energyLg.size();
-    HitsVector& checksum(hitVec[index]);
-    HitsVector& map(hitVec[index + 1]);
-    HitsVector& countsLow(hitVec[index + 2]);
-    HitsVector& countsHigh(hitVec[index + 3]);
+    HitsVector &checksum(hitVec[index]);
+    HitsVector &map(hitVec[index + 1]);
+    HitsVector &countsLow(hitVec[index + 2]);
+    HitsVector &countsHigh(hitVec[index + 3]);
     checksum.resize(timeslices);
     map.resize(timeslices);
     countsLow.resize(timeslices);
     countsHigh.resize(timeslices);
     for (int slice = 0; slice < timeslices; ++slice) {
-      if (energyLg[slice] == 0 && energySm[slice] == 0) continue;
+      if (energyLg[slice] == 0 && energySm[slice] == 0)
+        continue;
       // checksum
       // LVL1::DataError err(error[slice]);
       // const int overflow = err.get(LVL1::DataError::Overflow);
-      const int overflow = 0;  // don't include overflow as not in slink data
+      const int overflow = 0; // don't include overflow as not in slink data
       checksum[slice] +=
           jem + frame + loc + energyLg[slice] + energySm[slice] + overflow;
       checksum[slice] &= 0xffff;
@@ -315,13 +317,14 @@ void L1JetCMXTools::formCMXJetHitsTopo(
       map[slice] |= (1 << jem);
       // occupancy counts
       if (jem < 8) {
-        countsLow[slice] += (1 << (3 * jem));  // can't saturate
+        countsLow[slice] += (1 << (3 * jem)); // can't saturate
       } else {
         countsHigh[slice] += (1 << (3 * (jem - 8)));
       }
     }
     const int peak = tob->peak();
-    if (peak > peakm) peakm = peak;
+    if (peak > peakm)
+      peakm = peak;
   }
   // Save non-zero crate totals
   HitsVector dummy(timeslices);
@@ -340,24 +343,36 @@ void L1JetCMXTools::formCMXJetHitsTopo(
 
 /** Temporary for testing, mostly lifted from JetAlgorithm */
 
-void L1JetCMXTools::getHits(const xAOD::CMXJetTob* tob, HitsVector& hit10,
-                            HitsVector& hit11, HitsVector& hit20,
-                            HitsVector& hit21) const {
+void L1JetCMXTools::getHits(const xAOD::CMXJetTob *tob, HitsVector &hit10,
+                            HitsVector &hit11, HitsVector &hit20,
+                            HitsVector &hit21) const {
   using namespace TrigConf;
-  const std::vector<uint16_t>& energyLg(tob->energyLargeVec());
-  const std::vector<uint16_t>& energySm(tob->energySmallVec());
+  const std::vector<uint16_t> &energyLg(tob->energyLargeVec());
+  const std::vector<uint16_t> &energySm(tob->energySmallVec());
   const int timeslices = energyLg.size();
+  auto err = LVL1::DataError(tob->error());
+
   hit10.assign(timeslices, 0);
   hit11.assign(timeslices, 0);
   hit20.assign(timeslices, 0);
   hit21.assign(timeslices, 0);
 
-  std::vector<TrigConf::TriggerThreshold*> thresholds =
+  std::vector<TrigConf::TriggerThreshold *> thresholds =
       m_configSvc->ctpConfig()->menu().thresholdVector();
-  std::vector<TriggerThreshold*>::const_iterator it;
-  std::vector<TriggerThreshold*>::const_iterator itE = thresholds.end();
+  std::vector<TriggerThreshold *>::const_iterator it;
+  std::vector<TriggerThreshold *>::const_iterator itE = thresholds.end();
   for (int slice = 0; slice < timeslices; ++slice) {
-    if (energyLg[slice] == 0 && energySm[slice] == 0) continue;
+    if (err.get(LVL1::DataError::Overflow)) {
+      hit10[slice] = 0xffff;
+      hit11[slice] = 0xffff;
+      hit20[slice] = 0xffff;
+      hit21[slice] = 0xffff;
+      continue;
+    }
+
+    if (energyLg[slice] == 0 && energySm[slice] == 0)
+      continue;
+
     xAOD::JEMTobRoI tobRoi;
     tobRoi.makePrivateStore();
     tobRoi.initialize(tob->crate(), tob->jem(), tob->frame(), tob->location(),
@@ -369,7 +384,7 @@ void L1JetCMXTools::getHits(const xAOD::CMXJetTob* tob, HitsVector& hit10,
 
     for (int i = 0; i < numThresholdsHalf * 2; ++i) {
       if (roi.passedThreshold(i)) {
-        HitsVector& hit = i < numThresholdsHalf ? hit10 : hit11;
+        HitsVector &hit = i < numThresholdsHalf ? hit10 : hit11;
         int ibit = i < numThresholdsHalf ? i : i - numThresholdsHalf;
         hit[slice] |= (1 << (ibit * numBitsPerCounter));
       }
@@ -380,19 +395,19 @@ void L1JetCMXTools::getHits(const xAOD::CMXJetTob* tob, HitsVector& hit10,
 
     for (int i = 0; i < numThresholdsHalf * 2; ++i) {
       if (roi.passedThreshold(10 + i)) {
-        HitsVector& hit = i < numThresholdsHalf ? hit20 : hit21;
+        HitsVector &hit = i < numThresholdsHalf ? hit20 : hit21;
         int ibit = i < numThresholdsHalf ? i : i - numThresholdsHalf;
         hit[slice] |= (1 << (ibit * numBitsPerCounter));
       }
     }
 
-  }  // end slice for-loop
+  } // end slice for-loop
 }
 
 /** Add overflow bit */
 
-void L1JetCMXTools::addOverflow(ErrorVector& hitErr,
-                                const ErrorVector& tobErr) const {
+void L1JetCMXTools::addOverflow(ErrorVector &hitErr,
+                                const ErrorVector &tobErr) const {
   const int timeslices = tobErr.size();
   hitErr.resize(timeslices);
   for (int slice = 0; slice < timeslices; ++slice) {
@@ -409,11 +424,12 @@ void L1JetCMXTools::addOverflow(ErrorVector& hitErr,
 
 /** Add hits from second vector to first */
 
-void L1JetCMXTools::addCMXJetHits(HitsVector& vec1, const HitsVector& vec2,
+void L1JetCMXTools::addCMXJetHits(HitsVector &vec1, const HitsVector &vec2,
                                   HitsType type) const {
   int size1 = vec1.size();
   int size2 = vec2.size();
-  if (size1 < size2) vec1.resize(size2);
+  if (size1 < size2)
+    vec1.resize(size2);
   HitsVector::iterator pos1 = vec1.begin();
   HitsVector::iterator pose1 = vec1.end();
   HitsVector::const_iterator pos2 = vec2.begin();
@@ -468,12 +484,12 @@ unsigned int L1JetCMXTools::addHits(unsigned int hitMult, unsigned int hitVec,
 /** Merge CMX-Jet hits vectors */
 
 void L1JetCMXTools::mergeCMXJetHits(
-    xAOD::CMXJetHitsContainer* cmxHitsVec1,
-    xAOD::CMXJetHitsContainer* cmxHitsVec2) const {
+    xAOD::CMXJetHitsContainer *cmxHitsVec1,
+    xAOD::CMXJetHitsContainer *cmxHitsVec2) const {
   int size = cmxHitsVec2->size();
   for (int index = 0; index < size; ++index) {
-    xAOD::CMXJetHits* hitsIn = 0;
-    xAOD::CMXJetHits* hitsOut = 0;
+    xAOD::CMXJetHits *hitsIn = 0;
+    xAOD::CMXJetHits *hitsOut = 0;
     cmxHitsVec2->swapElement(index, hitsIn, hitsOut);
     cmxHitsVec1->push_back(hitsOut);
   }
@@ -482,19 +498,19 @@ void L1JetCMXTools::mergeCMXJetHits(
 
 /** Save non-zero CMX-Jet hits */
 
-void L1JetCMXTools::saveCMXJetHits(xAOD::CMXJetHitsContainer* cmxHitsVec,
-                                   const HitsVector& hits0,
-                                   const HitsVector& hits1,
-                                   const ErrorVector& err0,
-                                   const ErrorVector& err1, int crate,
+void L1JetCMXTools::saveCMXJetHits(xAOD::CMXJetHitsContainer *cmxHitsVec,
+                                   const HitsVector &hits0,
+                                   const HitsVector &hits1,
+                                   const ErrorVector &err0,
+                                   const ErrorVector &err1, int crate,
                                    int source, int peak) const {
   if (std::accumulate(hits0.begin(), hits0.end(), 0) ||
       std::accumulate(hits1.begin(), hits1.end(), 0)) {
-    xAOD::CMXJetHits* item = new xAOD::CMXJetHits;
+    xAOD::CMXJetHits *item = new xAOD::CMXJetHits;
     item->makePrivateStore();
     item->initialize(crate, source, hits0, hits1, err0, err1, peak);
     cmxHitsVec->push_back(item);
   }
 }
 
-}  // end of namespace
+} // end of namespace