diff --git a/benchmarks/b0_tracker/forward_protons.sh b/benchmarks/b0_tracker/forward_protons.sh
index c2053859581c5ce16f1e59129f1b9f2850ceca85..1471658e9a2ac929e5d620f74dbcad62b73d9925 100755
--- a/benchmarks/b0_tracker/forward_protons.sh
+++ b/benchmarks/b0_tracker/forward_protons.sh
@@ -23,9 +23,10 @@ if [[ "$?" -ne "0" ]] ; then
 fi
 
 # Run geant4 simulations
-npsim --runType batch \
+ddsim --runType batch \
       -v WARNING \
       --part.minimalKineticEnergy 0.5*GeV  \
+      --filter.tracker edep0 \
       --numberOfEvents ${JUGGLER_N_EVENTS} \
       --compactFile ${DETECTOR_PATH}/${JUGGLER_DETECTOR}.xml \
       --inputFiles ${FILE_NAME_TAG}.hepmc \
diff --git a/benchmarks/barrel_ecal/run_emcal_barrel_electrons.sh b/benchmarks/barrel_ecal/run_emcal_barrel_electrons.sh
index 2c00e70b6aff86217222e14031eba5f23404554e..df97c7b21e3132f4dd923faca8826b5f1e2765ba 100755
--- a/benchmarks/barrel_ecal/run_emcal_barrel_electrons.sh
+++ b/benchmarks/barrel_ecal/run_emcal_barrel_electrons.sh
@@ -38,9 +38,10 @@ if [[ "$?" -ne "0" ]] ; then
 fi
 
 # Run geant4 simulations
-npsim --runType batch \
+ddsim --runType batch \
       -v WARNING \
       --part.minimalKineticEnergy 0.5*GeV  \
+      --filter.tracker edep0 \
       --numberOfEvents ${JUGGLER_N_EVENTS} \
       --compactFile ${DETECTOR_PATH}/${JUGGLER_DETECTOR}.xml \
       --inputFiles ${JUGGLER_FILE_NAME_TAG}.hepmc \
diff --git a/benchmarks/barrel_ecal/run_emcal_barrel_particles.sh b/benchmarks/barrel_ecal/run_emcal_barrel_particles.sh
index 13e7d3e79b3a2850faab44934f9e52d465acb065..7d463d7f8fe95043f8e7eec5b21e9dde973ab96a 100755
--- a/benchmarks/barrel_ecal/run_emcal_barrel_particles.sh
+++ b/benchmarks/barrel_ecal/run_emcal_barrel_particles.sh
@@ -45,9 +45,10 @@ fi
 
 ls -ltRhL
 
-npsim --runType batch \
+ddsim --runType batch \
       -v WARNING \
       --part.minimalKineticEnergy 0.5*GeV  \
+      --filter.tracker edep0 \
       --numberOfEvents ${JUGGLER_N_EVENTS} \
       --compactFile ${DETECTOR_PATH}/${JUGGLER_DETECTOR}.xml \
       --inputFiles data/${JUGGLER_FILE_NAME_TAG}.hepmc \
diff --git a/benchmarks/barrel_ecal/run_emcal_barrel_pi0.sh b/benchmarks/barrel_ecal/run_emcal_barrel_pi0.sh
index 8219dcecab8b8a5a7380acb16a4f2f84ac45daab..cdcc583ac6e7e6f9414d9bfea306d0c0bf8da7b0 100755
--- a/benchmarks/barrel_ecal/run_emcal_barrel_pi0.sh
+++ b/benchmarks/barrel_ecal/run_emcal_barrel_pi0.sh
@@ -43,9 +43,10 @@ if [[ "$?" -ne "0" ]] ; then
 fi
 
 # Run geant4 simulations
-npsim --runType batch \
+ddsim --runType batch \
       -v WARNING \
       --part.minimalKineticEnergy 0.5*GeV  \
+      --filter.tracker edep0 \
       --numberOfEvents ${JUGGLER_N_EVENTS} \
       --compactFile ${DETECTOR_PATH}/${JUGGLER_DETECTOR}.xml \
       --inputFiles ${JUGGLER_FILE_NAME_TAG}.hepmc \
diff --git a/benchmarks/barrel_ecal/run_emcal_barrel_pion_rejection.sh b/benchmarks/barrel_ecal/run_emcal_barrel_pion_rejection.sh
index a75438b692f8a40cf39657984ab7150face792de..5e394a6f26d07abac807791684e0d05f070c7759 100644
--- a/benchmarks/barrel_ecal/run_emcal_barrel_pion_rejection.sh
+++ b/benchmarks/barrel_ecal/run_emcal_barrel_pion_rejection.sh
@@ -45,9 +45,10 @@ fi
 
 ls -ltRhL
 
-npsim --runType batch \
+ddsim --runType batch \
       -v WARNING \
       --part.minimalKineticEnergy 0.5*GeV  \
+      --filter.tracker edep0 \
       --numberOfEvents ${JUGGLER_N_EVENTS} \
       --compactFile ${DETECTOR_PATH}/${JUGGLER_DETECTOR}.xml \
       --inputFiles data/${JUGGLER_FILE_NAME_TAG}.hepmc \
diff --git a/benchmarks/barrel_ecal/run_emcal_barrel_pions.sh b/benchmarks/barrel_ecal/run_emcal_barrel_pions.sh
index b4b1864413a460eb701e99949571ce340345a78e..a42b7aedb13d74cfad63d0a1a9f85542cc42d929 100755
--- a/benchmarks/barrel_ecal/run_emcal_barrel_pions.sh
+++ b/benchmarks/barrel_ecal/run_emcal_barrel_pions.sh
@@ -43,9 +43,10 @@ if [[ "$?" -ne "0" ]] ; then
 fi
 
 # Run geant4 simulations
-npsim --runType batch \
+ddsim --runType batch \
       -v WARNING \
       --part.minimalKineticEnergy 0.5*GeV  \
+      --filter.tracker edep0 \
       --numberOfEvents ${JUGGLER_N_EVENTS} \
       --compactFile ${DETECTOR_PATH}/${JUGGLER_DETECTOR}.xml \
       --inputFiles ${JUGGLER_FILE_NAME_TAG}.hepmc \
diff --git a/benchmarks/barrel_hcal/run_hcal_barrel_particles.sh b/benchmarks/barrel_hcal/run_hcal_barrel_particles.sh
index 041b736b4a5062ad2b303499041b692afa0f5cbc..bbd7b728d4e7cc61a9420d4663764e93cd5e1dd8 100755
--- a/benchmarks/barrel_hcal/run_hcal_barrel_particles.sh
+++ b/benchmarks/barrel_hcal/run_hcal_barrel_particles.sh
@@ -45,9 +45,10 @@ fi
 
 ls -ltRhL
 
-npsim --runType batch \
+ddsim --runType batch \
       -v WARNING \
       --part.minimalKineticEnergy 0.5*GeV  \
+      --filter.tracker edep0 \
       --numberOfEvents ${JUGGLER_N_EVENTS} \
       --compactFile ${DETECTOR_PATH}/${JUGGLER_DETECTOR}.xml \
       --inputFiles data/${JUGGLER_FILE_NAME_TAG}.hepmc \
diff --git a/benchmarks/crystal_calorimeter/config.yml b/benchmarks/crystal_calorimeter/config.yml
index 615ea23b04a4f9b4c15de29ff61b3fb5a5f6bc99..96b1accd6f67592e4a70eecc085ef526a5134b91 100644
--- a/benchmarks/crystal_calorimeter/config.yml
+++ b/benchmarks/crystal_calorimeter/config.yml
@@ -8,7 +8,7 @@ cal_sim:crystal_pion:
   extends: .det_benchmark
   stage: simulate
   script:
-    - npsim --runType batch --numberOfEvents 100 --compactFile ${DETECTOR_PATH}/${JUGGLER_DETECTOR}.xml --inputFiles  data/emcal_electrons.hepmc  --outputFile  sim_output/output_emcal_electrons.edm4hep.root
+    - ddsim --runType batch --numberOfEvents 100 --filter.tracker edep0 --compactFile ${DETECTOR_PATH}/${JUGGLER_DETECTOR}.xml --inputFiles  data/emcal_electrons.hepmc  --outputFile  sim_output/output_emcal_electrons.edm4hep.root
 
 cal_bench:crystal_benchmark:
   extends: .det_benchmark
diff --git a/benchmarks/crystal_calorimeter/run_simulation_crystal_pion.sh b/benchmarks/crystal_calorimeter/run_simulation_crystal_pion.sh
index fc82dbd27c85b7b5c7b44fa311b3df95f88131cd..a728fa104ce98936909f10570fef73a510377538 100755
--- a/benchmarks/crystal_calorimeter/run_simulation_crystal_pion.sh
+++ b/benchmarks/crystal_calorimeter/run_simulation_crystal_pion.sh
@@ -1,6 +1,7 @@
 #!/bin/bash
 
-npsim --runType batch --numberOfEvents 10000 \
+ddsim --runType batch --numberOfEvents 10000 \
+      --filter.tracker edep0 \
       --compactFile benchmarks/calorimeters/topside.xml \
       --inputFiles  ./data/emcal_pions_upto1GeV_10kevents.hepmc \
       --outputFile  ./sim_output/sim_crystal_pion_input.edm4hep.root
diff --git a/benchmarks/pid/config.yml b/benchmarks/pid/config.yml
index d562c1dec2db4e2c2598d3ca134bdeb610432d1c..6d93582e3bd74eb8682b895bc25641fa135959de 100644
--- a/benchmarks/pid/config.yml
+++ b/benchmarks/pid/config.yml
@@ -2,7 +2,7 @@ sim:backward:
   extends: .det_benchmark
   stage: simulate
   script:
-    - npsim --runType batch --numberOfEvents 100 --compactFile ${DETECTOR_PATH}/${JUGGLER_DETECTOR}.xml --enableGun --gun.energy "5*GeV" --gun.particle "${PARTICLE}" --gun.thetaMin 130*deg --gun.thetaMax 177*deg --gun.distribution "cos(theta)" --outputFile sim_output/sim_pid_backward_${PARTICLE}_5GeV.edm4hep.root
+    - ddsim --runType batch --numberOfEvents 100 --filter.tracker edep0 --compactFile ${DETECTOR_PATH}/${JUGGLER_DETECTOR}.xml --enableGun --gun.energy "5*GeV" --gun.particle "${PARTICLE}" --gun.thetaMin 130*deg --gun.thetaMax 177*deg --gun.distribution "cos(theta)" --outputFile sim_output/sim_pid_backward_${PARTICLE}_5GeV.edm4hep.root
     - rootls -t sim_output/sim_pid_backward_${PARTICLE}_5GeV.edm4hep.root
   parallel:
     matrix:
diff --git a/benchmarks/roman_pots/roman_pot_simu.sh b/benchmarks/roman_pots/roman_pot_simu.sh
index ca29f1809d93a4d2c93480303cf3bfb748e6d5b4..a5809796445184e3f21ef69f85bc5d995053a40b 100755
--- a/benchmarks/roman_pots/roman_pot_simu.sh
+++ b/benchmarks/roman_pots/roman_pot_simu.sh
@@ -10,9 +10,10 @@ fi
 
 ddsim --runType batch -N 300 \
 
-npsim --runType batch \
+ddsim --runType batch \
       -v WARNING \
       --part.minimalKineticEnergy 0.5*GeV  \
+      --filter.tracker edep0 \
       --numberOfEvents ${JUGGLER_N_EVENTS} \
       --compactFile ${DETECTOR_PATH}/${JUGGLER_DETECTOR}.xml \
 	--inputFiles ./data/forward_ions.hepmc \
diff --git a/benchmarks/timing/run_timing.sh b/benchmarks/timing/run_timing.sh
index 1904672eebbd3fe097cb1d38e36cb5947e1a8960..e0aba39f417beecf31f0cf1c628899e7a0345b94 100755
--- a/benchmarks/timing/run_timing.sh
+++ b/benchmarks/timing/run_timing.sh
@@ -79,11 +79,12 @@ output_file="sim_${nevents}.edm4hep.root"
 mkdir -p ${output_dir}
 timing_dir="results/timing/${particle}/${energy/\*/}"
 timing_file="time_${nevents}events.log"
-npsim_file="npsim_${nevents}events.log"
+ddsim_file="npsim_${nevents}events.log"
 mkdir -p ${timing_dir}
 /usr/bin/time -v -o ${timing_dir}/time_${nevents}events.log \
-  npsim --runType batch \
+  ddsim --runType batch \
       --printLevel WARNING \
+      --filter.tracker edep0 \
       --numberOfEvents ${nevents} \
       --enableGun \
       --gun.energy "${energy}" \
@@ -94,7 +95,7 @@ mkdir -p ${timing_dir}
       --part.minimalKineticEnergy "1*TeV" \
       --compactFile ${compact_path} \
       --outputFile ${output_dir}/${output_file} \
-    2>&1 > ${timing_dir}/${npsim_file}
+    2>&1 > ${timing_dir}/${ddsim_file}
 echo "For ${nevents} events:"
 cat ${timing_dir}/${timing_file}
 
diff --git a/benchmarks/tracking_detectors/track_hits.sh b/benchmarks/tracking_detectors/track_hits.sh
index eee822fde866ac20651e3dbdaa1cfaabed5ccee4..cc883487d315bd34db69ad5ff4e0fa5e70f21bc0 100644
--- a/benchmarks/tracking_detectors/track_hits.sh
+++ b/benchmarks/tracking_detectors/track_hits.sh
@@ -78,8 +78,9 @@ if [ -z "${ANALYSIS_ONLY}" ] ; then
 
   echo "Running geant4 simulation"
   ## run geant4 simulations
-  npsim --runType batch \
+  ddsim --runType batch \
     --part.minimalKineticEnergy 1000*GeV  \
+    --filter.tracker edep0 \
     -v WARNING \
     --numberOfEvents ${JUGGLER_N_EVENTS} \
     --compactFile ${DETECTOR_PATH}/${JUGGLER_DETECTOR}.xml \
diff --git a/benchmarks/zdc/run_zdc_neutrons.sh b/benchmarks/zdc/run_zdc_neutrons.sh
index 6b547ac32553954e8f3ad9f39df105d31948a431..049c1bd8f9763e7ad8d25e0fef624e2af8dc1c54 100755
--- a/benchmarks/zdc/run_zdc_neutrons.sh
+++ b/benchmarks/zdc/run_zdc_neutrons.sh
@@ -34,9 +34,10 @@ if [[ "$?" -ne "0" ]] ; then
 fi
 
 # Run geant4 simulations
-npsim --runType batch \
+ddsim --runType batch \
       -v WARNING \
       --part.minimalKineticEnergy 0.5*GeV  \
+      --filter.tracker edep0 \
       --numberOfEvents ${JUGGLER_N_EVENTS} \
       --compactFile ${DETECTOR_PATH}/${JUGGLER_DETECTOR}.xml \
       --inputFiles ${JUGGLER_FILE_NAME_TAG}.hepmc \