diff --git a/Simulation/ISF/ISF_Core/ISF_Event/ISF_Event/TruthBinding.h b/Simulation/ISF/ISF_Core/ISF_Event/ISF_Event/TruthBinding.h
index c5ea7705b41416d1c2aa3e7eb5c7ec6c2c869a9a..745f107e69ceaa3f6efac242b3badd9cbbc32e36 100644
--- a/Simulation/ISF/ISF_Core/ISF_Event/ISF_Event/TruthBinding.h
+++ b/Simulation/ISF/ISF_Core/ISF_Event/ISF_Event/TruthBinding.h
@@ -59,6 +59,9 @@ namespace ISF {
     inline HepMC::ConstGenParticlePtr getGenerationZeroTruthParticle() const;
     inline void                setGenerationZeroTruthParticle(HepMC::GenParticlePtr p);
 
+    /** Create a TruthBinding for a child particle */
+    inline TruthBinding* childTruthBinding(HepMC::GenParticlePtr childP) const;
+
   private:
     HepMC::GenParticlePtr   m_truthParticle{};               //!< pointer to particle in MC truth
     HepMC::GenParticlePtr   m_primaryTruthParticle{};        //!< pointer to corresponding primary (generator) particle
diff --git a/Simulation/ISF/ISF_Core/ISF_Event/ISF_Event/TruthBinding.icc b/Simulation/ISF/ISF_Core/ISF_Event/ISF_Event/TruthBinding.icc
index a8fe524692c22ebff5a15add341f5bd441900083..36e1a3e046c11e4e5d1142822e564731775b4a4c 100644
--- a/Simulation/ISF/ISF_Core/ISF_Event/ISF_Event/TruthBinding.icc
+++ b/Simulation/ISF/ISF_Core/ISF_Event/ISF_Event/TruthBinding.icc
@@ -88,4 +88,9 @@ namespace ISF {
   HepMC::ConstGenParticlePtr TruthBinding::getGenerationZeroTruthParticle() const { return m_generationZeroTruthParticle; }
   void                TruthBinding::setGenerationZeroTruthParticle(HepMC::GenParticlePtr p) { m_generationZeroTruthParticle = p; }
 
+  /** Create a TruthBinding for a child particle */
+  TruthBinding* TruthBinding::childTruthBinding(HepMC::GenParticlePtr childP) const {
+    return new TruthBinding(childP, m_primaryTruthParticle, childP);
+  }
+
 } // end ISF namespace