diff --git a/benchmarks/tof/options/track_reconstruction.py b/benchmarks/tof/options/track_reconstruction.py
index 0fa1fb6e0a67a68401464ea356767323148b5eff..ca73db662a574a14bf530b18ade652245a6135dd 100644
--- a/benchmarks/tof/options/track_reconstruction.py
+++ b/benchmarks/tof/options/track_reconstruction.py
@@ -5,11 +5,17 @@ from GaudiKernel import SystemOfUnits as units
 
 detector_name = "topside"
 if "JUGGLER_DETECTOR" in os.environ :
-  detector_name = str(os.environ["JUGGLER_DETECTOR"])
+    detector_name = str(os.environ["JUGGLER_DETECTOR"])
 
 detector_path = ""
 if "DETECTOR_PATH" in os.environ :
-  detector_path = str(os.environ["DETECTOR_PATH"])
+    detector_path = str(os.environ["DETECTOR_PATH"])
+
+detector_version = 'default'
+if "JUGGLER_DETECTOR_VERSION" in os.environ:
+    env_version = str(os.environ["JUGGLER_DETECTOR_VERSION"])
+    if 'acadia' in env_version:
+        detector_version = 'acadia'
 
 # todo add checks
 input_sim_file  = str(os.environ["JUGGLER_SIM_FILE"])
@@ -20,9 +26,6 @@ geo_service  = GeoSvc("GeoSvc", detectors=["{}/{}.xml".format(detector_path,dete
 podioevent   = EICDataSvc("EventDataSvc", inputs=[input_sim_file], OutputLevel=WARNING)
 
 from Configurables import PodioInput
-from Configurables import Jug__Base__InputCopier_dd4pod__Geant4ParticleCollection_dd4pod__Geant4ParticleCollection_ as MCCopier
-from Configurables import Jug__Base__InputCopier_dd4pod__CalorimeterHitCollection_dd4pod__CalorimeterHitCollection_ as CalCopier
-from Configurables import Jug__Base__InputCopier_dd4pod__TrackerHitCollection_dd4pod__TrackerHitCollection_ as TrkCopier
 
 from Configurables import Jug__Digi__SiliconTrackerDigi as TrackerDigi
 
@@ -43,22 +46,15 @@ from Configurables import Jug__Reco__SimpleClustering as SimpleClustering
 
 algorithms = [ ]
 
-podioinput = PodioInput("PodioReader",
-                        collections=["mcparticles","TrackerEndcapHits","TrackerBarrelHits","VertexBarrelHits","VertexEndcapHits","BarrelTOFHits","ForwardTOFHits","BackwardTOFHits"])
-                        #collections=["mcparticles","TrackerEndcapHits","TrackerBarrelHits","VertexBarrelHits","VertexEndcapHits","GEMTrackerEndcapHits","BarrelTOFHits","ForwardTOFHits","BackwardTOFHits"])
+input_collections = ['mcparticles','TrackerEndcapHits','TrackerBarrelHits','TOFBarrelHits','VertexBarrelHits','GEMTrackerEndcapHits']
+if 'acadia' in detector_version:
+    input_collections.append('VertexEndcapHits')
+else:
+    input_collections.append('MPGDTrackerBarrelHits')
+podioinput = PodioInput("PodioReader", 
+                        collections=input_collections)#, OutputLevel=DEBUG)
 algorithms.append( podioinput )
 
-## copiers to get around input --> output copy bug. Note the "2" appended to the output collection.
-copier = MCCopier("MCCopier", 
-        inputCollection="mcparticles", 
-        outputCollection="mcparticles2") 
-algorithms.append( copier )
-
-trkcopier = TrkCopier("TrkCopier", 
-        inputCollection="TrackerBarrelHits", 
-        outputCollection="TrackerBarrelHits2") 
-algorithms.append( trkcopier )
-
 trk_b_digi = TrackerDigi("trk_b_digi", 
         inputHitCollection="TrackerBarrelHits",
         outputHitCollection="TrackerBarrelRawHits",
@@ -76,35 +72,30 @@ vtx_b_digi = TrackerDigi("vtx_b_digi",
         timeResolution=8)
 algorithms.append( vtx_b_digi )
 
-vtx_ec_digi = TrackerDigi("vtx_ec_digi", 
-        inputHitCollection="VertexEndcapHits",
-        outputHitCollection="VertexEndcapRawHits",
-        timeResolution=8)
-algorithms.append( vtx_ec_digi )
-
-#gem_ec_digi = TrackerDigi("gem_ec_digi",
-#        inputHitCollection="GEMTrackerEndcapHits",
-#        outputHitCollection="GEMTrackerEndcapRawHits",
-#        timeResolution=10)
-#algorithms.append(gem_ec_digi)
+if 'acadia' in detector_version:
+    vtx_ec_digi = TrackerDigi("vtx_ec_digi", 
+            inputHitCollection="VertexEndcapHits",
+            outputHitCollection="VertexEndcapRawHits",
+            timeResolution=8)
+    algorithms.append( vtx_ec_digi )
+else:
+    mm_b_digi = TrackerDigi("mm_b_digi", 
+            inputHitCollection="MPGDTrackerBarrelHits",
+            outputHitCollection="MPGDTrackerBarrelRawHits",
+            timeResolution=8)
+    algorithms.append( mm_b_digi )
 
 tof_b_digi = TrackerDigi("tof_b_digi",
-        inputHitCollection="BarrelTOFHits",
-        outputHitCollection="BarrelTOFRawHits",
+        inputHitCollection="TOFBarrelHits",
+        outputHitCollection="TOFBarrelRawHits",
         timeResolution=20)
 algorithms.append(tof_b_digi)
 
-tof_forward_digi = TrackerDigi("tof_forward_digi",
-        inputHitCollection="ForwardTOFHits",
-        outputHitCollection="ForwardTOFRawHits",
-        timeResolution=20)
-algorithms.append(tof_forward_digi)
-
-tof_backward_digi = TrackerDigi("tof_backward_digi",
-        inputHitCollection="BackwardTOFHits",
-        outputHitCollection="BackwardTOFRawHits",
-        timeResolution=20)
-algorithms.append(tof_backward_digi)
+gem_ec_digi = TrackerDigi("gem_ec_digi",
+        inputHitCollection="GEMTrackerEndcapHits",
+        outputHitCollection="GEMTrackerEndcapRawHits",
+        timeResolution=10)
+algorithms.append(gem_ec_digi)
 
 # Tracker and vertex reconstruction
 trk_b_reco = TrackerHitReconstruction("trk_b_reco",
@@ -122,41 +113,40 @@ vtx_b_reco = TrackerHitReconstruction("vtx_b_reco",
         outputHitCollection="VertexBarrelRecHits")
 algorithms.append( vtx_b_reco )
 
-vtx_ec_reco = TrackerHitReconstruction("vtx_ec_reco",
-        inputHitCollection = vtx_ec_digi.outputHitCollection,
-        outputHitCollection="VertexEndcapRecHits")
-algorithms.append( vtx_ec_reco )
-
-#gem_ec_reco = TrackerHitReconstruction("gem_ec_reco",
-#        inputHitCollection=gem_ec_digi.outputHitCollection,
-#        outputHitCollection="GEMTrackerEndcapRecHits")
-#algorithms.append(gem_ec_reco)
+if 'acadia' in detector_version:
+    vtx_ec_reco = TrackerHitReconstruction("vtx_ec_reco",
+            inputHitCollection = vtx_ec_digi.outputHitCollection,
+            outputHitCollection="VertexEndcapRecHits")
+    algorithms.append( vtx_ec_reco )
+else:
+    mm_b_reco = TrackerHitReconstruction("mm_b_reco",
+            inputHitCollection = mm_b_digi.outputHitCollection,
+            outputHitCollection="MPGDTrackerBarrelRecHits")
+    algorithms.append( mm_b_reco )
 
 tof_b_reco = TrackerHitReconstruction("tof_b_reco",
         inputHitCollection=tof_b_digi.outputHitCollection,
         outputHitCollection="BarrelTOFRecHits")
 algorithms.append(tof_b_reco)
 
-tof_forward_reco = TrackerHitReconstruction("tof_forward_reco",
-        inputHitCollection=tof_forward_digi.outputHitCollection,
-        outputHitCollection="ForwardTOFRecHits")
-algorithms.append(tof_forward_reco)
-
-tof_backward_reco = TrackerHitReconstruction("tof_backward_reco",
-        inputHitCollection=tof_backward_digi.outputHitCollection,
-        outputHitCollection="BackwardTOFRecHits")
-algorithms.append(tof_backward_reco)
+gem_ec_reco = TrackerHitReconstruction("gem_ec_reco",
+        inputHitCollection=gem_ec_digi.outputHitCollection,
+        outputHitCollection="GEMTrackerEndcapRecHits")
+algorithms.append(gem_ec_reco)
+
+input_tracking_hits = [
+    str(trk_b_reco.outputHitCollection),
+    str(trk_ec_reco.outputHitCollection),
+    str(vtx_b_reco.outputHitCollection),
+    str(tof_b_reco.outputHitCollection),
+    str(gem_ec_reco.outputHitCollection) ]
+if 'acadia' in detector_version:
+    input_tracking_hits.append(str(vtx_ec_reco.outputHitCollection))
+else:
+    input_tracking_hits.append(str(mm_b_reco.outputHitCollection))
 
 trk_hit_col = TrackingHitsCollector("trk_hit_col",
-        inputTrackingHits=[
-            str(trk_b_reco.outputHitCollection),
-            str(trk_ec_reco.outputHitCollection),
-            str(vtx_b_reco.outputHitCollection),
-            str(vtx_ec_reco.outputHitCollection),
-#            str(gem_ec_reco.outputHitCollection),
-            str(tof_b_reco.outputHitCollection),
-            str(tof_forward_reco.outputHitCollection),
-            str(tof_backward_reco.outputHitCollection) ],
+        inputTrackingHits=input_tracking_hits,
         trackingHits="trackingHits",
         OutputLevel=DEBUG)
 algorithms.append( trk_hit_col )
@@ -225,7 +215,7 @@ out.outputCommands = ["keep *",
         "drop trajectories",
         "drop outputSourceLinks",
         "drop outputInitialTrackParameters",
-        "drop mcparticles"
+        "keep mcparticles"
         ]
 algorithms.append(out)