diff --git a/Reconstruction/Dedx/CMakeLists.txt b/Reconstruction/DCHDedx/CMakeLists.txt
similarity index 87%
rename from Reconstruction/Dedx/CMakeLists.txt
rename to Reconstruction/DCHDedx/CMakeLists.txt
index a7a80d0ee1fc6eff46f6d7b30734d75ead36df1c..3167363915e71288cd35e089f94e250e7c49da8f 100644
--- a/Reconstruction/Dedx/CMakeLists.txt
+++ b/Reconstruction/DCHDedx/CMakeLists.txt
@@ -1,4 +1,4 @@
-gaudi_subdir(Dedx v0r0)
+gaudi_subdir(DCHDedx v0r0)
 
 find_package(EDM4HEP REQUIRED ) 
 find_package(DD4hep COMPONENTS DDCore DDRec REQUIRED)
@@ -16,7 +16,7 @@ set(srcs
 )
 
 # Modules
-gaudi_add_module(Dedx ${srcs}
+gaudi_add_module(DCHDedx ${srcs}
     INCLUDE_DIRS GaudiKernel 
     LINK_LIBRARIES GaudiAlgLib GaudiKernel 
     DetSegmentation
diff --git a/Reconstruction/Dedx/src/DedxAlg.cpp b/Reconstruction/DCHDedx/src/RecDCHDedxAlg.cpp
similarity index 94%
rename from Reconstruction/Dedx/src/DedxAlg.cpp
rename to Reconstruction/DCHDedx/src/RecDCHDedxAlg.cpp
index 17cce1327ca9026e4b9afe0b9a437dbea96f0e1c..9025bb88bf618cd4ffd5ec8cab6a06fc321af0a9 100644
--- a/Reconstruction/Dedx/src/DedxAlg.cpp
+++ b/Reconstruction/DCHDedx/src/RecDCHDedxAlg.cpp
@@ -1,4 +1,4 @@
-#include "DedxAlg.h"
+#include "RecDCHDedxAlg.h"
 #include "edm4hep/EventHeaderCollection.h"
 #include "edm4hep/MCParticleCollection.h"
 #include "edm4hep/SimTrackerHitCollection.h"
@@ -19,16 +19,16 @@
 #include "DD4hep/DD4hepUnits.h"
 #include "CLHEP/Random/RandGauss.h"
 
-DECLARE_COMPONENT(DedxAlg)
+DECLARE_COMPONENT(RecDCHDedxAlg)
 
-DedxAlg::DedxAlg(const std::string& name, ISvcLocator* svcLoc)
+RecDCHDedxAlg::RecDCHDedxAlg(const std::string& name, ISvcLocator* svcLoc)
 : GaudiAlgorithm(name, svcLoc)
 {
     declareProperty("DCHitAssociationCollection", m_dcHitAssociationCol, "Handle of association collection");
     declareProperty("DCTrackCollection", m_dcTrackCol,"Handle of input Track collection");
 }
 
-StatusCode DedxAlg::initialize()
+StatusCode RecDCHDedxAlg::initialize()
 {
     if(m_WriteAna){
 
@@ -57,7 +57,7 @@ StatusCode DedxAlg::initialize()
 }
 
 
-StatusCode DedxAlg::execute()
+StatusCode RecDCHDedxAlg::execute()
 {
 
     if(m_WriteAna){
@@ -142,12 +142,12 @@ StatusCode DedxAlg::execute()
    return StatusCode::SUCCESS;
 }
 
-StatusCode DedxAlg::finalize()
+StatusCode RecDCHDedxAlg::finalize()
 {
     return GaudiAlgorithm::finalize();
 }
 
-double DedxAlg::cal_dedx_bitrunc(float truncate, std::vector<double> phlist, int & usedhit )
+double RecDCHDedxAlg::cal_dedx_bitrunc(float truncate, std::vector<double> phlist, int & usedhit )
 {   
     sort(phlist.begin(),phlist.end());
     int nsampl = (int)( phlist.size()*truncate );
@@ -167,7 +167,7 @@ double DedxAlg::cal_dedx_bitrunc(float truncate, std::vector<double> phlist, int
     return trunc;
 }
 /*
-double DedxAlg::BetheBlochEquationDedx(const edm4hep::MCParticle& mcp)
+double RecDCHDedxAlg::BetheBlochEquationDedx(const edm4hep::MCParticle& mcp)
 {
     int z = mcp.getCharge();
     if (z == 0) return 0;
diff --git a/Reconstruction/Dedx/src/DedxAlg.h b/Reconstruction/DCHDedx/src/RecDCHDedxAlg.h
similarity index 93%
rename from Reconstruction/Dedx/src/DedxAlg.h
rename to Reconstruction/DCHDedx/src/RecDCHDedxAlg.h
index 5c656c164797b73dacb6775b93542e332b45d35e..b2a5b9f58775ffe47675741184a908eaa460b76e 100644
--- a/Reconstruction/Dedx/src/DedxAlg.h
+++ b/Reconstruction/DCHDedx/src/RecDCHDedxAlg.h
@@ -1,5 +1,5 @@
-#ifndef DedxAlg_h
-#define DedxAlg_h
+#ifndef RecDCHDedxAlg_h
+#define RecDCHDedxAlg_h
 
 #include "edm4hep/MCParticleCollection.h"
 #include "GaudiAlg/GaudiAlgorithm.h"
@@ -26,10 +26,10 @@ namespace edm4hep {
     class MCRecoParticleAssociationCollection;
 }
 
-class DedxAlg: public GaudiAlgorithm
+class RecDCHDedxAlg: public GaudiAlgorithm
 {
     public:
-        DedxAlg(const std::string& name, ISvcLocator* svcLoc);
+        RecDCHDedxAlg(const std::string& name, ISvcLocator* svcLoc);
 
         virtual StatusCode initialize();
         virtual StatusCode execute();