diff --git a/calorimeters/CentralBarrel_AMEGOX.xml b/calorimeters/CentralBarrel_AMEGOX.xml
deleted file mode 100644
index ba8d8534cfd8253e36fed819421e7c350a053f03..0000000000000000000000000000000000000000
--- a/calorimeters/CentralBarrel_AMEGOX.xml
+++ /dev/null
@@ -1,122 +0,0 @@
-<lccdd xmlns:compact="http://www.lcsim.org/schemas/compact/1.0"
-       xmlns:xs="http://www.w3.org/2001/XMLSchema"
-       xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/compact/1.0/compact.xsd">
-
-  <!-- Some information about detector  -->
-  <info name="Central_Barrel_EMCal_Module_example" title="Central Barrel EMCal Module Example"
-        author="Chao Peng"
-        url="https://eicweb.phy.anl.gov/EIC/NPDet"
-        status="development"
-        version="v2.0 2020-07-30">
-    <comment>A Module of Central Barrel EMCal</comment>
-  </info>
-
-  <!-- Use DD4hep elements and materials definitions -->
-  <includes>
-    <gdmlFile  ref="elements.xml"/>
-    <gdmlFile  ref="materials.xml"/>
-  </includes>
-
-  <!-- Define the dimensions of the world volume -->
-  <define>
-    <constant name="world_side" value="50*m"/>
-    <constant name="world_x" value="world_side"/>
-    <constant name="world_y" value="world_side"/>
-    <constant name="world_z" value="world_side"/>
-
-    <constant name="tracker_region_zmax" value="6.0 * m"/>
-    <constant name="tracker_region_rmax" value="6.0 * m"/>
-
-    <constant name="cb_ECal_rmin" value="1.3*m" />
-    <constant name="cb_ECal_length" value="4.0*m"/>
-    <constant name="cb_ECal_mod_length" value="0.5*m"/>
-    <constant name="cb_ECal_mod_width" value="0.5*m"/>
-
-    <constant name="cb_ECal_SiliconThickness" value="0.5*mm"/>
-    <constant name="cb_ECal_ElectronicsThickness" value="0.15*mm"/>
-    <constant name="cb_ECal_CopperThickness" value="0.1*mm"/>
-    <constant name="cb_ECal_KaptonThickness" value="0.2*mm"/>
-    <constant name="cb_ECal_EpoxyThickness" value="0.1*mm"/>
-    <constant name="cb_ECal_CarbonThickness" value="0.5*mm"/>
-    <constant name="cb_ECal_CarbonSpacerWidth" value="4*mm"/>
-    <constant name="cb_ECal_LayerSpacing" value="5*mm"/>
-
-    <constant name="cb_ECal_AvailThickness" value="40*cm"/>
-    <constant name="cb_ECal_ReadoutLayerThickness"
-      value="cb_ECal_SiliconThickness+cb_ECal_ElectronicsThickness+cb_ECal_CopperThickness+cb_ECal_KaptonThickness+cb_ECal_EpoxyThickness+cb_ECal_CarbonThickness+cb_ECal_LayerSpacing" />
-    <constant name="cb_ECal_ReadoutLayerNumber" value="floor(cb_ECal_AvailThickness/cb_ECal_ReadoutLayerThickness)"/>
-
-  </define>
-
-  <limits>
-    <limitset name="cal_limits">
-      <limit name="step_length_max" particles="*" value="5.0" unit="mm"/>
-    </limitset>
-  </limits>
-
-  <regions>
-  </regions>
-
-  <!-- Common Generic visualization attributes -->
-  <comment>Common Generic visualization attributes</comment>
-  <display>
-    <vis name="InvisibleNoDaughters"                                    showDaughters="false" visible="false"/>
-    <vis name="InvisibleWithDaughters"                                  showDaughters="true"  visible="false"/>
-    <vis name="GreenVis"       alpha="0.5"  r= "0.0"  g="1.0"  b="0.0"  showDaughters="true"  visible="true"/>
-    <vis name="RedVis"         alpha="0.5"  r= "1.0"  g="0.0"  b="0.0"  showDaughters="true"  visible="true"/>
-    <vis name="BlueVis"        alpha="0.5"  r= "0.0"  g="0.0"  b="1.0"  showDaughters="true"  visible="true"/>
-    <vis name="OrangeVis"      alpha="0.5"  r= "1.0"  g="0.45" b="0.0"  showDaughters="true"  visible="true"/>
-    <vis name="RedGreenVis"    alpha="0.5"  r= "1.0"  g="1.0"  b="0.0"  showDaughters="true"  visible="true"/>
-    <vis name="BlueGreenVis"   alpha="0.5"  r= "0.0"  g="1.0"  b="1.0"  showDaughters="true"  visible="true"/>
-    <vis name="PurpleVis"      alpha="0.5"  r= "1.0"  g="0.0"  b="1.0"  showDaughters="true"  visible="true"/>
-    <vis name="DoubleRedG"     alpha="0.5"  r= "2.0"  g=".10"  b="0.0"  showDaughters="true"  visible="true"/>
-    <vis name="RBG015"         alpha="0.5"  r= "0.0"  g=".2"   b="1.0"  showDaughters="true"  visible="true"/>
-    <vis name="RBG510"         alpha="0.5"  r= "1.0"  g=".2"   b="0.0"  showDaughters="true"  visible="true"/>
-    <vis name="RBG"            alpha="0.5"  r= "1.0"  g="1.0"  b="1.0"  showDaughters="true"  visible="true"/>
-    <vis name="GrayVis"        alpha="0.5"  r= "0.75" g="0.75" b="0.75" showDaughters="true"  visible="true"/>
-    <vis name="EcalBarrelVis"  alpha="1.0"  r="0.0"   g="0.99" b="0.0"  showDaughters="false" visible="true" />
-  </display>
-
-  <!-- Define detector -->
-  <detectors>
-    <comment>
-      ---------------------
-      Barrel EM Calorimeter
-      ---------------------
-      A layered EM calorimeter with tungsten and silicon (or scintillator) strips
-    </comment>
-    <detector
-      id="131"
-      name="EcalBarrel"
-      type="DD4hep_EcalBarrel"
-      readout="EcalBarrelHits"
-      calorimeterType="EM_BARREL">
-      <dimensions numsides="16" rmin="cb_ECal_rmin" z="cb_ECal_mod_length"/>
-      <staves vis="EcalBarrelVis"/>
-      <layer repeat="cb_ECal_ReadoutLayerNumber">
-        <slice material="Silicon" thickness="cb_ECal_SiliconThickness" sensitive="yes" limits="cal_limits"/>
-        <slice material="Silicon" thickness="cb_ECal_ElectronicsThickness"/>
-        <slice material="Copper" thickness="cb_ECal_CopperThickness"/>
-        <slice material="Kapton" thickness="cb_ECal_KaptonThickness"/>
-        <slice material="Epoxy" thickness="cb_ECal_EpoxyThickness"/>
-        <slice material="CarbonFiber" thickness="cb_ECal_CarbonThickness"/>
-        <slice material="Air" thickness="cb_ECal_LayerSpacing"/>
-      </layer>
-    </detector>
-  </detectors>
-
-  <!--  Definition of the readout segmentation/definition  -->
-  <readouts>
-    <readout name="EcalBarrelHits">
-      <segmentation type="CartesianGridXY" grid_size_x="2.0 * cm" grid_size_y="2.0 * cm"/>
-      <id>system:8,barrel:3,module:4,layer:10,slice:5,x:32:-16,y:-16</id>
-    </readout>
-  </readouts>
-
-
-  <plugins>
-  </plugins>
-
-  <fields>
-  </fields>
-</lccdd>
diff --git a/calorimeters/options/emcal_barrel_reco.py b/calorimeters/options/emcal_barrel_reco.py
index 8daa925316958a6e42eb60993f272118477b41be..37565e42c1162056f1a2d8173dc6af312b42d6c5 100644
--- a/calorimeters/options/emcal_barrel_reco.py
+++ b/calorimeters/options/emcal_barrel_reco.py
@@ -37,13 +37,6 @@ 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__Digi__EcalTungstenSamplingDigi as EcalTungstenSamplingDigi
-
-from Configurables import Jug__Reco__EcalTungstenSamplingReco as EcalTungstenSamplingReco
-from Configurables import Jug__Reco__SamplingECalHitsMerger as SamplingECalHitsMerger
-from Configurables import Jug__Reco__CalorimeterIslandCluster as IslandCluster
-from Configurables import Jug__Reco__ClusterRecoCoG as RecoCoG
-
 podioinput = PodioInput("PodioReader", collections=["mcparticles","EcalBarrelAstroPixHits"], OutputLevel=DEBUG)
 
 # Thrown Information
@@ -56,55 +49,13 @@ embarrelcopier = CalCopier("CalBarrelCopier",
         inputCollection="EcalBarrelAstroPixHits", 
         outputCollection="EcalBarrelAstroPixHits2",
         OutputLevel=DEBUG)
-# Digitization
-embarreldigi = EcalTungstenSamplingDigi("ecal_barrel_digi", 
-        inputHitCollection="EcalBarrelAstroPixHits", 
-        outputHitCollection="RawEcalBarrelAstroPixHits",
-        inputEnergyUnit=units.GeV,
-        inputTimeUnit=units.ns,
-        dynamicRangeADC=700*units.keV, 
-        energyResolutions=[0., 0.02, 0.], 
-        pedestalSigma=40,
-        OutputLevel=DEBUG)
-# Reconstruction
-embarrelreco = EcalTungstenSamplingReco("ecal_barrel_reco", 
-        inputHitCollection="RawEcalBarrelAstroPixHits", 
-        outputHitCollection="RecoEcalBarrelAstroPixHits",
-        dynamicRangeADC=700*units.keV, 
-        pedestalSigma=40,
-        OutputLevel=DEBUG)
-# 2D+1 Clusterings
-# readout id definition for barrel ecal
-# <id>system:8,barrel:3,module:4,layer:10,slice:5,x:32:-16,y:-16</id>
-# xy_merger sum layers/slices, masking (8+3+4, 8+3+4+5+10-1)
-embarrelxymerger = SamplingECalHitsMerger("ecal_barrel_xy_merger",
-        cellIDMaskRanges=[(15, 29)],
-        inputHitCollection="RecoEcalBarrelAstroPixHits",
-        outputHitCollection="RecoEcalBarrelAstroPixHitsXY")
-# xy_merger sum modules, masking (8+3+4+5+10, 8+3+4+5+10+32-1)
-embarrelzmerger = SamplingECalHitsMerger("ecal_barrel_z_merger",
-        cellIDMaskRanges=[(30, 61)],
-        inputHitCollection="RecoEcalBarrelAstroPixHits",
-        outputHitCollection="RecoEcalBarrelAstroPixHitsZ")
-# Clustering
-embarrelcluster = IslandCluster("ecal_barrel_cluster",
-        inputHitCollection="RecoEcalBarrelAstroPixHitsXY",
-        outputClusterCollection="EcalBarrelAstroPixClusters",
-        minClusterCenterEdep=0.5*units.MeV,
-        splitCluster=False,
-        groupRanges=[2.0*units.cm, 2.0*units.cm, 2.0*units.cm])
-# Reconstruct the cluster with Center of Gravity method
-embarrelclusterreco = RecoCoG("ecal_barrel_clusterreco",
-        clusterCollection="EcalBarrelAstroPixClusters", 
-        logWeightBase=6.2) 
 
 out = PodioOutput("out", filename=output_rec_file)
 
 out.outputCommands = ["keep *"]
 
 ApplicationMgr(
-    TopAlg = [podioinput, copier, embarrelcopier, embarreldigi, 
-        embarrelreco, embarrelxymerger, embarrelzmerger, embarrelcluster, embarrelclusterreco, out],
+    TopAlg = [podioinput, copier, embarrelcopier, out],
     EvtSel = 'NONE',
     EvtMax   = n_events,
     ExtSvc = [podioevent],
diff --git a/calorimeters/scripts/emcal_barrel_electrons_analysis.cxx b/calorimeters/scripts/emcal_barrel_electrons_analysis.cxx
index 828ba6130046a3ab2fd2667024099fbc86570ced..06c5ee80b1b8911023522243c1a3cb955b8b28ad 100644
--- a/calorimeters/scripts/emcal_barrel_electrons_analysis.cxx
+++ b/calorimeters/scripts/emcal_barrel_electrons_analysis.cxx
@@ -8,13 +8,6 @@
 
 #include "dd4pod/Geant4ParticleCollection.h"
 #include "dd4pod/CalorimeterHitCollection.h"
-#include "dd4pod/TrackerHitCollection.h"
-#include "eicd/RawCalorimeterHitCollection.h"
-#include "eicd/RawCalorimeterHitData.h"
-#include "eicd/CalorimeterHitCollection.h"
-#include "eicd/CalorimeterHitData.h"
-#include "eicd/ClusterCollection.h"
-#include "eicd/ClusterData.h"
 
 #include "TCanvas.h"
 #include "TStyle.h"
@@ -49,35 +42,17 @@ void emcal_barrel_electrons_analysis(const char* input_fname = "sim_output/rec_e
   return result;
   };
 
-  // Reconstructed Energy [GeV] in XY merger
-  auto ErecXY = [] (const std::vector<eic::CalorimeterHitData> & evt) {
-    std::vector<double> result;
-    auto total_eng = 0.0;
-    for (const auto& i: evt)
-      total_eng += i.energy;
-    result.push_back(total_eng / 1.e+3);
-    return result;
-  };
-
-  // Reconstructed Energy [GeV] in Z merger
-  auto ErecZ = [] (const std::vector<eic::CalorimeterHitData> & evt) {
-    std::vector<double> result;
-    auto total_eng = 0.0;
-    for (const auto& i: evt)
-      total_eng += i.energy;
-    result.push_back(total_eng / 1.e+3);
-    return result;
-  };
+  // Number of hits
+  auto nhits = [] (const std::vector<dd4pod::CalorimeterHitData>& evt) {return (int) evt.size(); };
 
-  // Number of Clusters
-  auto ncluster = [] (const std::vector<eic::ClusterData>& evt) {return (int) evt.size(); };
-
-  // Cluster Energy [GeV]
-  auto Ecluster = [] (const std::vector<eic::ClusterData>& evt) {
+  // Energy deposition [GeV]
+  auto Esim = [](const std::vector<dd4pod::CalorimeterHitData>& evt) {
     std::vector<double> result;
+    auto total_edep = 0.0;
     for (const auto& i: evt)
-      result.push_back(i.energy / 1.e+3);
-    return result;
+      total_edep += i.energyDeposit;
+    result.push_back(total_edep);
+  return result;
   };
 
   // Sampling fraction = Esampling / Ethrown
@@ -91,21 +66,17 @@ void emcal_barrel_electrons_analysis(const char* input_fname = "sim_output/rec_e
   };
 
   // Define variables
-  auto d1 = d0.Define("Ethr",      Ethr,       {"mcparticles2"})
-	      .Define("ErecXY",    ErecXY,     {"RecoEcalBarrelAstroPixHitsXY"})
-	      .Define("ErecZ",     ErecZ,      {"RecoEcalBarrelAstroPixHitsZ"})
-	      .Define("ncluster",  ncluster,   {"EcalBarrelAstroPixClusters"})
-	      .Define("Ecluster",  Ecluster,   {"EcalBarrelAstroPixClusters"})
-	      .Define("fsam",      fsam,       {"Ecluster","Ethr"})
+  auto d1 = d0.Define("Ethr",  Ethr,  {"mcparticles2"})
+	      .Define("nhits", nhits, {"EcalBarrelAstroPixHits2"})
+	      .Define("Esim",  Esim,  {"EcalBarrelAstroPixHits2"})
+	      .Define("fsam",  fsam,  {"Esim","Ethr"})
 	      ;
 
   // Define Histograms
-  auto hEthr     = d1.Histo1D({"hEthr",     "Thrown Energy; Thrown Energy [GeV]; Events",                            100, -0.5, 10.5}, "Ethr");
-  auto hErecXY   = d1.Histo1D({"hErecXY",   "Reconstructed Energy in XY merger; Reconstructed Energy [GeV]; Events", 100, -0.5, 10.5}, "ErecXY");
-  auto hErecZ    = d1.Histo1D({"hErecZ",    "Reconstructed Energy in Z merger; Reconstructed Energy [GeV]; Events",  100, -0.5, 10.5}, "ErecZ");
-  auto hNCluster = d1.Histo1D({"hNCluster", "Number of Clusters; # of Clusters; Events",                              20, -0.5, 20.5}, "ncluster");
-  auto hEcluster = d1.Histo1D({"hEcluster", "Cluster Energy; Cluster Energy [GeV]; Events",                          100, -0.5, 10.5}, "Ecluster");
-  auto hfsam     = d1.Histo1D({"hfsam",     "Sampling Fraction; Sampling Fraction; Events",                          100,  0.0,  0.1}, "fsam");
+  auto hEthr  = d1.Histo1D({"hEthr",  "Thrown Energy; Thrown Energy [GeV]; Events",        100,  0.0,    7.5}, "Ethr");
+  auto hNhits = d1.Histo1D({"hNhits", "Number of hits per events; Number of hits; Events", 100,  0.0, 2000.0}, "nhits");
+  auto hEsim  = d1.Histo1D({"hEsim",  "Energy Deposit; Energy Deposit [GeV]; Events",      100,  0.0,    1.0}, "Esim");
+  auto hfsam  = d1.Histo1D({"hfsam",  "Sampling Fraction; Sampling Fraction; Events",      100,  0.0,    0.1}, "fsam");
 
   // Event Counts
   auto nevents_thrown      = d1.Count();
@@ -118,47 +89,29 @@ void emcal_barrel_electrons_analysis(const char* input_fname = "sim_output/rec_e
   hEthr->SetLineWidth(2);
   hEthr->SetLineColor(kBlue);
   hEthr->DrawClone();
-  c1->SaveAs("results/emcal_electrons_Ethr.png");
-  c1->SaveAs("results/emcal_electrons_Ethr.pdf");
+  c1->SaveAs("results/emcal_barrel_electrons_Ethr.png");
+  c1->SaveAs("results/emcal_barrel_electrons_Ethr.pdf");
 
   TCanvas *c2 = new TCanvas("c2", "c2", 700, 500);
   c2->SetLogy(1);
-  hErecXY->GetYaxis()->SetTitleOffset(1.4);
-  hErecXY->SetLineWidth(2);
-  hErecXY->SetLineColor(kBlue);
-  hErecXY->DrawClone();
-  c2->SaveAs("results/emcal_electrons_ErecXY.png");
-  c2->SaveAs("results/emcal_electrons_ErecXY.pdf");
+  hNhits->GetYaxis()->SetTitleOffset(1.4);
+  hNhits->SetLineWidth(2);
+  hNhits->SetLineColor(kBlue);
+  hNhits->DrawClone();
+  c2->SaveAs("results/emcal_barrel_electrons_nhits.png");
+  c2->SaveAs("results/emcal_barrel_electrons_nhits.pdf");
 
   TCanvas *c3 = new TCanvas("c3", "c3", 700, 500);
   c3->SetLogy(1);
-  hErecZ->GetYaxis()->SetTitleOffset(1.4);
-  hErecZ->SetLineWidth(2);
-  hErecZ->SetLineColor(kBlue);
-  hErecZ->DrawClone();
-  c3->SaveAs("results/emal_electrons_ErecZ.png"); 
-  c3->SaveAs("results/emal_electrons_ErecZ.pdf");
+  hEsim->GetYaxis()->SetTitleOffset(1.4);
+  hEsim->SetLineWidth(2);
+  hEsim->SetLineColor(kBlue);
+  hEsim->DrawClone();
+  c3->SaveAs("results/emcal_barrel_electrons_Esim.png"); 
+  c3->SaveAs("results/emcal_barrel_electrons_Esim.pdf");
 
   TCanvas *c4 = new TCanvas("c4", "c4", 700, 500);
-  c4->SetLogy(1); 
-  hNCluster->GetYaxis()->SetTitleOffset(1.6);
-  hNCluster->SetLineWidth(2);
-  hNCluster->SetLineColor(kBlue);
-  hNCluster->DrawClone();
-  c4->SaveAs("results/emcal_electrons_ncluster.png");
-  c4->SaveAs("results/emcal_electrons_ncluster.pdf");
-
-  TCanvas *c5 = new TCanvas("c5", "c5", 700, 500); 
-  c5->SetLogy(1);
-  hEcluster->GetYaxis()->SetTitleOffset(1.4);
-  hEcluster->SetLineWidth(2);
-  hEcluster->SetLineColor(kBlue);
-  hEcluster->DrawClone();
-  c5->SaveAs("results/emcal_electrons_Ecluster.png");
-  c5->SaveAs("results/emcal_electrons_Ecluster.pdf");
-
-  TCanvas *c6 = new TCanvas("c6", "c6", 700, 500);
-  c6->SetLogy(1);
+  c4->SetLogy(1);
   hfsam->GetYaxis()->SetTitleOffset(1.4);
   hfsam->SetLineWidth(2);
   hfsam->SetLineColor(kBlue);
@@ -166,6 +119,6 @@ void emcal_barrel_electrons_analysis(const char* input_fname = "sim_output/rec_e
   hfsam->GetFunction("gaus")->SetLineWidth(2);
   hfsam->GetFunction("gaus")->SetLineColor(kRed);
   hfsam->DrawClone();
-  c6->SaveAs("results/emcal_electrons_fsam.png");
-  c6->SaveAs("results/emcal_electrons_fsam.pdf");
+  c4->SaveAs("results/emcal_barrel_electrons_fsam.png");
+  c4->SaveAs("results/emcal_barrel_electrons_fsam.pdf");
 }
diff --git a/calorimeters/scripts/emcal_barrel_pions_analysis.cxx b/calorimeters/scripts/emcal_barrel_pions_analysis.cxx
index 5a91f99a147416417ed84f24f3d4073a9e6a3974..cde99f323c38bdca23894dd733fae7973432d6b9 100644
--- a/calorimeters/scripts/emcal_barrel_pions_analysis.cxx
+++ b/calorimeters/scripts/emcal_barrel_pions_analysis.cxx
@@ -8,13 +8,6 @@
 
 #include "dd4pod/Geant4ParticleCollection.h"
 #include "dd4pod/CalorimeterHitCollection.h"
-#include "dd4pod/TrackerHitCollection.h"
-#include "eicd/RawCalorimeterHitCollection.h"
-#include "eicd/RawCalorimeterHitData.h"
-#include "eicd/CalorimeterHitCollection.h"
-#include "eicd/CalorimeterHitData.h"
-#include "eicd/ClusterCollection.h"
-#include "eicd/ClusterData.h"
 
 #include "TCanvas.h"
 #include "TStyle.h"
@@ -49,35 +42,17 @@ void emcal_barrel_pions_analysis(const char* input_fname = "sim_output/rec_emcal
   return result;
   };
 
-  // Reconstructed Energy [GeV] in XY merger
-  auto ErecXY = [] (const std::vector<eic::CalorimeterHitData> & evt) {
-    std::vector<double> result;
-    auto total_eng = 0.0;
-    for (const auto& i: evt)
-      total_eng += i.energy;
-    result.push_back(total_eng / 1.e+3);
-    return result;
-  };
-
-  // Reconstructed Energy [GeV] in Z merger
-  auto ErecZ = [] (const std::vector<eic::CalorimeterHitData> & evt) {
-    std::vector<double> result;
-    auto total_eng = 0.0;
-    for (const auto& i: evt)
-      total_eng += i.energy;
-    result.push_back(total_eng / 1.e+3);
-    return result;
-  };
+  // Number of hits
+  auto nhits = [] (const std::vector<dd4pod::CalorimeterHitData>& evt) {return (int) evt.size(); };
 
-  // Number of Clusters
-  auto ncluster = [] (const std::vector<eic::ClusterData>& evt) {return (int) evt.size(); };
-
-  // Cluster Energy [GeV]
-  auto Ecluster = [] (const std::vector<eic::ClusterData>& evt) {
+  // Energy deposition [GeV]
+  auto Esim = [](const std::vector<dd4pod::CalorimeterHitData>& evt) {
     std::vector<double> result;
+    auto total_edep = 0.0;
     for (const auto& i: evt)
-      result.push_back(i.energy / 1.e+3);
-    return result;
+      total_edep += i.energyDeposit;
+    result.push_back(total_edep);
+  return result;
   };
 
   // Sampling fraction = Esampling / Ethrown
@@ -91,21 +66,17 @@ void emcal_barrel_pions_analysis(const char* input_fname = "sim_output/rec_emcal
   };
 
   // Define variables
-  auto d1 = d0.Define("Ethr",      Ethr,       {"mcparticles2"})
-	      .Define("ErecXY",    ErecXY,     {"RecoEcalBarrelAstroPixHitsXY"})
-	      .Define("ErecZ",     ErecZ,      {"RecoEcalBarrelAstroPixHitsZ"})
-	      .Define("ncluster",  ncluster,   {"EcalBarrelAstroPixClusters"})
-	      .Define("Ecluster",  Ecluster,   {"EcalBarrelAstroPixClusters"})
-	      .Define("fsam",      fsam,       {"Ecluster","Ethr"})
+  auto d1 = d0.Define("Ethr",  Ethr,  {"mcparticles2"})
+	      .Define("nhits", nhits, {"EcalBarrelAstroPixHits2"})
+	      .Define("Esim",  Esim,  {"EcalBarrelAstroPixHits2"})
+	      .Define("fsam",  fsam,  {"Esim","Ethr"})
 	      ;
 
   // Define Histograms
-  auto hEthr     = d1.Histo1D({"hEthr",     "Thrown Energy; Thrown Energy [GeV]; Events",                            100, -0.5, 10.5}, "Ethr");
-  auto hErecXY   = d1.Histo1D({"hErecXY",   "Reconstructed Energy in XY merger; Reconstructed Energy [GeV]; Events", 100, -0.5, 10.5}, "ErecXY");
-  auto hErecZ    = d1.Histo1D({"hErecZ",    "Reconstructed Energy in Z merger; Reconstructed Energy [GeV]; Events",  100, -0.5, 10.5}, "ErecZ");
-  auto hNCluster = d1.Histo1D({"hNCluster", "Number of Clusters; # of Clusters; Events",                              20, -0.5, 20.5}, "ncluster");
-  auto hEcluster = d1.Histo1D({"hEcluster", "Cluster Energy; Cluster Energy [GeV]; Events",                          100, -0.5, 10.5}, "Ecluster");
-  auto hfsam     = d1.Histo1D({"hfsam",     "Sampling Fraction; Sampling Fraction; Events",                          100,  0.0,  0.1}, "fsam");
+  auto hEthr  = d1.Histo1D({"hEthr",  "Thrown Energy; Thrown Energy [GeV]; Events",        100,  0.0,    7.5}, "Ethr");
+  auto hNhits = d1.Histo1D({"hNhits", "Number of hits per events; Number of hits; Events", 100,  0.0, 2000.0}, "nhits");
+  auto hEsim  = d1.Histo1D({"hEsim",  "Energy Deposit; Energy Deposit [GeV]; Events",      100,  0.0,    1.0}, "Esim");
+  auto hfsam  = d1.Histo1D({"hfsam",  "Sampling Fraction; Sampling Fraction; Events",      100,  0.0,    0.1}, "fsam");
 
   // Event Counts
   auto nevents_thrown      = d1.Count();
@@ -118,54 +89,36 @@ void emcal_barrel_pions_analysis(const char* input_fname = "sim_output/rec_emcal
   hEthr->SetLineWidth(2);
   hEthr->SetLineColor(kBlue);
   hEthr->DrawClone();
-  c1->SaveAs("results/emcal_pions_Ethr.png");
-  c1->SaveAs("results/emcal_pions_Ethr.pdf");
+  c1->SaveAs("results/emcal_barrel_pions_Ethr.png");
+  c1->SaveAs("results/emcal_barrel_pions_Ethr.pdf");
 
   TCanvas *c2 = new TCanvas("c2", "c2", 700, 500);
   c2->SetLogy(1);
-  hErecXY->GetYaxis()->SetTitleOffset(1.4);
-  hErecXY->SetLineWidth(2);
-  hErecXY->SetLineColor(kBlue);
-  hErecXY->DrawClone();
-  c2->SaveAs("results/emcal_pions_ErecXY.png");
-  c2->SaveAs("results/emcal_pions_ErecXY.pdf");
+  hNhits->GetYaxis()->SetTitleOffset(1.4);
+  hNhits->SetLineWidth(2);
+  hNhits->SetLineColor(kBlue);
+  hNhits->DrawClone();
+  c2->SaveAs("results/emcal_barrel_pions_nhits.png");
+  c2->SaveAs("results/emcal_barrel_pions_nhits.pdf");
 
   TCanvas *c3 = new TCanvas("c3", "c3", 700, 500);
   c3->SetLogy(1);
-  hErecZ->GetYaxis()->SetTitleOffset(1.4);
-  hErecZ->SetLineWidth(2);
-  hErecZ->SetLineColor(kBlue);
-  hErecZ->DrawClone();
-  c3->SaveAs("results/emal_pions_ErecZ.png"); 
-  c3->SaveAs("results/emal_pions_ErecZ.pdf");
+  hEsim->GetYaxis()->SetTitleOffset(1.4);
+  hEsim->SetLineWidth(2);
+  hEsim->SetLineColor(kBlue);
+  hEsim->DrawClone();
+  c3->SaveAs("results/emcal_barrel_pions_Esim.png"); 
+  c3->SaveAs("results/emcal_barrel_pions_Esim.pdf");
 
   TCanvas *c4 = new TCanvas("c4", "c4", 700, 500);
-  c4->SetLogy(1); 
-  hNCluster->GetYaxis()->SetTitleOffset(1.6);
-  hNCluster->SetLineWidth(2);
-  hNCluster->SetLineColor(kBlue);
-  hNCluster->DrawClone();
-  c4->SaveAs("results/emcal_pions_ncluster.png");
-  c4->SaveAs("results/emcal_pions_ncluster.pdf");
-
-  TCanvas *c5 = new TCanvas("c5", "c5", 700, 500); 
-  c5->SetLogy(1);
-  hEcluster->GetYaxis()->SetTitleOffset(1.4);
-  hEcluster->SetLineWidth(2);
-  hEcluster->SetLineColor(kBlue);
-  hEcluster->DrawClone();
-  c5->SaveAs("results/emcal_pions_Ecluster.png");
-  c5->SaveAs("results/emcal_pions_Ecluster.pdf");
-
-  TCanvas *c6 = new TCanvas("c6", "c6", 700, 500);
-  c6->SetLogy(1);
+  c4->SetLogy(1);
   hfsam->GetYaxis()->SetTitleOffset(1.4);
   hfsam->SetLineWidth(2);
   hfsam->SetLineColor(kBlue);
-  hfsam->Fit("gaus","","",0.01,0.1);
+  hfsam->Fit("gaus","","",0.005,0.1);
   hfsam->GetFunction("gaus")->SetLineWidth(2);
   hfsam->GetFunction("gaus")->SetLineColor(kRed);
   hfsam->DrawClone();
-  c6->SaveAs("results/emcal_pions_fsam.png");
-  c6->SaveAs("results/emcal_pions_fsam.pdf");
+  c4->SaveAs("results/emcal_barrel_pions_fsam.png");
+  c4->SaveAs("results/emcal_barrel_pions_fsam.pdf");
 }
diff --git a/calorimeters/topside_defs.xml b/calorimeters/topside_defs.xml
deleted file mode 100644
index 7bc0cc49ef3c3b2aaefcee4e491d4248b4b9de5f..0000000000000000000000000000000000000000
--- a/calorimeters/topside_defs.xml
+++ /dev/null
@@ -1,462 +0,0 @@
-  <define>
-    <comment>Although not explicit in the design study, the eRHIC crossing angle is not symmetric.</comment>
-    <constant name="CrossingAngle" value="0.025"/>
-    <constant name="ionCrossingAngle" value="0.0166667"/>
-    <constant name="electronCrossingAngle" value="0.00833333"/>
-    <constant name="CrossingSlope" value="0.0166682"/>
-
-    <constant name="Pi" value="3.14159265359"/>
-    <constant name="world_side" value="30*m"/>
-    <constant name="world_x" value="world_side"/>
-    <constant name="world_y" value="world_side"/>
-    <constant name="world_z" value="100*m"/>
-
-    <constant name="mil" value="0.0254*mm"/>
-
-    <comment>
-      ------------
-      Detector IDs
-      ------------
-
-      Note about ACTS tracking geometry construction
-      ----------------------------------------------
-
-      The tracking surfaces need to be structured in a barrel + endcapP + endcapN where 
-      endcapP/endcapN are the endcaps at positive/negative z values. 
-      See https://acts.readthedocs.io/en/latest/plugins/dd4hep.html for more details.
-
-      The tracking geometry needs to beconstructed from cylinders from the inside out. For this reason
-      each layer needs its own subsystem assembly. This increases the number of top level system IDs. 
-      For example the silicon tracker needs 3 IDs for each area (endcap+barrel+endcap) and a subassembly for each
-      layer. Therefore it needs a minimum of 20 IDs. Therefore we will allocate blocks of ~25 for each major subsystem.
-      Note, future improvements will likely include a more sophisticated ACTS-dd4hep plugin, 
-      eliminating the need for so many system IDs at construction time.
-
-      This barrel/endcap structure needs IDs to be in increasing order going outward. 
-      The space of IDs for the subassemblies starts at (Subassembly_ID*10+101).
-
-      The unused IDs below are saved for future use.
-    </comment>
-
-
-    <comment> 
-      ===================
-      (1-9) Reserved IDs
-      ===================
-      Unused IDs: 1-9 
-
-      ====================================
-      (10-24) Interaction region beamline 
-      ====================================
-
-      Beampipe ID : 10
-      Unused   IDs: 11-24
-
-    </comment> 
-    <constant name="BeamPipe_ID" value="10"/>
-
-
-    <comment> 
-      ===============================
-      (25-49) Silicon Vertex Tracker
-      ===============================
-      SiVertex subsystem  ID: 25 
-      Layer 1 subassembly ID: 26
-      Layer 2 subassembly ID: 27
-      Layer 3 subassembly ID: 28
-      Layer 4 subassembly ID: 29
-      Layer 5 subassembly ID: 30
-    </comment>
-    <constant name="SiVertexSubAssembly_ID" value="25"/>
-    <comment>
-      Unused values reserved for vertex:
-      constant name="SiVertexSubAssemblyLayer1_ID" value="121"
-      constant name="SiVertexSubAssemblyLayer2_ID" value="122"
-      constant name="SiVertexSubAssemblyLayer3_ID" value="123"
-      constant name="SiVertexSubAssemblyLayer4_ID" value="124"
-      constant name="SiVertexSubAssemblyLayer5_ID" value="125"
-    </comment>
-
-    <comment>
-      ===============================
-      (50-74) Silicon Tracker System
-      ===============================
-
-      SiTracker subsystem  ID: 50
-      Layer 1 subassembly  ID: 51      
-      Layer 2 subassembly  ID: 52      
-      Layer 3 subassembly  ID: 53
-      Layer 4 subassembly  ID: 54
-      Layer 5 subassembly  ID: 55
-
-      (56-70) etc...
-
-      Unused IDs: 71-74
-
-    </comment>
-
-    <constant name="SiTrackerSubAssembly_ID" value="50"/>
-    <constant name="SiTrackerSubAssemblyLayer1_ID" value="51"/>
-    <constant name="SiTrackerSubAssemblyLayer2_ID" value="52"/>
-    <constant name="SiTrackerSubAssemblyLayer3_ID" value="53"/>
-    <constant name="SiTrackerSubAssemblyLayer4_ID" value="54"/>
-    <constant name="SiTrackerSubAssemblyLayer5_ID" value="55"/>
-
-    <constant name="SiTrackerBarrel_Layer1_ID"      value="56"/>
-    <constant name="SiTrackerEndcapP_Layer1_ID"     value="57"/>
-    <constant name="SiTrackerEndcapN_Layer1_ID"     value="58"/>
-
-    <constant name="SiTrackerBarrel_Layer2_ID"      value="59"/>
-    <constant name="SiTrackerEndcapP_Layer2_ID"     value="60"/>
-    <constant name="SiTrackerEndcapN_Layer2_ID"     value="61"/>
-
-    <constant name="SiTrackerBarrel_Layer3_ID"      value="62"/>
-    <constant name="SiTrackerEndcapP_Layer3_ID"     value="63"/>
-    <constant name="SiTrackerEndcapN_Layer3_ID"     value="64"/>
-
-    <constant name="SiTrackerBarrel_Layer4_ID"      value="65"/>
-    <constant name="SiTrackerEndcapP_Layer4_ID"     value="66"/>
-    <constant name="SiTrackerEndcapN_Layer4_ID"     value="67"/>
-
-    <constant name="SiTrackerBarrel_Layer5_ID"      value="68"/>
-    <constant name="SiTrackerEndcapP_Layer5_ID"     value="69"/>
-    <constant name="SiTrackerEndcapN_Layer5_ID"     value="70"/>
-
-    <comment> 
-    ===================
-    (75-99 Reserved IDs
-    ===================
-
-    Unused IDs: 75-99 
-    TBD 
-    </comment>
-
-    <comment> 
-      =====================================
-      (100-109) Electromagnetic Calorimeter
-      =====================================
-
-      ECal     subsystem  ID:  100
-      Barrel   subassembly ID: 101
-      EndcapP  subassembly ID: 102
-      EndcapN  subassembly ID: 103
-      Crystal  subassembly ID: 104
-
-      Unused IDs: 105-109
-
-    </comment>
-    <constant name="ECalSubAssembly_ID" value="100"/>
-    <constant name="ECalBarrel_ID"      value="101"/>
-    <constant name="ECalEndcapP_ID"     value="102"/>
-    <constant name="ECalEndcapN_ID"     value="103"/>
-    <constant name="CrystalEndcap_ID"   value="104"/>
-
-    <comment> 
-      =====================================
-      (110-119Hadronic Calorimeter
-      =====================================
-
-      HCal     subsystem  ID:  110
-      Barrel   subassembly ID: 111
-      EndcapP  subassembly ID: 112
-      EndcapN  subassembly ID: 113
-
-      Unused IDs: 114-119
-    </comment>
-    <constant name="HCalSubAssembly_ID" value="110"/>
-    <constant name="HCalBarrel_ID"      value="111"/>
-    <constant name="HCalEndcapP_ID"     value="112"/>
-    <constant name="HCalEndcapN_ID"     value="113"/>
-
-    <comment> 
-      =====================================
-      (120-129) (near) Forward reserved
-      =====================================
-
-      Forwardtracking ID: 120
-      Forward RICH    ID: 121
-
-      Unused IDs: 122-129
-    </comment>
-    <constant name="ForwardTracking_ID" value="120"/>
-    <constant name="ForwardRICH_ID"     value="121"/>
-
-    <comment> 
-      =====================================
-      (130-139) Backward reserved
-      =====================================
-
-      TBD
-
-    </comment>
-
-    <comment> 
-      =====================================
-      (140-149) Central Magnet
-      =====================================
-
-      Solenoid         ID: 140
-      Solenoid support ID: 141
-      Solenoid Yoke    ID: 142
-
-      Unused IDs: 143-149
-
-    </comment>
-    <constant name="Solenoid_ID"             value="140"/>
-    <constant name="SolenoidSupport_ID"      value="141"/>
-    <constant name="SolenoidYoke_ID"         value="142"/>
-
-    <comment> 
-      =====================================
-      (150-169) Far Forward  Detectors
-      =====================================
-
-      Forward Roman Pot ID: 150
-      Zero Degree Cal.  ID: 160
-
-    </comment>
-    <constant name="ForwardRomanPot_ID" value="150"/>
-    <constant name="ZDC_ID"             value="160"/>
-
-    <comment> 
-      =====================================
-      (170-189) Forward Beamline Magnets
-      =====================================
-    </comment>
-
-    <comment> 
-      =====================================
-      (190-199) Backward Beamline Magnets
-      =====================================
-    </comment>
-
-
-
-    <comment> 
-      For reference, here are the sPhenix solenoid and calorimeter Parameters.
-    </comment>
-    <constant name="sPhenixCoilInnerRadius" value="1420.0*mm"/>
-    <constant name="sPhenixCoilOuterRadius" value="1800.0*mm"/><!-- guestimate -->
-    <constant name="sPhenixCoilLength" value="4050.0*mm"/> <!-- guestimate -->
-    <constant name="sPhenixEMCalInnerRadius" value="890.00*mm"/>
-    <constant name="sPhenixEMCalOuterRadius" value="1155.8*mm"/>
-    <constant name="sPhenixEMCalLength"      value="1727.2*2*mm"/>
-    <constant name="sPhenixInnerHCalInnerRadius" value="sPhenixEMCalOuterRadius - 1.0*cm"/> <!-- guestimate -->
-    <constant name="sPhenixInnerHCalOuterRadius" value="1370.0*mm"/>
-    <constant name="sPhenixInnerHCalLength" value="2175*2*mm"/>
-
-    <comment>
-      --------------------------
-      Solenoid Magnet Parameters
-      --------------------------
-    </comment>
-    <constant name="Solenoid_rmin"           value="1420.0*mm"/>
-    <constant name="Solenoid_rmax"           value="1800.0*mm"/>
-    <constant name="SolenoidLength"          value="4050.0*mm"/>
-
-    <constant name="SolenoidBarrelCryostatThickness"      value=" 1.0 * cm"/>
-    <constant name="SolenoidBarrelGapThickness"           value=" 3.3 * cm"/>
-    <constant name="SolenoidBarrelAlConductorThickness"   value="12.0 * cm"/>
-    <constant name="SolenoidBarrelQuenchbackThickness"    value=" 1.5 * cm"/>
-    <constant name="SolenoidBarrelOuterGapThickness"      value=" 5.6 * cm"/>
-    <constant name="SolenoidBarrelOuterCryostatThickness" value=" 1.2 * cm"/>
-
-    <constant name="SolenoidEndPlateGapThickness"           value=" 5.7 * cm"/>
-    <constant name="SolenoidEndPlateCryostatThickness"      value=" 1.5 * cm"/>
-
-    <constant name="SolenoidBarrel_rmin"     value="Solenoid_rmin"/>
-    <constant name="SolenoidBarrelLenth"     value="SolenoidLength"/>
-    <constant name="SolenoidBarrel_zmax"     value="SolenoidBarrelLenth/2.0"/>
-
-    <constant name="SolenoidCoilConductor_rmin" 
-              value="SolenoidBarrel_rmin + SolenoidBarrelCryostatThickness + SolenoidBarrelGapThickness"/>
-    <constant name="SolenoidCoilConductor_rmax" 
-              value="SolenoidCoilConductor_rmin + SolenoidBarrelAlConductorThickness + SolenoidBarrelQuenchbackThickness"/>
-    <constant name="SolenoidBarrel_rmax" 
-              value="SolenoidCoilConductor_rmax + SolenoidBarrelOuterGapThickness + SolenoidBarrelOuterCryostatThickness"/>
-
-    <constant name="SolenoidCoil_zmax" 
-              value="SolenoidBarrel_zmax - SolenoidEndPlateCryostatThickness - SolenoidEndPlateGapThickness"/>
-
-    <constant name="SolenoidalFieldRadius" 
-              value="SolenoidCoilConductor_rmin + SolenoidBarrelAlConductorThickness / 2.0"/>
-
-    <constant name="SolenoidCoilLength" value="SolenoidCoil_zmax*2.0"/>
-
-    <constant name="SolenoidThickness"           value="Solenoid_rmax - Solenoid_rmin"/>
-
-    <constant name="SolenoidYokeEndcapP_rmin"     value="800*mm"/>
-    <constant name="SolenoidYokeEndcapN_rmin"     value="800*mm"/>
-    <constant name="SolenoidYokeEndcapThickness"  value="0.2 * m"/>
-    <constant name="SolenoidYokeEndcap_zmin"      value="SolenoidBarrel_zmax"/>
-    <constant name="SolenoidYokeEndcap_zmax"      value="SolenoidYokeEndcap_zmin + SolenoidYokeEndcapThickness"/>
-
-    <constant name="SolenoidYokeChamferAngle"    value="0.2"/>
-
-    <comment>
-      -------------------------
-      Vertex Tracker Parameters
-      -------------------------
-    </comment>
-    <constant name="VertexTrackerInnerRadius"       value="30.0*mm"/>
-    <constant name="VertexTrackerOuterRadius"       value="90.0*mm"/>
-    <constant name="VertexTrackerOuterBarrelLength" value="300.0*mm"/>
-    <constant name="tracker_region_rmax"            value="Solenoid_rmax"/>
-    <constant name="tracker_region_zmax"            value="SolenoidLength/2.0"/>
-
-    <comment>
-      --------------------------
-      Silicon Tracker Parameters
-      --------------------------
-    </comment>
-    <constant name="SiliconTrackerInnerRadius"       value="95.0*mm"/>
-    <constant name="SiliconTrackerInnerBarrelLength" value="400.0*mm"/>
-    <constant name="SiliconTrackerOuterRadius"       value="860.0*mm"/>
-    <constant name="SiliconTrackerOuterBarrelLength" value="SiliconTrackerOuterRadius*2"/>
-
-    <comment>
-      ------------
-      Calorimeters
-      ------------
-    </comment>
-    <constant name="EcalBarrel_rmin"                       value="SiliconTrackerOuterRadius + 3.0 * cm"/>
-    <constant name="HcalBarrel_rmax"                       value="Solenoid_rmin - 5.0 *cm "/>
-    <constant name="AvailTotalBarrelCalorimetryThickness"  value="HcalBarrel_rmax - EcalBarrel_rmin"/>
-    <constant name="CalBarrelDivider"                      value="0.5"/> <!-- Ecal and Hcal have the same thickness -->
-    <constant name="EcalBarrelAvailTotalThickness"         value="AvailTotalBarrelCalorimetryThickness * CalBarrelDivider"/>
-    <constant name="HcalBarrelAvailTotalThickness"         value="AvailTotalBarrelCalorimetryThickness * (1.0 - CalBarrelDivider)"/>
-
-    <constant name="EcalBarrelLength"                      value="SiliconTrackerOuterBarrelLength+50.0*cm"/>
-    <constant name="EcalEndcap_zmin"                       value="EcalBarrelLength/2.0"/>
-
-    <constant name="AvailTotalEndcapCalorimetryThickness"  value="(SolenoidYokeEndcap_zmin - 10.0 * mm) - (EcalEndcap_zmin + 10.0 * mm)"/>
-    <constant name="CalEndcapDivider"                      value="0.5"/> <!-- Ecal and Hcal have the same thickness -->
-    <constant name="EcalEndcapAvailTotalThickness"         value="AvailTotalEndcapCalorimetryThickness * CalEndcapDivider"/>
-    <constant name="HcalEndcapAvailTotalThickness"         value="AvailTotalEndcapCalorimetryThickness * (1.0 - CalEndcapDivider)"/>
-
-    <constant name="EcalEndcapP_rmin"                      value="250.0*mm"/>
-    <constant name="EcalEndcapN_rmin"                      value="350.0*mm"/>
-
-    <constant name="HcalEndcapP_rmin"                      value="250.0 * mm"/>
-    <constant name="HcalEndcapN_rmin"                      value="350.0 * mm"/>
-
-    <comment>
-      -------------------------
-      EM Calorimeter Parameters
-      -------------------------
-    </comment>
-    <constant name="CaloSides"                  value="12"/>
-	    
-    <!-- Material Thickness --> 
-    <constant name="EcalSiliconThickness"       value="9.00 * mm"/>
-    <constant name="EcalCopperThickness"        value="0.05 * mm"/>
-    <constant name="EcalKaptonThickness"        value="0.30 * mm"/>
-    <constant name="EcalAir1Thickness"          value="0.33 * mm"/>
-    <constant name="EcalAir2Thickness"          value="0.25 * mm"/>
-    <constant name="EcalThinTungstenThickness"  value="2.50 * mm"/>
-    <constant name="EcalThickTungstenThickness" value="5.00 * mm"/>
-	    
-    <!-- Layer Thickness  -->
-    <constant name="EcalFirstLayerThickness"
-	    value="EcalSiliconThickness + EcalCopperThickness + EcalKaptonThickness + EcalAir1Thickness"/>
-    <constant name="EcalThinOneLayerThickness"   
-	    value="EcalThinTungstenThickness + EcalAir2Thickness + EcalSiliconThickness + EcalCopperThickness + EcalKaptonThickness + EcalAir1Thickness"/>
-    <constant name="EcalThickOneLayerThickness"   
-	    value="EcalThickTungstenThickness + EcalAir2Thickness + EcalSiliconThickness + EcalCopperThickness + EcalKaptonThickness + EcalAir1Thickness"/>
-	    
-    <!-- EM Barrel N Layer; same number of layers for EcalThin and EcalThick -->
-    <constant name="EcalBarrelLayers" 
-	    value="floor((EcalBarrelAvailTotalThickness - EcalFirstLayerThickness) / (EcalThinOneLayerThickness + EcalThickOneLayerThickness))"/>
-    <constant name="EcalBarrelThinLayers"       value="EcalBarrelLayers"/>
-    <constant name="EcalBarrelThickLayers"      value="EcalBarrelLayers"/>
-    <!-- EM Barrel Thickness -->
-    <constant name="EcalBarrelThickness"
-	    value="EcalFirstLayerThickness + (EcalBarrelThinLayers * EcalThinOneLayerThickness) + (EcalBarrelThickLayers * EcalThickOneLayerThickness)"/>
-    <constant name="EcalBarrel_rmax"            value="EcalBarrel_rmin + EcalBarrelThickness"/>
-
-    <!-- EM Endcap N Layer; same number of layers for EcalThin and EcalThick -->
-    <constant name="EcalEndcapLayers" 
-	    value="floor((EcalEndcapAvailTotalThickness - EcalFirstLayerThickness) / (EcalThinOneLayerThickness + EcalThickOneLayerThickness))"/>
-    <constant name="EcalEndcapThinLayers"       value="EcalEndcapLayers"/>
-    <constant name="EcalEndcapThickLayers"      value="EcalEndcapLayers"/>
-    <!-- EM Endcap Thickness -->
-    <constant name="EcalEndcapThickness"        
-	    value="EcalFirstLayerThickness + (EcalEndcapThinLayers * EcalThinOneLayerThickness) + (EcalEndcapThickLayers * EcalThickOneLayerThickness)"/>
-
-    <comment>
-      -------------------------------
-      Hadronic Calorimeter Parameters
-      -------------------------------
-    </comment>
-    <constant name="HcalBarrel_rmin"          value="EcalBarrel_rmax+10.0*mm"/>
-    <constant name="HcalBarrelAvailThickness" value="HcalBarrel_rmax - HcalBarrel_rmin"/>
-    <constant name="HcalBarrelLength"         value="EcalBarrelLength+2.0*EcalEndcapThickness + 10.0*mm "/>
-    <constant name="HcalEndcap_zmin"          value="HcalBarrelLength/2.0"/>
-    <constant name="HcalEndcapAvailThickness" value="(SolenoidYokeEndcap_zmin - 10.0 * mm) - HcalEndcap_zmin"/>
-
-    <!-- Material Thickness -->
-    <constant name="HcalSteelThickness"       value="1.89 * cm"/>
-    <constant name="HcalPyrexThickness"       value="1.10 * mm"/>
-    <constant name="HcalRPCGasThickness"      value="1.20 * mm"/>
-    <constant name="HcalG10Thickness"         value="3.00 * mm"/>
-    <constant name="HcalAirThickness"         value="1.60 * mm"/>
-
-    <!-- Layer Thickness -->
-    <constant name="HcalOneLayerThickness"
-	    value="HcalSteelThickness + (2 * HcalPyrexThickness) + HcalRPCGasThickness + HcalG10Thickness + HcalAirThickness"/>
-	    
-    <!-- H Barrel Layers and Thickness -->
-    <constant name="HcalBarrelLayers" value="floor(HcalBarrelAvailThickness / HcalOneLayerThickness)"/>
-    <constant name="HcalBarrelThickness" value="HcalBarrelLayers * HcalOneLayerThickness"/>
-
-    <!-- H Endcap Layers and Thickness -->
-    <constant name="HcalEndcapLayers" value="floor(HcalEndcapAvailThickness / HcalOneLayerThickness)"/>
-    <constant name="HcalEndcapThickness" value="HcalEndcapLayers * HcalOneLayerThickness"/>
-
-    <comment>
-      -----------------------
-      Gaseous RICH Parameters
-      -----------------------
-    </comment>
-    <constant name="RICHZMin" value="SolenoidYokeEndcap_zmin + 1 * cm"/>
-    <constant name="RICHRMin" value="15 * cm"/>
-    <constant name="RICHDepth" value="1 * m"/>
-
-
-    <comment>
-      --------------------------
-      Forward Tracker Parameters
-      --------------------------
-    </comment>
-    <constant name="TempForwardTrackerSpace" value="1.5 * m"/>
-    <constant name="ForwardEcalZMin" value="RICHZMin + RICHDepth + TempForwardTrackerSpace"/>
-    <constant name="ForwardCaloAngle" value="2 * SolenoidYokeChamferAngle"/>
-    <constant name="ForwardEcalRInner" value="10 * cm"/>
-    <constant name="ForwardEcalROuter" value="EcalBarrel_rmin + tan(SolenoidYokeChamferAngle) * (RICHDepth) + tan(ForwardCaloAngle) * (ForwardEcalZMin - RICHZMin - RICHDepth)"/>
-    <constant name="ForwardHcalZMin" value="RICHZMin + RICHDepth + TempForwardTrackerSpace + EcalEndcapThickness + 1 * mm"/>
-    <constant name="ForwardHcalAngle" value="ForwardCaloAngle"/>
-    <constant name="ForwardHcalRInner" value="10 * cm"/>
-    <constant name="ForwardHcalROuter" value="ForwardEcalROuter + tan(ForwardCaloAngle) * (ForwardHcalZMin - ForwardEcalZMin)"/>
-
-    <comment>
-      --------------------------
-      Forward ECal Parameters
-      --------------------------
-    </comment>
-
-    <comment>
-      --------------------------
-      Forward HCal Parameters
-      --------------------------
-    </comment>
-
-    <comment>
-      For DDsim. See ddsim --help for details.
-    </comment>
-    <constant name="tracker_region_zmax" value="SiliconTrackerOuterBarrelLength/2.0"/>
-    <constant name="tracker_region_rmax" value="SiliconTrackerOuterRadius"/>
-
-
-
-  </define>
-