diff --git a/MuonSpectrometer/MuonAlignment/MuonAlignmentData/MuonAlignmentData/NswAsBuiltDbData.h b/MuonSpectrometer/MuonAlignment/MuonAlignmentData/MuonAlignmentData/NswAsBuiltDbData.h
index 850a37484de23c30e3c2a9486a167462d3f811bb..9e914c32e35d770efd9ba4814688f3b663c05c62 100644
--- a/MuonSpectrometer/MuonAlignment/MuonAlignmentData/MuonAlignmentData/NswAsBuiltDbData.h
+++ b/MuonSpectrometer/MuonAlignment/MuonAlignmentData/MuonAlignmentData/NswAsBuiltDbData.h
@@ -20,15 +20,11 @@ public:
 #ifndef SIMULATIONBASE
     /// Storage to the micromega as built calculator
     using MmAsBuiltPtr  = GeoModel::TransientConstSharedPtr<NswAsBuilt::StripCalculator>;
-    using sTgcAsBuiltPtr = GeoModel::TransientConstSharedPtr<NswAsBuilt::StgcStripCalculator>;
 #else
     /// Define a dummy pointer object if the project is AthSimulation
     using MmAsBuiltPtr = char;
-    using sTgcAsBuiltPtr = char;
 #endif
     MmAsBuiltPtr microMegaData{};
-    /// Storage to the stgc as built calculator
-    sTgcAsBuiltPtr sTgcData{};
 
     NswAsBuiltDbData() = default;
     ~NswAsBuiltDbData() = default;
diff --git a/MuonSpectrometer/MuonAlignment/MuonAlignmentData/MuonAlignmentData/sTGCAsBuiltData2.h b/MuonSpectrometer/MuonAlignment/MuonAlignmentData/MuonAlignmentData/sTGCAsBuiltData.h
similarity index 83%
rename from MuonSpectrometer/MuonAlignment/MuonAlignmentData/MuonAlignmentData/sTGCAsBuiltData2.h
rename to MuonSpectrometer/MuonAlignment/MuonAlignmentData/MuonAlignmentData/sTGCAsBuiltData.h
index 94e0ab791861e9b7d9cfcf46caa676b866b02648..e70e9a0a6ae6b1ed3cfe22226ad5f3452e67b51c 100644
--- a/MuonSpectrometer/MuonAlignment/MuonAlignmentData/MuonAlignmentData/sTGCAsBuiltData2.h
+++ b/MuonSpectrometer/MuonAlignment/MuonAlignmentData/MuonAlignmentData/sTGCAsBuiltData.h
@@ -12,7 +12,7 @@
 #include "GeoPrimitives/GeoPrimitives.h"
 
 /**
- * @class sTGCAsBuiltData2
+ * @class sTGCAsBuiltData
  *
  * @brief Class holding the sTGC as built conditions data and applying it. The model consists of four parameters:
  *         - offset: shift of the strip layer in the precission coordinate
@@ -24,9 +24,9 @@
  *
  */
 
-class sTGCAsBuiltData2: public AthMessaging {
+class sTGCAsBuiltData: public AthMessaging {
     public:
-        sTGCAsBuiltData2(const Muon::IMuonIdHelperSvc* idHelperSvc);
+        sTGCAsBuiltData(const Muon::IMuonIdHelperSvc* idHelperSvc);
         // returns the local positon corrected for the as built parameters
         Amg::Vector2D correctPosition(const Identifier& channelId, const Amg::Vector2D& pos) const;
         // Set the parameters of the as build model (shift, rotation, scale)
@@ -47,6 +47,8 @@ class sTGCAsBuiltData2: public AthMessaging {
         ParMap m_asBuiltData{};
 };
 
-CLASS_DEF( sTGCAsBuiltData2  , 189786421 , 1 );
-CONDCONT_DEF( sTGCAsBuiltData2 , 15989615 );
+std::ostream& operator<<(std::ostream& ostr, const sTGCAsBuiltData::Parameters& par);
+
+CLASS_DEF( sTGCAsBuiltData  , 154485394 , 1 );
+CONDCONT_DEF( sTGCAsBuiltData , 66070092 );
 #endif
diff --git a/MuonSpectrometer/MuonAlignment/MuonAlignmentData/src/sTGCAsBuiltData2.cxx b/MuonSpectrometer/MuonAlignment/MuonAlignmentData/src/sTGCAsBuiltData.cxx
similarity index 72%
rename from MuonSpectrometer/MuonAlignment/MuonAlignmentData/src/sTGCAsBuiltData2.cxx
rename to MuonSpectrometer/MuonAlignment/MuonAlignmentData/src/sTGCAsBuiltData.cxx
index 75e4c7424ecef7fbbc3f948e53fb98a680c67b55..bc5acd536020a525d1b0e296e594ae926ebd2b53 100644
--- a/MuonSpectrometer/MuonAlignment/MuonAlignmentData/src/sTGCAsBuiltData2.cxx
+++ b/MuonSpectrometer/MuonAlignment/MuonAlignmentData/src/sTGCAsBuiltData.cxx
@@ -1,16 +1,22 @@
 /*
   Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
-#include "MuonAlignmentData/sTGCAsBuiltData2.h"
+#include "MuonAlignmentData/sTGCAsBuiltData.h"
 #include "GeoPrimitives/GeoPrimitivesToStringConverter.h"
 
-sTGCAsBuiltData2::sTGCAsBuiltData2(const Muon::IMuonIdHelperSvc* idHelperSvc):
-    AthMessaging{"sTGCAsBuiltData2"},
+
+std::ostream& operator<<(std::ostream& ostr, const sTGCAsBuiltData::Parameters& par){
+   return ostr << "Offset " << par.offset << " rotxy " << par.rotation << " scale " << par.scale  << " nonPara " <<  par.nonPara;
+}
+
+
+sTGCAsBuiltData::sTGCAsBuiltData(const Muon::IMuonIdHelperSvc* idHelperSvc):
+    AthMessaging{"sTGCAsBuiltData"},
     m_idHelperSvc{idHelperSvc} {}
 
 
 
-Amg::Vector2D sTGCAsBuiltData2::correctPosition(const Identifier& channelId, const Amg::Vector2D& pos) const {
+Amg::Vector2D sTGCAsBuiltData::correctPosition(const Identifier& channelId, const Amg::Vector2D& pos) const {
     ParMap::const_iterator par_itr = m_asBuiltData.find(m_idHelperSvc->gasGapId(channelId));
     if(par_itr == m_asBuiltData.end()){
         ATH_MSG_WARNING("Missing as built parameters for gas gap " << m_idHelperSvc->toString(channelId));
@@ -23,13 +29,14 @@ Amg::Vector2D sTGCAsBuiltData2::correctPosition(const Identifier& channelId, con
     // For the QL3 modules described by the legacy (Run 3) geometry EDM the origin of the local frame is shifted with respect to the actual center of the gap.
     // Therefore a shift is introduced which stabilizes the as built fit which must also be applied here since the parameters are expressed using the actual center of the gap.
     float shift = (std::fabs(m_idHelperSvc->stationEta(channelId)) == 3 && m_idHelperSvc->stationNameString(channelId) == "STL" ?  24.74 : 0.0);
+    ATH_MSG_VERBOSE("applying as built parameters " << pars);
 
     correctedPos.x() = pos.x() +  (pars.offset * convScale  + pars.rotation *convScale * pos.y() + pars.scale*convScale*(pos.x() + shift ) + pars.nonPara * convScale * convScale * (pos.x() + shift  )*pos.y()); 
     return correctedPos;
 }
 
 
-StatusCode sTGCAsBuiltData2::setParameters(const Identifier& channelId, const Parameters& pars){
+StatusCode sTGCAsBuiltData::setParameters(const Identifier& channelId, const Parameters& pars){
     const Identifier gasGapId = m_idHelperSvc->gasGapId(channelId);
     auto insert_itr = m_asBuiltData.insert(std::make_pair(gasGapId, pars));
     if (!insert_itr.second) {
diff --git a/MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondAlg/MuonCondAlg/NswAsBuiltCondAlg.h b/MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondAlg/MuonCondAlg/NswAsBuiltCondAlg.h
index 44a8c6cdcc293385377e4aa24cf0716429d1608b..f09fb9291e14cca1429a4f540840a48256cb8e8a 100644
--- a/MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondAlg/MuonCondAlg/NswAsBuiltCondAlg.h
+++ b/MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondAlg/MuonCondAlg/NswAsBuiltCondAlg.h
@@ -23,11 +23,8 @@ public:
 private:
     SG::ReadCondHandleKey<CondAttrListCollection> m_readMmAsBuiltParamsKey{this, "ReadMmAsBuiltParamsKey", "/MUONALIGN/ASBUILTPARAMS/MM",
                                                                             "Key of MM/ASBUILTPARAMS input condition data"};
-    SG::ReadCondHandleKey<CondAttrListCollection> m_readSTgcAsBuiltParamsKey{this, "ReadSTgcAsBuiltParamsKey", "/MUONALIGN/ASBUILTPARAMS/STGC",
-                                                                            "Key of sTGC/ASBUILTPARAMS input condition data"};
      
     Gaudi::Property<std::string> m_MmJsonPath{this,"MicroMegaJSON",   "", "Pass As-Built parameters for MM chambers from an Ascii file"};
-    Gaudi::Property<std::string> m_StgcJsonPath{this, "sTgcJSON", "", "Pass As-Built parameters for sTGC chambers from an Ascii file"};
      
     SG::WriteCondHandleKey<NswAsBuiltDbData> m_writeNswAsBuiltKey{this, "WriteNswAsBuiltKey", "NswAsBuiltDbData",
                                                                      "Key of output muon alignment MM+STGC/AsBuilt condition data"};
diff --git a/MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondAlg/MuonCondAlg/sTGCAsBuiltCondAlg2.h b/MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondAlg/MuonCondAlg/sTGCAsBuiltCondAlg.h
similarity index 70%
rename from MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondAlg/MuonCondAlg/sTGCAsBuiltCondAlg2.h
rename to MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondAlg/MuonCondAlg/sTGCAsBuiltCondAlg.h
index c2fbd3e817e0dbb6cf871ce57211b6df9fe3bb22..ab490e9eb02d88a41f568c15a1b2cf3a02f38030 100644
--- a/MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondAlg/MuonCondAlg/sTGCAsBuiltCondAlg2.h
+++ b/MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondAlg/MuonCondAlg/sTGCAsBuiltCondAlg.h
@@ -2,13 +2,13 @@
   Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
 */
 
-#ifndef MUONCONDALG_sTGCAsBuiltCondAlg2_H
-#define MUONCONDALG_sTGCAsBuiltCondAlg2_H
+#ifndef MUONCONDALG_sTGCAsBuiltCondAlg_H
+#define MUONCONDALG_sTGCAsBuiltCondAlg_H
 
 // Athena includes
 #include "AthenaBaseComps/AthReentrantAlgorithm.h"
 #include "AthenaPoolUtilities/CondAttrListCollection.h"
-#include "MuonAlignmentData/sTGCAsBuiltData2.h"
+#include "MuonAlignmentData/sTGCAsBuiltData.h"
 #include "MuonIdHelpers/IMuonIdHelperSvc.h"
 #include "StoreGate/ReadCondHandleKey.h"
 #include "StoreGate/WriteCondHandleKey.h"
@@ -18,10 +18,10 @@
 /**
  * Conditions algorithm to load the alternativ sTGC as built constants.
 */
-class sTGCAsBuiltCondAlg2 : public AthReentrantAlgorithm {
+class sTGCAsBuiltCondAlg : public AthReentrantAlgorithm {
 public:
-    sTGCAsBuiltCondAlg2(const std::string& name, ISvcLocator* svc);
-    virtual ~sTGCAsBuiltCondAlg2() = default;
+    using AthReentrantAlgorithm::AthReentrantAlgorithm;
+    virtual ~sTGCAsBuiltCondAlg() = default;
     virtual StatusCode initialize() override;
     virtual StatusCode execute(const EventContext& ctx) const override;
     virtual bool isReEntrant() const override { return false; }
@@ -29,14 +29,14 @@ public:
 private:
     /// Parse efficiency data from COOL
     StatusCode parseDataFromJSON(const nlohmann::json& lines,
-                                 sTGCAsBuiltData2& effiData) const;
+                                 sTGCAsBuiltData& effiData) const;
 
     ServiceHandle<Muon::IMuonIdHelperSvc> m_idHelperSvc{this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
 
      /// Load the gasGap efficiencies from a JSON file
     Gaudi::Property<std::string> m_readFromJSON{this, "readFromJSON", "" };
 
-    SG::WriteCondHandleKey<sTGCAsBuiltData2> m_writeKey{this, "WriteKey", "sTGCAsBuilt2", "Key of the efficiency data in the CondStore"};
+    SG::WriteCondHandleKey<sTGCAsBuiltData> m_writeKey{this, "WriteKey", "sTGCAsBuilt", "Key of the efficiency data in the CondStore"};
     SG::ReadCondHandleKey<CondAttrListCollection> m_readKeyDb{this, "ReadKey", "",
                                                               "Folder of the STGC efficiencies as they're stored in COOL"};
 };
diff --git a/MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondAlg/src/NswAsBuiltCondAlg.cxx b/MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondAlg/src/NswAsBuiltCondAlg.cxx
index 403200ceb338a349ca63cffbfc238520a3a6ef92..f77e69678f5ac23c22332b1f229dd68765f3f6b5 100644
--- a/MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondAlg/src/NswAsBuiltCondAlg.cxx
+++ b/MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondAlg/src/NswAsBuiltCondAlg.cxx
@@ -14,14 +14,10 @@
 }
 StatusCode NswAsBuiltCondAlg::initialize() {
     ATH_CHECK(m_readMmAsBuiltParamsKey.initialize(m_MmJsonPath.value().empty() && !m_readMmAsBuiltParamsKey.empty()));
-    ATH_CHECK(m_readSTgcAsBuiltParamsKey.initialize(m_StgcJsonPath.value().empty() && !m_readSTgcAsBuiltParamsKey.empty()));
     ATH_CHECK(m_writeNswAsBuiltKey.initialize());
     if (!m_MmJsonPath.value().empty()) ATH_MSG_INFO("Load MicroMega as-built from external JSON "<< m_MmJsonPath);
     else if (!m_readMmAsBuiltParamsKey.empty()) ATH_MSG_INFO("Load MicroMega as-built from COOL <"<<m_readMmAsBuiltParamsKey.key()<<">");
     else ATH_MSG_INFO("MicroMega as-built is deactiviated");
-    if (!m_StgcJsonPath.value().empty()) ATH_MSG_INFO("Load sTGC as-built from external JSON "<<m_StgcJsonPath);
-    else if (!m_readSTgcAsBuiltParamsKey.empty()) ATH_MSG_INFO("Load sTGC as-built from COOL <"<<m_readSTgcAsBuiltParamsKey.key()<<">");
-    else ATH_MSG_INFO("sTGC as-built is deactiviated");
     return StatusCode::SUCCESS;
 }
 
@@ -73,42 +69,7 @@ StatusCode NswAsBuiltCondAlg::execute(const EventContext& ctx) const {
         writeCdo->microMegaData->parseJSON(buffer.str());       
     }
 
-    if (!m_readSTgcAsBuiltParamsKey.empty()) {
-        SG::ReadCondHandle<CondAttrListCollection> readHandle{m_readSTgcAsBuiltParamsKey, ctx};
-        if (!readHandle.isValid()) {
-            ATH_MSG_ERROR("Null pointer to the read STGC/ASBUILTPARAMS conditions object");
-            return StatusCode::FAILURE;
-        }
-        writeHandle.addDependency(readHandle);
-        ATH_MSG_INFO("Size of STGC/ASBUILTPARAMS CondAttrListCollection " << readHandle.fullKey()
-                                                                     << " ->size()= " << readHandle->size());
-        unsigned int nLines{0};
-        for( CondAttrListCollection::const_iterator itr = readHandle->begin(); itr != readHandle->end(); ++itr) {
-            const coral::AttributeList& atr = itr->second;
-            const std::string data{*(static_cast<const std::string*>((atr["data"]).addressOfData()))};
-            ATH_MSG_DEBUG(__FILE__<<":"<<__LINE__<<" data load is " << data << " FINISHED HERE ");
-            writeCdo->sTgcData = std::make_unique<NswAsBuilt::StgcStripCalculator>();
-            writeCdo->sTgcData->parseJSON(data);          
-            ++nLines;
-        }
-        if(nLines>1) {
-            ATH_MSG_FATAL(nLines << " data objects were loaded for STGC/ASBUILTPARAMS! Expected only one for this validity range!");
-            return StatusCode::FAILURE;
-        }
-    }
-    if (!m_StgcJsonPath.value().empty()){
-        ATH_MSG_INFO("Load micromega as-built constants from a JSON file");
-        std::ifstream thefile{PathResolverFindCalibFile(m_StgcJsonPath)};
-        if (!thefile.good()) {
-            ATH_MSG_FATAL("No such file or directory "<<m_StgcJsonPath);
-            return StatusCode::FAILURE;
-        }
-        std::stringstream buffer;
-        buffer << thefile.rdbuf();
-        writeCdo->sTgcData = std::make_unique<NswAsBuilt::StgcStripCalculator>();
-        writeCdo->sTgcData->parseJSON(buffer.str());            
-    }
-    if (!writeCdo->sTgcData && !writeCdo->microMegaData) {
+    if (!writeCdo->microMegaData) {
         ATH_MSG_ERROR("No AsBuilt constants were loaded. Please check the algorithm configucration");
         return StatusCode::FAILURE;
     }
diff --git a/MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondAlg/src/components/MuonCondAlg_entries.cxx b/MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondAlg/src/components/MuonCondAlg_entries.cxx
index 33ab0bebe095864475d3b7c2748c3efb77ec595b..a169236d0d2aa5237543d9d83d19fa8b488a63b7 100644
--- a/MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondAlg/src/components/MuonCondAlg_entries.cxx
+++ b/MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondAlg/src/components/MuonCondAlg_entries.cxx
@@ -20,7 +20,7 @@
 #include "MuonCondAlg/NswAsBuiltCondAlg.h"
 #include "MuonCondAlg/MdtAsBuiltCondAlg.h"
 #include "MuonCondAlg/CscILinesCondAlg.h"
-#include "MuonCondAlg/sTGCAsBuiltCondAlg2.h"
+#include "MuonCondAlg/sTGCAsBuiltCondAlg.h"
 #include "MuonCondAlg/MmCTPCondDbAlg.h"
 
 
@@ -43,5 +43,5 @@ DECLARE_COMPONENT(NswAsBuiltCondAlg)
 DECLARE_COMPONENT(MdtAsBuiltCondAlg)
 DECLARE_COMPONENT(CscILinesCondAlg)
 DECLARE_COMPONENT(NswUncertDbAlg)
-DECLARE_COMPONENT(sTGCAsBuiltCondAlg2)
+DECLARE_COMPONENT(sTGCAsBuiltCondAlg)
 DECLARE_COMPONENT(MmCTPCondDbAlg)
\ No newline at end of file
diff --git a/MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondAlg/src/sTGCAsBuiltCondAlg2.cxx b/MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondAlg/src/sTGCAsBuiltCondAlg.cxx
similarity index 86%
rename from MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondAlg/src/sTGCAsBuiltCondAlg2.cxx
rename to MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondAlg/src/sTGCAsBuiltCondAlg.cxx
index 2c3c7718ae6d2039c99811274d784786db5cc0de..597fcaa7ded724a4a8bc4e9e555491794924aea3 100644
--- a/MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondAlg/src/sTGCAsBuiltCondAlg2.cxx
+++ b/MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondAlg/src/sTGCAsBuiltCondAlg.cxx
@@ -2,18 +2,16 @@
   Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
 */
 
-#include "MuonCondAlg/sTGCAsBuiltCondAlg2.h"
+#include "MuonCondAlg/sTGCAsBuiltCondAlg.h"
 
 #include <StoreGate/WriteCondHandle.h>
 #include <AthenaKernel/IOVInfiniteRange.h>
 #include <PathResolver/PathResolver.h>
 #include <fstream>
 
-sTGCAsBuiltCondAlg2::sTGCAsBuiltCondAlg2(const std::string& name, ISvcLocator* pSvcLocator) :
-    AthReentrantAlgorithm(name, pSvcLocator) {}
 
 // Initialize
-StatusCode sTGCAsBuiltCondAlg2::initialize() {
+StatusCode sTGCAsBuiltCondAlg::initialize() {
     ATH_MSG_DEBUG("initializing " << name());
     ATH_CHECK(m_idHelperSvc.retrieve());
     ATH_CHECK(m_writeKey.initialize());
@@ -30,10 +28,10 @@ StatusCode sTGCAsBuiltCondAlg2::initialize() {
 }
 
 // execute
-StatusCode sTGCAsBuiltCondAlg2::execute(const EventContext& ctx) const {
+StatusCode sTGCAsBuiltCondAlg::execute(const EventContext& ctx) const {
     ATH_MSG_DEBUG("execute " << name());
     // launching Write Cond Handle
-    SG::WriteCondHandle<sTGCAsBuiltData2> writeHandle{m_writeKey, ctx};
+    SG::WriteCondHandle<sTGCAsBuiltData> writeHandle{m_writeKey, ctx};
     if (writeHandle.isValid()) {
         ATH_MSG_DEBUG("CondHandle " << writeHandle.fullKey() << " is already valid."
                                     << " In theory this should not be called, but may happen"
@@ -41,7 +39,7 @@ StatusCode sTGCAsBuiltCondAlg2::execute(const EventContext& ctx) const {
         return StatusCode::SUCCESS;
     }
     writeHandle.addDependency(EventIDRange(IOVInfiniteRange::infiniteTime()));
-    std::unique_ptr<sTGCAsBuiltData2> writeCdo{std::make_unique<sTGCAsBuiltData2>(m_idHelperSvc.get())};
+    std::unique_ptr<sTGCAsBuiltData> writeCdo{std::make_unique<sTGCAsBuiltData>(m_idHelperSvc.get())};
     if (!m_readKeyDb.empty()) {
         SG::ReadCondHandle<CondAttrListCollection> readHandle{m_readKeyDb, ctx};
         if (!readHandle.isValid()) {
@@ -69,8 +67,8 @@ StatusCode sTGCAsBuiltCondAlg2::execute(const EventContext& ctx) const {
     ATH_MSG_DEBUG("Recorded new " << writeHandle.key() << " with range " << writeHandle.getRange() << " into Conditions Store");
     return StatusCode::SUCCESS;
 }
-StatusCode sTGCAsBuiltCondAlg2::parseDataFromJSON(const nlohmann::json& lines,
-                                                   sTGCAsBuiltData2& effiData) const {
+StatusCode sTGCAsBuiltCondAlg::parseDataFromJSON(const nlohmann::json& lines,
+                                                   sTGCAsBuiltData& effiData) const {
     for (auto& corr : lines.items()) {
         nlohmann::json line = corr.value();    
          /// Station Component identification
@@ -88,7 +86,7 @@ StatusCode sTGCAsBuiltCondAlg2::parseDataFromJSON(const nlohmann::json& lines,
             return StatusCode::FAILURE;
         }
         
-        sTGCAsBuiltData2::Parameters pars;
+        sTGCAsBuiltData::Parameters pars;
         pars.offset = line["offset"];
         pars.rotation = line["rotation"];
         pars.scale = line["scale"];
diff --git a/MuonSpectrometer/MuonConfig/python/MuonConfigFlags.py b/MuonSpectrometer/MuonConfig/python/MuonConfigFlags.py
index d4445154382be99a9b37a139f30e7a4dd2f7229e..a01387c02a3b697e3b0299a8c1c201bab555be9c 100644
--- a/MuonSpectrometer/MuonConfig/python/MuonConfigFlags.py
+++ b/MuonSpectrometer/MuonConfig/python/MuonConfigFlags.py
@@ -132,7 +132,7 @@ def createMuonConfigFlags():
     mcf.addFlag("Muon.Align.UseBLines", lambda prevFlags: 'all' if _muonAlignMode(prevFlags) else 'none') # Can be ['none','all','barrel','endcaps']
     mcf.addFlag("Muon.Align.UseILines", lambda prevFlags: (_muonAlignMode(prevFlags)))
     mcf.addFlag("Muon.Align.UseAsBuilt", lambda prevFlags: (_muonAlignMode(prevFlags)))
-    mcf.addFlag("Muon.Align.UsesTGCAsBuild2",False)
+    mcf.addFlag("Muon.Align.UsesTGCAsBuild",False)
 
     # Muon Trigger Flags
     mcf.addFlag("Muon.MuonTrigger", False) 
diff --git a/MuonSpectrometer/MuonConfig/python/MuonGeometryConfig.py b/MuonSpectrometer/MuonConfig/python/MuonGeometryConfig.py
index fa8b240eff8153031fb350b5a8eddb20820e8a86..49bf3a1e503511fa4733aeeea65914c223ac84d5 100644
--- a/MuonSpectrometer/MuonConfig/python/MuonGeometryConfig.py
+++ b/MuonSpectrometer/MuonConfig/python/MuonGeometryConfig.py
@@ -125,11 +125,10 @@ def MuonAlignmentCondAlgCfg(flags, name="MuonAlignmentCondAlg", **kwargs):
             pass
         else :            
             acc.merge(MdtAsBuiltCondAlgCfg(flags))
-            if(flags.Muon.Align.UsesTGCAsBuild2):
-                acc.merge(sTGCAsBuiltCondAlg2Cfg(flags))
-                acc.merge(NswAsBuiltCondAlgCfg(flags,sTgcJSON="",ReadSTgcAsBuiltParamsKey="")) # make sure regular sTGC as built is disabled
-            else:
-                acc.merge(NswAsBuiltCondAlgCfg(flags))
+            acc.merge(NswAsBuiltCondAlgCfg(flags))
+            
+            if(flags.Muon.Align.UsesTGCAsBuild):
+                acc.merge(sTGCAsBuiltCondAlgCfg(flags))
     
     kwargs.setdefault("ParlineFolders", ParlineFolders)
     MuonAlign = CompFactory.MuonAlignmentCondAlg(name, **kwargs)
@@ -150,12 +149,8 @@ def NswAsBuiltCondAlgCfg(flags, name = "NswAsBuiltCondAlg", **kwargs):
     if flags.GeoModel.Run < LHCPeriod.Run3:
         return result
     kwargs.setdefault("MicroMegaJSON","")
-    kwargs.setdefault("sTgcJSON","")
 
     kwargs.setdefault("ReadMmAsBuiltParamsKey","/MUONALIGN/ASBUILTPARAMS/MM")
-    #kwargs.setdefault("ReadSTgcAsBuiltParamsKey","/MUONALIGN/ASBUILTPARAMS/STGC") # This is the folder that sould be used once the as builts are validated, so keep it here but commented out
-    kwargs.setdefault("ReadSTgcAsBuiltParamsKey","") # disable the stgc part of NswAsBuilt, proper code cleanup will follow
-
 
     ##TODO: remove hard-coded tag once the global tag is ready
     from IOVDbSvc.IOVDbSvcConfig import addFolders
@@ -165,17 +160,17 @@ def NswAsBuiltCondAlgCfg(flags, name = "NswAsBuiltCondAlg", **kwargs):
     result.addCondAlgo(the_alg, primary = True)     
     return result
 
-def sTGCAsBuiltCondAlg2Cfg(flags, name = "sTGCAsBuiltCondAlg2", **kwargs):
+def sTGCAsBuiltCondAlgCfg(flags, name = "sTGCAsBuiltCondAlg", **kwargs):
     result = ComponentAccumulator()
     #### Do not apply the as-built correction if not activated
-    if flags.GeoModel.Run < LHCPeriod.Run3 or not flags.Muon.Align.UsesTGCAsBuild2:
+    if flags.GeoModel.Run < LHCPeriod.Run3 or not flags.Muon.Align.UsesTGCAsBuild:
         return result
     kwargs.setdefault("readFromJSON","")
     if not kwargs["readFromJSON"]:
         kwargs.setdefault("ReadKey","/MUONALIGN/ASBUILTPARAMS/STGC")
         from IOVDbSvc.IOVDbSvcConfig import addFolders
-        result.merge(addFolders( flags, kwargs["ReadKey"], 'MUONALIGN_OFL', className='CondAttrListCollection'))
-    the_alg = CompFactory.sTGCAsBuiltCondAlg2(name,**kwargs)
+        result.merge(addFolders( flags, kwargs["ReadKey"], 'MUONALIGN_OFL', className='CondAttrListCollection', tag = 'MUONALIGN_STG_IntAl_alCons_noQL3_v01'))
+    the_alg = CompFactory.sTGCAsBuiltCondAlg(name,**kwargs)
     result.addCondAlgo(the_alg, primary=True)
     return result
         
@@ -222,7 +217,7 @@ def MuonDetectorCondAlgCfg(flags, name = "MuonDetectorCondAlg", **kwargs):
     kwargs.setdefault("applyBLines", len([alg for alg in result.getCondAlgos() if alg.name == "MuonAlignmentCondAlg"])>0)
     kwargs.setdefault("applyILines", len([alg for alg in result.getCondAlgos() if alg.name == "CscILinesCondAlg"])>0)
     kwargs.setdefault("applyNswAsBuilt", len([alg for alg in result.getCondAlgos() if alg.name == "NswAsBuiltCondAlg"])>0)
-    kwargs.setdefault("applysTGCAsBuilt2", len([alg for alg in result.getCondAlgos() if alg.name == "sTGCAsBuiltCondAlg2"])>0)
+    kwargs.setdefault("applysTGCAsBuilt", len([alg for alg in result.getCondAlgos() if alg.name == "sTGCAsBuiltCondAlg"])>0)
     kwargs.setdefault("applyMdtAsBuilt", len([alg for alg in result.getCondAlgos() if alg.name == "MdtAsBuiltCondAlg"])>0)
 
    
diff --git a/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h b/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h
index 360e1f0bfab6c8b89a0e26c611022d2b5f0cb7b4..80e13f8b26b649d6e9f37f0f9f9c900843473f6a 100644
--- a/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h
+++ b/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h
@@ -17,7 +17,7 @@
 #include "GeoModelKernel/GeoVDetectorManager.h"
 #include "MuonAlignmentData/CorrContainer.h"
 #include "MuonAlignmentData/NswAsBuiltDbData.h"
-#include "MuonAlignmentData/sTGCAsBuiltData2.h"
+#include "MuonAlignmentData/sTGCAsBuiltData.h"
 #include "MuonIdHelpers/IMuonIdHelperSvc.h"
 #include "MuonReadoutGeometry/GenericRPCCache.h"
 #include "MuonReadoutGeometry/GenericTGCCache.h"
@@ -207,17 +207,14 @@ namespace MuonGM {
         StatusCode updateCSCInternalAlignmentMap(const ALineContainer& cscIntAline);
 
         void setNswAsBuilt(const NswAsBuiltDbData* nswAsBuiltData);
-        void setsTGCAsBuilt2(const sTGCAsBuiltData2* stgcAsBuilt2);
+        void setsTGCAsBuilt(const sTGCAsBuiltData* stgcAsBuilt);
 #ifndef SIMULATIONBASE
         const NswAsBuilt::StripCalculator* getMMAsBuiltCalculator() const { 
             return  m_nswAsBuilt ? m_nswAsBuilt->microMegaData.get() : nullptr; 
         }
-        const NswAsBuilt::StgcStripCalculator* getStgcAsBuiltCalculator() const { 
-            return m_nswAsBuilt ? m_nswAsBuilt->sTgcData.get() : nullptr; ; 
-        }
 #endif
-        const sTGCAsBuiltData2* getsTGCAsBuilt2() const {
-            return m_stgcAsBuildData2;
+        const sTGCAsBuiltData* getsTGCAsBuilt() const {
+            return m_stgcAsBuildData;
         }
 
         // map the RPC station indices (0-NRpcStatType) back to the RpcIdHelper stationNames
@@ -283,7 +280,7 @@ namespace MuonGM {
 
         
         const NswAsBuiltDbData* m_nswAsBuilt{nullptr};
-        const sTGCAsBuiltData2* m_stgcAsBuildData2 {nullptr};
+        const sTGCAsBuiltData* m_stgcAsBuildData {nullptr};
     
         /// RPC name caches
         std::map<int, int> m_rpcStatToIdx;
diff --git a/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx b/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx
index 28aa093ad1f3fe1776aa53a83fe41dc466798864..d2225ca70463fe7ceb19b37b02df87abbdf18a54 100644
--- a/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx
+++ b/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/src/MuonDetectorManager.cxx
@@ -627,8 +627,8 @@ namespace MuonGM {
         m_nswAsBuilt = nswAsBuiltData;
     }
 
-    void MuonDetectorManager::setsTGCAsBuilt2(const sTGCAsBuiltData2* stgcAsBuilt2) {
-        m_stgcAsBuildData2 = stgcAsBuilt2;
+    void MuonDetectorManager::setsTGCAsBuilt(const sTGCAsBuiltData* stgcAsBuilt) {
+        m_stgcAsBuildData = stgcAsBuilt;
     }
 
     const MdtReadoutElement* MuonDetectorManager::getMdtReadoutElement(const IdentifierHash& id) const {
diff --git a/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/src/sTgcReadoutElement.cxx b/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/src/sTgcReadoutElement.cxx
index 5734cde0fc10922d6ecef7c57fdb052a9eb81271..5a1a1128bed5323964a1dbc1c814510dc879ac71 100644
--- a/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/src/sTgcReadoutElement.cxx
+++ b/MuonSpectrometer/MuonDetDescr/MuonReadoutGeometry/src/sTgcReadoutElement.cxx
@@ -44,6 +44,7 @@
 #include "RDBAccessSvc/IRDBRecord.h"
 #include "RDBAccessSvc/IRDBRecordset.h"
 #include "GeoModelInterfaces/IGeoDbTagSvc.h"
+#include "GeoPrimitives/GeoPrimitivesToStringConverter.h"
 
 namespace MuonGM {
 
@@ -940,57 +941,22 @@ namespace MuonGM {
             return;
         }
 
-        bool conditionsApplied{false};
-        Amg::Transform3D trfToML{Amg::Transform3D::Identity()};
-
 #ifndef SIMULATIONBASE
         //*********************
         // As-Built (MuonNswAsBuilt is not included in AthSimulation)
         //*********************
-        const NswAsBuilt::StgcStripCalculator* sc = manager()->getStgcAsBuiltCalculator();
         
-        if(manager()->getsTGCAsBuilt2() && design->type == MuonChannelDesign::ChannelType::etaStrip){
-            pos.head(2) = manager()->getsTGCAsBuilt2()->correctPosition(layerId, pos.head(2));
-
-        } else if (sc && design->type == MuonChannelDesign::ChannelType::etaStrip) {
-
-            Amg::Vector2D lpos(locXpos, locYpos);
-            
-            // express the local position w.r.t. the nearest active strip
-            Amg::Vector2D rel_pos;
-            int istrip = design->positionRelativeToStrip(lpos, rel_pos);
-            if (istrip < 0) {
-                MsgStream log(Athena::getMessageSvc(), "sTgcReadoutElement");
-                log << MSG::WARNING << "As-built corrections are provided only for eta strips within the active area. Returning." << endmsg;
-                return;
-            }
-
-            // setup strip calculator
-            NswAsBuilt::stripIdentifier_t strip_id;
-            strip_id.quadruplet = { (largeSector() ? NswAsBuilt::quadrupletIdentifier_t::STL : NswAsBuilt::quadrupletIdentifier_t::STS), getStationEta(), getStationPhi(), m_ml };
-            strip_id.ilayer     = manager()->stgcIdHelper()->gasGap(layerId);
-            strip_id.istrip     = istrip;
-
-            // get the position coordinates, in the chamber frame, from NswAsBuilt.
-            // applying the 10um shift along the beam axis for strips (see fillCache()).
-            NswAsBuilt::StgcStripCalculator::position_t calcPos = sc->getPositionAlongStgcStrip(NswAsBuilt::Element::ParameterClass::CORRECTION, strip_id, rel_pos.y(), rel_pos.x());
-            
-            if (calcPos.isvalid == NswAsBuilt::StgcStripCalculator::IsValid::VALID) {
-                pos = calcPos.pos;
-                pos[0] += (strip_id.ilayer%2) ? 0.01 : -0.01; // 1st layer gets +0.01; layer numbering starts from 1
-
-                // signal that pos is now in the chamber reference frame
-                // (don't go back to the layer frame yet, since we may apply b-lines later on)
-                trfToML = m_delta.inverse()*absTransform().inverse()*transform(layerId);   
-                conditionsApplied = true;
-            }
+        if(manager()->getsTGCAsBuilt() && design->type == MuonChannelDesign::ChannelType::etaStrip){
+            pos.head(2) = manager()->getsTGCAsBuilt()->correctPosition(layerId, pos.head(2));
+        
 #ifndef NDEBUG
-            else {
-                MsgStream log(Athena::getMessageSvc(), "sTgcReadoutElement");
-                if (log.level() <= MSG::DEBUG) {    
-                    log << MSG::DEBUG << "No as-built corrections provided for stEta: "<<getStationEta() << " stPhi: "<<getStationPhi()<<" ml: "<<m_ml<<" layer: "<<strip_id.ilayer<< endmsg;
-                }
+        }
+        else {
+            MsgStream log(Athena::getMessageSvc(), "sTgcReadoutElement");
+            if (log.level() <= MSG::DEBUG) {    
+                log << MSG::DEBUG << "No as-built corrections provided for stEta: "<<getStationEta() << " stPhi: "<<getStationPhi()<<" ml: "<<m_ml<<" layer: "<<strip_id.ilayer<< endmsg;
             }
+        }
 #endif
         }
 #endif 
@@ -1000,19 +966,14 @@ namespace MuonGM {
         // B-Lines
         //*********************
         if (has_BLines()) {
-          // go to the multilayer reference frame if we are not already there
-          if (!conditionsApplied) {
-             trfToML = m_delta.inverse()*absTransform().inverse()*transform(layerId);
-             pos = trfToML*pos;
-             
-             // signal that pos is now in the multilayer reference frame
-             conditionsApplied = true; 
-          }
-          posOnDefChamber(pos);
+            // go to the muultilayer frame
+            Amg::Transform3D trfToML = m_delta.inverse()*absTransform().inverse()*transform(layerId);
+            pos = trfToML*pos;
+            posOnDefChamber(pos);
+            // back to the layer reference frame from where we started
+            pos = trfToML.inverse()*pos;
+       
         }
-        
-        // back to the layer reference frame from where we started
-        if (conditionsApplied) pos = trfToML.inverse()*pos;
     }
 
 }  // namespace MuonGM
diff --git a/MuonSpectrometer/MuonGeoModel/MuonGeoModel/MuonDetectorCondAlg.h b/MuonSpectrometer/MuonGeoModel/MuonGeoModel/MuonDetectorCondAlg.h
index e749285b5ea62f0febd4e7055afb6334223eda40..8a095ec73b66904fb67555bacd42cb03a6f6a19a 100644
--- a/MuonSpectrometer/MuonGeoModel/MuonGeoModel/MuonDetectorCondAlg.h
+++ b/MuonSpectrometer/MuonGeoModel/MuonGeoModel/MuonDetectorCondAlg.h
@@ -9,7 +9,7 @@
 #include "GaudiKernel/ToolHandle.h"
 #include "MuonAlignmentData/CorrContainer.h"
 #include "MuonAlignmentData/NswAsBuiltDbData.h"
-#include "MuonAlignmentData/sTGCAsBuiltData2.h"
+#include "MuonAlignmentData/sTGCAsBuiltData.h"
 #include "MuonGeoModel/MuonDetectorTool.h"
 #include "MuonReadoutGeometry/MuonDetectorManager.h"
 #include "MuonAlignmentData/NswPassivationDbData.h"
@@ -37,7 +37,7 @@ class MuonDetectorCondAlg : public AthReentrantAlgorithm {
     
     Gaudi::Property<bool> m_applyNswAsBuilt{this, "applyNswAsBuilt", true, 
                                             "Toggles the application of the Nsw as-built parameters"};
-    Gaudi::Property<bool> m_applysTGCAsBuilt2{this, "applysTGCAsBuilt2", false, 
+    Gaudi::Property<bool> m_applysTGCAsBuilt{this, "applysTGCAsBuilt", false, 
                                             "Toggles the application of the alternative sTGC as-built parameters"};
 
     Gaudi::Property<bool> m_applyMdtAsBuilt{this, "applyMdtAsBuilt", true, 
@@ -59,7 +59,7 @@ class MuonDetectorCondAlg : public AthReentrantAlgorithm {
                                                          "Key of input muon alignment CSC/ILine condition data"};
     SG::ReadCondHandleKey<MdtAsBuiltContainer> m_readMdtAsBuiltKey{this, "ReadMdtAsBuiltKey", "MdtAsBuiltContainer", "Key of output muon alignment MDT/AsBuilt condition data"};
     SG::ReadCondHandleKey<NswAsBuiltDbData> m_readNswAsBuiltKey{this, "ReadNswAsBuiltKey", "NswAsBuiltDbData", "Key of NswAsBuiltDbData object containing conditions data for NSW as-built params!"};
-    SG::ReadCondHandleKey<sTGCAsBuiltData2> m_readsTGCAsBuilt2Key{this, "ReadsTGCAsBuilt2Key", "sTGCAsBuilt2", "Key of sTGCAsBuiltData2 object containing conditions data for alternative sTGC as-built model!"};
+    SG::ReadCondHandleKey<sTGCAsBuiltData> m_readsTGCAsBuiltKey{this, "ReadsTGCAsBuiltKey", "sTGCAsBuilt", "Key of sTGCAsBuiltData object containing conditions data for the sTGC as-built model!"};
     SG::ReadCondHandleKey<NswPassivationDbData> m_condMmPassivKey {this, "condMmPassivKey", "NswPassivationDbData", "Key of NswPassivationDbData object containing passivation data for MMs"};
 
     // Write Handle
diff --git a/MuonSpectrometer/MuonGeoModel/src/MuonDetectorCondAlg.cxx b/MuonSpectrometer/MuonGeoModel/src/MuonDetectorCondAlg.cxx
index d85ef423094fcdbffb1dbb8d5b664de8271915a8..2381bf9e8ca099cb2093f1b15b67ff4df59cf428 100644
--- a/MuonSpectrometer/MuonGeoModel/src/MuonDetectorCondAlg.cxx
+++ b/MuonSpectrometer/MuonGeoModel/src/MuonDetectorCondAlg.cxx
@@ -29,14 +29,14 @@ StatusCode MuonDetectorCondAlg::initialize() {
     ATH_CHECK(m_readILineKey.initialize(m_applyILines));
     ATH_CHECK(m_readMdtAsBuiltKey.initialize(m_applyMdtAsBuilt));
     ATH_CHECK(m_readNswAsBuiltKey.initialize(m_applyNswAsBuilt));
-    ATH_CHECK(m_readsTGCAsBuilt2Key.initialize(m_applysTGCAsBuilt2));
+    ATH_CHECK(m_readsTGCAsBuiltKey.initialize(m_applysTGCAsBuilt));
     ATH_CHECK(m_condMmPassivKey.initialize(m_applyMmPassivation));
     ATH_CHECK(m_idHelperSvc.retrieve());
     ATH_CHECK(m_writeDetectorManagerKey.initialize());
     ATH_CHECK(m_worldWriteKey.initialize());
     ATH_MSG_INFO("Initialize successful -- "<<m_applyALines<<", "<<m_applyBLines<<","
                                             <<m_applyILines<<","<<m_applyMdtAsBuilt<<","
-                                            <<m_applyNswAsBuilt<<","<<m_applyMmPassivation << "," << m_applysTGCAsBuilt2);
+                                            <<m_applyNswAsBuilt<<","<<m_applyMmPassivation << "," << m_applysTGCAsBuilt);
     return StatusCode::SUCCESS;
 }
 
@@ -133,14 +133,14 @@ StatusCode MuonDetectorCondAlg::execute(const EventContext& ctx) const {
         MuonMgrData->setNswAsBuilt(*readNswAsBuilt); 
     }
 
-    if(!m_readsTGCAsBuilt2Key.empty()){
-        SG::ReadCondHandle<sTGCAsBuiltData2> readsTGCAsBuilt2{m_readsTGCAsBuilt2Key, ctx};
-        if(!readsTGCAsBuilt2.isValid()){
-            ATH_MSG_ERROR("Cannot find conditions data container for sTGC as-built 2");
+    if(!m_readsTGCAsBuiltKey.empty()){
+        SG::ReadCondHandle<sTGCAsBuiltData> readsTGCAsBuilt{m_readsTGCAsBuiltKey, ctx};
+        if(!readsTGCAsBuilt.isValid()){
+            ATH_MSG_ERROR("Cannot find conditions data container for sTGC as-built");
             return StatusCode::FAILURE;
         }
-        writeHandle.addDependency(readsTGCAsBuilt2);
-        MuonMgrData->setsTGCAsBuilt2(*readsTGCAsBuilt2);
+        writeHandle.addDependency(readsTGCAsBuilt);
+        MuonMgrData->setsTGCAsBuilt(*readsTGCAsBuilt);
     }
 
 
diff --git a/MuonSpectrometer/MuonPhaseII/MuonConditions/MuonAlignmentDataR4/MuonAlignmentDataR4/sTgcAlignmentStore.h b/MuonSpectrometer/MuonPhaseII/MuonConditions/MuonAlignmentDataR4/MuonAlignmentDataR4/sTgcAlignmentStore.h
index 5ab8213f75c51a718b88015aaf14b7d5391e0e2c..f1653d67bfdb34a0d622f7d6915351d426dc4bff 100644
--- a/MuonSpectrometer/MuonPhaseII/MuonConditions/MuonAlignmentDataR4/MuonAlignmentDataR4/sTgcAlignmentStore.h
+++ b/MuonSpectrometer/MuonPhaseII/MuonConditions/MuonAlignmentDataR4/MuonAlignmentDataR4/sTgcAlignmentStore.h
@@ -7,6 +7,7 @@
 
 #include <MuonAlignmentData/BLinePar.h>
 #include <MuonAlignmentData/NswAsBuiltDbData.h>
+#include <MuonAlignmentData/sTGCAsBuiltData.h>
 #include <ActsGeometryInterfaces/AlignmentStore.h>
 /*  Alignment store to additionally ship the sTgc as-built parameters and
  *  B-Line deformation parameters through the Acts geometry context.
@@ -16,8 +17,7 @@ class sTgcAlignmentStore: public ActsTrk::AlignmentStore {
         sTgcAlignmentStore() = default;
         /// @brief   Pointer to the collection of passivation parameters
         ///          if the project is not AthSimulation. Otherwise, it's a char
-        using sTgcAsBuiltPtr = NswAsBuiltDbData::sTgcAsBuiltPtr;
-        sTgcAsBuiltPtr asBuiltPars{};
+         const sTGCAsBuiltData* asBuiltPars{};
 
         /// Caches the micromega BLine parameter. 
         void cacheBLine(const Identifier& detElId, const BLinePar& bline);
diff --git a/MuonSpectrometer/MuonPhaseII/MuonConditions/MuonCondAlgR4/src/ActsMuonAlignCondAlg.cxx b/MuonSpectrometer/MuonPhaseII/MuonConditions/MuonCondAlgR4/src/ActsMuonAlignCondAlg.cxx
index 4ea58b0fd5e40fa1c47ac9321c8ef079b743b874..cae93187d80df53719b5be4dfe7d5c0bf3b9143a 100644
--- a/MuonSpectrometer/MuonPhaseII/MuonConditions/MuonCondAlgR4/src/ActsMuonAlignCondAlg.cxx
+++ b/MuonSpectrometer/MuonPhaseII/MuonConditions/MuonCondAlgR4/src/ActsMuonAlignCondAlg.cxx
@@ -184,9 +184,9 @@ StatusCode ActsMuonAlignCondAlg::loadMmDeformPars(const EventContext& ctx,
 StatusCode ActsMuonAlignCondAlg::loadStgcDeformPars(const EventContext& ctx,
                                                     ActsTrk::RawGeomAlignStore& store) const{
     std::unique_ptr<sTgcAlignmentStore> trkAlignment = std::make_unique<sTgcAlignmentStore>();
-    if (m_applyNswAsBuilt) {
-        CREATE_READHANDLE(NswAsBuiltDbData, m_readNswAsBuiltKey);
-        trkAlignment->asBuiltPars = readHandle->sTgcData;
+    if (m_applyNswAsBuilt && !m_readsTgcAsBuiltKey.empty()) {
+        CREATE_READHANDLE(sTGCAsBuiltData, m_readsTgcAsBuiltKey);
+        trkAlignment->asBuiltPars = *readHandle;
     }
     if (m_applyBLines) {
         CREATE_READHANDLE(BLineContainer, m_readKeyBLines);
@@ -213,10 +213,11 @@ StatusCode ActsMuonAlignCondAlg::declareDependencies(const EventContext& ctx,
         CREATE_READHANDLE(ALineContainer, m_readKeyALines);
         writeHandle.addDependency(readHandle);
     }
-    const bool isNsw = detType == ActsTrk::DetectorType::sTgc ||
-                       detType == ActsTrk::DetectorType::Mm;
+    const bool issTGC = detType == ActsTrk::DetectorType::sTgc;
+    const bool isMm   = detType == ActsTrk::DetectorType::Mm;
     const bool isMdt = detType == ActsTrk::DetectorType::Mdt;
-    if (m_applyBLines&& (isNsw || isMdt)) {
+    
+    if (m_applyBLines&& (issTGC || isMm || isMdt)) {
         CREATE_READHANDLE(BLineContainer, m_readKeyBLines);
         writeHandle.addDependency(readHandle);
     }
@@ -228,10 +229,14 @@ StatusCode ActsMuonAlignCondAlg::declareDependencies(const EventContext& ctx,
         CREATE_READHANDLE(NswPassivationDbData, m_readNswPassivKey);
         writeHandle.addDependency(readHandle);
     }
-    if (m_applyNswAsBuilt && isNsw) {
+    if (m_applyNswAsBuilt && isMm) {
         CREATE_READHANDLE(NswAsBuiltDbData, m_readNswAsBuiltKey);
         writeHandle.addDependency(readHandle);
     }
+    if(m_applyNswAsBuilt && issTGC && !m_readsTgcAsBuiltKey.empty()){
+        CREATE_READHANDLE(sTGCAsBuiltData, m_readsTgcAsBuiltKey);
+        writeHandle.addDependency(readHandle);
+    }
     return StatusCode::SUCCESS;
 }
 
diff --git a/MuonSpectrometer/MuonPhaseII/MuonConditions/MuonCondAlgR4/src/ActsMuonAlignCondAlg.h b/MuonSpectrometer/MuonPhaseII/MuonConditions/MuonCondAlgR4/src/ActsMuonAlignCondAlg.h
index c0aa85c8af007fd8f4e9a5a641668e9e1e4b11a5..cf9c53894b5e3dcd58a395a7dcc9ed2b5b4e4ad1 100644
--- a/MuonSpectrometer/MuonPhaseII/MuonConditions/MuonCondAlgR4/src/ActsMuonAlignCondAlg.h
+++ b/MuonSpectrometer/MuonPhaseII/MuonConditions/MuonCondAlgR4/src/ActsMuonAlignCondAlg.h
@@ -18,6 +18,8 @@
 #include <MuonAlignmentDataR4/MmAlignmentStore.h>
 #include <MuonAlignmentDataR4/sTgcAlignmentStore.h>
 
+#include <MuonAlignmentData/sTGCAsBuiltData.h>
+
 #include <map>
 #include <set>
 #include <unordered_map>
@@ -77,6 +79,8 @@ private:
                                                     "Key of output muon alignment MDT/AsBuilt condition data"};
     SG::ReadCondHandleKey<NswAsBuiltDbData> m_readNswAsBuiltKey{this, "ReadNswAsBuiltKey", "NswAsBuiltDbData", 
                                                     "Key of NswAsBuiltDbData object containing conditions data for NSW as-built params!"};
+    SG::ReadCondHandleKey<sTGCAsBuiltData> m_readsTgcAsBuiltKey{this, "ReadsTgcAsBuiltKey", "", 
+                                                    "Key of sTGCAsBuiltDbData object containing conditions data for sTgc as-built params!"};
     SG::ReadCondHandleKey<NswPassivationDbData> m_readNswPassivKey {this, "dMmPassivationKey", "NswPassivationDbData", 
                                                     "Key of NswPassivationDbData object containing passivation data for MMs"};