diff --git a/InnerDetector/InDetExample/InDetSLHC_Example/test/test_ITKplusNSW.sh b/InnerDetector/InDetExample/InDetSLHC_Example/test/test_ITKplusNSW.sh
new file mode 100755
index 0000000000000000000000000000000000000000..23a64d60d825af3348461ee2d73c7f2ceda45428
--- /dev/null
+++ b/InnerDetector/InDetExample/InDetSLHC_Example/test/test_ITKplusNSW.sh
@@ -0,0 +1,94 @@
+#!/bin/bash
+# art-description: ITK+NSW sim
+# art-type: grid
+# art-include: 21.9/Athena
+# art-output: *.root
+# art-output: *.xml
+# art-output: dcube*
+
+# Fix ordering of output in logfile
+exec 2>&1
+run() { (set -x; exec "$@") }
+
+# Following specify which steps to run.
+dosim=1
+dorec=0    # Reco_tf.py not yet working
+dophy=0    # If dorec=0, set dophy=1 to run InDetPhysValMonitoring over old ESD
+
+# Following specify DCube output directories. Set empty to disable.
+dcube_sim_lastref="dcube_alt_sim_last"
+dcube_rec_lastref="dcube_alt_last"
+
+artdata=/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art
+#artdata=/eos/atlas/atlascerngroupdisk/data-art/grid-input
+
+name="ITKplusNSW"
+script="`basename \"$0\"`"
+evnt=$artdata/InDetSLHC_Example/inputs/EVNT.01485091._001049.pool.root.1
+hits=physval.HITS.root
+
+dcubemon_sim=SiHitValid_alt.root
+dcubemon_rec=physval_alt.root
+dcubecfg_sim=$artdata/InDetSLHC_Example/dcube/config/InclinedDuals_SiHitValid.xml
+dcubecfg_rec=$artdata/InDetSLHC_Example/dcube/config/InclinedDuals_physval.xml
+art_dcube=/cvmfs/atlas.cern.ch/repo/sw/art/dcube/bin/art-dcube
+lastref_dir=last_results
+
+if [ \( $dosim -ne 0 -a -n "$dcube_sim_lastref" \) -o \( $dophy -ne 0 -a -n "$dcube_rec_lastref" \) ]; then
+  run art.py download --user=artprod --dst="$lastref_dir" InDetSLHC_Example "$script"
+  run ls -la "$lastref_dir"
+fi
+
+dcube() {
+  # Run DCube and print art-result (if $2 is not empty)
+  step="$1" statname="$2" dcubemon="$3" dcubecfg="$4" dcuberef="$5" dcubedir="$6"
+  test -n "$dcubedir" || return
+  run ls -lLU "$art_dcube" "$dcubemon" "$dcubecfg" "$dcuberef"
+  if [ ! -s "$dcubemon" ]; then
+    echo "$script: $step output '$dcubemon' not created. Don't create $dcubedir output." 2>&1
+    test -n "$statname" && echo "art-result: 20 $statname"
+    return
+  fi
+  if [ ! -s "$dcuberef" ]; then
+    echo "$script: $step DCube reference '$dcuberef' not available. Don't create $dcubedir output." 2>&1
+    test -n "$statname" && echo "art-result: 21 $statname"
+    return
+  fi
+  echo "$script: DCube comparison of $step output '$dcubemon' with '$dcuberef' reference"
+  keep=""
+  test "$dcubedir" != "dcube" -a -d "dcube" && keep="dcube_keep_`uuidgen`"
+  test -n "$keep" && run mv -f dcube "$keep"
+  run "$art_dcube" "$name" "$dcubemon" "$dcubecfg" "$dcuberef"
+  dcube_stat=$?
+  test -n "$statname" && echo "art-result: $dcube_stat $statname"
+  test "$dcubedir" != "dcube" && run mv -f dcube "$dcubedir"
+  test -n "$keep" && run mv -f "$keep" dcube
+}
+
+if [ $dosim -ne 0 ]; then
+
+  run ls -lL "$evnt"
+
+  # Sim step: based on RTT SimInclinedDuals_GMX job:
+  run Sim_tf.py \
+    --inputEVNTFile   "$evnt" \
+    --outputHITSFile  "$hits" \
+    --skipEvents      0 \
+    --maxEvents       10 \
+    --randomSeed      873254 \
+    --geometryVersion ATLAS-P2-ITK-22-01-00_VALIDATION \
+    --conditionsTag   OFLCOND-MC15c-SDR-14-03 \
+    --truthStrategy   MC15aPlus \
+    --DataRunNumber   242000 \
+    --preInclude  all:'InDetSLHC_Example/preInclude.SLHC.py,InDetSLHC_Example/preInclude.NoTRT_NoBCM_NoDBM.py,InDetSLHC_Example/preInclude.SLHC_Setup_InclBrl_4.py,InDetSLHC_Example/preInclude.SLHC_Setup_Strip_GMX.py' \
+    --preExec     all:'from InDetSLHC_Example.SLHC_JobProperties import SLHC_Flags; SLHC_Flags.doGMX.set_Value_and_Lock(True); SLHC_Flags.LayoutOption="InclinedAlternative"' \
+    --postInclude all:'PyJobTransforms/UseFrontier.py,InDetSLHC_Example/postInclude.SLHC_Setup_InclBrl_4.py,InDetSLHC_Example/postInclude.SLHC_Setup.py,InDetSLHC_Example/postInclude.SiHitAnalysis.py' \
+    --postExec    EVNTtoHITS:'ServiceMgr.DetDescrCnvSvc.DoInitNeighbours=False; from AthenaCommon import CfgGetter; CfgGetter.getService("ISF_MC15aPlusTruthService").BeamPipeTruthStrategies+=["ISF_MCTruthStrategyGroupIDHadInt_MC15"];'
+  echo "art-result: $? sim"
+
+  mv ./SiHitValid.root ./$dcubemon_sim
+
+  # DCube Sim hit plots
+  dcube Sim_tf sim-plot "$dcubemon_sim" "$dcubecfg_sim" "$lastref_dir/$dcubemon_sim" "$dcube_sim_lastref"
+
+fi