diff --git a/Digitisers/DCHDigi/src/DCHDigiAlg.cpp b/Digitisers/DCHDigi/src/DCHDigiAlg.cpp
index d516b50f43fdd115bb155da0be277849c1793fd7..927c7b27df4f558e5702eef1871af082acc2160e 100644
--- a/Digitisers/DCHDigi/src/DCHDigiAlg.cpp
+++ b/Digitisers/DCHDigi/src/DCHDigiAlg.cpp
@@ -224,7 +224,7 @@ StatusCode DCHDigiAlg::execute()
 
       trkHit.setTime(min_distance*1e3/m_velocity);//m_velocity is um/ns, drift time in ns
       trkHit.setEDep(tot_edep);// GeV
-      trkHit.setEdx (tot_edep/tot_length); // GeV/mm
+      //trkHit.setEdx (tot_edep/tot_length); // GeV/mm
       trkHit.setPosition (edm4hep::Vector3d(pos_x, pos_y, pos_z));//position of closest sim hit
       trkHit.setCovMatrix(std::array<float, 6>{m_res_x, 0, m_res_y, 0, 0, m_res_z});//cov(x,x) , cov(y,x) , cov(y,y) , cov(z,x) , cov(z,y) , cov(z,z) in mm
 
@@ -245,7 +245,7 @@ StatusCode DCHDigiAlg::execute()
           m_poca_x   [m_n_digi] = PCA.x();
           m_poca_y   [m_n_digi] = PCA.y();
           m_hit_dE   [m_n_digi] = trkHit.getEDep();
-          m_hit_dE_dx[m_n_digi] = trkHit.getEdx() ;
+          //m_hit_dE_dx[m_n_digi] = trkHit.getEdx() ;
           m_truthlength[m_n_digi] = tot_length ;
           m_n_digi ++ ;
       }
diff --git a/Reconstruction/RecGenfitAlg/src/RecGenfitAlgSDT.cpp b/Reconstruction/RecGenfitAlg/src/RecGenfitAlgSDT.cpp
index f9292e375f30837b71fd8cf7f9349795fe6a8d88..ee56ab6e54bb40b57e17d41c89ad9f6931d3e7c2 100644
--- a/Reconstruction/RecGenfitAlg/src/RecGenfitAlgSDT.cpp
+++ b/Reconstruction/RecGenfitAlg/src/RecGenfitAlgSDT.cpp
@@ -727,7 +727,7 @@ void RecGenfitAlgSDT::debugTrack(int iStrack,int pidType,const GenfitTrack* genf
     edm4hep::TrackState trackState_Origin;
     CEPC::getTrackStateFromPosMom(trackState_Origin,m_genfitField->getBz(pocaToOrigin_POS.Vect())/GenfitUnit::tesla,pocaToOrigin_pos,
             pocaToOrigin_mom,charge,covMatrix_6);
-    std::array<float,15> errorCov_Origin;
+    std::array<float,21> errorCov_Origin;
     errorCov_Origin = trackState_Origin.covMatrix;
     for(int j=0; j<15; j++) {
         m_ErrorcovMatrix_Origin[iStrack][j] = errorCov_Origin[j];
@@ -899,7 +899,7 @@ void RecGenfitAlgSDT::debugEvent(const edm4hep::TrackCollection* sdtTrackCol,
         }
         for(unsigned int i=0; i<sdtRecTrack.trackStates_size(); i++) {
             edm4hep::TrackState trackStat=sdtRecTrack.getTrackStates(i);
-            std::array<float,15> errorCov;
+            std::array<float,21> errorCov;
             errorCov = trackStat.covMatrix;
             for(int j=0; j<15; j++) {
                 m_ErrorcovMatrix[isdttrack][j] = errorCov[j];
diff --git a/Reconstruction/Tracking/src/TruthTracker/TruthTrackerAlg.cpp b/Reconstruction/Tracking/src/TruthTracker/TruthTrackerAlg.cpp
index afe625ae476eaf3afdcf32ac67149fc5276e193d..7b2b7afe286104d6b49060e4d281fb90e1a13cc5 100644
--- a/Reconstruction/Tracking/src/TruthTracker/TruthTrackerAlg.cpp
+++ b/Reconstruction/Tracking/src/TruthTracker/TruthTrackerAlg.cpp
@@ -528,8 +528,8 @@ bool TruthTrackerAlg::getTrackStateFirstHit(
         trackState.Z0=helix.getZ0();
         trackState.tanLambda=helix.getTanLambda();
         trackState.referencePoint=helix.getReferencePoint();
-        std::array<float,15> covMatrix;
-        for(int i=0;i<15;i++){covMatrix[i]=100.;}//FIXME
+        std::array<float,21> covMatrix;
+        for(int i=0;i<21;i++){covMatrix[i]=100.;}//FIXME
         trackState.covMatrix=covMatrix;
         debug()<<"first hit trackState "<<trackState<<endmsg;
         return true;
@@ -667,7 +667,7 @@ int TruthTrackerAlg::makeNoiseHit(edm4hep::SimTrackerHitCollection* SimVec,
         trkHit.setCellID(wcellid);
         trkHit.setTime(pocaTime);
         trkHit.setEDep(mcHit.getEDep());
-        trkHit.setEdx(mcHit.getEdx());
+        //trkHit.setEdx(mcHit.getEdx());
         trkHit.setPosition(mcHit.getPosition());
         trkHit.setCovMatrix(mcHit.getCovMatrix());
         for(int iAsso=0;iAsso<(int) assoHits->size();iAsso++)
@@ -755,7 +755,7 @@ int TruthTrackerAlg::smearDCTkhit(DataHandle<edm4hep::TrackerHitCollection>&
         smearHit.setQuality(hit.getQuality());
         smearHit.setEDep(hit.getEDep());
         smearHit.setEDepError(hit.getEDepError());
-        smearHit.setEdx(hit.getEdx());
+        //smearHit.setEdx(hit.getEdx());
         smearHit.setPosition(hit.getPosition());
         smearHit.setCovMatrix(hit.getCovMatrix());
         smearHit.addToRawHits(hit.getObjectID());
diff --git a/Utilities/DataHelper/src/TrackHelper.cc b/Utilities/DataHelper/src/TrackHelper.cc
index 61153e8574f1d52309fd76e36c6059a317a1ac08..6f5db4cefe7f1fdbfbf2e721b61b75a1462f0a52 100644
--- a/Utilities/DataHelper/src/TrackHelper.cc
+++ b/Utilities/DataHelper/src/TrackHelper.cc
@@ -29,7 +29,7 @@ void CEPC::getPosMomFromTrackState(const edm4hep::TrackState& trackState,
     TMatrixDSym covMatrix_5(5);
     ///< lower triangular covariance matrix of the track parameters.
     ///  the order of parameters is  d0, phi, omega, z0, tan(lambda).
-    std::array<float,15> covMatrix=trackState.covMatrix;
+    std::array<float,21> covMatrix=trackState.covMatrix;
     int k=0;
     for(int i=0;i<5;i++){
         for(int j=0;j<5;j++){
@@ -113,15 +113,16 @@ void CEPC::getTrackStateFromPosMom(edm4hep::TrackState& trackState,double Bz,
 
     TMatrixDSym covMatrix_5 = covMatrix_6.Similarity(Jacobian_matrix);
 
-    std::array<float,15> covMatrix;
+    std::array<float,21> covMatrix;
     int k=0;
     int k1;
-    for(int i=0;i<5;i++){
-        for(int j=0;j<5;j++){
+    for(int i=0;i<6;i++){
+        for(int j=0;j<6;j++){
             if(i>=j) { 
                 k1=k++;
                 //covMatrix[k++]=covMatrix_5(i,j);
                 covMatrix[k1]=covMatrix_5(i,j);
+                if(5==i) covMatrix[k1]=-999;
             }
         }
     }