diff --git a/Simulation/DetSimCore/src/G4PrimaryCnvTool.cpp b/Simulation/DetSimCore/src/G4PrimaryCnvTool.cpp
index 5e795dbcdfaf152e49d08616c62d5a99a7a610e5..c756412f62dccf71d5628191b10f4a4e6f555e26 100644
--- a/Simulation/DetSimCore/src/G4PrimaryCnvTool.cpp
+++ b/Simulation/DetSimCore/src/G4PrimaryCnvTool.cpp
@@ -59,6 +59,14 @@ bool G4PrimaryCnvTool::mutate(G4Event* anEvent) {
                                                           momentum.y*CLHEP::GeV,
                                                           momentum.z*CLHEP::GeV);
 
+        // modify the mass of the chargedgeantino
+        if (pdgcode == 0 && p.getCharge() == 1) {
+            info() << "The mass of G4ChargedGeantino is "
+                   << m_chargedgeantino_mass.value() 
+                   << endmsg;
+            g4prim->SetMass(m_chargedgeantino_mass.value());
+        }
+
         g4vtx->SetPrimary(g4prim);
 
         anEvent->AddPrimaryVertex(g4vtx);
diff --git a/Simulation/DetSimCore/src/G4PrimaryCnvTool.h b/Simulation/DetSimCore/src/G4PrimaryCnvTool.h
index 09f724ee5e6fa415524925256f3701a8650624bd..1e47772177fd0c5f2e57029bae512a2c12f7813e 100644
--- a/Simulation/DetSimCore/src/G4PrimaryCnvTool.h
+++ b/Simulation/DetSimCore/src/G4PrimaryCnvTool.h
@@ -18,6 +18,7 @@ public:
 private:
     DataHandle<edm4hep::MCParticleCollection> m_mcParCol{"MCParticle", Gaudi::DataHandle::Reader, this};
 
+    Gaudi::Property<double> m_chargedgeantino_mass{this, "ChargedGeantinoMass"};
 };
 
 #endif