diff --git a/LArCalorimeter/LArSim/LArSim/LArHitMaker.h b/LArCalorimeter/LArSim/LArSim/LArHitMaker.h
index 8ab973a468d16edb6c5216ec4e606bf3ebee73f7..0f7e6b6fed1bd4d34780a17540c78fa180104672 100755
--- a/LArCalorimeter/LArSim/LArSim/LArHitMaker.h
+++ b/LArCalorimeter/LArSim/LArSim/LArHitMaker.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 */
 
 /* Generated by Together */
@@ -17,7 +17,7 @@
 
 #include <string>
 
-#include "AthenaBaseComps/AthAlgorithm.h"
+#include "AthenaBaseComps/AthLegacySequence.h"
 
 /**
  * Specialized ATHENA algorithm which can be used to store <br>
@@ -33,7 +33,7 @@
  * @version 00-00-05
  *
  */
-class LArHitMaker : public AthAlgorithm {
+class LArHitMaker : public AthLegacySequence {
 
 public:
 
diff --git a/LArCalorimeter/LArSim/LArSim/LArHitReader.h b/LArCalorimeter/LArSim/LArSim/LArHitReader.h
index 3a3c6cfeafda2a3534b5b8dade44f8dc2196ef7f..6f45a924ff2b2ce57ac74455d4d027583675ae29 100755
--- a/LArCalorimeter/LArSim/LArSim/LArHitReader.h
+++ b/LArCalorimeter/LArSim/LArSim/LArHitReader.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 */
 
 /* Generated by Together */
@@ -17,31 +17,24 @@
 
 #include <string>
 
-#include "AthenaBaseComps/AthAlgorithm.h"
+#include "AthenaBaseComps/AthReentrantAlgorithm.h"
 #include "LArSimEvent/LArHitContainer.h"
+#include "StoreGate/ReadHandleKey.h"
 
-class LArHitReader : public AthAlgorithm {
+class LArHitReader : public AthReentrantAlgorithm {
 
 public:
-
-    /** usual ATHENA constructor of an algorithm*/
-    LArHitReader(const std::string & name, ISvcLocator * pSvcLocator);
-
-    /** Destructor */
-    virtual ~LArHitReader() { }
-
+    using AthReentrantAlgorithm::AthReentrantAlgorithm;
     /** Initialize method , executed once at the beginning <br> of the job execution by the control framework */
-    virtual StatusCode initialize();
+    virtual StatusCode initialize() override;
 
     /** execute() method executed for each event <br> by the LArHitMaker instance which owns <br> this producer */
-    virtual StatusCode execute();
-
-    /** finalize() method executed at the end <br> of the job execution by the control framework */
-    virtual StatusCode finalize();
+    virtual StatusCode execute (const EventContext& ctx)  const override;
 
 private:
-
-
+    SG::ReadHandleKey<LArHitContainer> m_hitKey
+    { this, "HitKey", "LArHitFake", "" };
+    
 };
 #endif    //LARHITPRODUCER_H
 
diff --git a/LArCalorimeter/LArSim/src/LArFakeHitProducer.cxx b/LArCalorimeter/LArSim/src/LArFakeHitProducer.cxx
index 1bfe59dbea931e4e4000cf0f985c6eafd0f1d83d..7ec4b8eec737231121dbb9189c5b1a9f0f715eed 100755
--- a/LArCalorimeter/LArSim/src/LArFakeHitProducer.cxx
+++ b/LArCalorimeter/LArSim/src/LArFakeHitProducer.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "LArSim/LArFakeHitProducer.h"
@@ -12,8 +12,6 @@
 #include "LArSimEvent/LArHit.h"
 #include "LArSimEvent/LArHitContainer.h"
 
-#include "StoreGate/StoreGate.h" 
-
 
 // Constructor
 LArFakeHitProducer::LArFakeHitProducer(const std::string& name, ISvcLocator* pSvcLocator ) :
@@ -39,7 +37,7 @@ StatusCode LArFakeHitProducer::hitConstruction(){
     ATH_MSG_DEBUG(" Filled the container, size = "<< cont->size() );
 
 
-    ATH_CHECK( StoreGate::instance().record(cont,"LArHitFake") );
+    ATH_CHECK( evtStore()->record(cont,"LArHitFake") );
     return StatusCode::SUCCESS;
 }
 
diff --git a/LArCalorimeter/LArSim/src/LArHitMaker.cxx b/LArCalorimeter/LArSim/src/LArHitMaker.cxx
index 6a1f599bc64a5d5e6b4d99b17ce3cb07c961fbe6..5a49c6f4b346e840607989197ba749dc48afebf4 100755
--- a/LArCalorimeter/LArSim/src/LArHitMaker.cxx
+++ b/LArCalorimeter/LArSim/src/LArHitMaker.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "LArSim/LArHitMaker.h"
@@ -15,7 +15,7 @@
 
 // Constructor
 LArHitMaker::LArHitMaker(const std::string& name, ISvcLocator* pSvcLocator ) :
- AthAlgorithm(name , pSvcLocator),
+ AthLegacySequence(name , pSvcLocator),
  m_HitRetrieverNameAndType("LArHitProducerTest/producer1"),
  m_HitContainerLocation("LArHits"),
  m_HitRetrieverAlgorithm(0) ,
@@ -70,7 +70,7 @@ StatusCode LArHitMaker::initialize(){
 StatusCode LArHitMaker::execute(){
   ATH_MSG_DEBUG(" Start executing execute() method of "<< m_HitRetrieverNameAndType );
     
-    ATH_CHECK( m_HitRetrieverAlgorithm -> execute() );
+    ATH_CHECK( m_HitRetrieverAlgorithm -> execute(Gaudi::Hive::currentContext()) );
     
     LArHitProducer * producer = dynamic_cast<LArHitProducer*> ( m_HitRetrieverAlgorithm ) ;
     if(producer == NULL ) {
diff --git a/LArCalorimeter/LArSim/src/LArHitReader.cxx b/LArCalorimeter/LArSim/src/LArHitReader.cxx
index 8bf7c97538ea747429ca493204e91d435f135303..2de954abf1027335205e9d919d2fef2a457832f6 100755
--- a/LArCalorimeter/LArSim/src/LArHitReader.cxx
+++ b/LArCalorimeter/LArSim/src/LArHitReader.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "LArSim/LArHitReader.h"
@@ -8,27 +8,19 @@
 #include "GaudiKernel/IDataProviderSvc.h"
 
 #include "LArSimEvent/LArHit.h"
-#include "StoreGate/StoreGate.h"
-
-// Constructor
-LArHitReader::LArHitReader(const std::string& name, ISvcLocator* pSvcLocator ) :
- AthAlgorithm(name , pSvcLocator)
-{
-  
-}
-
+#include "StoreGate/ReadHandle.h"
 
 //Initialize method
 StatusCode LArHitReader::initialize(){
-  ATH_MSG_DEBUG("LArHitReader "<< this->name()<<" initialized");
+  ATH_CHECK( m_hitKey.initialize() );
   return StatusCode::SUCCESS ;   
 }
 
 
 //Execute method
-StatusCode LArHitReader::execute(){
-  const LArHitContainer* cont = nullptr;
-  ATH_CHECK( StoreGate::instance().retrieve(cont,"LArHitFake") );
+StatusCode LArHitReader::execute (const EventContext& ctx) const
+{
+  SG::ReadHandle<LArHitContainer> cont (m_hitKey, ctx);
 
   ATH_MSG_DEBUG(" LArHitContainer Dump ----------- " );
   ATH_MSG_DEBUG( (std::string)(*cont)   );
@@ -36,10 +28,3 @@ StatusCode LArHitReader::execute(){
   return StatusCode::SUCCESS ;   
 }
 
-//Finalize method
-StatusCode LArHitReader::finalize(){
-  ATH_MSG_DEBUG("finalize() completed correctly");
-  return StatusCode::SUCCESS ;   
-}
-
-