diff --git a/Reconstruction/RecActsTracking/src/RecActsTracking.cpp b/Reconstruction/RecActsTracking/src/RecActsTracking.cpp
index 40562feedaa8e20d659ec764d42266e16771826a..ba125e91f802bce47eb9cff5d3cf9e91b7f79de7 100644
--- a/Reconstruction/RecActsTracking/src/RecActsTracking.cpp
+++ b/Reconstruction/RecActsTracking/src/RecActsTracking.cpp
@@ -341,10 +341,10 @@ StatusCode RecActsTracking::execute()
         Acts::BoundSquareMatrix cov = Acts::BoundSquareMatrix::Zero();
         for (std::size_t i = Acts::eBoundLoc0; i < Acts::eBoundSize; ++i) {
             double sigma = initialSigmas[i];
-            sigma += initialSimgaQoverPCoefficients[i] * params[Acts::eBoundQOverP];
+            sigma += abs(initialSimgaQoverPCoefficients[i] * params[Acts::eBoundQOverP]);
             double var = sigma * sigma;
             if (i == Acts::eBoundTime && !bottomSP->t().has_value()) { var *= noTimeVarInflation; }
-            var *= initialVarInflation[i];
+            var *= initialVarInflation.value()[i];
             
             cov(i, i) = var;
         }
diff --git a/Reconstruction/RecActsTracking/src/RecActsTracking.h b/Reconstruction/RecActsTracking/src/RecActsTracking.h
index afc66cd7ba100d7ab30c0c59a0df611cba8cd33c..f7d44417984ee4c3bb29dcbda3fd320eb3233a2d 100644
--- a/Reconstruction/RecActsTracking/src/RecActsTracking.h
+++ b/Reconstruction/RecActsTracking/src/RecActsTracking.h
@@ -195,6 +195,7 @@ class RecActsTracking : public GaudiAlgorithm
         Gaudi::Property<double> SeedImpactMax{this, "SeedImpactMax", 3}; // mm
         Gaudi::Property<double> SeedRMinMiddle{this, "SeedRMinMiddle", 14}; // mm
         Gaudi::Property<double> SeedRMaxMiddle{this, "SeedRMaxMiddle", 24}; // mm
+        Gaudi::Property<std::vector<double>> initialVarInflation{this, "initialVarInflation", {1, 1, 20, 20, 20, 20}};
 
         // CKF config
         Gaudi::Property<double> CKFchi2Cut{this, "CKFchi2Cut", std::numeric_limits<double>::max()};
@@ -259,20 +260,20 @@ class RecActsTracking : public GaudiAlgorithm
         // param estimate configuration
         double noTimeVarInflation = 100.;
         std::array<double, 6> initialSigmas = {
-            25 * Acts::UnitConstants::um,
-            100 * Acts::UnitConstants::um,
-            0.02 * Acts::UnitConstants::degree,
-            0.02 * Acts::UnitConstants::degree,
-            0.1 * Acts::UnitConstants::e / Acts::UnitConstants::GeV,
-            1400 * Acts::UnitConstants::s};
+            5 * Acts::UnitConstants::um,
+            5 * Acts::UnitConstants::um,
+            2e-2 * Acts::UnitConstants::degree,
+            2e-2 * Acts::UnitConstants::degree,
+            1e-1 * Acts::UnitConstants::e / Acts::UnitConstants::GeV,
+            1 * Acts::UnitConstants::s};
         std::array<double, 6> initialSimgaQoverPCoefficients = {
             0 * Acts::UnitConstants::mm / (Acts::UnitConstants::e * Acts::UnitConstants::GeV),
             0 * Acts::UnitConstants::mm / (Acts::UnitConstants::e * Acts::UnitConstants::GeV),
-            0 * Acts::UnitConstants::degree / (Acts::UnitConstants::e * Acts::UnitConstants::GeV),
-            0 * Acts::UnitConstants::degree / (Acts::UnitConstants::e * Acts::UnitConstants::GeV),
-            0.1,
+            7.1e-2 * Acts::UnitConstants::degree / (Acts::UnitConstants::e * Acts::UnitConstants::GeV),
+            2.1e-2 * Acts::UnitConstants::degree / (Acts::UnitConstants::e * Acts::UnitConstants::GeV),
+            6.4e-2,
             0 * Acts::UnitConstants::ns / (Acts::UnitConstants::e * Acts::UnitConstants::GeV)};
-        std::array<double, 6> initialVarInflation = {10., 10., 10., 10., 10., 10.};
+        // std::array<double, 6> initialVarInflation = {10., 10., 10., 10., 10., 10.};
         Acts::ParticleHypothesis particleHypothesis = Acts::ParticleHypothesis::muon();
         std::array<std::string, 8> particleNames = {"muon", "pion", "electron", "kaon", "proton", "photon", "geantino", "chargedgeantino"};
         // Acts::ParticleHypothesis particleHypothesis = Acts::ParticleHypothesis::chargedGeantino();