diff --git a/InnerDetector/InDetDigitization/SCT_Digitization/doc/mainpage.h b/InnerDetector/InDetDigitization/SCT_Digitization/doc/mainpage.h
deleted file mode 100755
index 7da28ecaaecded49fcceb6baed2062bebd3919a2..0000000000000000000000000000000000000000
--- a/InnerDetector/InDetDigitization/SCT_Digitization/doc/mainpage.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-/**
-@mainpage SCT_Digitization package
-@author Szymon.Gadomski@cern.ch,
-        Awatif.Belymam@cern.ch,
-        Davide.Costanzo@cern.ch,
-        tgcornel@nikhef.nl,
-        Grant.Gorfine@cern.ch,
-        Paul.Bell@cern.ch,
-        Jorgen.Dalmau@cern.ch,
-        Kondo.Gnanvo@cern.ch,
-        and others
-
-
-@section SCT_DigitizationIntro Introduction
-The SCT_Digitization package processes the GEANT4 hits in each SCT sensitive detector element (wafer),
-simulates the detector response, and generates the SCT RDO's.
-The model used is documented in the note ATL-SOFT-2001-005 by Szymon Gadomski.
-
-The entry and exit points of a track passing through a wafer, and the energy deposited, are obtained from the G4 hit.
-The path through the wafer is divided into a number of steps, and the total charge deposited is divided equally amongst the steps.
-This charge is then drifted to the wafer readout surface, taking into account the Lorentz angle and random diffusion.
-The list of surface charges with their associated drift times is then input to a model of the SCT front-end electronics.
-The response from the model for each strip (diode) is compared with a fixed readout threshold,
-and an RDO created and stored for each strip above threshold.
-Detector noise is included in the model, and pure noise hits are also generated.
-Crosstalk between neighbouring channels is also taken into account.
-
-@section SCT_DigitizationOverview Class overview
-The SCT_Digitization package contains the following classes:
- - SCT_Amp: Models an SCT amplifier and shaper, giving CRRC response to a list of charges with times.
- - SCT_Digitization: Athena algorithm inheriting from SiDigitization.
- - SCT_FrontEnd: Models response of ABCD chip amplifiers.
- - SCT_SurfaceChargesGenerator: Drifts charge from hits to SCT wafer surface.
-
-@section SCT_DigitizationRefs Reference pages
- - @ref used_SCT_Digitization
- - @ref requirements_SCT_Digitization
- - @ref notes_SCT_Digitization
-*/
-
-/**
-@page used_SCT_Digitization Used packages
-@htmlinclude used_packages.html
-*/
-
-/**
-@page requirements_SCT_Digitization Requirements
-@include requirements
-*/
-
-/**
-@page notes_SCT_Digitization Change notes
-@htmlinclude notes.html
-*/
diff --git a/InnerDetector/InDetDigitization/SCT_Digitization/python/SCT_DigitizationConfig.py b/InnerDetector/InDetDigitization/SCT_Digitization/python/SCT_DigitizationConfig.py
index 565f012d89613e152bb12afe07202159f8830d5f..5ccf108e8cf19e65e5f6533ef33f3bcb0c00b207 100644
--- a/InnerDetector/InDetDigitization/SCT_Digitization/python/SCT_DigitizationConfig.py
+++ b/InnerDetector/InDetDigitization/SCT_Digitization/python/SCT_DigitizationConfig.py
@@ -243,6 +243,12 @@ def SCT_DigitizationTool(name="SCT_DigitizationTool", **kwargs):
 
 ######################################################################################
 
+def SCT_GeantinoTruthDigitizationTool(name="SCT_GeantinoTruthDigitizationTool", **kwargs):
+    kwargs.setdefault("ParticleBarcodeVeto", 0)
+    return SCT_DigitizationTool(name,**kwargs)
+
+######################################################################################
+
 def SCT_DigitizationToolHS(name="SCT_DigitizationToolHS",**kwargs):
     kwargs.setdefault("OutputObjectName", "SCT_RDOs")
     kwargs.setdefault("OutputSDOName", "SCT_SDO_Map")
diff --git a/InnerDetector/InDetDigitization/SCT_Digitization/python/SCT_DigitizationConfigDb.py b/InnerDetector/InDetDigitization/SCT_Digitization/python/SCT_DigitizationConfigDb.py
index 5f12118948aba630f160b2e6239392b68711efd2..72c8ba01ac6fb9c02a5ed57e79d4ea849ff7bd64 100644
--- a/InnerDetector/InDetDigitization/SCT_Digitization/python/SCT_DigitizationConfigDb.py
+++ b/InnerDetector/InDetDigitization/SCT_Digitization/python/SCT_DigitizationConfigDb.py
@@ -2,6 +2,7 @@
 
 from AthenaCommon.CfgGetter import addTool,addService,addAlgorithm
 addTool("SCT_Digitization.SCT_DigitizationConfig.SCT_DigitizationTool"          , "SCT_DigitizationTool")
+addTool("SCT_Digitization.SCT_DigitizationConfig.SCT_GeantinoTruthDigitizationTool"          , "SCT_GeantinoTruthDigitizationTool")
 addTool("SCT_Digitization.SCT_DigitizationConfig.SCT_DigitizationToolHS"        , "SCT_DigitizationToolHS")
 addTool("SCT_Digitization.SCT_DigitizationConfig.SCT_DigitizationToolPU"        , "SCT_DigitizationToolPU")
 addTool("SCT_Digitization.SCT_DigitizationConfig.SCT_DigitizationToolSplitNoMergePU", "SCT_DigitizationToolSplitNoMergePU")
diff --git a/InnerDetector/InDetDigitization/SCT_Digitization/src/SCT_DetailedSurfaceChargesGenerator.cxx b/InnerDetector/InDetDigitization/SCT_Digitization/src/SCT_DetailedSurfaceChargesGenerator.cxx
index bae81f5e081d9065912776887b36ab72b464495e..790cc692d84363e384548ae32f2c9d92de552996 100755
--- a/InnerDetector/InDetDigitization/SCT_Digitization/src/SCT_DetailedSurfaceChargesGenerator.cxx
+++ b/InnerDetector/InDetDigitization/SCT_Digitization/src/SCT_DetailedSurfaceChargesGenerator.cxx
@@ -74,7 +74,7 @@ SCT_DetailedSurfaceChargesGenerator::SCT_DetailedSurfaceChargesGenerator(const s
     m_ExValue150{0.},
     m_EyValue150{0.},
     m_stripCharge{0.},
-    m_distortionsTool("SCT_DistortionsTool"),
+    m_distortionsTool("SCT_DistortionsTool", this),
     m_siConditionsSvc("SCT_SiliconConditionsSvc",name),
     m_siPropertiesSvc("SCT_SiPropertiesSvc",name),
     m_element(0),
diff --git a/InnerDetector/InDetDigitization/SCT_Digitization/src/SCT_Digitization.cxx b/InnerDetector/InDetDigitization/SCT_Digitization/src/SCT_Digitization.cxx
index 1aa46b195b444cce7268e2dc6fe95551845fd3f1..2e83371f12f5f89dd442dd770d31f85c50a6e9cb 100755
--- a/InnerDetector/InDetDigitization/SCT_Digitization/src/SCT_Digitization.cxx
+++ b/InnerDetector/InDetDigitization/SCT_Digitization/src/SCT_Digitization.cxx
@@ -10,7 +10,7 @@
 //---------------------------------------------------------------------- 
 SCT_Digitization::SCT_Digitization(const std::string &name, ISvcLocator *pSvcLocator) :
   AthAlgorithm(name, pSvcLocator),
-  m_sctDigitizationTool("SCT_DigitizationTool")
+  m_sctDigitizationTool("SCT_DigitizationTool", this)
 {
   declareProperty("DigitizationTool",     m_sctDigitizationTool,                 "SCT_DigitizationTool name");              
 }
diff --git a/InnerDetector/InDetDigitization/SCT_Digitization/src/SCT_DigitizationTool.cxx b/InnerDetector/InDetDigitization/SCT_Digitization/src/SCT_DigitizationTool.cxx
index be7c7bf933902a673cf576984b12425ec68c2902..eabbd6f5ef77a698d30af2c8a24666ba15d171a3 100755
--- a/InnerDetector/InDetDigitization/SCT_Digitization/src/SCT_DigitizationTool.cxx
+++ b/InnerDetector/InDetDigitization/SCT_Digitization/src/SCT_DigitizationTool.cxx
@@ -53,9 +53,9 @@ SCT_DigitizationTool::SCT_DigitizationTool(const std::string &type,
     m_HardScatterSplittingSkipper(false),
     m_detID(nullptr),
     m_detMgr(nullptr),
-    m_sct_FrontEnd("SCT_FrontEnd"),
-    m_sct_SurfaceChargesGenerator("SCT_SurfaceChargesGenerator"),
-    m_sct_RandomDisabledCellGenerator("SCT_RandomDisabledCellGenerator"),
+    m_sct_FrontEnd("SCT_FrontEnd", this),
+    m_sct_SurfaceChargesGenerator("SCT_SurfaceChargesGenerator", this),
+    m_sct_RandomDisabledCellGenerator("SCT_RandomDisabledCellGenerator", this),
     m_rndmSvc("AtRndmGenSvc", name),
     m_mergeSvc("PileUpMergeSvc", name),
     m_rndmEngine(nullptr),
diff --git a/InnerDetector/InDetDigitization/SCT_Digitization/src/SCT_FrontEnd.cxx b/InnerDetector/InDetDigitization/SCT_Digitization/src/SCT_FrontEnd.cxx
index efd3eba84ba6357938c91a906239e173ee381d86..476cdb93a1a48865b08760882e4802c1bfa42a8e 100755
--- a/InnerDetector/InDetDigitization/SCT_Digitization/src/SCT_FrontEnd.cxx
+++ b/InnerDetector/InDetDigitization/SCT_Digitization/src/SCT_FrontEnd.cxx
@@ -37,7 +37,7 @@ SCT_FrontEnd::SCT_FrontEnd(const std::string &type, const std::string &name,
     m_sc(0),
     m_SCTdetMgr(0),
     m_sct_id(0),
-    m_sct_amplifier("SCT_Amp"),
+    m_sct_amplifier("SCT_Amp", this),
     m_ReadCalibChipDataSvc("SCT_ReadCalibChipDataSvc", name),
     m_rndmEngine(nullptr) {
     declareInterface< ISCT_FrontEnd >(this);
diff --git a/InnerDetector/InDetDigitization/SCT_Digitization/src/SCT_StripDiscriminator.cxx b/InnerDetector/InDetDigitization/SCT_Digitization/src/SCT_StripDiscriminator.cxx
index 01f02dad7409e1cf0034d72e2c1264432bd8dfa0..27b275c19571bc837bc30a59fd332538c2f3f7b8 100755
--- a/InnerDetector/InDetDigitization/SCT_Digitization/src/SCT_StripDiscriminator.cxx
+++ b/InnerDetector/InDetDigitization/SCT_Digitization/src/SCT_StripDiscriminator.cxx
@@ -24,7 +24,7 @@ using namespace InDetDD;
 SCT_StripDiscriminator::SCT_StripDiscriminator(const std::string& type, const std::string& name,const IInterface* parent )
   : AthAlgTool(type,name,parent),
     m_rndmEngine(nullptr),
-    m_sct_TimeWalkGen("SCT_TimeWalkGenerator")
+    m_sct_TimeWalkGen("SCT_TimeWalkGenerator", this)
 {
   declareInterface< ISCT_StripDiscriminator >( this );
   declareProperty("DiscrThresh",        m_discrThresh=4100,       "Discriminator threshold");
diff --git a/InnerDetector/InDetDigitization/SCT_Digitization/src/SCT_SurfaceChargesGenerator.cxx b/InnerDetector/InDetDigitization/SCT_Digitization/src/SCT_SurfaceChargesGenerator.cxx
index 851ace3bc29897f74870e308ab2727af6cdaf71c..509d7ddb12572b48b4141feb524058e62be046dc 100755
--- a/InnerDetector/InDetDigitization/SCT_Digitization/src/SCT_SurfaceChargesGenerator.cxx
+++ b/InnerDetector/InDetDigitization/SCT_Digitization/src/SCT_SurfaceChargesGenerator.cxx
@@ -87,7 +87,7 @@ parent)
     m_h_mobility_trap(nullptr),
     m_h_trap_pos(nullptr),
     m_hashId(0),
-    m_distortionsTool("SCT_DistortionsTool"),
+    m_distortionsTool("SCT_DistortionsTool", this),
     m_siConditionsSvc("SCT_SiliconConditionsSvc", name),
     m_siPropertiesSvc("SCT_SiPropertiesSvc", name),
     m_radDamageSvc("SCT_RadDamageSummarySvc", name),