diff --git a/Reconstruction/egamma/egammaTools/python/egammaOQFlagsBuilder.py b/Reconstruction/egamma/egammaTools/python/egammaOQFlagsBuilder.py
index cfd6c62e29d68cabdb9eb1819a5c1be7f120ee01..f840d8008163ed6db3246c9e797de62956b8fc8f 100644
--- a/Reconstruction/egamma/egammaTools/python/egammaOQFlagsBuilder.py
+++ b/Reconstruction/egamma/egammaTools/python/egammaOQFlagsBuilder.py
@@ -17,6 +17,7 @@ egammaOQFlagsBuilder = ToolFactory( egammaToolsConf.egammaOQFlagsBuilder,
   LArQCut = 0.8,
   TCut = 10.,
   TCutVsE = 2.,
+  RcellCut = 0.8,
   CellsName = egammaKeys.caloCellKey(),
   LArBadChannelTool = LArBadChanTool,
   affectedTool = CaloAffectedToolDefault)
diff --git a/Reconstruction/egamma/egammaTools/python/egammaToolsFactories.py b/Reconstruction/egamma/egammaTools/python/egammaToolsFactories.py
index 2aedc3c863fadcc73c8d6c90a0858eff31254233..f386e1c9f22253f741d75b5ea5e9b6bca65a6fcf 100644
--- a/Reconstruction/egamma/egammaTools/python/egammaToolsFactories.py
+++ b/Reconstruction/egamma/egammaTools/python/egammaToolsFactories.py
@@ -31,9 +31,9 @@ def configureClusterCorrections(swTool):
 
   #Super cluster position only corrections
   if jobproperties.egammaRecFlags.doSuperclusters():
-    clusterTypesSuper = dict(Ele55='ele55', Ele37='ele37',
-                             Gam55='gam55_unconv',Gam37='gam37_unconv',
-                             Econv55='gam55_conv', Econv37='gam37_conv'
+    clusterTypesSuper = dict(Ele35='ele35',Ele55='ele55', Ele37='ele37',
+                             Gam35='gam35_unconv',Gam55='gam55_unconv',Gam37='gam37_unconv',
+                             Econv35='gam35_conv', Econv55='gam55_conv', Econv37='gam37_conv'
                              )
     
     for attrName, clName in clusterTypes.iteritems():
@@ -42,8 +42,8 @@ def configureClusterCorrections(swTool):
         continue
       
       superclusterCorr= make_CaloSwCorrections(clName, suffix ='EGSuperCluster',
-                                              corrlist=[  [rfac,'v5'],[etaoff_b1,'v5'],[etaoff_e1,  'v5'],
-                                                          [etaoff_b2,'v5'],[etaoff_e2,'v5'], [phioff_b2,  'v5data'], 
+                                              corrlist=[  [rfac,'v5'],[etaoff_b1,'v5'],[etaoff_e1,'v5'],
+                                                          [etaoff_b2,'v5'],[etaoff_e2,'v5'], [phioff_b2, 'v5data'], 
                                                           [phioff_e2,  'v5data'], [update], [time], [listBadChannel]],
                                               cells_name=egammaKeys.caloCellKey())
       setattr(swTool, x ,_process_tools (swTool, superclusterCorr) )
@@ -65,9 +65,8 @@ EMClusterTool = ToolFactory(egammaToolsConf.EMClusterTool,
                             PhotonContainerName = egammaKeys.outputPhotonKey(),
                             ClusterCorrectionToolName = FullNameWrapper(egammaSwTool),
                             doSuperCluster = jobproperties.egammaRecFlags.doSuperclusters(),
-                            applyMVAToSuperCluster=False,  
                             MVACalibTool= egammaMVATool
-)
+                            )
 
 
 egammaCheckEnergyDepositTool = ToolFactory(egammaToolsConf.egammaCheckEnergyDepositTool,
@@ -86,7 +85,7 @@ EMBremCollectionBuilder = ToolFactory( egammaBremCollectionBuilder,
                                        OutputTrackContainerName=egammaKeys.outputTrackKey(),
                                        ClusterContainerName=egammaKeys.inputClusterKey(),
                                        DoTruth=rec.doTruth()
-)
+                                       )
 
 
 EMConversionBuilder = ToolFactory( egammaToolsConf.EMConversionBuilder,
@@ -111,9 +110,7 @@ egammaTopoClusterCopier = ToolFactory( egammaToolsConf.egammaTopoClusterCopier,
 electronSuperClusterBuilder = ToolFactory( egammaToolsConf.electronSuperClusterBuilder,
                                            name = 'electronSuperClusterBuilder',
                                            ClusterCorrectionTool=egammaSwTool,
-                                           CorrectClusters=True,
                                            MVACalibTool=egammaMVATool,
-                                           CalibrateClusters=False,                   
                                            EtThresholdCut=1000, 
                                            AddCellsWindowEtaCellsBarrel=3,
                                            AddCellsWindowPhiCellsBarrel=999,
@@ -125,9 +122,7 @@ electronSuperClusterBuilder = ToolFactory( egammaToolsConf.electronSuperClusterB
 photonSuperClusterBuilder = ToolFactory( egammaToolsConf.photonSuperClusterBuilder,
                                          name = 'photonSuperClusterBuilder',
                                          ClusterCorrectionTool=egammaSwTool,
-                                         CorrectClusters=True,
                                          MVACalibTool= egammaMVATool,
-                                         CalibrateClusters=False,                   
                                          AddCellsWindowEtaCellsBarrel=3,
                                          AddCellsWindowPhiCellsBarrel=999,
                                          AddCellsWindowEtaCellsEndcap=5,
diff --git a/Reconstruction/egamma/egammaTools/src/EMClusterTool.cxx b/Reconstruction/egamma/egammaTools/src/EMClusterTool.cxx
index 2e3a2ad1c756c49f497f7d4e270c7cede851f550..dcaf7e0b06ffb498b932fec2e20af002d9c46b32 100644
--- a/Reconstruction/egamma/egammaTools/src/EMClusterTool.cxx
+++ b/Reconstruction/egamma/egammaTools/src/EMClusterTool.cxx
@@ -34,7 +34,7 @@ EMClusterTool::EMClusterTool(const std::string& type, const std::string& name, c
     "Name of the input electron container");
   declareProperty("PhotonContainerName", m_photonContainerName, 
     "Name of the input photon container");
-  declareProperty("doSuperCluster", m_doSuperClusters = false, 
+  declareProperty("doSuperCluster", m_doSuperClusters = true, 
     "Do Super Cluster Reco");
   declareProperty("applyMVAToSuperCluster", m_applySuperClusters = true, 
     "Protection to not do anything for superClusters");
@@ -103,8 +103,9 @@ StatusCode EMClusterTool::contExecute()
 
   // Create output cluster container for topo-seeded clusters and register in StoreGate
   // Only if they differ from the main output cluster container
+  // and if we do not do supercluster
   xAOD::CaloClusterContainer* outputTopoSeededClusterContainer = outputClusterContainer;
-  bool doTopoSeededContainer= (m_outputTopoSeededClusterContainerName != m_outputClusterContainerName);
+  bool doTopoSeededContainer= (m_outputTopoSeededClusterContainerName != m_outputClusterContainerName && !m_doSuperClusters);
   if(doTopoSeededContainer){
     outputTopoSeededClusterContainer = CaloClusterStoreHelper::makeContainer(&*evtStore(), 
 									     m_outputTopoSeededClusterContainerName, 
diff --git a/Reconstruction/egamma/egammaTools/src/egammaOQFlagsBuilder.cxx b/Reconstruction/egamma/egammaTools/src/egammaOQFlagsBuilder.cxx
index 1a59391f1684b28e0202f313cd36d736dd5bdeef..eadc18640d357d56db84363535cf03a07083d55d 100644
--- a/Reconstruction/egamma/egammaTools/src/egammaOQFlagsBuilder.cxx
+++ b/Reconstruction/egamma/egammaTools/src/egammaOQFlagsBuilder.cxx
@@ -56,6 +56,7 @@ egammaOQFlagsBuilder::egammaOQFlagsBuilder(const std::string& type,
   declareProperty("LArQCut", m_LArQCut = 0.8);
   declareProperty("TCut", m_TCut = 10.0);
   declareProperty("TCutVsE", m_TCutVsE = 2.0);
+  declareProperty("RcellCut", m_RcellCut = 0.8);
   m_affRegVec = 0;
   m_calocellId = 0;
 }
@@ -246,6 +247,7 @@ StatusCode egammaOQFlagsBuilder::execute(xAOD::Egamma* eg)
   //Declare totE and badE for LarQ cleaning
   double totE=0;
   double badE=0;
+  double energyCellMax=0;
 
   if (foundCentralCell) {
     //Find the list of neighbours cells, to define the 3x3 cluster core
@@ -266,6 +268,7 @@ StatusCode egammaOQFlagsBuilder::execute(xAOD::Egamma* eg)
       //Calculate badE et totE    
       if( (cell->provenance()  & 0x2000) &&!(cell->provenance()  & 0x0800 )) {
 	totE += cell->e();
+	if(cell->e() > energyCellMax ) energyCellMax = cell->e();
 	if(cell->quality() > m_QCellCut ) badE += cell->e(); 
       }       
 
@@ -359,8 +362,16 @@ StatusCode egammaOQFlagsBuilder::execute(xAOD::Egamma* eg)
       iflag |= (0x1 << xAOD::EgammaParameters::LArQCleaning);
     }
     //=========================================//
+    //==== Set HighRcell bit ===============//
+    double ratioCell=0;
+    if(totE !=0) ratioCell=energyCellMax/totE;
+    if(ratioCell>m_RcellCut){
+      iflag |= (0x1 << xAOD::EgammaParameters::HighRcell);
+    }
+    //=========================================//
+    
   } //close if found central cell
-
+  
   //========================= Check the HV components ===================================================//
   float deta=0;
   float dphi=0;
diff --git a/Reconstruction/egamma/egammaTools/src/egammaOQFlagsBuilder.h b/Reconstruction/egamma/egammaTools/src/egammaOQFlagsBuilder.h
index 8f29a3d8eb34008376b56f82bad003a7f583cdeb..b37f4de6f2856f64ffc86c5614c58cdf63035005 100644
--- a/Reconstruction/egamma/egammaTools/src/egammaOQFlagsBuilder.h
+++ b/Reconstruction/egamma/egammaTools/src/egammaOQFlagsBuilder.h
@@ -79,7 +79,7 @@ class egammaOQFlagsBuilder : public egammaBaseTool
   double m_LArQCut;
   double m_TCut;
   double m_TCutVsE;
-
+  double m_RcellCut;
 };
 
 #endif
diff --git a/Reconstruction/egamma/egammaTools/src/egammaSuperClusterBuilder.cxx b/Reconstruction/egamma/egammaTools/src/egammaSuperClusterBuilder.cxx
index 83fe38b921a0d2fee5edd46983cb982f3b3e4ba9..c0f3c7327b3acc5edf9456742b3d394ffde183d2 100644
--- a/Reconstruction/egamma/egammaTools/src/egammaSuperClusterBuilder.cxx
+++ b/Reconstruction/egamma/egammaTools/src/egammaSuperClusterBuilder.cxx
@@ -6,6 +6,7 @@
 //
 #include "CaloUtils/CaloClusterStoreHelper.h"
 #include "CaloUtils/CaloCellList.h"
+#include "CaloUtils/CaloLayerCalculator.h"
 //
 #include "xAODCaloEvent/CaloClusterAuxContainer.h"
 #include "xAODCaloEvent/CaloCluster.h"
@@ -24,6 +25,89 @@
 
 using CLHEP::GeV;
 
+namespace {
+  /**
+   * Duplicate code 
+   * @brief Return eta/phi ranges encompassing +- 1 cell.
+   * @param eta Central eta value.
+   * @param phi Central phi value.
+   * @param sampling The sampling to use.
+   * @param[out] deta Range in eta.
+   * @param[out] dphi Range in phi.
+   *
+   * This can be a little tricky due to misalignments and the fact
+   * that cells have different sizes in different regions.  Also,
+   * CaloLayerCalculator takes only a symmetric eta range.
+   * We try to find the neighboring cells by starting from the center
+   * cell and looking a little bit more than half its width in either
+   * direction, and finding the centers of those cells.  Then we use
+   * the larger of these for the symmetric range.
+   */
+  void etaphi_range (double eta,
+		     double phi,
+		     CaloCell_ID::CaloSample sampling,
+		     double& deta,
+		     double& dphi)
+  {
+    deta = 0;
+    dphi = 0;
+    
+    // Get the DD element for the central cell.
+    const CaloDetDescrManager* dd_man = CaloDetDescrManager::instance();
+    const CaloDetDescrElement* elt = dd_man->get_element_raw (sampling, eta, phi);
+    if (!elt) return;
+
+    // Should be smaller than the eta half-width of any cell.
+    const double eps = 0.001;
+
+    // Now look in the negative eta direction.
+    const CaloDetDescrElement* elt_l = dd_man->get_element_raw(sampling,
+							       eta - elt->deta() - eps,
+							       phi);
+    double deta_l = 0; // Eta difference on the low (left) side.
+    if (elt_l){
+      deta_l = std::abs (eta - elt_l->eta_raw()) + eps;
+    }
+    // Now look in the positive eta direction.
+    const CaloDetDescrElement* elt_r = dd_man->get_element_raw(sampling,
+							       eta + elt->deta() + eps,
+							       phi);
+    double deta_r = 0; // Eta difference on the high (right) side.
+    if (elt_r){
+      deta_r = std::abs (eta - elt_r->eta_raw()) + eps;
+    }
+    
+    // Total deta is twice the maximum.
+    deta = 2 * std::max (deta_r, deta_l);
+
+    // Now for the phi variation.
+    // The phi size can change as a function of eta, but not of phi.
+    // Thus we have to look again at the adjacent eta cells, and
+    // take the largest variation.
+
+    // Now look in the negative eta direction.
+    elt_l = dd_man->get_element_raw(sampling,
+				    eta  - elt->deta() - eps,
+				    CaloPhiRange::fix (phi - elt->dphi() - eps));
+    
+    double dphi_l = 0; // Phi difference on the low-eta () side.
+    if (elt_l){
+      dphi_l = std::abs (CaloPhiRange::fix (phi - elt_l->phi_raw())) + eps;
+    }
+    // Now look in the positive eta direction.
+    elt_r = dd_man->get_element_raw(sampling,
+				    eta + elt->deta() + eps,
+				    CaloPhiRange::fix (phi - elt->dphi() - eps));
+    double dphi_r = 0; // Phi difference on the positive (down) side.
+    if (elt_r){
+      dphi_r = std::abs (CaloPhiRange::fix (phi - elt_r->phi_raw())) + eps;
+    }
+    // Total dphi is twice the maximum.
+    dphi = 2 * std::max (dphi_l, dphi_r);
+  }
+}
+
+
 //////////////////////////////////////////////////////////////////////////////
 //Athena interfaces.
 //////////////////////////////////////////////////////////////////////////////
@@ -338,6 +422,17 @@ StatusCode egammaSuperClusterBuilder::AddRemainingCellsToCluster(xAOD::CaloClust
 StatusCode egammaSuperClusterBuilder::CalibrateCluster(xAOD::CaloCluster* newCluster,
 						       const xAOD::EgammaParameters::EgammaType egType) 
 {
+
+  ATH_MSG_DEBUG("========== Initial ==== ");
+  ATH_MSG_DEBUG("Cluster Energy Initial: "<<newCluster->e());
+  ATH_MSG_DEBUG("Cluster eta  Initial: "<<newCluster->eta());
+  ATH_MSG_DEBUG("Cluster phi Initial: "<<newCluster->phi());
+  ATH_MSG_DEBUG("Cluster etaBE(1) Initial: "<<newCluster->etaBE(1));
+  ATH_MSG_DEBUG("Cluster phiBE(1) Initial: "<<newCluster->phiBE(1));
+  ATH_MSG_DEBUG("Cluster etaBE(2) Initial: "<<newCluster->etaBE(2));
+  ATH_MSG_DEBUG("Cluster phiBE(2) Initial: "<<newCluster->phiBE(2));
+  //Refine Eta1
+  ATH_CHECK(refineEta1Position(newCluster));
   //Save the state before the corrections
   newCluster->setAltE(newCluster->e());
   newCluster->setAltEta(newCluster->eta());
@@ -346,6 +441,8 @@ StatusCode egammaSuperClusterBuilder::CalibrateCluster(xAOD::CaloCluster* newClu
   ATH_MSG_DEBUG("Cluster Energy no correction/calibration: "<<newCluster->e());
   ATH_MSG_DEBUG("Cluster eta  no correction/calibration: "<<newCluster->eta());
   ATH_MSG_DEBUG("Cluster phi no correction/calibration: "<<newCluster->phi());
+  ATH_MSG_DEBUG("Cluster etaBE(1) no correction/calibration: "<<newCluster->etaBE(1));
+  ATH_MSG_DEBUG("Cluster phiBE(1) no correction/calibration: "<<newCluster->phiBE(1));
   ATH_MSG_DEBUG("Cluster etaBE(2) no correction/calibration: "<<newCluster->etaBE(2));
   ATH_MSG_DEBUG("Cluster phiBE(2) no correction/calibration: "<<newCluster->phiBE(2));
 
@@ -360,6 +457,8 @@ StatusCode egammaSuperClusterBuilder::CalibrateCluster(xAOD::CaloCluster* newClu
   ATH_MSG_DEBUG("Cluster Energy after position corrections: "<<newCluster->e());
   ATH_MSG_DEBUG("Cluster eta  after position corrections: "<<newCluster->eta());
   ATH_MSG_DEBUG("Cluster phi after position corrections: "<<newCluster->phi());
+  ATH_MSG_DEBUG("Cluster etaBE(1) no correction/calibration: "<<newCluster->etaBE(1));
+  ATH_MSG_DEBUG("Cluster phiBE(1) no correction/calibration: "<<newCluster->phiBE(1));
   ATH_MSG_DEBUG("Cluster etaBE(2) after position corrections: "<<newCluster->etaBE(2));
   ATH_MSG_DEBUG("Cluster phiBE(2) after position corrections: "<<newCluster->phiBE(2));
 
@@ -400,3 +499,46 @@ StatusCode egammaSuperClusterBuilder::fillPositionsInCalo(xAOD::CaloCluster* clu
 
   return StatusCode::SUCCESS;
 }
+
+StatusCode egammaSuperClusterBuilder::refineEta1Position(xAOD::CaloCluster* cluster) const {
+
+  // Now refine the eta position using +-1 strip around hot cell
+  // This only makes sense if eta1 is good
+  if (!cluster->hasSampling(CaloSampling::EMB1) &&  !cluster->hasSampling(CaloSampling::EME1)) {
+    return StatusCode::SUCCESS;
+  }
+  
+  // For some silly reason, we have TWO different sampling enums.
+  // The clusters use one, the detector description uses the other.
+  CaloSampling::CaloSample sample;
+  CaloCell_ID::CaloSample xsample;
+  
+  if (cluster->hasSampling(CaloSampling::EMB1)) {
+    sample = CaloSampling::EMB1;
+    xsample = CaloCell_ID::EMB1;
+  } else {
+    sample = CaloSampling::EME1;
+    xsample = CaloCell_ID::EME1;
+  }
+  
+  double detastr, dphistr;
+  const auto etamax = cluster->etamax(sample);
+  const auto phimax = cluster->phimax(sample);
+  etaphi_range(etamax, phimax,
+	       xsample,
+	       detastr, dphistr);
+  
+  if (detastr > 0 && dphistr > 0) {
+    const auto cellLink = cluster->getCellLinks();
+    if (cellLink) {
+      CaloLayerCalculator calc;
+      calc.fill(cellLink->begin(), cellLink->end(), etamax, phimax, detastr, dphistr, sample);
+
+      const auto eta = calc.etam();
+      if (eta != -999.) {
+	cluster->setEta(sample, eta);
+      }
+    }
+  }
+  return StatusCode::SUCCESS;
+}
diff --git a/Reconstruction/egamma/egammaTools/src/egammaSuperClusterBuilder.h b/Reconstruction/egamma/egammaTools/src/egammaSuperClusterBuilder.h
index 0ce6fa1da984207c721baf90166c0af7474f4d87..715e7d362f14c83f7f420c857a6998b5fba08482 100644
--- a/Reconstruction/egamma/egammaTools/src/egammaSuperClusterBuilder.h
+++ b/Reconstruction/egamma/egammaTools/src/egammaSuperClusterBuilder.h
@@ -79,6 +79,9 @@ private:
   StatusCode fillPositionsInCalo(xAOD::CaloCluster* cluster); 
   // above can't be const because m_caloCellDetPos acceses are not const
 
+  //refine 
+  StatusCode refineEta1Position(xAOD::CaloCluster* cluster) const ;
+
 
 
   // these are calculated window values for the windows in which cells of topoclusters are edded
diff --git a/Reconstruction/egamma/egammaTools/src/egammaSwTool.cxx b/Reconstruction/egamma/egammaTools/src/egammaSwTool.cxx
index b1d01fdb5a8f449c91cbecd4faf68d51cca1692a..b13ee8f46c98ef3e12f732ae72261c431112ce51 100644
--- a/Reconstruction/egamma/egammaTools/src/egammaSwTool.cxx
+++ b/Reconstruction/egamma/egammaTools/src/egammaSwTool.cxx
@@ -48,10 +48,15 @@ egammaSwTool::egammaSwTool(const std::string& type,
   declareProperty("ClusterCorrectionToolsEconv37",m_clusterCorrectionNamesEconv37);
   //
   //SuperCluster
+  declareProperty("ClusterCorrectionToolsSuperClusterEle35",m_clusterCorrectionNamesSuperClusterEle35);
   declareProperty("ClusterCorrectionToolsSuperClusterEle55",m_clusterCorrectionNamesSuperClusterEle55);
   declareProperty("ClusterCorrectionToolsSuperClusterEle37",m_clusterCorrectionNamesSuperClusterEle37);
+  //
+  declareProperty("ClusterCorrectionToolsSuperClusterGam35",m_clusterCorrectionNamesSuperClusterGam35);
   declareProperty("ClusterCorrectionToolsSuperClusterGam55",m_clusterCorrectionNamesSuperClusterGam55);
   declareProperty("ClusterCorrectionToolsSuperClusterGam37",m_clusterCorrectionNamesSuperClusterGam37);
+  //
+  declareProperty("ClusterCorrectionToolsSuperClusterEconv35",m_clusterCorrectionNamesSuperClusterEconv35);
   declareProperty("ClusterCorrectionToolsSuperClusterEconv55",m_clusterCorrectionNamesSuperClusterEconv55);
   declareProperty("ClusterCorrectionToolsSuperClusterEconv37",m_clusterCorrectionNamesSuperClusterEconv37);
 
@@ -82,12 +87,15 @@ StatusCode egammaSwTool::initialize()
   ATH_CHECK(populateTools(m_clusterCorrectionNamesEconv37,m_clusterCorrectionPointersEconv37));
   ATH_CHECK(populateTools(m_clusterCorrectionNamesEconv55,m_clusterCorrectionPointersEconv55));
   //SuperCluster
+  ATH_CHECK(populateTools(m_clusterCorrectionNamesSuperClusterEle35,m_clusterCorrectionPointersSuperClusterEle35));
   ATH_CHECK(populateTools(m_clusterCorrectionNamesSuperClusterEle37,m_clusterCorrectionPointersSuperClusterEle37));
   ATH_CHECK(populateTools(m_clusterCorrectionNamesSuperClusterEle55,m_clusterCorrectionPointersSuperClusterEle55));
   //
+  ATH_CHECK(populateTools(m_clusterCorrectionNamesSuperClusterGam35,m_clusterCorrectionPointersSuperClusterGam35));
   ATH_CHECK(populateTools(m_clusterCorrectionNamesSuperClusterGam37,m_clusterCorrectionPointersSuperClusterGam37));
   ATH_CHECK(populateTools(m_clusterCorrectionNamesSuperClusterGam55,m_clusterCorrectionPointersSuperClusterGam55));
   //
+  ATH_CHECK(populateTools(m_clusterCorrectionNamesSuperClusterEconv35,m_clusterCorrectionPointersSuperClusterEconv35));
   ATH_CHECK(populateTools(m_clusterCorrectionNamesSuperClusterEconv37,m_clusterCorrectionPointersSuperClusterEconv37));
   ATH_CHECK(populateTools(m_clusterCorrectionNamesSuperClusterEconv55,m_clusterCorrectionPointersSuperClusterEconv55));
   return StatusCode::SUCCESS;
diff --git a/Reconstruction/egamma/egammaTools/src/egammaSwTool.h b/Reconstruction/egamma/egammaTools/src/egammaSwTool.h
index 560e61bc3dab810fa26a39ece67b3352db775b13..76abc2975f8e4919b939e7527c482ba65220e92a 100644
--- a/Reconstruction/egamma/egammaTools/src/egammaSwTool.h
+++ b/Reconstruction/egamma/egammaTools/src/egammaSwTool.h
@@ -65,9 +65,14 @@ class egammaSwTool : public AthAlgTool, virtual public IegammaSwTool
   std::vector<std::string> m_clusterCorrectionNamesSuperClusterEle37;
   std::vector<std::string> m_clusterCorrectionNamesSuperClusterGam37;
   std::vector<std::string> m_clusterCorrectionNamesSuperClusterEconv37;
+  //
   std::vector<std::string> m_clusterCorrectionNamesSuperClusterEle55;
   std::vector<std::string> m_clusterCorrectionNamesSuperClusterGam55;
   std::vector<std::string> m_clusterCorrectionNamesSuperClusterEconv55;
+  //
+  std::vector<std::string> m_clusterCorrectionNamesSuperClusterEle35;
+  std::vector<std::string> m_clusterCorrectionNamesSuperClusterGam35;
+  std::vector<std::string> m_clusterCorrectionNamesSuperClusterEconv35;
 
   /** @brief the actual list of tools corresponding to above names */
   std::vector<CaloClusterProcessor*>  m_clusterCorrectionPointersEle55; 
@@ -80,12 +85,18 @@ class egammaSwTool : public AthAlgTool, virtual public IegammaSwTool
   std::vector<CaloClusterProcessor*>  m_clusterCorrectionPointersEconv35; 
   std::vector<CaloClusterProcessor*>  m_clusterCorrectionPointersEconv37; 
   //SuperCluster
-  std::vector<CaloClusterProcessor*> m_clusterCorrectionPointersSuperClusterEle37;
-  std::vector<CaloClusterProcessor*> m_clusterCorrectionPointersSuperClusterGam37;
-  std::vector<CaloClusterProcessor*> m_clusterCorrectionPointersSuperClusterEconv37;
+  std::vector<CaloClusterProcessor*> m_clusterCorrectionPointersSuperClusterEle35;
+  std::vector<CaloClusterProcessor*> m_clusterCorrectionPointersSuperClusterEconv35;
+  std::vector<CaloClusterProcessor*> m_clusterCorrectionPointersSuperClusterGam35;
+  //
   std::vector<CaloClusterProcessor*> m_clusterCorrectionPointersSuperClusterEle55;
   std::vector<CaloClusterProcessor*> m_clusterCorrectionPointersSuperClusterGam55;
   std::vector<CaloClusterProcessor*> m_clusterCorrectionPointersSuperClusterEconv55;
+  //
+  std::vector<CaloClusterProcessor*> m_clusterCorrectionPointersSuperClusterEle37;
+  std::vector<CaloClusterProcessor*> m_clusterCorrectionPointersSuperClusterGam37;
+  std::vector<CaloClusterProcessor*> m_clusterCorrectionPointersSuperClusterEconv37;
+
 };
 
 #endif
diff --git a/Reconstruction/egamma/egammaTools/src/photonSuperClusterBuilder.cxx b/Reconstruction/egamma/egammaTools/src/photonSuperClusterBuilder.cxx
index e9511f707572d45a8b2dddfee47d8d06115737e0..9be9b5588754d2bb5acbf55f90daacf32fb9c43d 100644
--- a/Reconstruction/egamma/egammaTools/src/photonSuperClusterBuilder.cxx
+++ b/Reconstruction/egamma/egammaTools/src/photonSuperClusterBuilder.cxx
@@ -154,7 +154,6 @@ StatusCode photonSuperClusterBuilder::execute(){
     const std::vector<std::size_t> secondaryClusters = 
       SearchForSecondaryClusters(i, egammaRecs, isUsed, nWindowClusters, nExtraClusters);
 
-
     for (auto secClus : secondaryClusters) {
       const auto secRec = egammaRecs->at(secClus);
       accumulatedClusters.push_back(secRec->caloCluster());