diff --git a/benchmarks/single/config.yml b/benchmarks/single/config.yml
index 4d3a8d4ad8f287fa1154294f5d7e9e8d7b64d6ab..0e5167fb470bf1c795a73aa9eeae00fe4dff3deb 100644
--- a/benchmarks/single/config.yml
+++ b/benchmarks/single/config.yml
@@ -9,24 +9,39 @@ single:simulate:
   timeout: 2 hours
   stage: simulate
   needs: ["common:detector"]
+  parallel:
+    matrix:
+      - particle: ['e-', 'pi-']
+        energy: ['1GeV']
+        angle: ['3to45deg', '45to135deg', '135to177deg']
   script:
-    - bash benchmarks/single/simulate.sh e-_1GeV_45to135deg
+    - bash benchmarks/single/simulate.sh ${particle}_${energy}_${angle}
 
 single:reconstruct:
   extends: .phy_benchmark
   timeout: 2 hours
   stage: reconstruct
   needs: ["single:simulate"]
+  parallel:
+    matrix:
+      - particle: ['e-', 'pi-']
+        energy: ['1GeV']
+        angle: ['3to45deg', '45to135deg', '135to177deg']
   script:
-    - bash benchmarks/single/reconstruct.sh e-_1GeV_45to135deg
+    - bash benchmarks/single/reconstruct.sh ${particle}_${energy}_${angle}
 
 single:analyze:
   extends: .phy_benchmark
   timeout: 2 hours
   stage: analyze
   needs: ["single:reconstruct", "single:compile"]
+  parallel:
+    matrix:
+      - particle: ['e-', 'pi-']
+        energy: ['1GeV']
+        angle: ['3to45deg', '45to135deg', '135to177deg']
   script:
-    - bash benchmarks/single/analyze.sh e-_1GeV_45to135deg
+    - bash benchmarks/single/analyze.sh ${particle}_${energy}_${angle}
 
 single:results:
   stage: collect
diff --git a/benchmarks/single/e-_1GeV_135to177deg.steer b/benchmarks/single/e-_1GeV_135to177deg.steer
new file mode 100644
index 0000000000000000000000000000000000000000..f5ddf317e5a8eeaad373432b928781c9be561b00
--- /dev/null
+++ b/benchmarks/single/e-_1GeV_135to177deg.steer
@@ -0,0 +1,11 @@
+from DDSim.DD4hepSimulation import DD4hepSimulation
+from g4units import mm, GeV, MeV, degree
+SIM = DD4hepSimulation()
+
+SIM.gun.energy = 1*GeV
+SIM.gun.particle = "e-"
+SIM.gun.position = (0.0, 0.0, 0.0)
+SIM.gun.direction = (0.0, 0.0, 1.0)
+SIM.gun.distribution = "cos(theta)"
+SIM.gun.thetaMin = 135*degree
+SIM.gun.thetaMax = 177*degree
diff --git a/benchmarks/single/e-_1GeV_3to45deg.steer b/benchmarks/single/e-_1GeV_3to45deg.steer
new file mode 100644
index 0000000000000000000000000000000000000000..f547e2e116d6b7a7bb1896dae75ee09090195fb5
--- /dev/null
+++ b/benchmarks/single/e-_1GeV_3to45deg.steer
@@ -0,0 +1,11 @@
+from DDSim.DD4hepSimulation import DD4hepSimulation
+from g4units import mm, GeV, MeV, degree
+SIM = DD4hepSimulation()
+
+SIM.gun.energy = 1*GeV
+SIM.gun.particle = "e-"
+SIM.gun.position = (0.0, 0.0, 0.0)
+SIM.gun.direction = (0.0, 0.0, 1.0)
+SIM.gun.distribution = "cos(theta)"
+SIM.gun.thetaMin = 3*degree
+SIM.gun.thetaMax = 45*degree
diff --git a/benchmarks/single/pi-_1GeV_135to177deg.steer b/benchmarks/single/pi-_1GeV_135to177deg.steer
new file mode 100644
index 0000000000000000000000000000000000000000..6cedafa2aa22303c19d8fe99088f269948b5651d
--- /dev/null
+++ b/benchmarks/single/pi-_1GeV_135to177deg.steer
@@ -0,0 +1,11 @@
+from DDSim.DD4hepSimulation import DD4hepSimulation
+from g4units import mm, GeV, MeV, degree
+SIM = DD4hepSimulation()
+
+SIM.gun.energy = 1*GeV
+SIM.gun.particle = "pi-"
+SIM.gun.position = (0.0, 0.0, 0.0)
+SIM.gun.direction = (0.0, 0.0, 1.0)
+SIM.gun.distribution = "cos(theta)"
+SIM.gun.thetaMin = 135*degree
+SIM.gun.thetaMax = 177*degree
diff --git a/benchmarks/single/pi-_1GeV_3to45deg.steer b/benchmarks/single/pi-_1GeV_3to45deg.steer
new file mode 100644
index 0000000000000000000000000000000000000000..f547e2e116d6b7a7bb1896dae75ee09090195fb5
--- /dev/null
+++ b/benchmarks/single/pi-_1GeV_3to45deg.steer
@@ -0,0 +1,11 @@
+from DDSim.DD4hepSimulation import DD4hepSimulation
+from g4units import mm, GeV, MeV, degree
+SIM = DD4hepSimulation()
+
+SIM.gun.energy = 1*GeV
+SIM.gun.particle = "e-"
+SIM.gun.position = (0.0, 0.0, 0.0)
+SIM.gun.direction = (0.0, 0.0, 1.0)
+SIM.gun.distribution = "cos(theta)"
+SIM.gun.thetaMin = 3*degree
+SIM.gun.thetaMax = 45*degree
diff --git a/benchmarks/single/pi-_1GeV_45to135deg.steer b/benchmarks/single/pi-_1GeV_45to135deg.steer
new file mode 100644
index 0000000000000000000000000000000000000000..3ec2dac75ef16e6de45dda21ac6caa43d10d0d99
--- /dev/null
+++ b/benchmarks/single/pi-_1GeV_45to135deg.steer
@@ -0,0 +1,11 @@
+from DDSim.DD4hepSimulation import DD4hepSimulation
+from g4units import mm, GeV, MeV, degree
+SIM = DD4hepSimulation()
+
+SIM.gun.energy = 1*GeV
+SIM.gun.particle = "pi-"
+SIM.gun.position = (0.0, 0.0, 0.0)
+SIM.gun.direction = (0.0, 0.0, 1.0)
+SIM.gun.distribution = "cos(theta)"
+SIM.gun.thetaMin = 45*degree
+SIM.gun.thetaMax = 135*degree