diff --git a/options/reconstruction.ecal.py b/options/reconstruction.ecal.py
index 91932ae8d9c3de2395c275b52ffc0bc15b7d2222..93d1bd5f96d5c1e3194aa6929adbeeb7e661900f 100644
--- a/options/reconstruction.ecal.py
+++ b/options/reconstruction.ecal.py
@@ -6,30 +6,13 @@ from GaudiKernel.SystemOfUnits import eV, MeV, GeV, mm, cm, mrad
 
 import json
 
-detector_name = "athena"
-if "DETECTOR" in os.environ:
-    detector_name = str(os.environ["DETECTOR"])
-
-detector_config = detector_name
-if "DETECTOR_CONFIG" in os.environ:
-    detector_config = str(os.environ["DETECTOR_CONFIG"])
-
-detector_path = ""
-if "DETECTOR_PATH" in os.environ:
-    detector_path = str(os.environ["DETECTOR_PATH"])
-
-detector_version = "default"
-if "DETECTOR_VERSION" in os.environ:
-    env_version = str(os.environ["DETECTOR_VERSION"])
-    if "acadia" in env_version:
-        detector_version = "acadia"
+detector_path = str(os.environ.get("DETECTOR_PATH", "."))
+detector_name = str(os.environ.get("DETECTOR_CONFIG", "epic"))
+detector_config = str(os.environ.get("DETECTOR_CONFIG", detector_name))
+detector_version = str(os.environ.get("DETECTOR_VERSION", "main"))
 
 # Detector features that affect reconstruction
 has_ecal_barrel_scfi = False
-if "athena" in detector_name:
-    has_ecal_barrel_scfi = True
-if "ecce" in detector_name and "imaging" in detector_config:
-    has_ecal_barrel_scfi = True
 if "epic" in detector_name and "imaging" in detector_config:
     has_ecal_barrel_scfi = True
 
@@ -40,7 +23,7 @@ ci_ecal_sf = float(os.environ.get("CI_ECAL_SAMP_FRAC", 0.253))
 # input calorimeter DAQ info
 calo_daq = {}
 with open(
-    "{}/calibrations/calo_digi_{}.json".format(detector_path, detector_version)
+    "{}/calibrations/calo_digi_default.json".format(detector_path)
 ) as f:
     calo_config = json.load(f)
     ## add proper ADC capacity based on bit depth
diff --git a/options/reconstruction.hcal.py b/options/reconstruction.hcal.py
index 0fb20276f291d4cab30a881b4c9ee62d445deabb..c8577aba641966d8c944e11723b206ba741eeaf2 100644
--- a/options/reconstruction.hcal.py
+++ b/options/reconstruction.hcal.py
@@ -6,30 +6,13 @@ from GaudiKernel.SystemOfUnits import eV, MeV, GeV, mm, cm, mrad
 
 import json
 
-detector_name = "athena"
-if "DETECTOR" in os.environ:
-    detector_name = str(os.environ["DETECTOR"])
-
-detector_config = detector_name
-if "DETECTOR_CONFIG" in os.environ:
-    detector_config = str(os.environ["DETECTOR_CONFIG"])
-
-detector_path = ""
-if "DETECTOR_PATH" in os.environ:
-    detector_path = str(os.environ["DETECTOR_PATH"])
-
-detector_version = "default"
-if "DETECTOR_VERSION" in os.environ:
-    env_version = str(os.environ["DETECTOR_VERSION"])
-    if "acadia" in env_version:
-        detector_version = "acadia"
+detector_path = str(os.environ.get("DETECTOR_PATH", "."))
+detector_name = str(os.environ.get("DETECTOR_CONFIG", "epic"))
+detector_config = str(os.environ.get("DETECTOR_CONFIG", detector_name))
+detector_version = str(os.environ.get("DETECTOR_VERSION", "main"))
 
 # Detector features that affect reconstruction
 has_ecal_barrel_scfi = False
-if "athena" in detector_name:
-    has_ecal_barrel_scfi = True
-if "ecce" in detector_name and "imaging" in detector_config:
-    has_ecal_barrel_scfi = True
 if "epic" in detector_name and "imaging" in detector_config:
     has_ecal_barrel_scfi = True
 
@@ -42,7 +25,7 @@ ce_hcal_sf = float(os.environ.get("CE_HCAL_SAMP_FRAC", 0.025))
 # input calorimeter DAQ info
 calo_daq = {}
 with open(
-    "{}/calibrations/calo_digi_{}.json".format(detector_path, detector_version)
+    "{}/calibrations/calo_digi_default.json".format(detector_path)
 ) as f:
     calo_config = json.load(f)
     ## add proper ADC capacity based on bit depth
diff --git a/options/reconstruction.py b/options/reconstruction.py
index 1646111bdb75470329a4aff9fb06d0b813ba298f..9df8222fd908f920ff2742d44dd3fe84928698ea 100644
--- a/options/reconstruction.py
+++ b/options/reconstruction.py
@@ -8,30 +8,13 @@ from GaudiKernel.SystemOfUnits import eV, MeV, GeV, mm, cm, mrad
 
 import json
 
-detector_name = "athena"
-if "DETECTOR" in os.environ:
-    detector_name = str(os.environ["DETECTOR"])
-
-detector_config = detector_name
-if "DETECTOR_CONFIG" in os.environ:
-    detector_config = str(os.environ["DETECTOR_CONFIG"])
-
-detector_path = ""
-if "DETECTOR_PATH" in os.environ:
-    detector_path = str(os.environ["DETECTOR_PATH"])
-
-detector_version = "default"
-if "DETECTOR_VERSION" in os.environ:
-    env_version = str(os.environ["DETECTOR_VERSION"])
-    if "acadia" in env_version:
-        detector_version = "acadia"
+detector_path = str(os.environ.get("DETECTOR_PATH", "."))
+detector_name = str(os.environ.get("DETECTOR_CONFIG", "epic"))
+detector_config = str(os.environ.get("DETECTOR_CONFIG", detector_name))
+detector_version = str(os.environ.get("DETECTOR_VERSION", "main"))
 
 # Detector features that affect reconstruction
 has_ecal_barrel_scfi = False
-if "athena" in detector_name:
-    has_ecal_barrel_scfi = True
-if "ecce" in detector_name and "imaging" in detector_config:
-    has_ecal_barrel_scfi = True
 if "epic" in detector_name and "imaging" in detector_config:
     has_ecal_barrel_scfi = True
 
@@ -91,7 +74,7 @@ print(calib_data)
 
 # input calorimeter DAQ info
 calo_daq = {}
-with open(f"{detector_path}/calibrations/calo_digi_{detector_version}.json") as f:
+with open(f"{detector_path}/calibrations/calo_digi_default.json") as f:
     calo_config = json.load(f)
     ## add proper ADC capacity based on bit depth
     for sys in calo_config:
@@ -122,24 +105,14 @@ services.append(AuditorSvc("AuditorSvc", Auditors=["ChronoAuditor", "MemStatAudi
 ## note: old version of material map is called material-maps.XXX, new version is materials-map.XXX
 ##       these names are somewhat inconsistent, and should probably all be renamed to 'material-map.XXX'
 ##       FIXME
-if detector_version == "acadia":
-    services.append(
-        GeoSvc(
-            "GeoSvc",
-            detectors=["{}/{}.xml".format(detector_path, detector_config)],
-            materials="config/material-maps.json",
-            OutputLevel=WARNING,
-        )
-    )
-else:
-    services.append(
-        GeoSvc(
-            "GeoSvc",
-            detectors=["{}/{}.xml".format(detector_path, detector_config)],
-            materials="calibrations/materials-map.cbor",
-            OutputLevel=WARNING,
-        )
+services.append(
+    GeoSvc(
+        "GeoSvc",
+        detectors=["{}/{}.xml".format(detector_path, detector_config)],
+        materials="calibrations/materials-map.cbor",
+        OutputLevel=WARNING,
     )
+)
 # data service
 services.append(EICDataSvc("EventDataSvc", inputs=input_sims, OutputLevel=WARNING))
 
@@ -262,44 +235,32 @@ forward_offmtracker_collections = [
 sim_coll += forward_romanpot_collections + forward_offmtracker_collections
 
 tracker_endcap_collections = [
-    "TrackerEndcapHits1",
-    "TrackerEndcapHits2",
-    "TrackerEndcapHits3",
-    "TrackerEndcapHits4",
-    "TrackerEndcapHits5",
-    "TrackerEndcapHits6",
+    "InnerTrackerEndcapPHits",
+    "InnerTrackerEndcapNHits",
+    "MiddleTrackerEndcapPHits",
+    "MiddleTrackerEndcapNHits",
+    "OuterTrackerEndcapPHits",
+    "OuterTrackerEndcapNHits",
 ]
 tracker_barrel_collections = [
-    "TrackerBarrelHits",
+    "SagittaSiBarrelHits",
+    "OuterSiBarrelHits",
 ]
 vertex_barrel_collections = [
     "VertexBarrelHits",
 ]
-gem_endcap_collections = [
-    "GEMTrackerEndcapHits1",
-    "GEMTrackerEndcapHits2",
-    "GEMTrackerEndcapHits3",
+mpgd_barrel_collections = [
+    "InnerMPGDBarrelHits",
+    "OuterMPGDBarrelHits",
 ]
 sim_coll += (
     tracker_endcap_collections
     + tracker_barrel_collections
     + vertex_barrel_collections
-    + gem_endcap_collections
+    + mpgd_barrel_collections
 )
 
-vertex_endcap_collections = [
-    "VertexEndcapHits",
-]
-mpgd_barrel_collections = [
-    "MPGDTrackerBarrelHits1",
-    "MPGDTrackerBarrelHits2",
-]
-
-if "acadia" in detector_version:
-    sim_coll += vertex_endcap_collections
-    sim_coll.append("MRICHHits")
-else:
-    sim_coll += mpgd_barrel_collections
+sim_coll.append("MRICHHits")
 
 # list of algorithms
 algorithms = []
@@ -995,51 +956,20 @@ vtx_b_digi = TrackerDigi(
 )
 algorithms.append(vtx_b_digi)
 
-if "acadia" in detector_version:
-    vtx_ec_coll = SimTrackerHitsCollector(
-        "vtx_ec_coll",
-        inputSimTrackerHits=vertex_endcap_collections,
-        outputSimTrackerHits="VertexEndcapAllHits",
-    )
-    algorithms.append(vtx_ec_coll)
-
-    vtx_ec_digi = TrackerDigi(
-        "vtx_ec_digi",
-        inputHitCollection=vtx_ec_coll.outputSimTrackerHits,
-        outputHitCollection="VertexEndcapRawHits",
-        timeResolution=8,
-    )
-    algorithms.append(vtx_ec_digi)
-else:
-    mm_b_coll = SimTrackerHitsCollector(
-        "mm_b_coll",
-        inputSimTrackerHits=mpgd_barrel_collections,
-        outputSimTrackerHits="MPGDTrackerBarrelAllHits",
-    )
-    algorithms.append(mm_b_coll)
-
-    mm_b_digi = TrackerDigi(
-        "mm_b_digi",
-        inputHitCollection=mm_b_coll.outputSimTrackerHits,
-        outputHitCollection="MPGDTrackerBarrelRawHits",
-        timeResolution=8,
-    )
-    algorithms.append(mm_b_digi)
-
-gem_ec_coll = SimTrackerHitsCollector(
-    "gem_ec_coll",
-    inputSimTrackerHits=gem_endcap_collections,
-    outputSimTrackerHits="GEMTrackerEndcapAllHits",
+mpgd_b_coll = SimTrackerHitsCollector(
+    "mpgd_b_coll",
+    inputSimTrackerHits=mpgd_barrel_collections,
+    outputSimTrackerHits="MPGDTrackerBarrelAllHits",
 )
-algorithms.append(gem_ec_coll)
+algorithms.append(mpgd_b_coll)
 
-gem_ec_digi = TrackerDigi(
-    "gem_ec_digi",
-    inputHitCollection=gem_ec_coll.outputSimTrackerHits,
-    outputHitCollection="GEMTrackerEndcapRawHits",
-    timeResolution=10,
+mpgd_b_digi = TrackerDigi(
+    "mpgd_b_digi",
+    inputHitCollection=mpgd_b_coll.outputSimTrackerHits,
+    outputHitCollection="MPGDTrackerBarrelRawHits",
+    timeResolution=8,
 )
-algorithms.append(gem_ec_digi)
+algorithms.append(mpgd_b_digi)
 
 # Tracker and vertex reconstruction
 trk_b_reco = TrackerHitReconstruction(
@@ -1063,41 +993,24 @@ vtx_b_reco = TrackerHitReconstruction(
 )
 algorithms.append(vtx_b_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)
-
-gem_ec_reco = TrackerHitReconstruction(
-    "gem_ec_reco",
-    inputHitCollection=gem_ec_digi.outputHitCollection,
-    outputHitCollection="GEMTrackerEndcapRecHits",
+mpgd_b_reco = TrackerHitReconstruction(
+    "mpgd_b_reco",
+    inputHitCollection=mpgd_b_digi.outputHitCollection,
+    outputHitCollection="MPGDTrackerBarrelRecHits",
 )
-algorithms.append(gem_ec_reco)
+algorithms.append(mpgd_b_reco)
 
 input_tracking_hits = [
     str(trk_b_reco.outputHitCollection),
     str(trk_ec_reco.outputHitCollection),
     str(vtx_b_reco.outputHitCollection),
-    str(gem_ec_reco.outputHitCollection),
+    str(mpgd_b_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=input_tracking_hits, trackingHits="trackingHits"
+    "trk_hit_col",
+    inputTrackingHits=input_tracking_hits,
+    trackingHits="trackingHits",
 )
 algorithms.append(trk_hit_col)
 
@@ -1297,5 +1210,5 @@ ApplicationMgr(
     ExtSvc=services,
     OutputLevel=WARNING,
     AuditAlgorithms=True,
-    HistogramPersistency='ROOT',
+    HistogramPersistency="ROOT",
 )
diff --git a/options/reconstruction.raw.py b/options/reconstruction.raw.py
index 9b40bedabd13d26806eb99c7b20159d3ba5a0858..6a3b2c84139cb6b0c934ee80b45b3594903579c7 100644
--- a/options/reconstruction.raw.py
+++ b/options/reconstruction.raw.py
@@ -6,23 +6,10 @@ from GaudiKernel.SystemOfUnits import eV, MeV, GeV, mm, cm, mrad
 
 import json
 
-detector_name = "athena"
-if "DETECTOR" in os.environ:
-    detector_name = str(os.environ["DETECTOR"])
-
-detector_config = detector_name
-if "DETECTOR_CONFIG" in os.environ:
-    detector_config = str(os.environ["DETECTOR_CONFIG"])
-
-detector_path = ""
-if "DETECTOR_PATH" in os.environ:
-    detector_path = str(os.environ["DETECTOR_PATH"])
-
-detector_version = "default"
-if "DETECTOR_VERSION" in os.environ:
-    env_version = str(os.environ["DETECTOR_VERSION"])
-    if "acadia" in env_version:
-        detector_version = "acadia"
+detector_path = str(os.environ.get("DETECTOR_PATH", "."))
+detector_name = str(os.environ.get("DETECTOR_CONFIG", "epic"))
+detector_config = str(os.environ.get("DETECTOR_CONFIG", detector_name))
+detector_version = str(os.environ.get("DETECTOR_VERSION", "main"))
 
 # Detector features that affect reconstruction
 has_ecal_barrel_scfi = False
@@ -42,7 +29,7 @@ qe_data = [
 # input calorimeter DAQ info
 calo_daq = {}
 with open(
-    "{}/calibrations/calo_digi_{}.json".format(detector_path, detector_version)
+    "{}/calibrations/calo_digi_default.json".format(detector_path)
 ) as f:
     calo_config = json.load(f)
     ## add proper ADC capacity based on bit depth
@@ -124,45 +111,32 @@ forward_offmtracker_collections = [
 sim_coll += forward_romanpot_collections + forward_offmtracker_collections
 
 tracker_endcap_collections = [
-    "TrackerEndcapHits1",
-    "TrackerEndcapHits2",
-    "TrackerEndcapHits3",
-    "TrackerEndcapHits4",
-    "TrackerEndcapHits5",
-    "TrackerEndcapHits6",
+    "InnerTrackerEndcapPHits",
+    "InnerTrackerEndcapNHits",
+    "MiddleTrackerEndcapPHits",
+    "MiddleTrackerEndcapNHits",
+    "OuterTrackerEndcapPHits",
+    "OuterTrackerEndcapNHits",
 ]
 tracker_barrel_collections = [
-    "TrackerBarrelHits",
+    "SagittaSiBarrelHits",
+    "OuterSiBarrelHits",
 ]
 vertex_barrel_collections = [
     "VertexBarrelHits",
 ]
-gem_endcap_collections = [
-    "GEMTrackerEndcapHits1",
-    "GEMTrackerEndcapHits2",
-    "GEMTrackerEndcapHits3",
+mpgd_barrel_collections = [
+    "InnerMPGDBarrelHits",
+    "OuterMPGDBarrelHits",
 ]
 sim_coll += (
     tracker_endcap_collections
     + tracker_barrel_collections
     + vertex_barrel_collections
-    + gem_endcap_collections
+    + mpgd_barrel_collections
 )
 
-
-vertex_endcap_collections = [
-    "VertexEndcapHits",
-]
-mpgd_barrel_collections = [
-    "MPGDTrackerBarrelHits1",
-    "MPGDTrackerBarrelHits2",
-]
-
-if "acadia" in detector_version:
-    sim_coll += vertex_endcap_collections
-    sim_coll.append("MRICHHits")
-else:
-    sim_coll += mpgd_barrel_collections
+sim_coll.append("MRICHHits")
 
 # list of algorithms
 algorithms = []
@@ -349,51 +323,20 @@ vtx_b_digi = TrackerDigi(
 )
 algorithms.append(vtx_b_digi)
 
-if "acadia" in detector_version:
-    vtx_ec_coll = SimTrackerHitsCollector(
-        "vtx_ec_coll",
-        inputSimTrackerHits=vertex_endcap_collections,
-        outputSimTrackerHits="VertexEndcapAllHits",
-    )
-    algorithms.append(vtx_ec_coll)
-
-    vtx_ec_digi = TrackerDigi(
-        "vtx_ec_digi",
-        inputHitCollection=vtx_ec_coll.outputSimTrackerHits,
-        outputHitCollection="VertexEndcapRawHits",
-        timeResolution=8,
-    )
-    algorithms.append(vtx_ec_digi)
-else:
-    mm_b_coll = SimTrackerHitsCollector(
-        "mm_b_coll",
-        inputSimTrackerHits=mpgd_barrel_collections,
-        outputSimTrackerHits="MPGDTrackerBarrelAllHits",
-    )
-    algorithms.append(mm_b_coll)
-
-    mm_b_digi = TrackerDigi(
-        "mm_b_digi",
-        inputHitCollection=mm_b_coll.outputSimTrackerHits,
-        outputHitCollection="MPGDTrackerBarrelRawHits",
-        timeResolution=8,
-    )
-    algorithms.append(mm_b_digi)
-
-gem_ec_coll = SimTrackerHitsCollector(
-    "gem_ec_coll",
-    inputSimTrackerHits=gem_endcap_collections,
-    outputSimTrackerHits="GEMTrackerEndcapAllHits",
+mpgd_b_coll = SimTrackerHitsCollector(
+    "mpgd_b_coll",
+    inputSimTrackerHits=mpgd_barrel_collections,
+    outputSimTrackerHits="MPGDTrackerBarrelAllHits",
 )
-algorithms.append(gem_ec_coll)
+algorithms.append(mpgd_b_coll)
 
-gem_ec_digi = TrackerDigi(
-    "gem_ec_digi",
-    inputHitCollection=gem_ec_coll.outputSimTrackerHits,
-    outputHitCollection="GEMTrackerEndcapRawHits",
-    timeResolution=10,
+mpgd_b_digi = TrackerDigi(
+    "mpgd_b_digi",
+    inputHitCollection=mpgd_b_coll.outputSimTrackerHits,
+    outputHitCollection="MPGDTrackerBarrelRawHits",
+    timeResolution=8,
 )
-algorithms.append(gem_ec_digi)
+algorithms.append(mpgd_b_digi)
 
 # DRICH
 drich_digi = PhotoMultiplierDigi(