diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 521e9b519646214a6154fc49f8195c60ed6806b2..240188b49a6584f118fdf14b7caf2492b97b9ee5 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,53 +1,53 @@
-variables:
-  # all submodules will be cloned recursively upon start of CI job
-  GIT_SUBMODULE_STRATEGY: recursive
-  GIT_SSL_NO_VERIFY: "true"
-  ATLAS_LOCAL_ROOT_BASE: /cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase
-
-stages:
-  - build
-  - test
-
-##########################
-# BUILD stage            #                                
-##########################
-
-build_image:
-  # description: triggers a build of the project as a Docker image,
-  #              each branch will have an individual Docker image that will be used
-  #              in the following stages of the pipeline for testing the code
-  image:
-    name: gitlab-registry.cern.ch/linuxsupport/cc7-base:latest
-  stage: build
-  tags:
-    - k8s-cvmfs
-  script:
-    - yum -y install redhat-lsb redhat-lsb-core man uuid-devel libuuid libuuid-devel mesa-libGL-devel libXpm-devel
-    - mkdir build
-    - cd build
-    - set +e && source ${ATLAS_LOCAL_ROOT_BASE}/user/atlasLocalSetup.sh; set -e
-    - set +e && asetup --input=../../calypso/asetup.faser Athena,22.0.49; set -e
-    - cmake ../../calypso
-    - make -j 3
-  artifacts:
-    paths:
-    - build/
-
-test_unittest:
-  image:
-    name: gitlab-registry.cern.ch/linuxsupport/cc7-base:latest
-  stage: test
-  tags:
-    - k8s-cvmfs
-  script: 
-    - yum -y install man git make cmake3 gcc-c++ gcc binutils libX11-devel libXpm-devel libXft-devel libXext-devel python openssl-devel
-    - cd build
-    - set +e && source ${ATLAS_LOCAL_ROOT_BASE}/user/atlasLocalSetup.sh; set -e
-    - set +e && asetup --input=../../calypso/asetup.faser Athena,22.0.49; set -e 
-    - set +e && source `find . -name 'setup.sh'`; set -e
-    - ctest -j3
-  dependencies:
-    - build_image
-  artifacts:
-    paths:
-      - LastTest.log
+variables:
+  # all submodules will be cloned recursively upon start of CI job
+  GIT_SUBMODULE_STRATEGY: recursive
+  GIT_SSL_NO_VERIFY: "true"
+  ATLAS_LOCAL_ROOT_BASE: /cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase
+
+stages:
+  - build
+  - test
+
+##########################
+# BUILD stage            #                                
+##########################
+
+build_image:
+  # description: triggers a build of the project as a Docker image,
+  #              each branch will have an individual Docker image that will be used
+  #              in the following stages of the pipeline for testing the code
+  image:
+    name: gitlab-registry.cern.ch/linuxsupport/cc7-base:latest
+  stage: build
+  tags:
+    - k8s-cvmfs
+  script:
+    - yum -y install redhat-lsb redhat-lsb-core man uuid-devel libuuid libuuid-devel mesa-libGL-devel libXpm-devel
+    - mkdir build
+    - cd build
+    - set +e && source ${ATLAS_LOCAL_ROOT_BASE}/user/atlasLocalSetup.sh; set -e
+    - set +e && asetup --input=../../calypso/asetup.faser Athena,22.0.49; set -e
+    - cmake ../../calypso
+    - make -j 3
+  artifacts:
+    paths:
+    - build/
+
+test_unittest:
+  image:
+    name: gitlab-registry.cern.ch/linuxsupport/cc7-base:latest
+  stage: test
+  tags:
+    - k8s-cvmfs
+  script: 
+    - yum -y install man which git make cmake3 gcc-c++ gcc binutils libX11-devel libXpm-devel libXft-devel libXext-devel python openssl-devel
+    - cd build
+    - set +e && source ${ATLAS_LOCAL_ROOT_BASE}/user/atlasLocalSetup.sh; set -e
+    - set +e && asetup --input=../../calypso/asetup.faser Athena,22.0.49; set -e 
+    - set +e && source `find . -name 'setup.sh'`; set -e
+    - ctest -j3
+  dependencies:
+    - build_image
+  artifacts:
+    paths:
+      - LastTest.log
diff --git a/Calorimeter/CaloDetDescr/CaloIdDictFiles/data/IdDictCalorimeter.xml b/Calorimeter/CaloDetDescr/CaloIdDictFiles/data/IdDictCalorimeter.xml
index 006fabfa2116e1390b3c2f612e3b378e45f5562d..37bed2379f814331055b953646980bbd9e3b444e 100644
--- a/Calorimeter/CaloDetDescr/CaloIdDictFiles/data/IdDictCalorimeter.xml
+++ b/Calorimeter/CaloDetDescr/CaloIdDictFiles/data/IdDictCalorimeter.xml
@@ -21,6 +21,6 @@
     <range field="part"       value="Ecal" />
     <range field="row"        values="Bottom Top" wraparound="FALSE" />
     <range field="module"     values="Starboard Port" wraparound="FALSE" />
-    <range field="pmt"        minvalue="0" maxvalue="0" />
+    <range field="pmt"        minvalue="0" maxvalue="1" />
   </region>
-</IdDictionary>
\ No newline at end of file
+</IdDictionary>
diff --git a/Calorimeter/CaloDetDescr/EcalGeoModel/CMakeLists.txt b/Calorimeter/CaloDetDescr/EcalGeoModel/CMakeLists.txt
index 8eceb3903e26d74f866b55511310b4abc8b84854..80e36dabc05dacb19253b6c75c4ac4ec6515d516 100644
--- a/Calorimeter/CaloDetDescr/EcalGeoModel/CMakeLists.txt
+++ b/Calorimeter/CaloDetDescr/EcalGeoModel/CMakeLists.txt
@@ -28,22 +28,33 @@ atlas_add_test( EcalGMConfig_test
                 PROPERTIES WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
                 PROPERTIES TIMEOUT 300 )
 
-# Decide which ecal gdml file to use based on option
+# Decide which ecal gdml file to use based on option; tyvek density reduced in EcalTyvek04.gdml (June 2023)
 if (ECAL_GEO_TYVEK)
    add_custom_command (OUTPUT ${CMAKE_XML_OUTPUT_DIRECTORY}/EcalGeoModel/Ecal.gdml 
                        COMMAND mkdir -p ${CMAKE_XML_OUTPUT_DIRECTORY}/EcalGeoModel/
-		       COMMAND ${CMAKE_COMMAND} -E create_symlink ${CMAKE_CURRENT_SOURCE_DIR}/data/EcalTyvek.gdml ${CMAKE_XML_OUTPUT_DIRECTORY}/EcalGeoModel/Ecal.gdml )
+		                 COMMAND ${CMAKE_COMMAND} -E create_symlink ${CMAKE_CURRENT_SOURCE_DIR}/data/EcalTyvek04.gdml ${CMAKE_XML_OUTPUT_DIRECTORY}/EcalGeoModel/Ecal.gdml )
+   add_custom_command (OUTPUT ${CMAKE_XML_OUTPUT_DIRECTORY}/EcalGeoModel/Ecal04.gdml 
+                       COMMAND mkdir -p ${CMAKE_XML_OUTPUT_DIRECTORY}/EcalGeoModel/
+                       COMMAND ${CMAKE_COMMAND} -E create_symlink ${CMAKE_CURRENT_SOURCE_DIR}/data/EcalTyvek04.gdml ${CMAKE_XML_OUTPUT_DIRECTORY}/EcalGeoModel/Ecal04.gdml )
    add_custom_target (make_ecal_gdml ALL DEPENDS  ${CMAKE_XML_OUTPUT_DIRECTORY}/EcalGeoModel/Ecal.gdml)
+   add_custom_target (make_ecal_gdml04 ALL DEPENDS  ${CMAKE_XML_OUTPUT_DIRECTORY}/EcalGeoModel/Ecal04.gdml)
    get_filename_component( _realpath ${CMAKE_CURRENT_SOURCE_DIR}/data/EcalTyvek.gdml REALPATH )
+   get_filename_component( _realpath04 ${CMAKE_CURRENT_SOURCE_DIR}/data/EcalTyvek04.gdml REALPATH )
 else() 
    add_custom_command (OUTPUT ${CMAKE_XML_OUTPUT_DIRECTORY}/EcalGeoModel/Ecal.gdml 
                        COMMAND mkdir -p ${CMAKE_XML_OUTPUT_DIRECTORY}/EcalGeoModel/   
-		       COMMAND ${CMAKE_COMMAND} -E create_symlink ${CMAKE_CURRENT_SOURCE_DIR}/data/EcalNoTyvek.gdml ${CMAKE_XML_OUTPUT_DIRECTORY}/EcalGeoModel/Ecal.gdml )
+		                 COMMAND ${CMAKE_COMMAND} -E create_symlink ${CMAKE_CURRENT_SOURCE_DIR}/data/EcalNoTyvek.gdml ${CMAKE_XML_OUTPUT_DIRECTORY}/EcalGeoModel/Ecal.gdml )
+   add_custom_command (OUTPUT ${CMAKE_XML_OUTPUT_DIRECTORY}/EcalGeoModel/Ecal04.gdml 
+                       COMMAND mkdir -p ${CMAKE_XML_OUTPUT_DIRECTORY}/EcalGeoModel/   
+		                 COMMAND ${CMAKE_COMMAND} -E create_symlink ${CMAKE_CURRENT_SOURCE_DIR}/data/EcalNoTyvek.gdml ${CMAKE_XML_OUTPUT_DIRECTORY}/EcalGeoModel/Ecal04.gdml )
    add_custom_target (make_ecal_gdml ALL DEPENDS  ${CMAKE_XML_OUTPUT_DIRECTORY}/EcalGeoModel/Ecal.gdml)
+   add_custom_target (make_ecal_gdml04 ALL DEPENDS  ${CMAKE_XML_OUTPUT_DIRECTORY}/EcalGeoModel/Ecal04.gdml)
    get_filename_component( _realpath ${CMAKE_CURRENT_SOURCE_DIR}/data/EcalNoTyvek.gdml REALPATH )
+   get_filename_component( _realpath04 ${CMAKE_CURRENT_SOURCE_DIR}/data/EcalNoTyvek.gdml REALPATH )
 endif()
 
 install(FILES ${_realpath} DESTINATION ${CMAKE_INSTALL_PREFIX}/XML/EcalGeoModel RENAME Ecal.gdml)
+install(FILES ${_realpath04} DESTINATION ${CMAKE_INSTALL_PREFIX}/XML/EcalGeoModel RENAME Ecal04.gdml)
 unset( _realpath )
 
 # Install files from the package:
diff --git a/Calorimeter/CaloDetDescr/EcalGeoModel/data/EcalTyvek04.gdml b/Calorimeter/CaloDetDescr/EcalGeoModel/data/EcalTyvek04.gdml
new file mode 100644
index 0000000000000000000000000000000000000000..eb51f82acc186db1f1aff23cc85f00a60020bdff
--- /dev/null
+++ b/Calorimeter/CaloDetDescr/EcalGeoModel/data/EcalTyvek04.gdml
@@ -0,0 +1,3546 @@
+<?xml version="1.0"?>
+<gdml xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://service-spi.web.cern.ch/service-spi/app/releases/GDML/schema/gdml.xsd">
+  <define>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_EcalLeft_FiberShieldLeft0x8a25340in_dd_Geometry_DownstreamRegion_Ecal_Installation_EcalLeftpos" x="0" y="0" z="-40.75" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportLeft_HAirSlotsL0x8a28320in_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportLeftpos" x="0" y="-23.280000000000001" z="29.5" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportLeft_HAirSlotsL_10x8a27590in_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportLeftpos" x="0" y="23.280000000000001" z="29.5" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportLeft_VAirSlotsL0x8a27820in_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportLeftpos" x="11.090000000000002" y="0" z="29.5" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportLeft_HSteelSheets1L0x8a29050in_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportLeftpos" x="0" y="-23.280000000000001" z="-11.75" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportLeft_HSteelSheets1L_10x8a29110in_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportLeftpos" x="0" y="23.280000000000001" z="-11.75" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportLeft_VSteelSheets1L0x8a293f0in_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportLeftpos" x="11.090000000000002" y="0" z="-11.75" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportLeft_HSteelSheets2L0x8a296b0in_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportLeftpos" x="-1.1000000000000001" y="-21.780000000000001" z="24.25" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportLeft_HSteelSheets2L_10x8a29770in_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportLeftpos" x="-1.1000000000000001" y="21.780000000000001" z="24.25" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportLeft_VSteelSheets2L0x8a29a60in_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportLeftpos" x="9.5900000000000016" y="0" z="24.25" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportLeft_SteelSheets1L0x8a2a0a0in_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportLeftpos" x="-1.5" y="0" z="40.75" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportLeft_SteelSheets1L_10x8a2a160in_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportLeftpos" x="-1.5" y="0" z="20.75" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportLeft_SteelSheets2L0x8a2a760in_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportLeftpos" x="-1.1000000000000001" y="0" z="6.25" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportLeft_SteelSheets2L_10x8a2a820in_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportLeftpos" x="-1.1000000000000001" y="0" z="-14.75" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportLeft_SteelSheets2L_20x8a2a8e0in_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportLeftpos" x="-1.1000000000000001" y="0" z="-35.75" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_EcalLeft_InnSupportFrameLeft0x8a2a9d0in_dd_Geometry_DownstreamRegion_Ecal_Installation_EcalLeftpos" x="-182.85000000000002" y="0" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_Inner_InnerModuleFrontCover0x8a2b9a0in_dd_Geometry_DownstreamRegion_Ecal_Modules_Innerpos" x="0" y="0" z="-33.350000000000001" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_Inner_InnerModuleBackCover0x8a2c990in_dd_Geometry_DownstreamRegion_Ecal_Modules_Innerpos" x="0" y="0" z="14.450000000000001" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnReadOut_InnerReadOutBox0x8a2d720in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnReadOutpos" x="0" y="0" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_Inner_InnerModuleReadOut0x8a2d780in_dd_Geometry_DownstreamRegion_Ecal_Modules_Innerpos" x="0" y="0" z="26.200000000000003" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_InnFrontSteelMatrix0x8a2e7b0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos" x="0" y="0" z="-21.550000000000001" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_InnBackSteelMatrix0x8a2e860in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos" x="0" y="0" z="21.550000000000001" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_InnFrontPlastic0x8a2f500in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos" x="0" y="0" z="-21.150000000000002" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_InnBackPlastic0x8a2f560in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos" x="0" y="0" z="21.150000000000002" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb_InnerPbFiber0x8a30470in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPbpos" x="-1.5150000000000001" y="1.5150000000000001" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb_InnerPbFiber_10x8a30520in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPbpos" x="-0.50499999999999989" y="1.5150000000000001" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb_InnerPbFiber_20x8a305d0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPbpos" x="0.50500000000000012" y="1.5150000000000001" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb_InnerPbFiber_30x8a306e0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPbpos" x="1.5150000000000001" y="1.5150000000000001" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb_InnerPbFiber_40x8a307c0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPbpos" x="-1.5150000000000001" y="0.50499999999999989" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb_InnerPbFiber_50x8a308f0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPbpos" x="-0.50499999999999989" y="0.50499999999999989" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb_InnerPbFiber_60x8a309a0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPbpos" x="0.50500000000000012" y="0.50499999999999989" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb_InnerPbFiber_70x8a30a80in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPbpos" x="1.5150000000000001" y="0.50499999999999989" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb_InnerPbFiber_80x8a30b60in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPbpos" x="-1.5150000000000001" y="-0.50500000000000012" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb_InnerPbFiber_90x8a30cd0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPbpos" x="-0.50499999999999989" y="-0.50500000000000012" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb_InnerPbFiber_100x8a30d60in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPbpos" x="0.50500000000000012" y="-0.50500000000000012" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb_InnerPbFiber_110x8a30e40in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPbpos" x="1.5150000000000001" y="-0.50500000000000012" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb_InnerPbFiber_120x8a30f20in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPbpos" x="-1.5150000000000001" y="-1.5150000000000001" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb_InnerPbFiber_130x8a31000in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPbpos" x="-0.50499999999999989" y="-1.5150000000000001" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb_InnerPbFiber_140x8a310e0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPbpos" x="0.50500000000000012" y="-1.5150000000000001" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb_InnerPbFiber_150x8a311c0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPbpos" x="1.5150000000000001" y="-1.5150000000000001" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells0x8a312a0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos" x="0" y="0" z="-20.276" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_10x8a313d0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos" x="0" y="0" z="-19.652000000000001" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_20x8a31480in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos" x="0" y="0" z="-19.028000000000002" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_30x8a31560in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos" x="0" y="0" z="-18.404" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_40x8a31640in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos" x="0" y="0" z="-17.780000000000001" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_50x8a317b0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos" x="0" y="0" z="-17.156000000000002" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_60x8a31840in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos" x="0" y="0" z="-16.532" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_70x8a31920in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos" x="0" y="0" z="-15.908000000000001" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_80x8a31a00in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos" x="0" y="0" z="-15.284000000000001" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_90x8a31ae0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos" x="0" y="0" z="-14.66" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_100x8a31bc0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos" x="0" y="0" z="-14.036000000000001" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_110x8a31ca0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos" x="0" y="0" z="-13.412000000000001" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_120x8a31d80in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos" x="0" y="0" z="-12.788" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_130x8a31720in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos" x="0" y="0" z="-12.164000000000001" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_140x8a31fc0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos" x="0" y="0" z="-11.540000000000001" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_150x8a320a0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos" x="0" y="0" z="-10.916" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_160x8a32180in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos" x="0" y="0" z="-10.292000000000002" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_170x8a32260in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos" x="0" y="0" z="-9.668000000000001" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_180x8a32340in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos" x="0" y="0" z="-9.0440000000000023" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_190x8a32420in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos" x="0" y="0" z="-8.4200000000000017" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_200x8a32500in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos" x="0" y="0" z="-7.7960000000000029" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_210x8a325e0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos" x="0" y="0" z="-7.1720000000000033" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_220x8a326c0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos" x="0" y="0" z="-6.5480000000000018" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_230x8a327a0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos" x="0" y="0" z="-5.9240000000000013" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_240x8a32880in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos" x="0" y="0" z="-5.3000000000000007" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_250x8a32960in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos" x="0" y="0" z="-4.6759999999999993" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_260x8a32a40in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos" x="0" y="0" z="-4.0519999999999987" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_270x8a32b20in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos" x="0" y="0" z="-3.4279999999999973" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_280x8a32c00in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos" x="0" y="0" z="-2.8039999999999963" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_290x8a31e60in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos" x="0" y="0" z="-2.1799999999999953" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_300x8a32ef0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos" x="0" y="0" z="-1.5559999999999952" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_310x8a32fa0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos" x="0" y="0" z="-0.93199999999999372" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_320x8a33080in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos" x="0" y="0" z="-0.30799999999999272" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_330x8a33160in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos" x="0" y="0" z="0.31600000000000822" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_340x8a33240in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos" x="0" y="0" z="0.94000000000000916" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_350x8a33320in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos" x="0" y="0" z="1.56400000000001" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_360x8a33400in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos" x="0" y="0" z="2.1880000000000108" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_370x8a334e0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos" x="0" y="0" z="2.8120000000000118" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_380x8a335c0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos" x="0" y="0" z="3.4360000000000128" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_390x8a336a0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos" x="0" y="0" z="4.0600000000000147" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_400x8a33780in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos" x="0" y="0" z="4.6840000000000153" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_410x8a33860in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos" x="0" y="0" z="5.3080000000000149" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_420x8a33940in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos" x="0" y="0" z="5.9320000000000164" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_430x8a33a20in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos" x="0" y="0" z="6.5560000000000178" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_440x8a33b00in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos" x="0" y="0" z="7.1800000000000184" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_450x8a33be0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos" x="0" y="0" z="7.8040000000000198" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_460x8a33cc0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos" x="0" y="0" z="8.4280000000000204" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_470x8a33da0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos" x="0" y="0" z="9.0520000000000209" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_480x8a33e80in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos" x="0" y="0" z="9.6760000000000232" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_490x8a33f60in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos" x="0" y="0" z="10.30000000000002" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_500x8a34040in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos" x="0" y="0" z="10.924000000000021" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_510x8a34120in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos" x="0" y="0" z="11.548000000000021" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_520x8a34200in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos" x="0" y="0" z="12.172000000000031" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_530x8a342e0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos" x="0" y="0" z="12.796000000000031" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_540x8a343c0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos" x="0" y="0" z="13.42000000000003" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_550x8a344a0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos" x="0" y="0" z="14.044000000000032" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_560x8a34580in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos" x="0" y="0" z="14.668000000000029" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_570x8a34660in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos" x="0" y="0" z="15.29200000000003" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_580x8a34740in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos" x="0" y="0" z="15.916000000000032" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_590x8a34820in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos" x="0" y="0" z="16.540000000000031" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_600x8a34900in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos" x="0" y="0" z="17.16400000000003" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_610x8a303f0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos" x="0" y="0" z="17.788000000000032" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_620x8a32d60in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos" x="0" y="0" z="18.412000000000031" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_630x8a32e40in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos" x="0" y="0" z="19.03600000000004" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_640x8a34df0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos" x="0" y="0" z="19.660000000000039" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_650x8a34ed0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos" x="0" y="0" z="20.284000000000042" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnStack_Inner_Cells_Matrix0xed86e60in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnStackpos" x="-4.04" y="4.04" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnStack_Inner_Cells_Matrix_10xed86ec0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnStackpos" x="0" y="4.04" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnStack_Inner_Cells_Matrix_20xed87f90in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnStackpos" x="4.04" y="4.04" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnStack_Inner_Cells_Matrix_30xed880b0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnStackpos" x="-4.04" y="0" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnStack_Inner_Cells_Matrix_40xed881a0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnStackpos" x="0" y="0" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnStack_Inner_Cells_Matrix_50xed88960in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnStackpos" x="4.04" y="0" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnStack_Inner_Cells_Matrix_60xed88a20in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnStackpos" x="-4.04" y="-4.04" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnStack_Inner_Cells_Matrix_70xed88b10in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnStackpos" x="0" y="-4.04" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnStack_Inner_Cells_Matrix_80xed88c00in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnStackpos" x="4.04" y="-4.04" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_Inner_InnerModuleStack0xed86f20in_dd_Geometry_DownstreamRegion_Ecal_Modules_Innerpos" x="0" y="0" z="-10.600000000000001" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1_Inner_Module_Rows10xed88e90in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1pos" x="-42.664999999999999" y="6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1_Inner_Module_Rows1_10xeda1ca0in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1pos" x="-30.475000000000001" y="6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1_Inner_Module_Rows1_20xeda1d90in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1pos" x="-18.285" y="6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1_Inner_Module_Rows1_30xeda1eb0in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1pos" x="-6.0949999999999989" y="6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1_Inner_Module_Rows1_40xeda1fa0in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1pos" x="6.0949999999999989" y="6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1_Inner_Module_Rows1_50xeda20e0in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1pos" x="18.285" y="6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1_Inner_Module_Rows1_60xeda21a0in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1pos" x="30.474999999999991" y="6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1_Inner_Module_Rows1_70xeda2290in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1pos" x="42.664999999999992" y="6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1_Inner_Module_Rows1_80xeda2380in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1pos" x="-42.664999999999999" y="-6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1_Inner_Module_Rows1_90xeda2500in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1pos" x="-30.475000000000001" y="-6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1_Inner_Module_Rows1_100xeda25f0in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1pos" x="-18.285" y="-6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1_Inner_Module_Rows1_110xeda26e0in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1pos" x="-6.0949999999999989" y="-6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1_Inner_Module_Rows1_120xeda27d0in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1pos" x="6.0949999999999989" y="-6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1_Inner_Module_Rows1_130xeda28c0in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1pos" x="18.285" y="-6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1_Inner_Module_Rows1_140xeda29b0in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1pos" x="30.474999999999991" y="-6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1_Inner_Module_Rows1_150xeda2aa0in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1pos" x="42.664999999999992" y="-6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnSectionLeft_Inner_Up_Rows_Left0xeda2c20in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnSectionLeftpos" x="0" y="60.950000000000003" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnSectionLeft_Inner_Up_Rows_Left_10xeda2d10in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnSectionLeftpos" x="0" y="36.57" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock2_Inner_Module_Rows20xeda2f30in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock2pos" x="-30.475000000000001" y="6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock2_Inner_Module_Rows2_10xeda3020in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock2pos" x="-18.285" y="6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock2_Inner_Module_Rows2_20xeda3110in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock2pos" x="-6.0949999999999989" y="6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock2_Inner_Module_Rows2_30xeda3230in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock2pos" x="6.095000000000006" y="6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock2_Inner_Module_Rows2_40xeda3320in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock2pos" x="18.285" y="6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock2_Inner_Module_Rows2_50xeda3460in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock2pos" x="30.475000000000001" y="6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock2_Inner_Module_Rows2_60xeda3520in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock2pos" x="-30.475000000000001" y="-6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock2_Inner_Module_Rows2_70xeda3610in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock2pos" x="-18.285" y="-6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock2_Inner_Module_Rows2_80xeda3700in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock2pos" x="-6.0949999999999989" y="-6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock2_Inner_Module_Rows2_90xeda37f0in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock2pos" x="6.095000000000006" y="-6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock2_Inner_Module_Rows2_100xeda38e0in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock2pos" x="18.285" y="-6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock2_Inner_Module_Rows2_110xeda39d0in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock2pos" x="30.475000000000001" y="-6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnSectionLeft_Inner_Left_Rows0xeda3b50in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnSectionLeftpos" x="12.190000000000001" y="12.190000000000001" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnSectionLeft_Inner_Left_Rows_10xeda3c70in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnSectionLeftpos" x="12.190000000000001" y="-12.190000000000001" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnSectionLeft_Inner_Down_Rows_Left0xeda3d60in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnSectionLeftpos" x="0" y="-60.950000000000003" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnSectionLeft_Inner_Down_Rows_Left_10xeda3e50in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnSectionLeftpos" x="0" y="-36.57" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_EcalLeft_EcalAInner0xed88e30in_dd_Geometry_DownstreamRegion_Ecal_Installation_EcalLeftpos" x="-146.28" y="0" z="0.75" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_Middle_MiddleModuleFrontCover0xeda55f0in_dd_Geometry_DownstreamRegion_Ecal_Modules_Middlepos" x="0" y="0" z="-34.100000000000001" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_Middle_MiddleModuleBackCover0xeda58d0in_dd_Geometry_DownstreamRegion_Ecal_Modules_Middlepos" x="0" y="0" z="13.950000000000001" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidReadOut_Middle_ReadOutTube_Matrix0xeda5ea0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidReadOutpos" x="-3.0300000000000002" y="3.0300000000000002" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidReadOut_Middle_ReadOutTube_Matrix_10xeda5f60in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidReadOutpos" x="3.0300000000000002" y="3.0300000000000002" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidReadOut_Middle_ReadOutTube_Matrix_20xeda6070in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidReadOutpos" x="-3.0300000000000002" y="-3.0300000000000002" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidReadOut_Middle_ReadOutTube_Matrix_30xeda6190in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidReadOutpos" x="3.0300000000000002" y="-3.0300000000000002" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_Middle_MiddleModuleReadOut0xeda5e40in_dd_Geometry_DownstreamRegion_Ecal_Modules_Middlepos" x="0" y="0" z="26.450000000000003" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_MidFrontSteelMatrix0xeda6820in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos" x="0" y="0" z="-21.550000000000001" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_MidBackSteelMatrix0xeda68d0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos" x="0" y="0" z="21.550000000000001" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_MidFrontPlastic0xeda6bf0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos" x="0" y="0" z="-21.150000000000002" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_MidBackPlastic0xeda6c80in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos" x="0" y="0" z="21.150000000000002" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber0xeda7000in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPbpos" x="-2.5250000000000004" y="2.5250000000000004" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_10xeda70b0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPbpos" x="-1.5150000000000001" y="2.5250000000000004" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_20xeda7190in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPbpos" x="-0.50500000000000012" y="2.5250000000000004" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_30xeda72a0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPbpos" x="0.50499999999999978" y="2.5250000000000004" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_40xeda7380in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPbpos" x="1.5150000000000001" y="2.5250000000000004" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_50xeda74b0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPbpos" x="2.5250000000000004" y="2.5250000000000004" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_60xeda7560in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPbpos" x="-2.5250000000000004" y="1.5150000000000001" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_70xeda7640in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPbpos" x="-1.5150000000000001" y="1.5150000000000001" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_80xeda7720in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPbpos" x="-0.50500000000000012" y="1.5150000000000001" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_90xeda7890in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPbpos" x="0.50499999999999978" y="1.5150000000000001" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_100xeda7920in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPbpos" x="1.5150000000000001" y="1.5150000000000001" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_110xeda7a00in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPbpos" x="2.5250000000000004" y="1.5150000000000001" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_120xeda7ae0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPbpos" x="-2.5250000000000004" y="0.50500000000000012" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_130xeda7bc0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPbpos" x="-1.5150000000000001" y="0.50500000000000012" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_140xeda7ca0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPbpos" x="-0.50500000000000012" y="0.50500000000000012" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_150xeda7d80in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPbpos" x="0.50499999999999978" y="0.50500000000000012" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_160xeda7e60in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPbpos" x="1.5150000000000001" y="0.50500000000000012" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_170xeda7800in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPbpos" x="2.5250000000000004" y="0.50500000000000012" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_180xeda80a0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPbpos" x="-2.5250000000000004" y="-0.50499999999999978" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_190xeda8180in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPbpos" x="-1.5150000000000001" y="-0.50499999999999978" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_200xeda8260in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPbpos" x="-0.50500000000000012" y="-0.50499999999999978" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_210xeda8340in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPbpos" x="0.50499999999999978" y="-0.50499999999999978" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_220xeda8420in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPbpos" x="1.5150000000000001" y="-0.50499999999999978" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_230xeda8500in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPbpos" x="2.5250000000000004" y="-0.50499999999999978" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_240xeda85e0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPbpos" x="-2.5250000000000004" y="-1.5150000000000001" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_250xeda86c0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPbpos" x="-1.5150000000000001" y="-1.5150000000000001" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_260xeda87a0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPbpos" x="-0.50500000000000012" y="-1.5150000000000001" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_270xeda8880in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPbpos" x="0.50499999999999978" y="-1.5150000000000001" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_280xeda8960in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPbpos" x="1.5150000000000001" y="-1.5150000000000001" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_290xeda8a40in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPbpos" x="2.5250000000000004" y="-1.5150000000000001" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_300xeda8b20in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPbpos" x="-2.5250000000000004" y="-2.5250000000000004" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_310xeda8c00in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPbpos" x="-1.5150000000000001" y="-2.5250000000000004" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_320xeda8ce0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPbpos" x="-0.50500000000000012" y="-2.5250000000000004" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_330xeda7f40in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPbpos" x="0.50499999999999978" y="-2.5250000000000004" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_340xeda8fd0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPbpos" x="1.5150000000000001" y="-2.5250000000000004" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_350xeda9080in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPbpos" x="2.5250000000000004" y="-2.5250000000000004" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells0xeda9160in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos" x="0" y="0" z="-20.276" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_10xeda9290in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos" x="0" y="0" z="-19.652000000000001" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_20xeda9340in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos" x="0" y="0" z="-19.028000000000002" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_30xeda9420in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos" x="0" y="0" z="-18.404" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_40xeda9500in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos" x="0" y="0" z="-17.780000000000001" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_50xeda9670in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos" x="0" y="0" z="-17.156000000000002" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_60xeda9700in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos" x="0" y="0" z="-16.532" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_70xeda97e0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos" x="0" y="0" z="-15.908000000000001" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_80xeda98c0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos" x="0" y="0" z="-15.284000000000001" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_90xeda99a0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos" x="0" y="0" z="-14.66" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_100xeda9a80in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos" x="0" y="0" z="-14.036000000000001" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_110xeda9b60in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos" x="0" y="0" z="-13.412000000000001" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_120xeda9c40in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos" x="0" y="0" z="-12.788" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_130xeda95e0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos" x="0" y="0" z="-12.164000000000001" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_140xeda9e80in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos" x="0" y="0" z="-11.540000000000001" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_150xeda9f60in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos" x="0" y="0" z="-10.916" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_160xedaa040in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos" x="0" y="0" z="-10.292000000000002" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_170xedaa120in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos" x="0" y="0" z="-9.668000000000001" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_180xedaa200in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos" x="0" y="0" z="-9.0440000000000023" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_190xedaa2e0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos" x="0" y="0" z="-8.4200000000000017" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_200xedaa3c0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos" x="0" y="0" z="-7.7960000000000029" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_210xedaa4a0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos" x="0" y="0" z="-7.1720000000000033" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_220xedaa580in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos" x="0" y="0" z="-6.5480000000000018" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_230xedaa660in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos" x="0" y="0" z="-5.9240000000000013" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_240xedaa740in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos" x="0" y="0" z="-5.3000000000000007" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_250xedaa820in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos" x="0" y="0" z="-4.6759999999999993" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_260xedaa900in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos" x="0" y="0" z="-4.0519999999999987" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_270xedaa9e0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos" x="0" y="0" z="-3.4279999999999973" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_280xedaaac0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos" x="0" y="0" z="-2.8039999999999963" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_290xeda9d20in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos" x="0" y="0" z="-2.1799999999999953" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_300xedaadb0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos" x="0" y="0" z="-1.5559999999999952" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_310xedaae60in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos" x="0" y="0" z="-0.93199999999999372" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_320xedaaf40in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos" x="0" y="0" z="-0.30799999999999272" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_330xedab020in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos" x="0" y="0" z="0.31600000000000822" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_340xedab100in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos" x="0" y="0" z="0.94000000000000916" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_350xedab1e0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos" x="0" y="0" z="1.56400000000001" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_360xedab2c0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos" x="0" y="0" z="2.1880000000000108" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_370xedab3a0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos" x="0" y="0" z="2.8120000000000118" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_380xedab480in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos" x="0" y="0" z="3.4360000000000128" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_390xedab560in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos" x="0" y="0" z="4.0600000000000147" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_400xedab640in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos" x="0" y="0" z="4.6840000000000153" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_410xedab720in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos" x="0" y="0" z="5.3080000000000149" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_420xedab800in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos" x="0" y="0" z="5.9320000000000164" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_430xedab8e0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos" x="0" y="0" z="6.5560000000000178" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_440xedab9c0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos" x="0" y="0" z="7.1800000000000184" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_450xedabaa0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos" x="0" y="0" z="7.8040000000000198" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_460xedabb80in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos" x="0" y="0" z="8.4280000000000204" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_470xedabc60in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos" x="0" y="0" z="9.0520000000000209" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_480xedabd40in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos" x="0" y="0" z="9.6760000000000232" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_490xedabe20in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos" x="0" y="0" z="10.30000000000002" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_500xedabf00in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos" x="0" y="0" z="10.924000000000021" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_510xedabfe0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos" x="0" y="0" z="11.548000000000021" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_520xedac0c0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos" x="0" y="0" z="12.172000000000031" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_530xedac1a0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos" x="0" y="0" z="12.796000000000031" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_540xedac280in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos" x="0" y="0" z="13.42000000000003" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_550xedac360in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos" x="0" y="0" z="14.044000000000032" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_560xedac440in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos" x="0" y="0" z="14.668000000000029" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_570xedac520in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos" x="0" y="0" z="15.29200000000003" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_580xedac600in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos" x="0" y="0" z="15.916000000000032" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_590xedac6e0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos" x="0" y="0" z="16.540000000000031" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_600xedac7c0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos" x="0" y="0" z="17.16400000000003" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_610xeda4d00in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos" x="0" y="0" z="17.788000000000032" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_620xedaaba0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos" x="0" y="0" z="18.412000000000031" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_630xedaac80in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos" x="0" y="0" z="19.03600000000004" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_640xedaccb0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos" x="0" y="0" z="19.660000000000039" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_650xedacd40in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos" x="0" y="0" z="20.284000000000042" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidStack_Middle_Cells_Matrix0xedaceb0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidStackpos" x="-3.0300000000000002" y="3.0300000000000002" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidStack_Middle_Cells_Matrix_10xedacfa0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidStackpos" x="3.0300000000000002" y="3.0300000000000002" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidStack_Middle_Cells_Matrix_20xedad090in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidStackpos" x="-3.0300000000000002" y="-3.0300000000000002" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidStack_Middle_Cells_Matrix_30xedad1b0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidStackpos" x="3.0300000000000002" y="-3.0300000000000002" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_Middle_MiddleModuleStack0xedacf40in_dd_Geometry_DownstreamRegion_Ecal_Modules_Middlepos" x="0" y="0" z="-11.350000000000001" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock_Middle_Module_Rows0xedad400in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlockpos" x="-42.664999999999999" y="6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock_Middle_Module_Rows_10xedad4f0in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlockpos" x="-30.475000000000001" y="6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock_Middle_Module_Rows_20xedad5e0in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlockpos" x="-18.285" y="6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock_Middle_Module_Rows_30xedad700in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlockpos" x="-6.0949999999999989" y="6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock_Middle_Module_Rows_40xedad7f0in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlockpos" x="6.0949999999999989" y="6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock_Middle_Module_Rows_50xedad930in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlockpos" x="18.285" y="6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock_Middle_Module_Rows_60xedad9f0in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlockpos" x="30.474999999999991" y="6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock_Middle_Module_Rows_70xedadae0in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlockpos" x="42.664999999999992" y="6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock_Middle_Module_Rows_80xedadbd0in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlockpos" x="-42.664999999999999" y="-6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock_Middle_Module_Rows_90xedadd50in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlockpos" x="-30.475000000000001" y="-6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock_Middle_Module_Rows_100xedade40in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlockpos" x="-18.285" y="-6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock_Middle_Module_Rows_110xedadf30in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlockpos" x="-6.0949999999999989" y="-6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock_Middle_Module_Rows_120xedae020in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlockpos" x="6.0949999999999989" y="-6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock_Middle_Module_Rows_130xedae110in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlockpos" x="18.285" y="-6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock_Middle_Module_Rows_140xedae200in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlockpos" x="30.474999999999991" y="-6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock_Middle_Module_Rows_150xedae2f0in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlockpos" x="42.664999999999992" y="-6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionLeft_Middle_Up_Rows_Left0xedae470in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionLeftpos" x="-48.760000000000005" y="109.70999999999999" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionLeft_Middle_Up_Rows_Left_10xedae560in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionLeftpos" x="-48.760000000000005" y="85.330000000000027" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionLeft_Middle_Left_Rows0xedae650in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionLeftpos" x="48.760000000000005" y="109.70999999999999" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionLeft_Middle_Left_Rows_10xedae770in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionLeftpos" x="48.760000000000005" y="85.330000000000027" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionLeft_Middle_Left_Rows_20xedae860in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionLeftpos" x="48.760000000000005" y="60.950000000000017" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionLeft_Middle_Left_Rows_30xedae950in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionLeftpos" x="48.760000000000005" y="36.57" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionLeft_Middle_Left_Rows_40xedaea10in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionLeftpos" x="48.760000000000005" y="12.190000000000012" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionLeft_Middle_Left_Rows_50xedaeb00in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionLeftpos" x="48.760000000000005" y="-12.189999999999991" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionLeft_Middle_Left_Rows_60xedaebf0in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionLeftpos" x="48.760000000000005" y="-36.569999999999986" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionLeft_Middle_Left_Rows_70xedaed70in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionLeftpos" x="48.760000000000005" y="-60.949999999999982" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionLeft_Middle_Left_Rows_80xedaee60in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionLeftpos" x="48.760000000000005" y="-85.329999999999984" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionLeft_Middle_Left_Rows_90xedaef50in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionLeftpos" x="48.760000000000005" y="-109.70999999999999" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionLeft_Middle_Down_Rows_Left0xedaf040in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionLeftpos" x="-48.760000000000005" y="-109.70999999999999" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionLeft_Middle_Down_Rows_Left_10xedaf130in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionLeftpos" x="-48.760000000000005" y="-85.330000000000027" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_EcalLeft_EcalAMiddle0xedad3a0in_dd_Geometry_DownstreamRegion_Ecal_Installation_EcalLeftpos" x="-97.52000000000001" y="0" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_Outer_OuterModuleFrontCover0xedaff80in_dd_Geometry_DownstreamRegion_Ecal_Modules_Outerpos" x="0" y="0" z="-34.100000000000001" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_Outer_OuterModuleBackCover0xedb0ad0in_dd_Geometry_DownstreamRegion_Ecal_Modules_Outerpos" x="0" y="0" z="13.950000000000001" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutReadOut_OuterReadOutTube0xedb1090in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutReadOutpos" x="0" y="0" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_Outer_OuterModuleReadOut0xedb10f0in_dd_Geometry_DownstreamRegion_Ecal_Modules_Outerpos" x="0" y="0" z="26.450000000000003" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_OutFrontSteelMatrix0xedb1780in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos" x="0" y="0" z="-21.550000000000001" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_OutBackSteelMatrix0xedb1830in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos" x="0" y="0" z="21.550000000000001" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_OutFrontPlastic0xedb1b50in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos" x="0" y="0" z="-21.150000000000002" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_OutBackPlastic0xedb1be0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos" x="0" y="0" z="21.150000000000002" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber0xedb1f60in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos" x="-5.3025000000000002" y="5.3025000000000002" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_10xedb2010in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos" x="-3.7875000000000001" y="5.3025000000000002" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_20xedb20f0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos" x="-2.2725000000000004" y="5.3025000000000002" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_30xedb2200in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos" x="-0.75749999999999962" y="5.3025000000000002" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_40xedb22e0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos" x="0.75750000000000028" y="5.3025000000000002" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_50xedb2410in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos" x="2.2725000000000004" y="5.3025000000000002" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_60xedb24c0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos" x="3.787500000000001" y="5.3025000000000002" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_70xedb25a0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos" x="5.302500000000002" y="5.3025000000000002" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_80xedb2680in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos" x="-5.3025000000000002" y="3.7875000000000001" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_90xedb27f0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos" x="-3.7875000000000001" y="3.7875000000000001" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_100xedb2880in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos" x="-2.2725000000000004" y="3.7875000000000001" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_110xedb2960in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos" x="-0.75749999999999962" y="3.7875000000000001" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_120xedb2a40in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos" x="0.75750000000000028" y="3.7875000000000001" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_130xedb2b20in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos" x="2.2725000000000004" y="3.7875000000000001" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_140xedb2c00in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos" x="3.787500000000001" y="3.7875000000000001" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_150xedb2ce0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos" x="5.302500000000002" y="3.7875000000000001" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_160xedb2dc0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos" x="-5.3025000000000002" y="2.2725000000000004" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_170xedb2760in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos" x="-3.7875000000000001" y="2.2725000000000004" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_180xedb3000in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos" x="-2.2725000000000004" y="2.2725000000000004" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_190xedb30e0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos" x="-0.75749999999999962" y="2.2725000000000004" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_200xedb31c0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos" x="0.75750000000000028" y="2.2725000000000004" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_210xedb32a0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos" x="2.2725000000000004" y="2.2725000000000004" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_220xedb3380in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos" x="3.787500000000001" y="2.2725000000000004" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_230xedb3460in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos" x="5.302500000000002" y="2.2725000000000004" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_240xedb3540in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos" x="-5.3025000000000002" y="0.75749999999999962" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_250xedb3620in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos" x="-3.7875000000000001" y="0.75749999999999962" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_260xedb3700in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos" x="-2.2725000000000004" y="0.75749999999999962" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_270xedb37e0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos" x="-0.75749999999999962" y="0.75749999999999962" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_280x8a6e670in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos" x="0.75750000000000028" y="0.75749999999999962" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_290x8a6e720in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos" x="2.2725000000000004" y="0.75749999999999962" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_300x8a6e800in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos" x="3.787500000000001" y="0.75749999999999962" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_310x8a6e8e0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos" x="5.302500000000002" y="0.75749999999999962" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_320x8a6e9c0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos" x="-5.3025000000000002" y="-0.75750000000000028" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_330xedb2ea0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos" x="-3.7875000000000001" y="-0.75750000000000028" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_340x8a6ecb0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos" x="-2.2725000000000004" y="-0.75750000000000028" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_350x8a6ed60in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos" x="-0.75749999999999962" y="-0.75750000000000028" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_360x8a6ee40in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos" x="0.75750000000000028" y="-0.75750000000000028" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_370x8a6ef20in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos" x="2.2725000000000004" y="-0.75750000000000028" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_380x8a6f000in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos" x="3.787500000000001" y="-0.75750000000000028" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_390x8a6f0e0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos" x="5.302500000000002" y="-0.75750000000000028" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_400x8a6f1c0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos" x="-5.3025000000000002" y="-2.2725000000000004" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_410x8a6f2a0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos" x="-3.7875000000000001" y="-2.2725000000000004" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_420x8a6f380in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos" x="-2.2725000000000004" y="-2.2725000000000004" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_430x8a6f460in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos" x="-0.75749999999999962" y="-2.2725000000000004" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_440x8a6f540in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos" x="0.75750000000000028" y="-2.2725000000000004" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_450x8a6f620in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos" x="2.2725000000000004" y="-2.2725000000000004" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_460x8a6f700in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos" x="3.787500000000001" y="-2.2725000000000004" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_470x8a6f7e0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos" x="5.302500000000002" y="-2.2725000000000004" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_480x8a6f8c0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos" x="-5.3025000000000002" y="-3.787500000000001" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_490x8a6f9a0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos" x="-3.7875000000000001" y="-3.787500000000001" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_500x8a6fa80in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos" x="-2.2725000000000004" y="-3.787500000000001" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_510x8a6fb60in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos" x="-0.75749999999999962" y="-3.787500000000001" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_520x8a6fc40in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos" x="0.75750000000000028" y="-3.787500000000001" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_530x8a6fd20in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos" x="2.2725000000000004" y="-3.787500000000001" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_540x8a6fe00in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos" x="3.787500000000001" y="-3.787500000000001" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_550x8a6fee0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos" x="5.302500000000002" y="-3.787500000000001" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_560x8a6ffc0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos" x="-5.3025000000000002" y="-5.302500000000002" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_570x8a700a0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos" x="-3.7875000000000001" y="-5.302500000000002" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_580x8a70180in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos" x="-2.2725000000000004" y="-5.302500000000002" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_590x8a70260in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos" x="-0.75749999999999962" y="-5.302500000000002" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_600x8a70340in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos" x="0.75750000000000028" y="-5.302500000000002" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_610x8a70420in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos" x="2.2725000000000004" y="-5.302500000000002" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_620x8a70500in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos" x="3.787500000000001" y="-5.302500000000002" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_630x8a705e0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos" x="5.302500000000002" y="-5.302500000000002" z="0" unit="cm"/>
+   <!-- CBG: Position of tyvek within lead plates-->
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPaper_OuterPb_Pos" x="0" y="0" z="0.012" unit="cm"/>
+   <!-- CBG: Position of lead plates-->
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells0x8a70730in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos" x="0" y="0" z="-20.276" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_10x8a70860in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos" x="0" y="0" z="-19.652000000000001" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_20x8a70910in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos" x="0" y="0" z="-19.028000000000002" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_30x8a709f0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos" x="0" y="0" z="-18.404" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_40x8a70ad0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos" x="0" y="0" z="-17.780000000000001" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_50x8a70c40in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos" x="0" y="0" z="-17.156000000000002" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_60x8a70cd0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos" x="0" y="0" z="-16.532" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_70x8a70db0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos" x="0" y="0" z="-15.908000000000001" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_80x8a70e90in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos" x="0" y="0" z="-15.284000000000001" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_90x8a70f70in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos" x="0" y="0" z="-14.66" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_100x8a71050in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos" x="0" y="0" z="-14.036000000000001" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_110x8a71130in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos" x="0" y="0" z="-13.412000000000001" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_120x8a71210in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos" x="0" y="0" z="-12.788" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_130x8a70bb0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos" x="0" y="0" z="-12.164000000000001" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_140x8a71450in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos" x="0" y="0" z="-11.540000000000001" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_150x8a71530in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos" x="0" y="0" z="-10.916" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_160x8a71610in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos" x="0" y="0" z="-10.292000000000002" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_170x8a716f0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos" x="0" y="0" z="-9.668000000000001" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_180x8a717d0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos" x="0" y="0" z="-9.0440000000000023" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_190x8a718b0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos" x="0" y="0" z="-8.4200000000000017" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_200x8a71990in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos" x="0" y="0" z="-7.7960000000000029" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_210x8a71a70in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos" x="0" y="0" z="-7.1720000000000033" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_220x8a71b50in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos" x="0" y="0" z="-6.5480000000000018" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_230x8a71c30in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos" x="0" y="0" z="-5.9240000000000013" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_240x8a71d10in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos" x="0" y="0" z="-5.3000000000000007" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_250x8a71df0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos" x="0" y="0" z="-4.6759999999999993" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_260x8a71ed0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos" x="0" y="0" z="-4.0519999999999987" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_270x8a71fb0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos" x="0" y="0" z="-3.4279999999999973" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_280x8a72090in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos" x="0" y="0" z="-2.8039999999999963" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_290x8a712f0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos" x="0" y="0" z="-2.1799999999999953" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_300x8a72380in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos" x="0" y="0" z="-1.5559999999999952" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_310x8a72430in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos" x="0" y="0" z="-0.93199999999999372" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_320x8a72510in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos" x="0" y="0" z="-0.30799999999999272" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_330x8a725f0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos" x="0" y="0" z="0.31600000000000822" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_340x8a726d0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos" x="0" y="0" z="0.94000000000000916" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_350x8a727b0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos" x="0" y="0" z="1.56400000000001" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_360x8a72890in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos" x="0" y="0" z="2.1880000000000108" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_370x8a72970in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos" x="0" y="0" z="2.8120000000000118" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_380x8a72a50in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos" x="0" y="0" z="3.4360000000000128" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_390x8a72b30in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos" x="0" y="0" z="4.0600000000000147" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_400x8a72c10in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos" x="0" y="0" z="4.6840000000000153" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_410x8a72cf0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos" x="0" y="0" z="5.3080000000000149" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_420x8a72dd0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos" x="0" y="0" z="5.9320000000000164" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_430x8a72eb0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos" x="0" y="0" z="6.5560000000000178" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_440x8a72f90in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos" x="0" y="0" z="7.1800000000000184" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_450x8a73070in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos" x="0" y="0" z="7.8040000000000198" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_460x8a73150in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos" x="0" y="0" z="8.4280000000000204" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_470x8a73230in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos" x="0" y="0" z="9.0520000000000209" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_480x8a73310in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos" x="0" y="0" z="9.6760000000000232" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_490x8a733f0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos" x="0" y="0" z="10.30000000000002" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_500x8a734d0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos" x="0" y="0" z="10.924000000000021" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_510x8a735b0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos" x="0" y="0" z="11.548000000000021" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_520x8a73690in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos" x="0" y="0" z="12.172000000000031" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_530x8a73770in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos" x="0" y="0" z="12.796000000000031" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_540x8a73850in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos" x="0" y="0" z="13.42000000000003" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_550x8a73930in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos" x="0" y="0" z="14.044000000000032" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_560x8a73a10in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos" x="0" y="0" z="14.668000000000029" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_570x8a73af0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos" x="0" y="0" z="15.29200000000003" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_580x8a73bd0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos" x="0" y="0" z="15.916000000000032" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_590x8a73cb0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos" x="0" y="0" z="16.540000000000031" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_600x8a73d90in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos" x="0" y="0" z="17.16400000000003" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_610xedb1ee0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos" x="0" y="0" z="17.788000000000032" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_620x8a721f0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos" x="0" y="0" z="18.412000000000031" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_630x8a722d0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos" x="0" y="0" z="19.03600000000004" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_640x8a74280in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos" x="0" y="0" z="19.660000000000039" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_650x8a74360in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos" x="0" y="0" z="20.284000000000042" unit="cm"/>
+
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutStack_Outer_Cell0x8a74440in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutStackpos" x="0" y="0" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Modules_Outer_OuterModuleStack0x8a74520in_dd_Geometry_DownstreamRegion_Ecal_Modules_Outerpos" x="0" y="0" z="-11.350000000000001" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows0x8a746e0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlockpos" x="-91.425000000000011" y="6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_10x8a747d0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlockpos" x="-79.235000000000014" y="6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_20x8a748c0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlockpos" x="-67.045000000000002" y="6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_30x8a749e0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlockpos" x="-54.854999999999997" y="6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_40x8a74ad0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlockpos" x="-42.664999999999999" y="6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_50x8a74c10in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlockpos" x="-30.475000000000001" y="6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_60x8a74cd0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlockpos" x="-18.285" y="6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_70x8a74dc0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlockpos" x="-6.095000000000006" y="6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_80x8a74eb0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlockpos" x="6.0949999999999935" y="6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_90x8a75030in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlockpos" x="18.284999999999993" y="6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_100x8a75120in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlockpos" x="30.475000000000001" y="6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_110x8a75210in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlockpos" x="42.665000000000013" y="6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_120x8a75300in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlockpos" x="54.855000000000018" y="6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_130x8a753f0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlockpos" x="67.04500000000003" y="6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_140x8a754e0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlockpos" x="79.235000000000042" y="6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_150x8a755d0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlockpos" x="91.425000000000054" y="6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_160x8a756c0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlockpos" x="-91.425000000000011" y="-6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_170x8a74fa0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlockpos" x="-79.235000000000014" y="-6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_180x8a75920in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlockpos" x="-67.045000000000002" y="-6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_190x8a75a10in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlockpos" x="-54.854999999999997" y="-6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_200x8a75b00in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlockpos" x="-42.664999999999999" y="-6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_210x8a75bf0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlockpos" x="-30.475000000000001" y="-6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_220x8a75ce0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlockpos" x="-18.285" y="-6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_230x8a75dd0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlockpos" x="-6.095000000000006" y="-6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_240x8a75ec0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlockpos" x="6.0949999999999935" y="-6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_250x8a75fb0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlockpos" x="18.284999999999993" y="-6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_260x8a760a0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlockpos" x="30.475000000000001" y="-6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_270x8a76190in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlockpos" x="42.665000000000013" y="-6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_280x8a76280in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlockpos" x="54.855000000000018" y="-6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_290x8a76370in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlockpos" x="67.04500000000003" y="-6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_300x8a76460in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlockpos" x="79.235000000000042" y="-6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_310x8a76550in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlockpos" x="91.425000000000054" y="-6.0950000000000006" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Up_Rows_Left0x8a766d0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos" x="-97.52000000000001" y="304.75" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Up_Rows_Left_10x8a767c0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos" x="-97.52000000000001" y="280.37" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Up_Rows_Left_20x8a768b0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos" x="-97.52000000000001" y="255.99000000000001" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Up_Rows_Left_30x8a769d0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos" x="-97.52000000000001" y="231.61000000000001" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Up_Rows_Left_40x8a76ac0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos" x="-97.52000000000001" y="207.23000000000002" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Up_Rows_Left_50x8a76bb0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos" x="-97.52000000000001" y="182.85000000000002" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Up_Rows_Left_60x8a76c70in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos" x="-97.52000000000001" y="158.47000000000003" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Up_Rows_Left_70x8a76d60in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos" x="-97.52000000000001" y="134.09" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows0x8a76e50in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos" x="97.52000000000001" y="304.75" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_10x8a76fd0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos" x="97.52000000000001" y="280.37" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_20x8a770c0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos" x="97.52000000000001" y="255.99000000000001" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_30x8a771b0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos" x="97.52000000000001" y="231.61000000000001" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_40x8a772a0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos" x="97.52000000000001" y="207.23000000000002" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_50x8a77390in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos" x="97.52000000000001" y="182.85000000000002" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_60x8a77480in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos" x="97.52000000000001" y="158.47000000000003" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_70x8a77570in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos" x="97.52000000000001" y="134.09" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_80x8a77660in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos" x="97.52000000000001" y="109.70999999999999" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_90x8a76640in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos" x="97.52000000000001" y="85.330000000000027" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_100x8a778c0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos" x="97.52000000000001" y="60.950000000000003" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_110x8a779b0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos" x="97.52000000000001" y="36.569999999999986" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_120x8a77aa0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos" x="97.52000000000001" y="12.18999999999996" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_130x8a77b90in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos" x="97.52000000000001" y="-12.190000000000051" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_140x8a77c80in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos" x="97.52000000000001" y="-36.570000000000071" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_150x8a77d70in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos" x="97.52000000000001" y="-60.950000000000095" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_160x8a77e60in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos" x="97.52000000000001" y="-85.330000000000112" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_170x8a77f50in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos" x="97.52000000000001" y="-109.71000000000011" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_180x8a78040in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos" x="97.52000000000001" y="-134.09000000000012" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_190x8a78130in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos" x="97.52000000000001" y="-158.47000000000023" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_200x8a78220in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos" x="97.52000000000001" y="-182.85000000000022" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_210x8a78310in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos" x="97.52000000000001" y="-207.23000000000022" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_220x8a78400in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos" x="97.52000000000001" y="-231.61000000000024" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_230x8a784f0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos" x="97.52000000000001" y="-255.99000000000021" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_240x8a785e0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos" x="97.52000000000001" y="-280.37000000000029" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_250x8a77750in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos" x="97.52000000000001" y="-304.75000000000034" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Down_Rows_Left0x8a788e0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos" x="-97.52000000000001" y="-304.75" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Down_Rows_Left_10x8a789d0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos" x="-97.52000000000001" y="-280.37" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Down_Rows_Left_20x8a78ac0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos" x="-97.52000000000001" y="-255.99000000000001" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Down_Rows_Left_30x8a78bb0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos" x="-97.52000000000001" y="-231.61000000000001" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Down_Rows_Left_40x8a78ca0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos" x="-97.52000000000001" y="-207.23000000000002" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Down_Rows_Left_50x8a78d90in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos" x="-97.52000000000001" y="-182.85000000000002" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Down_Rows_Left_60x8a78e80in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos" x="-97.52000000000001" y="-158.47000000000003" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Down_Rows_Left_70x8a78f70in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos" x="-97.52000000000001" y="-134.09" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_EcalLeft_EcalAOuter0x8a74680in_dd_Geometry_DownstreamRegion_Ecal_Installation_EcalLeftpos" x="0" y="0" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_Ecal_EcalA0x8a76f70in_dd_Geometry_DownstreamRegion_Ecal_Installation_Ecalpos" x="195.04000000000002" y="0" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_EcalRight_FiberShieldRight0x8a7a5c0in_dd_Geometry_DownstreamRegion_Ecal_Installation_EcalRightpos" x="0" y="0" z="-40.75" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportRight_HAirSlotsR0x8a7b680in_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportRightpos" x="0" y="-23.280000000000001" z="29.5" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportRight_HAirSlotsR_10x8a7b740in_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportRightpos" x="0" y="23.280000000000001" z="29.5" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportRight_VAirSlotsR0x8a7b800in_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportRightpos" x="-11.090000000000002" y="0" z="29.5" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportRight_HSteelSheets1R0x8a7b920in_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportRightpos" x="0" y="-23.280000000000001" z="-11.75" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportRight_HSteelSheets1R_10x8a7ba10in_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportRightpos" x="0" y="23.280000000000001" z="-11.75" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportRight_VSteelSheets1R0x8a7bb90in_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportRightpos" x="-11.090000000000002" y="0" z="-11.75" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportRight_HSteelSheets2R0x8a7bc50in_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportRightpos" x="1.1000000000000001" y="-21.780000000000001" z="24.25" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportRight_HSteelSheets2R_10x8a7bd40in_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportRightpos" x="1.1000000000000001" y="21.780000000000001" z="24.25" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportRight_VSteelSheets2R0x8a7be30in_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportRightpos" x="-9.5900000000000016" y="0" z="24.25" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportRight_SteelSheets1R0x8a7c320in_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportRightpos" x="1.5" y="0" z="40.75" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportRight_SteelSheets1R_10x8a7c580in_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportRightpos" x="1.5" y="0" z="20.75" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportRight_SteelSheets2R0x8a7c9b0in_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportRightpos" x="1.1000000000000001" y="0" z="6.25" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportRight_SteelSheets2R_10x8a7cc10in_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportRightpos" x="1.1000000000000001" y="0" z="-14.75" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportRight_SteelSheets2R_20x8a7ccd0in_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportRightpos" x="1.1000000000000001" y="0" z="-35.75" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_EcalRight_InnSupportFrameRight0x8a7cdc0in_dd_Geometry_DownstreamRegion_Ecal_Installation_EcalRightpos" x="182.85000000000002" y="0" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnSectionRight_Inner_Up_Rows_Right0x8a7d2c0in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnSectionRightpos" x="0" y="60.950000000000003" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnSectionRight_Inner_Up_Rows_Right_10x8a7d380in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnSectionRightpos" x="0" y="36.57" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnSectionRight_Inner_Right_Rows0x8a7d470in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnSectionRightpos" x="-12.190000000000001" y="12.190000000000001" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnSectionRight_Inner_Right_Rows_10x8a7d590in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnSectionRightpos" x="-12.190000000000001" y="-12.190000000000001" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnSectionRight_Inner_Down_Rows_Right0x8a7d680in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnSectionRightpos" x="0" y="-60.950000000000003" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnSectionRight_Inner_Down_Rows_Right_10x8a7d800in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnSectionRightpos" x="0" y="-36.57" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_EcalRight_EcalCInner0x8a7d260in_dd_Geometry_DownstreamRegion_Ecal_Installation_EcalRightpos" x="146.28" y="0" z="0.75" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionRight_Middle_Up_Rows_Right0x8a7de80in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionRightpos" x="48.760000000000005" y="109.70999999999999" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionRight_Middle_Up_Rows_Right_10x8a7df40in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionRightpos" x="48.760000000000005" y="85.330000000000027" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionRight_Middle_Right_Rows0x8a7e030in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionRightpos" x="-48.760000000000005" y="109.70999999999999" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionRight_Middle_Right_Rows_10x8a7e150in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionRightpos" x="-48.760000000000005" y="85.330000000000027" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionRight_Middle_Right_Rows_20x8a7e240in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionRightpos" x="-48.760000000000005" y="60.950000000000017" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionRight_Middle_Right_Rows_30x8a7e3c0in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionRightpos" x="-48.760000000000005" y="36.57" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionRight_Middle_Right_Rows_40x8a7e480in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionRightpos" x="-48.760000000000005" y="12.190000000000012" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionRight_Middle_Right_Rows_50x8a7e570in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionRightpos" x="-48.760000000000005" y="-12.189999999999991" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionRight_Middle_Right_Rows_60x8a7e660in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionRightpos" x="-48.760000000000005" y="-36.569999999999986" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionRight_Middle_Right_Rows_70x8a7e7e0in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionRightpos" x="-48.760000000000005" y="-60.949999999999982" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionRight_Middle_Right_Rows_80x8a7e8d0in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionRightpos" x="-48.760000000000005" y="-85.329999999999984" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionRight_Middle_Right_Rows_90x8a7e9c0in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionRightpos" x="-48.760000000000005" y="-109.70999999999999" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionRight_Middle_Down_Rows_Right0x8a7eab0in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionRightpos" x="48.760000000000005" y="-109.70999999999999" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionRight_Middle_Down_Rows_Right_10x8a7de20in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionRightpos" x="48.760000000000005" y="-85.330000000000027" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_EcalRight_EcalCMiddle0x8a7ecb0in_dd_Geometry_DownstreamRegion_Ecal_Installation_EcalRightpos" x="97.52000000000001" y="0" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Up_Rows_Right0x8a7f1d0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos" x="97.52000000000001" y="304.75" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Up_Rows_Right_10x8a7f290in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos" x="97.52000000000001" y="280.37" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Up_Rows_Right_20x8a7f380in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos" x="97.52000000000001" y="255.99000000000001" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Up_Rows_Right_30x8a7f4a0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos" x="97.52000000000001" y="231.61000000000001" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Up_Rows_Right_40x8a7f590in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos" x="97.52000000000001" y="207.23000000000002" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Up_Rows_Right_50x8a7f710in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos" x="97.52000000000001" y="182.85000000000002" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Up_Rows_Right_60x8a7f7d0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos" x="97.52000000000001" y="158.47000000000003" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Up_Rows_Right_70x8a7f8c0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos" x="97.52000000000001" y="134.09" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows0x8a7f9b0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos" x="-97.52000000000001" y="304.75" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_10x8a7fb30in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos" x="-97.52000000000001" y="280.37" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_20x8a7fc20in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos" x="-97.52000000000001" y="255.99000000000001" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_30x8a7fd10in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos" x="-97.52000000000001" y="231.61000000000001" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_40x8a7fe00in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos" x="-97.52000000000001" y="207.23000000000002" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_50x8a7fef0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos" x="-97.52000000000001" y="182.85000000000002" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_60x8a7ffe0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos" x="-97.52000000000001" y="158.47000000000003" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_70x8a800d0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos" x="-97.52000000000001" y="134.09" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_80x8a801c0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos" x="-97.52000000000001" y="109.70999999999999" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_90x8a7f680in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos" x="-97.52000000000001" y="85.330000000000027" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_100x8a80420in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos" x="-97.52000000000001" y="60.950000000000003" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_110x8a80510in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos" x="-97.52000000000001" y="36.569999999999986" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_120x8a80600in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos" x="-97.52000000000001" y="12.18999999999996" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_130x8a806f0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos" x="-97.52000000000001" y="-12.190000000000051" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_140x8a807e0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos" x="-97.52000000000001" y="-36.570000000000071" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_150x8a808d0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos" x="-97.52000000000001" y="-60.950000000000095" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_160x8a809c0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos" x="-97.52000000000001" y="-85.330000000000112" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_170x8a80ab0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos" x="-97.52000000000001" y="-109.71000000000011" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_180x8a80ba0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos" x="-97.52000000000001" y="-134.09000000000012" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_190x8a80c90in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos" x="-97.52000000000001" y="-158.47000000000023" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_200x8a80d80in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos" x="-97.52000000000001" y="-182.85000000000022" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_210x8a80e70in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos" x="-97.52000000000001" y="-207.23000000000022" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_220x8a80f60in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos" x="-97.52000000000001" y="-231.61000000000024" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_230x8a81050in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos" x="-97.52000000000001" y="-255.99000000000021" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_240x8a81140in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos" x="-97.52000000000001" y="-280.37000000000029" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_250x8a802b0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos" x="-97.52000000000001" y="-304.75000000000034" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Down_Rows_Right0x8a81440in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos" x="97.52000000000001" y="-304.75" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Down_Rows_Right_10x8a81530in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos" x="97.52000000000001" y="-280.37" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Down_Rows_Right_20x8a81620in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos" x="97.52000000000001" y="-255.99000000000001" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Down_Rows_Right_30x8a81710in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos" x="97.52000000000001" y="-231.61000000000001" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Down_Rows_Right_40x8a81800in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos" x="97.52000000000001" y="-207.23000000000002" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Down_Rows_Right_50x8a818f0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos" x="97.52000000000001" y="-182.85000000000002" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Down_Rows_Right_60x8a819e0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos" x="97.52000000000001" y="-158.47000000000003" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Down_Rows_Right_70x8a81ad0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos" x="97.52000000000001" y="-134.09" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_EcalRight_EcalCOuter0x8a7f170in_dd_Geometry_DownstreamRegion_Ecal_Installation_EcalRightpos" x="0" y="0" z="0" unit="cm"/>
+    <position name="_dd_Geometry_DownstreamRegion_Ecal_Installation_Ecal_EcalC0x8a81c40in_dd_Geometry_DownstreamRegion_Ecal_Installation_Ecalpos" x="-195.04000000000002" y="0" z="0" unit="cm"/>
+  </define>
+  <materials>
+    <element name="NITROGEN_elm" formula="N" Z="7">
+      <atom unit="g/mole" value="14.006740000000001"/>
+    </element>
+    <element name="OXYGEN_elm" formula="O" Z="8">
+      <atom unit="g/mole" value="15.9994"/>
+    </element>
+    <material name="_dd_Materials_Air">
+      <D unit="g/cm3" value="0.001204999365978422"/>
+      <fraction n="0.69999998807907104" ref="NITROGEN_elm"/>
+      <fraction n="0.30000001192092896" ref="OXYGEN_elm"/>
+    </material>
+    <element name="ALUMINIUM_elm" formula="AL" Z="13">
+      <atom unit="g/mole" value="26.981538"/>
+    </element>
+    <material name="_dd_Materials_Ecal_EcalDrilledAluminium">
+      <D unit="g/cm3" value="1.350599289369673"/>
+      <fraction n="0.9995499849319458" ref="ALUMINIUM_elm"/>
+      <fraction n="0.00031500001205131412" ref="NITROGEN_elm"/>
+      <fraction n="0.00013499999477062374" ref="OXYGEN_elm"/>
+    </material>
+    <element name="CARBON_elm" formula="C" Z="6">
+      <atom unit="g/mole" value="12.0107"/>
+    </element>
+    <element name="IRON_elm" formula="FE" Z="26">
+      <atom unit="g/mole" value="55.844999999999999"/>
+    </element>
+    <material name="_dd_Materials_Ecal_EcalSteel">
+      <D unit="g/cm3" value="7.8699958591287782"/>
+      <fraction n="0.029999999329447746" ref="CARBON_elm"/>
+      <fraction n="0.97000002861022949" ref="IRON_elm"/>
+    </material>
+    <element name="LEAD_elm" formula="PB" Z="82">
+      <atom unit="g/mole" value="207.19999999999999"/>
+    </element>
+    <material name="_dd_Materials_Ecal_EcalPb">
+      <D unit="g/cm3" value="11.3499940280955"/>
+      <fraction n="1" ref="LEAD_elm"/>
+    </material>
+   <!-- CBG: Add in Tyvek paper -->
+   <!-- density changed from 2.265 to 0.38 (June 2023)-->
+    <material name="_dd_Materials_Ecal_EcalPaper">
+      <D unit="g/cm3" value="0.38"/>
+      <fraction n="1" ref="CARBON_elm"/>
+    </material>
+    <element name="HYDROGEN_elm" formula="H" Z="1">
+      <atom unit="g/mole" value="1.0079400000000001"/>
+    </element>
+    <material name="_dd_Materials_Ecal_EcalPlasticInnFC">
+      <D unit="g/cm3" value="0.28699984899237091"/>
+      <fraction n="0.91962671279907227" ref="CARBON_elm"/>
+      <fraction n="0.077173300087451935" ref="HYDROGEN_elm"/>
+      <fraction n="0.0022400000598281622" ref="NITROGEN_elm"/>
+      <fraction n="0.00095999997574836016" ref="OXYGEN_elm"/>
+    </material>
+    <material name="_dd_Materials_Ecal_EcalPlasticBC">
+      <D unit="g/cm3" value="0.1099999421225115"/>
+      <fraction n="0.92165637016296387" ref="CARBON_elm"/>
+      <fraction n="0.07734362781047821" ref="HYDROGEN_elm"/>
+      <fraction n="0.000699999975040555" ref="NITROGEN_elm"/>
+      <fraction n="0.00030000001424923539" ref="OXYGEN_elm"/>
+    </material>
+    <material name="_dd_Materials_Ecal_EcalPlastic">
+      <D unit="g/cm3" value="1.0319994570039259"/>
+      <fraction n="0.92257893085479736" ref="CARBON_elm"/>
+      <fraction n="0.077421046793460846" ref="HYDROGEN_elm"/>
+    </material>
+    <material name="_dd_Materials_Ecal_EcalFiber">
+      <D unit="g/cm3" value="1.0319994570039259"/>
+      <fraction n="0.92257893085479736" ref="CARBON_elm"/>
+      <fraction n="0.077421046793460846" ref="HYDROGEN_elm"/>
+    </material>
+    <material name="_dd_Materials_Ecal_EcalSc">
+      <D unit="g/cm3" value="1.0319994570039259"/>
+      <fraction n="0.92257893085479736" ref="CARBON_elm"/>
+      <fraction n="0.077421046793460846" ref="HYDROGEN_elm"/>
+    </material>
+    <material name="_dd_Materials_Ecal_EcalPlasticMidFC">
+      <D unit="g/cm3" value="0.25399986635561739"/>
+      <fraction n="0.91925764083862305" ref="CARBON_elm"/>
+      <fraction n="0.077142335474491119" ref="HYDROGEN_elm"/>
+      <fraction n="0.0025200000964105129" ref="NITROGEN_elm"/>
+      <fraction n="0.0010799999581649899" ref="OXYGEN_elm"/>
+    </material>
+    <material name="_dd_Materials_Ecal_EcalPlasticOutFC">
+      <D unit="g/cm3" value="0.23499987635263819"/>
+      <fraction n="0.9188886284828186" ref="CARBON_elm"/>
+      <fraction n="0.077111363410949707" ref="HYDROGEN_elm"/>
+      <fraction n="0.00279999990016222" ref="NITROGEN_elm"/>
+      <fraction n="0.0012000000569969416" ref="OXYGEN_elm"/>
+    </material>
+  </materials>
+  <solids>
+    <box name="Ecal_Box" x="1580.1600000000001" y="638.88000000000011" z="83" lunit="cm"/>
+    <polycone name="EcalPipeHole" startphi="0" deltaphi="360" aunit="deg" lunit="cm">
+      <zplane z="-42.25" rmin="0" rmax="15.602500000000001"/>
+      <zplane z="6.7610000000000019" rmin="0" rmax="16.092500000000001"/>
+      <zplane z="9.0610000000000017" rmin="0" rmax="16.199999999999999"/>
+      <zplane z="9.1110000000000024" rmin="0" rmax="19.100000000000001"/>
+      <zplane z="30.761000000000003" rmin="0" rmax="20.600000000000001"/>
+      <zplane z="42.25" rmin="0" rmax="20.600000000000001"/>
+    </polycone>
+    <subtraction name="Ecal_Total_shape_0x556245e66280">
+      <first ref="Ecal_Box"/>
+      <second ref="EcalPipeHole"/>
+      <position name="Ecal_Total_shape_0x556245e66280EcalPipeHolepos" x="0" y="0.019000000000000003" z="0" unit="cm"/>
+      <rotation name="Ecal_Total_shape_0x556245e66280EcalPipeHolerot" x="-0.20699999999999999" y="-0" z="0" unit="deg"/>
+    </subtraction>
+    <box name="Ecal_Box_Left" x="390.08000000000004" y="633.88000000000011" z="82.5" lunit="cm"/>
+    <polycone name="EcalPipeHoleLeft" startphi="0" deltaphi="360" aunit="deg" lunit="cm">
+      <zplane z="-42.25" rmin="0" rmax="15.602500000000001"/>
+      <zplane z="6.7610000000000019" rmin="0" rmax="16.092500000000001"/>
+      <zplane z="9.0610000000000017" rmin="0" rmax="16.199999999999999"/>
+      <zplane z="9.1110000000000024" rmin="0" rmax="19.100000000000001"/>
+      <zplane z="30.761000000000003" rmin="0" rmax="20.600000000000001"/>
+      <zplane z="42.25" rmin="0" rmax="20.600000000000001"/>
+    </polycone>
+    <subtraction name="Ecal_Total_Left_shape_0x556245e614d0">
+      <first ref="Ecal_Box_Left"/>
+      <second ref="EcalPipeHoleLeft"/>
+      <position name="Ecal_Total_Left_shape_0x556245e614d0EcalPipeHoleLeftpos" x="-195.04000000000002" y="0.019000000000000003" z="0" unit="cm"/>
+      <rotation name="Ecal_Total_Left_shape_0x556245e614d0EcalPipeHoleLeftrot" x="-0.20699999999999999" y="-0" z="0" unit="deg"/>
+    </subtraction>
+    <box name="ShildBoxLeft" x="389.08000000000004" y="632.88000000000011" z="0.10000000000000001" lunit="cm"/>
+    <box name="Subtracted_Shild_Box_Left" x="49.760000000000005" y="49.760000000000005" z="1.1000000000000001" lunit="cm"/>
+    <subtraction name="ShieldSubLeft_shape_0x556245e5ac20">
+      <first ref="ShildBoxLeft"/>
+      <second ref="Subtracted_Shild_Box_Left"/>
+      <position name="ShieldSubLeft_shape_0x556245e5ac20Subtracted_Shild_Box_Leftpos" x="-194.54000000000002" y="0" z="0" unit="cm"/>
+    </subtraction>
+    <box name="PlugboxL" x="24.380000000000003" y="48.760000000000005" z="82.5" lunit="cm"/>
+    <polycone name="PipeHoleL" startphi="0" deltaphi="360" aunit="deg" lunit="cm">
+      <zplane z="-42.25" rmin="0" rmax="15.602500000000001"/>
+      <zplane z="6.7610000000000019" rmin="0" rmax="16.092500000000001"/>
+      <zplane z="9.0610000000000017" rmin="0" rmax="16.199999999999999"/>
+      <zplane z="9.1110000000000024" rmin="0" rmax="19.100000000000001"/>
+      <zplane z="30.761000000000003" rmin="0" rmax="20.600000000000001"/>
+      <zplane z="42.25" rmin="0" rmax="20.600000000000001"/>
+    </polycone>
+    <subtraction name="PlugWithHoleL_shape_0x556245e5cbc0">
+      <first ref="PlugboxL"/>
+      <second ref="PipeHoleL"/>
+      <position name="PlugWithHoleL_shape_0x556245e5cbc0PipeHoleLpos" x="-12.190000000000001" y="0.019000000000000003" z="0" unit="cm"/>
+      <rotation name="PlugWithHoleL_shape_0x556245e5cbc0PipeHoleLrot" x="-0.20699999999999999" y="-0" z="0" unit="deg"/>
+    </subtraction>
+    <box name="HAirSlot_shape_0x556245e5ad40" x="24.380000000000003" y="2.2000000000000002" z="23.5" lunit="cm"/>
+    <box name="VAirSlot_shape_0x556245e5ade0" x="2.2000000000000002" y="44.360000000000007" z="23.5" lunit="cm"/>
+    <box name="HSteelSheet1_shape_0x556245e5aed0" x="24.375" y="2.1899999999999999" z="58.990000000000002" lunit="cm"/>
+    <box name="VSteelSheet1_shape_0x556245e5afc0" x="2.1899999999999999" y="44.350000000000001" z="58.990000000000002" lunit="cm"/>
+    <box name="HSteelSheet2_shape_0x556245e5b0b0" x="22.175000000000001" y="0.79000000000000004" z="33.990000000000002" lunit="cm"/>
+    <box name="VSteelSheet2_shape_0x556245e5b1a0" x="0.79000000000000004" y="42.75" z="33.990000000000002" lunit="cm"/>
+    <box name="StSheet1L" x="21.375" y="42.75" z="0.9900000000000001" lunit="cm"/>
+    <tube name="CylinderHole1L" rmin="0" rmax="21" z="2" startphi="0" deltaphi="360" aunit="deg" lunit="cm"/>
+    <subtraction name="StSheetWithHole1L_shape_0x556245e5b910">
+      <first ref="StSheet1L"/>
+      <second ref="CylinderHole1L"/>
+      <position name="StSheetWithHole1L_shape_0x556245e5b910CylinderHole1Lpos" x="-10.6875" y="0" z="0" unit="cm"/>
+    </subtraction>
+    <box name="StSheet2L" x="22.175000000000001" y="44.350000000000001" z="0.9900000000000001" lunit="cm"/>
+    <tube name="CylinderHole2L" rmin="0" rmax="16.5" z="3" startphi="0" deltaphi="360" aunit="deg" lunit="cm"/>
+    <subtraction name="StSheetWithHole2L_shape_0x556245e5c0c0">
+      <first ref="StSheet2L"/>
+      <second ref="CylinderHole2L"/>
+      <position name="StSheetWithHole2L_shape_0x556245e5c0c0CylinderHole2Lpos" x="-11.0875" y="0" z="0" unit="cm"/>
+    </subtraction>
+    <box name="Inner_Box_Left" x="97.52000000000001" y="146.28" z="69" lunit="cm"/>
+    <box name="Subtracted_Support_Box_Left" x="48.760000000000005" y="48.760000000000005" z="70" lunit="cm"/>
+    <subtraction name="Ecal_Inner_Section_Left_shape_0x556245e5e100">
+      <first ref="Inner_Box_Left"/>
+      <second ref="Subtracted_Support_Box_Left"/>
+      <position name="Ecal_Inner_Section_Left_shape_0x556245e5e100Subtracted_Support_Box_Leftpos" x="-48.760000000000005" y="0" z="0" unit="cm"/>
+    </subtraction>
+    <box name="Inner_Block1_shape_0x556245e5d850" x="97.52000000000001" y="24.380000000000003" z="69" lunit="cm"/>
+    <box name="Inner_Module_Box_shape_0x556245e5d720" x="12.190000000000001" y="12.190000000000001" z="69" lunit="cm"/>
+    <box name="Inner_Module_Front_Cover_Box_shape_0x556245e5cca0" x="12.190000000000001" y="12.190000000000001" z="2.3000000000000003" lunit="cm"/>
+    <box name="Inner_Module_Back_Cover_Box_shape_0x556245e5cd70" x="12.190000000000001" y="12.190000000000001" z="6.9000000000000004" lunit="cm"/>
+    <box name="Inner_Module_Read_Out_Box_shape_0x556245e5cfd0" x="12.190000000000001" y="12.190000000000001" z="16.600000000000001" lunit="cm"/>
+    <box name="Inner_Read_Out_Box_shape_0x556245e5ce70" x="11.07" y="11.07" z="16.600000000000001" lunit="cm"/>
+    <box name="Inner_Stack_Main_Box_shape_0x556245e5d5f0" x="12.170000000000002" y="12.170000000000002" z="43.200000000000003" lunit="cm"/>
+    <box name="Inner_Cell_Main_Box_shape_0x556245e5d4f0" x="4.04" y="4.04" z="43.200000000000003" lunit="cm"/>
+    <box name="Steel_Cell_Box_shape_0x556245e5d0d0" x="4.04" y="4.04" z="0.10000000000000001" lunit="cm"/>
+    <box name="Plastic_Cell_Box_shape_0x556245e5d1a0" x="4.04" y="4.04" z="0.70000000000000007" lunit="cm"/>
+    <box name="Pb_Cell_Box_shape_0x556245e5d420" x="4.04" y="4.04" z="0.20000000000000001" lunit="cm"/>
+    <tube name="Fiber_Tube_Pb_shape_0x556245e5d330" rmin="0" rmax="0.059999999999999998" z="0.20000000000000001" startphi="0" deltaphi="360" aunit="deg" lunit="cm"/>
+    <box name="Inner_Block2_shape_0x556245e5d940" x="73.140000000000015" y="24.380000000000003" z="69" lunit="cm"/>
+    <box name="Middle_Box_Left" x="195.04000000000002" y="243.80000000000001" z="70.5" lunit="cm"/>
+    <box name="Middle_Subtracted_Box_Left" x="195.04000000000002" y="146.28" z="71.5" lunit="cm"/>
+    <subtraction name="Ecal_Middle_Section_Left_shape_0x556245e5f570">
+      <first ref="Middle_Box_Left"/>
+      <second ref="Middle_Subtracted_Box_Left"/>
+      <position name="Ecal_Middle_Section_Left_shape_0x556245e5f570Middle_Subtracted_Box_Leftpos" x="-97.52000000000001" y="0" z="0" unit="cm"/>
+    </subtraction>
+    <box name="Middle_Block_shape_0x556245e5edc0" x="97.52000000000001" y="24.380000000000003" z="70.5" lunit="cm"/>
+    <box name="Middle_Module_Box_shape_0x556245e5ec90" x="12.190000000000001" y="12.190000000000001" z="70.5" lunit="cm"/>
+    <box name="Middle_Module_Front_Cover_Box_shape_0x556245e5e210" x="12.190000000000001" y="12.190000000000001" z="2.3000000000000003" lunit="cm"/>
+    <box name="Middle_Module_Back_Cover_Box_shape_0x556245e5e320" x="12.190000000000001" y="12.190000000000001" z="7.4000000000000004" lunit="cm"/>
+    <box name="Middle_Module_Read_Out_Box_shape_0x556245e5e630" x="12.190000000000001" y="12.190000000000001" z="17.600000000000001" lunit="cm"/>
+    <tube name="Middle_Read_Out_Tube_shape_0x556245e5e4b0" rmin="1.5" rmax="1.7000000000000002" z="17.600000000000001" startphi="0" deltaphi="360" aunit="deg" lunit="cm"/>
+    <box name="Middle_Stack_Main_Box_shape_0x556245e5eb60" x="12.170000000000002" y="12.170000000000002" z="43.200000000000003" lunit="cm"/>
+    <box name="Middle_Cell_Main_Box_shape_0x556245e5ea30" x="6.0600000000000005" y="6.0600000000000005" z="43.200000000000003" lunit="cm"/>
+    <box name="Steel_Cell_Box_shape_0x556245e5e700" x="6.0600000000000005" y="6.0600000000000005" z="0.10000000000000001" lunit="cm"/>
+    <box name="Plastic_Cell_Box_shape_0x556245e5e810" x="6.0600000000000005" y="6.0600000000000005" z="0.70000000000000007" lunit="cm"/>
+    <box name="Pb_Cell_Box_shape_0x556245e5e940" x="6.0600000000000005" y="6.0600000000000005" z="0.20000000000000001" lunit="cm"/>
+    <box name="Outer_Box" x="390.08000000000004" y="633.88000000000011" z="70.5" lunit="cm"/>
+    <box name="Outer_Subtracted_Box_Left" x="390.08000000000004" y="243.80000000000001" z="71.5" lunit="cm"/>
+    <subtraction name="Ecal_Outer_Section_Left_shape_0x556245e609b0">
+      <first ref="Outer_Box"/>
+      <second ref="Outer_Subtracted_Box_Left"/>
+      <position name="Ecal_Outer_Section_Left_shape_0x556245e609b0Outer_Subtracted_Box_Leftpos" x="-195.04000000000002" y="0" z="0" unit="cm"/>
+    </subtraction>
+    <box name="Outer_Block_shape_0x556245e60230" x="195.04000000000002" y="24.380000000000003" z="70.5" lunit="cm"/>
+    <box name="Outer_Module_Box_shape_0x556245e60100" x="12.190000000000001" y="12.190000000000001" z="70.5" lunit="cm"/>
+    <box name="Outer_Module_Front_Cover_Box_shape_0x556245e5f680" x="12.190000000000001" y="12.190000000000001" z="2.3000000000000003" lunit="cm"/>
+    <box name="Outer_Module_Back_Cover_Box_shape_0x556245e5f790" x="12.190000000000001" y="12.190000000000001" z="7.4000000000000004" lunit="cm"/>
+    <box name="Outer_Module_Read_Out_Box_shape_0x556245e5faa0" x="12.190000000000001" y="12.190000000000001" z="17.600000000000001" lunit="cm"/>
+    <tube name="Outer_Read_Out_Tube_shape_0x556245e5f920" rmin="1.5" rmax="1.7000000000000002" z="17.600000000000001" startphi="0" deltaphi="360" aunit="deg" lunit="cm"/>
+    <box name="Outer_Stack_Main_Box_shape_0x556245e5ffd0" x="12.170000000000002" y="12.170000000000002" z="43.200000000000003" lunit="cm"/>
+    <box name="Outer_Cell_Main_Box_shape_0x556245e5fea0" x="12.120000000000001" y="12.120000000000001" z="43.200000000000003" lunit="cm"/>
+    <box name="Steel_Cell_Box_shape_0x556245e5fb70" x="12.120000000000001" y="12.120000000000001" z="0.10000000000000001" lunit="cm"/>
+    <box name="Plastic_Cell_Box_shape_0x556245e5fc80" x="12.120000000000001" y="12.120000000000001" z="0.70000000000000007" lunit="cm"/>
+    <box name="Pb_Cell_Box_shape_0x556245e5fdb0" x="12.120000000000001" y="12.120000000000001" z="0.2000000000000001" lunit="cm"/>
+    <!-- CBG: added this to be 240 microns larger than above to include lead + tyvek -->
+    <box name="Paper_Cell_Box_shape_0x556245e5fdb0" x="12.120000000000001" y="12.120000000000001" z="0.22400000000000001" lunit="cm"/>
+    <box name="Ecal_Box_Right" x="390.08000000000004" y="633.88000000000011" z="82.5" lunit="cm"/>
+    <polycone name="EcalPipeHoleRight" startphi="0" deltaphi="360" aunit="deg" lunit="cm">
+      <zplane z="-42.25" rmin="0" rmax="15.602500000000001"/>
+      <zplane z="6.7610000000000019" rmin="0" rmax="16.092500000000001"/>
+      <zplane z="9.0610000000000017" rmin="0" rmax="16.199999999999999"/>
+      <zplane z="9.1110000000000024" rmin="0" rmax="19.100000000000001"/>
+      <zplane z="30.761000000000003" rmin="0" rmax="20.600000000000001"/>
+      <zplane z="42.25" rmin="0" rmax="20.600000000000001"/>
+    </polycone>
+    <subtraction name="Ecal_Total_Right_shape_0x556245e65890">
+      <first ref="Ecal_Box_Right"/>
+      <second ref="EcalPipeHoleRight"/>
+      <position name="Ecal_Total_Right_shape_0x556245e65890EcalPipeHoleRightpos" x="195.04000000000002" y="0.019000000000000003" z="0" unit="cm"/>
+      <rotation name="Ecal_Total_Right_shape_0x556245e65890EcalPipeHoleRightrot" x="-0.20699999999999999" y="-0" z="0" unit="deg"/>
+    </subtraction>
+    <box name="ShildBoxRight" x="389.08000000000004" y="632.88000000000011" z="0.10000000000000001" lunit="cm"/>
+    <box name="Subtracted_Shild_Box_Right" x="49.760000000000005" y="49.760000000000005" z="1.1000000000000001" lunit="cm"/>
+    <subtraction name="ShieldSubRight_shape_0x556245e61c60">
+      <first ref="ShildBoxRight"/>
+      <second ref="Subtracted_Shild_Box_Right"/>
+      <position name="ShieldSubRight_shape_0x556245e61c60Subtracted_Shild_Box_Rightpos" x="194.54000000000002" y="0" z="0" unit="cm"/>
+    </subtraction>
+    <box name="PlugboxR" x="24.380000000000003" y="48.760000000000005" z="82.5" lunit="cm"/>
+    <polycone name="PipeHoleR" startphi="0" deltaphi="360" aunit="deg" lunit="cm">
+      <zplane z="-42.25" rmin="0" rmax="15.602500000000001"/>
+      <zplane z="6.7610000000000019" rmin="0" rmax="16.092500000000001"/>
+      <zplane z="9.0610000000000017" rmin="0" rmax="16.199999999999999"/>
+      <zplane z="9.1110000000000024" rmin="0" rmax="19.100000000000001"/>
+      <zplane z="30.761000000000003" rmin="0" rmax="20.600000000000001"/>
+      <zplane z="42.25" rmin="0" rmax="20.600000000000001"/>
+    </polycone>
+    <subtraction name="PlugWithHoleR_shape_0x556245e63640">
+      <first ref="PlugboxR"/>
+      <second ref="PipeHoleR"/>
+      <position name="PlugWithHoleR_shape_0x556245e63640PipeHoleRpos" x="12.190000000000001" y="0.019000000000000003" z="0" unit="cm"/>
+      <rotation name="PlugWithHoleR_shape_0x556245e63640PipeHoleRrot" x="-0.20699999999999999" y="-0" z="0" unit="deg"/>
+    </subtraction>
+    <box name="StSheet1R" x="21.375" y="42.75" z="0.9900000000000001" lunit="cm"/>
+    <tube name="CylinderHole1R" rmin="0" rmax="21" z="2" startphi="0" deltaphi="360" aunit="deg" lunit="cm"/>
+    <subtraction name="StSheetWithHole1R_shape_0x556245e62390">
+      <first ref="StSheet1R"/>
+      <second ref="CylinderHole1R"/>
+      <position name="StSheetWithHole1R_shape_0x556245e62390CylinderHole1Rpos" x="10.6875" y="0" z="0" unit="cm"/>
+    </subtraction>
+    <box name="StSheet2R" x="22.175000000000001" y="44.350000000000001" z="0.9900000000000001" lunit="cm"/>
+    <tube name="CylinderHole2R" rmin="0" rmax="16.5" z="3" startphi="0" deltaphi="360" aunit="deg" lunit="cm"/>
+    <subtraction name="StSheetWithHole2R_shape_0x556245e62b40">
+      <first ref="StSheet2R"/>
+      <second ref="CylinderHole2R"/>
+      <position name="StSheetWithHole2R_shape_0x556245e62b40CylinderHole2Rpos" x="11.0875" y="0" z="0" unit="cm"/>
+    </subtraction>
+    <box name="Inner_Box_Right" x="97.52000000000001" y="146.28" z="69" lunit="cm"/>
+    <box name="Subtracted_Support_Box_Right" x="48.760000000000005" y="48.760000000000005" z="70" lunit="cm"/>
+    <subtraction name="Ecal_Inner_Section_Right_shape_0x556245e63d80">
+      <first ref="Inner_Box_Right"/>
+      <second ref="Subtracted_Support_Box_Right"/>
+      <position name="Ecal_Inner_Section_Right_shape_0x556245e63d80Subtracted_Support_Box_Rightpos" x="48.760000000000005" y="0" z="0" unit="cm"/>
+    </subtraction>
+    <box name="Middle_Box_Right" x="195.04000000000002" y="243.80000000000001" z="70.5" lunit="cm"/>
+    <box name="Middle_Subtracted_Box_Right" x="195.04000000000002" y="146.28" z="71.5" lunit="cm"/>
+    <subtraction name="Ecal_Middle_Section_Right_shape_0x556245e64570">
+      <first ref="Middle_Box_Right"/>
+      <second ref="Middle_Subtracted_Box_Right"/>
+      <position name="Ecal_Middle_Section_Right_shape_0x556245e64570Middle_Subtracted_Box_Rightpos" x="97.52000000000001" y="0" z="0" unit="cm"/>
+    </subtraction>
+    <box name="Outer_Box_Right" x="390.08000000000004" y="633.88000000000011" z="70.5" lunit="cm"/>
+    <box name="Outer_Subtracted_Box_Right" x="390.08000000000004" y="243.80000000000001" z="71.5" lunit="cm"/>
+    <subtraction name="Ecal_Outer_Section_Right_shape_0x556245e64d70">
+      <first ref="Outer_Box_Right"/>
+      <second ref="Outer_Subtracted_Box_Right"/>
+      <position name="Ecal_Outer_Section_Right_shape_0x556245e64d70Outer_Subtracted_Box_Rightpos" x="195.04000000000002" y="0" z="0" unit="cm"/>
+    </subtraction>
+  </solids>
+  <structure>
+    <volume name="_dd_Geometry_DownstreamRegion_Ecal_Installation_ShieldLeft">
+      <materialref ref="_dd_Materials_Ecal_EcalDrilledAluminium"/>
+      <solidref ref="ShieldSubLeft_shape_0x556245e5ac20"/>
+    </volume>
+    <volume name="_dd_Geometry_DownstreamRegion_Ecal_Installation_HorizontalAirSlot">
+      <materialref ref="_dd_Materials_Air"/>
+      <solidref ref="HAirSlot_shape_0x556245e5ad40"/>
+    </volume>
+    <volume name="_dd_Geometry_DownstreamRegion_Ecal_Installation_VerticalAirSlot">
+      <materialref ref="_dd_Materials_Air"/>
+      <solidref ref="VAirSlot_shape_0x556245e5ade0"/>
+    </volume>
+    <volume name="_dd_Geometry_DownstreamRegion_Ecal_Installation_HorizontalSteelSheet1">
+      <materialref ref="_dd_Materials_Ecal_EcalSteel"/>
+      <solidref ref="HSteelSheet1_shape_0x556245e5aed0"/>
+    </volume>
+    <volume name="_dd_Geometry_DownstreamRegion_Ecal_Installation_VericalSteelSheet1">
+      <materialref ref="_dd_Materials_Ecal_EcalSteel"/>
+      <solidref ref="VSteelSheet1_shape_0x556245e5afc0"/>
+    </volume>
+    <volume name="_dd_Geometry_DownstreamRegion_Ecal_Installation_HorizontalSteelSheet2">
+      <materialref ref="_dd_Materials_Ecal_EcalSteel"/>
+      <solidref ref="HSteelSheet2_shape_0x556245e5b0b0"/>
+    </volume>
+    <volume name="_dd_Geometry_DownstreamRegion_Ecal_Installation_VericalSteelSheet2">
+      <materialref ref="_dd_Materials_Ecal_EcalSteel"/>
+      <solidref ref="VSteelSheet2_shape_0x556245e5b1a0"/>
+    </volume>
+    <volume name="_dd_Geometry_DownstreamRegion_Ecal_Installation_SteelSheetWithHole1Left">
+      <materialref ref="_dd_Materials_Ecal_EcalSteel"/>
+      <solidref ref="StSheetWithHole1L_shape_0x556245e5b910"/>
+    </volume>
+    <volume name="_dd_Geometry_DownstreamRegion_Ecal_Installation_SteelSheetWithHole2Left">
+      <materialref ref="_dd_Materials_Ecal_EcalSteel"/>
+      <solidref ref="StSheetWithHole2L_shape_0x556245e5c0c0"/>
+    </volume>
+    <volume name="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportLeft">
+      <materialref ref="_dd_Materials_Ecal_EcalPb"/>
+      <solidref ref="PlugWithHoleL_shape_0x556245e5cbc0"/>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportLeft_HAirSlotsL0x8a28320" copynumber="1000">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_HorizontalAirSlot"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportLeft_HAirSlotsL0x8a28320in_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportLeft_HAirSlotsL_10x8a27590" copynumber="1">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_HorizontalAirSlot"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportLeft_HAirSlotsL_10x8a27590in_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportLeft_VAirSlotsL0x8a27820" copynumber="1002">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_VerticalAirSlot"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportLeft_VAirSlotsL0x8a27820in_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportLeft_HSteelSheets1L0x8a29050" copynumber="1003">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_HorizontalSteelSheet1"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportLeft_HSteelSheets1L0x8a29050in_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportLeft_HSteelSheets1L_10x8a29110" copynumber="1">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_HorizontalSteelSheet1"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportLeft_HSteelSheets1L_10x8a29110in_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportLeft_VSteelSheets1L0x8a293f0" copynumber="1005">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_VericalSteelSheet1"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportLeft_VSteelSheets1L0x8a293f0in_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportLeft_HSteelSheets2L0x8a296b0" copynumber="1006">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_HorizontalSteelSheet2"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportLeft_HSteelSheets2L0x8a296b0in_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportLeft_HSteelSheets2L_10x8a29770" copynumber="1">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_HorizontalSteelSheet2"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportLeft_HSteelSheets2L_10x8a29770in_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportLeft_VSteelSheets2L0x8a29a60" copynumber="1008">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_VericalSteelSheet2"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportLeft_VSteelSheets2L0x8a29a60in_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportLeft_SteelSheets1L0x8a2a0a0" copynumber="1009">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_SteelSheetWithHole1Left"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportLeft_SteelSheets1L0x8a2a0a0in_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportLeft_SteelSheets1L_10x8a2a160" copynumber="1">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_SteelSheetWithHole1Left"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportLeft_SteelSheets1L_10x8a2a160in_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportLeft_SteelSheets2L0x8a2a760" copynumber="1011">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_SteelSheetWithHole2Left"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportLeft_SteelSheets2L0x8a2a760in_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportLeft_SteelSheets2L_10x8a2a820" copynumber="1">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_SteelSheetWithHole2Left"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportLeft_SteelSheets2L_10x8a2a820in_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportLeft_SteelSheets2L_20x8a2a8e0" copynumber="2">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_SteelSheetWithHole2Left"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportLeft_SteelSheets2L_20x8a2a8e0in_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportLeftpos"/>
+      </physvol>
+    </volume>
+    <volume name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnFrontCover">
+      <materialref ref="_dd_Materials_Ecal_EcalPlasticInnFC"/>
+      <solidref ref="Inner_Module_Front_Cover_Box_shape_0x556245e5cca0"/>
+    </volume>
+    <volume name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnBackCover">
+      <materialref ref="_dd_Materials_Ecal_EcalPlasticBC"/>
+      <solidref ref="Inner_Module_Back_Cover_Box_shape_0x556245e5cd70"/>
+    </volume>
+    <volume name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnReadOutBox">
+      <materialref ref="_dd_Materials_Ecal_EcalPlasticBC"/>
+      <solidref ref="Inner_Read_Out_Box_shape_0x556245e5ce70"/>
+    </volume>
+    <volume name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnReadOut">
+      <materialref ref="_dd_Materials_Air"/>
+      <solidref ref="Inner_Module_Read_Out_Box_shape_0x556245e5cfd0"/>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnReadOut_InnerReadOutBox0x8a2d720" copynumber="1000">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnReadOutBox"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnReadOut_InnerReadOutBox0x8a2d720in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnReadOutpos"/>
+      </physvol>
+    </volume>
+    <volume name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellSteel">
+      <materialref ref="_dd_Materials_Ecal_EcalSteel"/>
+      <solidref ref="Steel_Cell_Box_shape_0x556245e5d0d0"/>
+    </volume>
+    <volume name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPlastic">
+      <materialref ref="_dd_Materials_Ecal_EcalPlastic"/>
+      <solidref ref="Plastic_Cell_Box_shape_0x556245e5d1a0"/>
+    </volume>
+    <volume name="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb">
+      <materialref ref="_dd_Materials_Ecal_EcalFiber"/>
+      <solidref ref="Fiber_Tube_Pb_shape_0x556245e5d330"/>
+    </volume>
+    <volume name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb">
+      <materialref ref="_dd_Materials_Ecal_EcalPb"/>
+      <solidref ref="Pb_Cell_Box_shape_0x556245e5d420"/>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb_InnerPbFiber0x8a30470" copynumber="1000">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb_InnerPbFiber0x8a30470in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb_InnerPbFiber_10x8a30520" copynumber="1">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb_InnerPbFiber_10x8a30520in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb_InnerPbFiber_20x8a305d0" copynumber="2">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb_InnerPbFiber_20x8a305d0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb_InnerPbFiber_30x8a306e0" copynumber="3">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb_InnerPbFiber_30x8a306e0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb_InnerPbFiber_40x8a307c0" copynumber="4">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb_InnerPbFiber_40x8a307c0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb_InnerPbFiber_50x8a308f0" copynumber="5">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb_InnerPbFiber_50x8a308f0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb_InnerPbFiber_60x8a309a0" copynumber="6">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb_InnerPbFiber_60x8a309a0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb_InnerPbFiber_70x8a30a80" copynumber="7">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb_InnerPbFiber_70x8a30a80in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb_InnerPbFiber_80x8a30b60" copynumber="8">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb_InnerPbFiber_80x8a30b60in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb_InnerPbFiber_90x8a30cd0" copynumber="9">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb_InnerPbFiber_90x8a30cd0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb_InnerPbFiber_100x8a30d60" copynumber="10">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb_InnerPbFiber_100x8a30d60in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb_InnerPbFiber_110x8a30e40" copynumber="11">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb_InnerPbFiber_110x8a30e40in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb_InnerPbFiber_120x8a30f20" copynumber="12">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb_InnerPbFiber_120x8a30f20in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb_InnerPbFiber_130x8a31000" copynumber="13">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb_InnerPbFiber_130x8a31000in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb_InnerPbFiber_140x8a310e0" copynumber="14">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb_InnerPbFiber_140x8a310e0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb_InnerPbFiber_150x8a311c0" copynumber="15">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb_InnerPbFiber_150x8a311c0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPbpos"/>
+      </physvol>
+    </volume>
+    <volume name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell">
+      <materialref ref="_dd_Materials_Ecal_EcalSc"/>
+      <solidref ref="Inner_Cell_Main_Box_shape_0x556245e5d4f0"/>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_InnFrontSteelMatrix0x8a2e7b0" copynumber="1000">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellSteel"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_InnFrontSteelMatrix0x8a2e7b0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_InnBackSteelMatrix0x8a2e860" copynumber="1001">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellSteel"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_InnBackSteelMatrix0x8a2e860in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_InnFrontPlastic0x8a2f500" copynumber="1002">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPlastic"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_InnFrontPlastic0x8a2f500in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_InnBackPlastic0x8a2f560" copynumber="1003">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPlastic"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_InnBackPlastic0x8a2f560in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells0x8a312a0" copynumber="1004">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells0x8a312a0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_10x8a313d0" copynumber="1">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_10x8a313d0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_20x8a31480" copynumber="2">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_20x8a31480in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_30x8a31560" copynumber="3">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_30x8a31560in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_40x8a31640" copynumber="4">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_40x8a31640in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_50x8a317b0" copynumber="5">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_50x8a317b0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_60x8a31840" copynumber="6">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_60x8a31840in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_70x8a31920" copynumber="7">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_70x8a31920in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_80x8a31a00" copynumber="8">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_80x8a31a00in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_90x8a31ae0" copynumber="9">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_90x8a31ae0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_100x8a31bc0" copynumber="10">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_100x8a31bc0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_110x8a31ca0" copynumber="11">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_110x8a31ca0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_120x8a31d80" copynumber="12">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_120x8a31d80in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_130x8a31720" copynumber="13">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_130x8a31720in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_140x8a31fc0" copynumber="14">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_140x8a31fc0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_150x8a320a0" copynumber="15">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_150x8a320a0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_160x8a32180" copynumber="16">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_160x8a32180in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_170x8a32260" copynumber="17">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_170x8a32260in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_180x8a32340" copynumber="18">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_180x8a32340in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_190x8a32420" copynumber="19">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_190x8a32420in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_200x8a32500" copynumber="20">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_200x8a32500in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_210x8a325e0" copynumber="21">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_210x8a325e0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_220x8a326c0" copynumber="22">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_220x8a326c0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_230x8a327a0" copynumber="23">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_230x8a327a0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_240x8a32880" copynumber="24">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_240x8a32880in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_250x8a32960" copynumber="25">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_250x8a32960in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_260x8a32a40" copynumber="26">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_260x8a32a40in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_270x8a32b20" copynumber="27">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_270x8a32b20in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_280x8a32c00" copynumber="28">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_280x8a32c00in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_290x8a31e60" copynumber="29">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_290x8a31e60in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_300x8a32ef0" copynumber="30">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_300x8a32ef0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_310x8a32fa0" copynumber="31">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_310x8a32fa0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_320x8a33080" copynumber="32">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_320x8a33080in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_330x8a33160" copynumber="33">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_330x8a33160in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_340x8a33240" copynumber="34">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_340x8a33240in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_350x8a33320" copynumber="35">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_350x8a33320in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_360x8a33400" copynumber="36">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_360x8a33400in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_370x8a334e0" copynumber="37">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_370x8a334e0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_380x8a335c0" copynumber="38">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_380x8a335c0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_390x8a336a0" copynumber="39">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_390x8a336a0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_400x8a33780" copynumber="40">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_400x8a33780in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_410x8a33860" copynumber="41">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_410x8a33860in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_420x8a33940" copynumber="42">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_420x8a33940in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_430x8a33a20" copynumber="43">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_430x8a33a20in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_440x8a33b00" copynumber="44">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_440x8a33b00in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_450x8a33be0" copynumber="45">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_450x8a33be0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_460x8a33cc0" copynumber="46">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_460x8a33cc0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_470x8a33da0" copynumber="47">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_470x8a33da0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_480x8a33e80" copynumber="48">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_480x8a33e80in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_490x8a33f60" copynumber="49">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_490x8a33f60in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_500x8a34040" copynumber="50">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_500x8a34040in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_510x8a34120" copynumber="51">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_510x8a34120in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_520x8a34200" copynumber="52">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_520x8a34200in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_530x8a342e0" copynumber="53">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_530x8a342e0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_540x8a343c0" copynumber="54">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_540x8a343c0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_550x8a344a0" copynumber="55">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_550x8a344a0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_560x8a34580" copynumber="56">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_560x8a34580in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_570x8a34660" copynumber="57">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_570x8a34660in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_580x8a34740" copynumber="58">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_580x8a34740in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_590x8a34820" copynumber="59">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_590x8a34820in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_600x8a34900" copynumber="60">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_600x8a34900in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_610x8a303f0" copynumber="61">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_610x8a303f0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_620x8a32d60" copynumber="62">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_620x8a32d60in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_630x8a32e40" copynumber="63">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_630x8a32e40in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_640x8a34df0" copynumber="64">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_640x8a34df0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_650x8a34ed0" copynumber="65">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell_Inner_Pb_Cells_650x8a34ed0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCellpos"/>
+      </physvol>
+    </volume>
+    <volume name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnStack">
+      <materialref ref="_dd_Materials_Air"/>
+      <solidref ref="Inner_Stack_Main_Box_shape_0x556245e5d5f0"/>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnStack_Inner_Cells_Matrix0xed86e60" copynumber="1000">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnStack_Inner_Cells_Matrix0xed86e60in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnStackpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnStack_Inner_Cells_Matrix_10xed86ec0" copynumber="1">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnStack_Inner_Cells_Matrix_10xed86ec0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnStackpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnStack_Inner_Cells_Matrix_20xed87f90" copynumber="2">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnStack_Inner_Cells_Matrix_20xed87f90in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnStackpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnStack_Inner_Cells_Matrix_30xed880b0" copynumber="3">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnStack_Inner_Cells_Matrix_30xed880b0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnStackpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnStack_Inner_Cells_Matrix_40xed881a0" copynumber="4">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnStack_Inner_Cells_Matrix_40xed881a0in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnStackpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnStack_Inner_Cells_Matrix_50xed88960" copynumber="5">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnStack_Inner_Cells_Matrix_50xed88960in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnStackpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnStack_Inner_Cells_Matrix_60xed88a20" copynumber="6">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnStack_Inner_Cells_Matrix_60xed88a20in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnStackpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnStack_Inner_Cells_Matrix_70xed88b10" copynumber="7">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnStack_Inner_Cells_Matrix_70xed88b10in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnStackpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnStack_Inner_Cells_Matrix_80xed88c00" copynumber="8">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnCell"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnStack_Inner_Cells_Matrix_80xed88c00in_dd_Geometry_DownstreamRegion_Ecal_Modules_InnStackpos"/>
+      </physvol>
+    </volume>
+    <volume name="_dd_Geometry_DownstreamRegion_Ecal_Modules_Inner">
+      <materialref ref="_dd_Materials_Ecal_EcalSteel"/>
+      <solidref ref="Inner_Module_Box_shape_0x556245e5d720"/>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_Inner_InnerModuleFrontCover0x8a2b9a0" copynumber="1000">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnFrontCover"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Inner_InnerModuleFrontCover0x8a2b9a0in_dd_Geometry_DownstreamRegion_Ecal_Modules_Innerpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_Inner_InnerModuleBackCover0x8a2c990" copynumber="1001">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnBackCover"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Inner_InnerModuleBackCover0x8a2c990in_dd_Geometry_DownstreamRegion_Ecal_Modules_Innerpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_Inner_InnerModuleReadOut0x8a2d780" copynumber="1002">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnReadOut"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Inner_InnerModuleReadOut0x8a2d780in_dd_Geometry_DownstreamRegion_Ecal_Modules_Innerpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_Inner_InnerModuleStack0xed86f20" copynumber="1003">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_InnStack"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Inner_InnerModuleStack0xed86f20in_dd_Geometry_DownstreamRegion_Ecal_Modules_Innerpos"/>
+      </physvol>
+    </volume>
+    <volume name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1">
+      <materialref ref="_dd_Materials_Air"/>
+      <solidref ref="Inner_Block1_shape_0x556245e5d850"/>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1_Inner_Module_Rows10xed88e90" copynumber="1000">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Inner"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1_Inner_Module_Rows10xed88e90in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1pos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1_Inner_Module_Rows1_10xeda1ca0" copynumber="1">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Inner"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1_Inner_Module_Rows1_10xeda1ca0in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1pos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1_Inner_Module_Rows1_20xeda1d90" copynumber="2">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Inner"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1_Inner_Module_Rows1_20xeda1d90in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1pos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1_Inner_Module_Rows1_30xeda1eb0" copynumber="3">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Inner"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1_Inner_Module_Rows1_30xeda1eb0in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1pos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1_Inner_Module_Rows1_40xeda1fa0" copynumber="4">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Inner"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1_Inner_Module_Rows1_40xeda1fa0in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1pos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1_Inner_Module_Rows1_50xeda20e0" copynumber="5">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Inner"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1_Inner_Module_Rows1_50xeda20e0in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1pos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1_Inner_Module_Rows1_60xeda21a0" copynumber="6">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Inner"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1_Inner_Module_Rows1_60xeda21a0in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1pos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1_Inner_Module_Rows1_70xeda2290" copynumber="7">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Inner"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1_Inner_Module_Rows1_70xeda2290in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1pos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1_Inner_Module_Rows1_80xeda2380" copynumber="8">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Inner"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1_Inner_Module_Rows1_80xeda2380in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1pos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1_Inner_Module_Rows1_90xeda2500" copynumber="9">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Inner"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1_Inner_Module_Rows1_90xeda2500in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1pos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1_Inner_Module_Rows1_100xeda25f0" copynumber="10">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Inner"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1_Inner_Module_Rows1_100xeda25f0in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1pos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1_Inner_Module_Rows1_110xeda26e0" copynumber="11">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Inner"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1_Inner_Module_Rows1_110xeda26e0in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1pos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1_Inner_Module_Rows1_120xeda27d0" copynumber="12">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Inner"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1_Inner_Module_Rows1_120xeda27d0in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1pos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1_Inner_Module_Rows1_130xeda28c0" copynumber="13">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Inner"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1_Inner_Module_Rows1_130xeda28c0in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1pos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1_Inner_Module_Rows1_140xeda29b0" copynumber="14">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Inner"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1_Inner_Module_Rows1_140xeda29b0in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1pos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1_Inner_Module_Rows1_150xeda2aa0" copynumber="15">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Inner"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1_Inner_Module_Rows1_150xeda2aa0in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1pos"/>
+      </physvol>
+    </volume>
+    <volume name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock2">
+      <materialref ref="_dd_Materials_Air"/>
+      <solidref ref="Inner_Block2_shape_0x556245e5d940"/>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock2_Inner_Module_Rows20xeda2f30" copynumber="1000">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Inner"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock2_Inner_Module_Rows20xeda2f30in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock2pos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock2_Inner_Module_Rows2_10xeda3020" copynumber="1">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Inner"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock2_Inner_Module_Rows2_10xeda3020in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock2pos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock2_Inner_Module_Rows2_20xeda3110" copynumber="2">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Inner"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock2_Inner_Module_Rows2_20xeda3110in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock2pos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock2_Inner_Module_Rows2_30xeda3230" copynumber="3">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Inner"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock2_Inner_Module_Rows2_30xeda3230in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock2pos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock2_Inner_Module_Rows2_40xeda3320" copynumber="4">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Inner"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock2_Inner_Module_Rows2_40xeda3320in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock2pos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock2_Inner_Module_Rows2_50xeda3460" copynumber="5">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Inner"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock2_Inner_Module_Rows2_50xeda3460in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock2pos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock2_Inner_Module_Rows2_60xeda3520" copynumber="6">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Inner"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock2_Inner_Module_Rows2_60xeda3520in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock2pos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock2_Inner_Module_Rows2_70xeda3610" copynumber="7">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Inner"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock2_Inner_Module_Rows2_70xeda3610in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock2pos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock2_Inner_Module_Rows2_80xeda3700" copynumber="8">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Inner"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock2_Inner_Module_Rows2_80xeda3700in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock2pos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock2_Inner_Module_Rows2_90xeda37f0" copynumber="9">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Inner"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock2_Inner_Module_Rows2_90xeda37f0in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock2pos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock2_Inner_Module_Rows2_100xeda38e0" copynumber="10">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Inner"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock2_Inner_Module_Rows2_100xeda38e0in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock2pos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock2_Inner_Module_Rows2_110xeda39d0" copynumber="11">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Inner"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock2_Inner_Module_Rows2_110xeda39d0in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock2pos"/>
+      </physvol>
+    </volume>
+    <volume name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnSectionLeft">
+      <materialref ref="_dd_Materials_Air"/>
+      <solidref ref="Ecal_Inner_Section_Left_shape_0x556245e5e100"/>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnSectionLeft_Inner_Up_Rows_Left0xeda2c20" copynumber="1000">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnSectionLeft_Inner_Up_Rows_Left0xeda2c20in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnSectionLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnSectionLeft_Inner_Up_Rows_Left_10xeda2d10" copynumber="1">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnSectionLeft_Inner_Up_Rows_Left_10xeda2d10in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnSectionLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnSectionLeft_Inner_Left_Rows0xeda3b50" copynumber="1002">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock2"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnSectionLeft_Inner_Left_Rows0xeda3b50in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnSectionLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnSectionLeft_Inner_Left_Rows_10xeda3c70" copynumber="1">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock2"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnSectionLeft_Inner_Left_Rows_10xeda3c70in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnSectionLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnSectionLeft_Inner_Down_Rows_Left0xeda3d60" copynumber="1004">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnSectionLeft_Inner_Down_Rows_Left0xeda3d60in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnSectionLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnSectionLeft_Inner_Down_Rows_Left_10xeda3e50" copynumber="1">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnSectionLeft_Inner_Down_Rows_Left_10xeda3e50in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnSectionLeftpos"/>
+      </physvol>
+    </volume>
+    <volume name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidFrontCover">
+      <materialref ref="_dd_Materials_Ecal_EcalPlasticMidFC"/>
+      <solidref ref="Middle_Module_Front_Cover_Box_shape_0x556245e5e210"/>
+    </volume>
+    <volume name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidBackCover">
+      <materialref ref="_dd_Materials_Ecal_EcalPlasticBC"/>
+      <solidref ref="Middle_Module_Back_Cover_Box_shape_0x556245e5e320"/>
+    </volume>
+    <volume name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidReadOutTube">
+      <materialref ref="_dd_Materials_Ecal_EcalSteel"/>
+      <solidref ref="Middle_Read_Out_Tube_shape_0x556245e5e4b0"/>
+    </volume>
+    <volume name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidReadOut">
+      <materialref ref="_dd_Materials_Air"/>
+      <solidref ref="Middle_Module_Read_Out_Box_shape_0x556245e5e630"/>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidReadOut_Middle_ReadOutTube_Matrix0xeda5ea0" copynumber="1000">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidReadOutTube"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidReadOut_Middle_ReadOutTube_Matrix0xeda5ea0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidReadOutpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidReadOut_Middle_ReadOutTube_Matrix_10xeda5f60" copynumber="1">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidReadOutTube"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidReadOut_Middle_ReadOutTube_Matrix_10xeda5f60in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidReadOutpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidReadOut_Middle_ReadOutTube_Matrix_20xeda6070" copynumber="2">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidReadOutTube"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidReadOut_Middle_ReadOutTube_Matrix_20xeda6070in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidReadOutpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidReadOut_Middle_ReadOutTube_Matrix_30xeda6190" copynumber="3">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidReadOutTube"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidReadOut_Middle_ReadOutTube_Matrix_30xeda6190in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidReadOutpos"/>
+      </physvol>
+    </volume>
+    <volume name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellSteel">
+      <materialref ref="_dd_Materials_Ecal_EcalSteel"/>
+      <solidref ref="Steel_Cell_Box_shape_0x556245e5e700"/>
+    </volume>
+    <volume name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPlastic">
+      <materialref ref="_dd_Materials_Ecal_EcalPlastic"/>
+      <solidref ref="Plastic_Cell_Box_shape_0x556245e5e810"/>
+    </volume>
+    <volume name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb">
+      <materialref ref="_dd_Materials_Ecal_EcalPb"/>
+      <solidref ref="Pb_Cell_Box_shape_0x556245e5e940"/>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber0xeda7000" copynumber="1000">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber0xeda7000in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_10xeda70b0" copynumber="1">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_10xeda70b0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_20xeda7190" copynumber="2">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_20xeda7190in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_30xeda72a0" copynumber="3">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_30xeda72a0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_40xeda7380" copynumber="4">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_40xeda7380in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_50xeda74b0" copynumber="5">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_50xeda74b0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_60xeda7560" copynumber="6">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_60xeda7560in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_70xeda7640" copynumber="7">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_70xeda7640in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_80xeda7720" copynumber="8">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_80xeda7720in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_90xeda7890" copynumber="9">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_90xeda7890in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_100xeda7920" copynumber="10">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_100xeda7920in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_110xeda7a00" copynumber="11">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_110xeda7a00in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_120xeda7ae0" copynumber="12">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_120xeda7ae0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_130xeda7bc0" copynumber="13">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_130xeda7bc0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_140xeda7ca0" copynumber="14">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_140xeda7ca0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_150xeda7d80" copynumber="15">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_150xeda7d80in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_160xeda7e60" copynumber="16">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_160xeda7e60in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_170xeda7800" copynumber="17">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_170xeda7800in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_180xeda80a0" copynumber="18">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_180xeda80a0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_190xeda8180" copynumber="19">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_190xeda8180in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_200xeda8260" copynumber="20">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_200xeda8260in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_210xeda8340" copynumber="21">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_210xeda8340in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_220xeda8420" copynumber="22">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_220xeda8420in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_230xeda8500" copynumber="23">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_230xeda8500in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_240xeda85e0" copynumber="24">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_240xeda85e0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_250xeda86c0" copynumber="25">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_250xeda86c0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_260xeda87a0" copynumber="26">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_260xeda87a0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_270xeda8880" copynumber="27">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_270xeda8880in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_280xeda8960" copynumber="28">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_280xeda8960in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_290xeda8a40" copynumber="29">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_290xeda8a40in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_300xeda8b20" copynumber="30">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_300xeda8b20in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_310xeda8c00" copynumber="31">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_310xeda8c00in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_320xeda8ce0" copynumber="32">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_320xeda8ce0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_330xeda7f40" copynumber="33">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_330xeda7f40in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_340xeda8fd0" copynumber="34">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_340xeda8fd0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_350xeda9080" copynumber="35">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb_MiddlePbFiber_350xeda9080in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPbpos"/>
+      </physvol>
+    </volume>
+    <volume name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell">
+      <materialref ref="_dd_Materials_Ecal_EcalSc"/>
+      <solidref ref="Middle_Cell_Main_Box_shape_0x556245e5ea30"/>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_MidFrontSteelMatrix0xeda6820" copynumber="1000">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellSteel"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_MidFrontSteelMatrix0xeda6820in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_MidBackSteelMatrix0xeda68d0" copynumber="1001">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellSteel"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_MidBackSteelMatrix0xeda68d0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_MidFrontPlastic0xeda6bf0" copynumber="1002">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPlastic"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_MidFrontPlastic0xeda6bf0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_MidBackPlastic0xeda6c80" copynumber="1003">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPlastic"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_MidBackPlastic0xeda6c80in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells0xeda9160" copynumber="1004">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells0xeda9160in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_10xeda9290" copynumber="1">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_10xeda9290in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_20xeda9340" copynumber="2">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_20xeda9340in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_30xeda9420" copynumber="3">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_30xeda9420in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_40xeda9500" copynumber="4">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_40xeda9500in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_50xeda9670" copynumber="5">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_50xeda9670in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_60xeda9700" copynumber="6">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_60xeda9700in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_70xeda97e0" copynumber="7">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_70xeda97e0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_80xeda98c0" copynumber="8">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_80xeda98c0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_90xeda99a0" copynumber="9">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_90xeda99a0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_100xeda9a80" copynumber="10">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_100xeda9a80in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_110xeda9b60" copynumber="11">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_110xeda9b60in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_120xeda9c40" copynumber="12">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_120xeda9c40in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_130xeda95e0" copynumber="13">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_130xeda95e0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_140xeda9e80" copynumber="14">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_140xeda9e80in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_150xeda9f60" copynumber="15">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_150xeda9f60in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_160xedaa040" copynumber="16">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_160xedaa040in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_170xedaa120" copynumber="17">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_170xedaa120in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_180xedaa200" copynumber="18">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_180xedaa200in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_190xedaa2e0" copynumber="19">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_190xedaa2e0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_200xedaa3c0" copynumber="20">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_200xedaa3c0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_210xedaa4a0" copynumber="21">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_210xedaa4a0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_220xedaa580" copynumber="22">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_220xedaa580in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_230xedaa660" copynumber="23">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_230xedaa660in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_240xedaa740" copynumber="24">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_240xedaa740in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_250xedaa820" copynumber="25">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_250xedaa820in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_260xedaa900" copynumber="26">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_260xedaa900in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_270xedaa9e0" copynumber="27">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_270xedaa9e0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_280xedaaac0" copynumber="28">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_280xedaaac0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_290xeda9d20" copynumber="29">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_290xeda9d20in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_300xedaadb0" copynumber="30">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_300xedaadb0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_310xedaae60" copynumber="31">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_310xedaae60in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_320xedaaf40" copynumber="32">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_320xedaaf40in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_330xedab020" copynumber="33">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_330xedab020in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_340xedab100" copynumber="34">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_340xedab100in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_350xedab1e0" copynumber="35">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_350xedab1e0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_360xedab2c0" copynumber="36">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_360xedab2c0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_370xedab3a0" copynumber="37">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_370xedab3a0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_380xedab480" copynumber="38">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_380xedab480in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_390xedab560" copynumber="39">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_390xedab560in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_400xedab640" copynumber="40">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_400xedab640in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_410xedab720" copynumber="41">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_410xedab720in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_420xedab800" copynumber="42">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_420xedab800in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_430xedab8e0" copynumber="43">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_430xedab8e0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_440xedab9c0" copynumber="44">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_440xedab9c0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_450xedabaa0" copynumber="45">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_450xedabaa0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_460xedabb80" copynumber="46">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_460xedabb80in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_470xedabc60" copynumber="47">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_470xedabc60in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_480xedabd40" copynumber="48">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_480xedabd40in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_490xedabe20" copynumber="49">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_490xedabe20in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_500xedabf00" copynumber="50">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_500xedabf00in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_510xedabfe0" copynumber="51">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_510xedabfe0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_520xedac0c0" copynumber="52">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_520xedac0c0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_530xedac1a0" copynumber="53">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_530xedac1a0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_540xedac280" copynumber="54">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_540xedac280in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_550xedac360" copynumber="55">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_550xedac360in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_560xedac440" copynumber="56">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_560xedac440in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_570xedac520" copynumber="57">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_570xedac520in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_580xedac600" copynumber="58">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_580xedac600in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_590xedac6e0" copynumber="59">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_590xedac6e0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_600xedac7c0" copynumber="60">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_600xedac7c0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_610xeda4d00" copynumber="61">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_610xeda4d00in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_620xedaaba0" copynumber="62">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_620xedaaba0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_630xedaac80" copynumber="63">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_630xedaac80in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_640xedaccb0" copynumber="64">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_640xedaccb0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_650xedacd40" copynumber="65">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell_Middle_Pb_Cells_650xedacd40in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCellpos"/>
+      </physvol>
+    </volume>
+    <volume name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidStack">
+      <materialref ref="_dd_Materials_Air"/>
+      <solidref ref="Middle_Stack_Main_Box_shape_0x556245e5eb60"/>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidStack_Middle_Cells_Matrix0xedaceb0" copynumber="1000">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidStack_Middle_Cells_Matrix0xedaceb0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidStackpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidStack_Middle_Cells_Matrix_10xedacfa0" copynumber="1">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidStack_Middle_Cells_Matrix_10xedacfa0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidStackpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidStack_Middle_Cells_Matrix_20xedad090" copynumber="2">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidStack_Middle_Cells_Matrix_20xedad090in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidStackpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidStack_Middle_Cells_Matrix_30xedad1b0" copynumber="3">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidCell"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidStack_Middle_Cells_Matrix_30xedad1b0in_dd_Geometry_DownstreamRegion_Ecal_Modules_MidStackpos"/>
+      </physvol>
+    </volume>
+    <volume name="_dd_Geometry_DownstreamRegion_Ecal_Modules_Middle">
+      <materialref ref="_dd_Materials_Ecal_EcalSteel"/>
+      <solidref ref="Middle_Module_Box_shape_0x556245e5ec90"/>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_Middle_MiddleModuleFrontCover0xeda55f0" copynumber="1000">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidFrontCover"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Middle_MiddleModuleFrontCover0xeda55f0in_dd_Geometry_DownstreamRegion_Ecal_Modules_Middlepos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_Middle_MiddleModuleBackCover0xeda58d0" copynumber="1001">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidBackCover"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Middle_MiddleModuleBackCover0xeda58d0in_dd_Geometry_DownstreamRegion_Ecal_Modules_Middlepos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_Middle_MiddleModuleReadOut0xeda5e40" copynumber="1002">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidReadOut"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Middle_MiddleModuleReadOut0xeda5e40in_dd_Geometry_DownstreamRegion_Ecal_Modules_Middlepos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_Middle_MiddleModuleStack0xedacf40" copynumber="1003">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_MidStack"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Middle_MiddleModuleStack0xedacf40in_dd_Geometry_DownstreamRegion_Ecal_Modules_Middlepos"/>
+      </physvol>
+    </volume>
+    <volume name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock">
+      <materialref ref="_dd_Materials_Air"/>
+      <solidref ref="Middle_Block_shape_0x556245e5edc0"/>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock_Middle_Module_Rows0xedad400" copynumber="1000">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Middle"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock_Middle_Module_Rows0xedad400in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlockpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock_Middle_Module_Rows_10xedad4f0" copynumber="1">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Middle"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock_Middle_Module_Rows_10xedad4f0in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlockpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock_Middle_Module_Rows_20xedad5e0" copynumber="2">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Middle"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock_Middle_Module_Rows_20xedad5e0in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlockpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock_Middle_Module_Rows_30xedad700" copynumber="3">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Middle"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock_Middle_Module_Rows_30xedad700in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlockpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock_Middle_Module_Rows_40xedad7f0" copynumber="4">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Middle"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock_Middle_Module_Rows_40xedad7f0in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlockpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock_Middle_Module_Rows_50xedad930" copynumber="5">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Middle"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock_Middle_Module_Rows_50xedad930in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlockpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock_Middle_Module_Rows_60xedad9f0" copynumber="6">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Middle"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock_Middle_Module_Rows_60xedad9f0in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlockpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock_Middle_Module_Rows_70xedadae0" copynumber="7">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Middle"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock_Middle_Module_Rows_70xedadae0in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlockpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock_Middle_Module_Rows_80xedadbd0" copynumber="8">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Middle"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock_Middle_Module_Rows_80xedadbd0in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlockpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock_Middle_Module_Rows_90xedadd50" copynumber="9">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Middle"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock_Middle_Module_Rows_90xedadd50in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlockpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock_Middle_Module_Rows_100xedade40" copynumber="10">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Middle"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock_Middle_Module_Rows_100xedade40in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlockpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock_Middle_Module_Rows_110xedadf30" copynumber="11">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Middle"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock_Middle_Module_Rows_110xedadf30in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlockpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock_Middle_Module_Rows_120xedae020" copynumber="12">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Middle"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock_Middle_Module_Rows_120xedae020in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlockpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock_Middle_Module_Rows_130xedae110" copynumber="13">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Middle"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock_Middle_Module_Rows_130xedae110in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlockpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock_Middle_Module_Rows_140xedae200" copynumber="14">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Middle"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock_Middle_Module_Rows_140xedae200in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlockpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock_Middle_Module_Rows_150xedae2f0" copynumber="15">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Middle"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock_Middle_Module_Rows_150xedae2f0in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlockpos"/>
+      </physvol>
+    </volume>
+    <volume name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionLeft">
+      <materialref ref="_dd_Materials_Air"/>
+      <solidref ref="Ecal_Middle_Section_Left_shape_0x556245e5f570"/>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionLeft_Middle_Up_Rows_Left0xedae470" copynumber="1000">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionLeft_Middle_Up_Rows_Left0xedae470in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionLeft_Middle_Up_Rows_Left_10xedae560" copynumber="1">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionLeft_Middle_Up_Rows_Left_10xedae560in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionLeft_Middle_Left_Rows0xedae650" copynumber="1002">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionLeft_Middle_Left_Rows0xedae650in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionLeft_Middle_Left_Rows_10xedae770" copynumber="1">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionLeft_Middle_Left_Rows_10xedae770in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionLeft_Middle_Left_Rows_20xedae860" copynumber="2">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionLeft_Middle_Left_Rows_20xedae860in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionLeft_Middle_Left_Rows_30xedae950" copynumber="3">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionLeft_Middle_Left_Rows_30xedae950in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionLeft_Middle_Left_Rows_40xedaea10" copynumber="4">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionLeft_Middle_Left_Rows_40xedaea10in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionLeft_Middle_Left_Rows_50xedaeb00" copynumber="5">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionLeft_Middle_Left_Rows_50xedaeb00in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionLeft_Middle_Left_Rows_60xedaebf0" copynumber="6">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionLeft_Middle_Left_Rows_60xedaebf0in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionLeft_Middle_Left_Rows_70xedaed70" copynumber="7">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionLeft_Middle_Left_Rows_70xedaed70in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionLeft_Middle_Left_Rows_80xedaee60" copynumber="8">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionLeft_Middle_Left_Rows_80xedaee60in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionLeft_Middle_Left_Rows_90xedaef50" copynumber="9">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionLeft_Middle_Left_Rows_90xedaef50in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionLeft_Middle_Down_Rows_Left0xedaf040" copynumber="1012">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionLeft_Middle_Down_Rows_Left0xedaf040in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionLeft_Middle_Down_Rows_Left_10xedaf130" copynumber="1">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionLeft_Middle_Down_Rows_Left_10xedaf130in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionLeftpos"/>
+      </physvol>
+    </volume>
+    <volume name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutFrontCover">
+      <materialref ref="_dd_Materials_Ecal_EcalPlasticOutFC"/>
+      <solidref ref="Outer_Module_Front_Cover_Box_shape_0x556245e5f680"/>
+    </volume>
+    <volume name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutBackCover">
+      <materialref ref="_dd_Materials_Ecal_EcalPlasticBC"/>
+      <solidref ref="Outer_Module_Back_Cover_Box_shape_0x556245e5f790"/>
+    </volume>
+    <volume name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutReadOutTube">
+      <materialref ref="_dd_Materials_Ecal_EcalSteel"/>
+      <solidref ref="Outer_Read_Out_Tube_shape_0x556245e5f920"/>
+    </volume>
+    <volume name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutReadOut">
+      <materialref ref="_dd_Materials_Air"/>
+      <solidref ref="Outer_Module_Read_Out_Box_shape_0x556245e5faa0"/>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutReadOut_OuterReadOutTube0xedb1090" copynumber="1000">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutReadOutTube"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutReadOut_OuterReadOutTube0xedb1090in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutReadOutpos"/>
+      </physvol>
+    </volume>
+    <volume name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellSteel">
+      <materialref ref="_dd_Materials_Ecal_EcalSteel"/>
+      <solidref ref="Steel_Cell_Box_shape_0x556245e5fb70"/>
+    </volume>
+    <volume name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPlastic">
+      <materialref ref="_dd_Materials_Ecal_EcalPlastic"/>
+      <solidref ref="Plastic_Cell_Box_shape_0x556245e5fc80"/>
+    </volume>
+
+    <!-- CBG: lead with fiber (L2248)-->
+    <volume name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb">
+      <materialref ref="_dd_Materials_Ecal_EcalPb"/>
+      <solidref ref="Pb_Cell_Box_shape_0x556245e5fdb0"/>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber0xedb1f60" copynumber="1000">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber0xedb1f60in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_10xedb2010" copynumber="1">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_10xedb2010in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_20xedb20f0" copynumber="2">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_20xedb20f0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_30xedb2200" copynumber="3">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_30xedb2200in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_40xedb22e0" copynumber="4">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_40xedb22e0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_50xedb2410" copynumber="5">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_50xedb2410in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_60xedb24c0" copynumber="6">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_60xedb24c0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_70xedb25a0" copynumber="7">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_70xedb25a0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_80xedb2680" copynumber="8">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_80xedb2680in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_90xedb27f0" copynumber="9">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_90xedb27f0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_100xedb2880" copynumber="10">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_100xedb2880in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_110xedb2960" copynumber="11">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_110xedb2960in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_120xedb2a40" copynumber="12">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_120xedb2a40in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_130xedb2b20" copynumber="13">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_130xedb2b20in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_140xedb2c00" copynumber="14">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_140xedb2c00in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_150xedb2ce0" copynumber="15">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_150xedb2ce0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_160xedb2dc0" copynumber="16">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_160xedb2dc0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_170xedb2760" copynumber="17">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_170xedb2760in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_180xedb3000" copynumber="18">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_180xedb3000in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_190xedb30e0" copynumber="19">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_190xedb30e0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_200xedb31c0" copynumber="20">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_200xedb31c0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_210xedb32a0" copynumber="21">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_210xedb32a0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_220xedb3380" copynumber="22">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_220xedb3380in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_230xedb3460" copynumber="23">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_230xedb3460in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_240xedb3540" copynumber="24">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_240xedb3540in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_250xedb3620" copynumber="25">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_250xedb3620in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_260xedb3700" copynumber="26">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_260xedb3700in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_270xedb37e0" copynumber="27">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_270xedb37e0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_280x8a6e670" copynumber="28">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_280x8a6e670in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_290x8a6e720" copynumber="29">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_290x8a6e720in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_300x8a6e800" copynumber="30">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_300x8a6e800in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_310x8a6e8e0" copynumber="31">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_310x8a6e8e0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_320x8a6e9c0" copynumber="32">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_320x8a6e9c0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_330xedb2ea0" copynumber="33">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_330xedb2ea0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_340x8a6ecb0" copynumber="34">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_340x8a6ecb0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_350x8a6ed60" copynumber="35">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_350x8a6ed60in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_360x8a6ee40" copynumber="36">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_360x8a6ee40in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_370x8a6ef20" copynumber="37">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_370x8a6ef20in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_380x8a6f000" copynumber="38">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_380x8a6f000in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_390x8a6f0e0" copynumber="39">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_390x8a6f0e0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_400x8a6f1c0" copynumber="40">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_400x8a6f1c0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_410x8a6f2a0" copynumber="41">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_410x8a6f2a0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_420x8a6f380" copynumber="42">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_420x8a6f380in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_430x8a6f460" copynumber="43">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_430x8a6f460in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_440x8a6f540" copynumber="44">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_440x8a6f540in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_450x8a6f620" copynumber="45">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_450x8a6f620in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_460x8a6f700" copynumber="46">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_460x8a6f700in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_470x8a6f7e0" copynumber="47">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_470x8a6f7e0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_480x8a6f8c0" copynumber="48">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_480x8a6f8c0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_490x8a6f9a0" copynumber="49">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_490x8a6f9a0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_500x8a6fa80" copynumber="50">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_500x8a6fa80in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_510x8a6fb60" copynumber="51">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_510x8a6fb60in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_520x8a6fc40" copynumber="52">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_520x8a6fc40in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_530x8a6fd20" copynumber="53">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_530x8a6fd20in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_540x8a6fe00" copynumber="54">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_540x8a6fe00in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_550x8a6fee0" copynumber="55">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_550x8a6fee0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_560x8a6ffc0" copynumber="56">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_560x8a6ffc0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_570x8a700a0" copynumber="57">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_570x8a700a0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_580x8a70180" copynumber="58">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_580x8a70180in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_590x8a70260" copynumber="59">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_590x8a70260in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_600x8a70340" copynumber="60">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_600x8a70340in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_610x8a70420" copynumber="61">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_610x8a70420in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_620x8a70500" copynumber="62">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_620x8a70500in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_630x8a705e0" copynumber="63">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_FiberPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb_OuterPbFiber_630x8a705e0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPbpos"/>
+      </physvol>
+    </volume>
+
+    <!-- CBG: tyvek with lead in-->
+    <volume name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPaper">
+      <materialref ref="_dd_Materials_Ecal_EcalPaper"/>
+      <solidref ref="Paper_Cell_Box_shape_0x556245e5fdb0"/>
+     <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPaper_OuterPb" copynumber="1000">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPb"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPaper_OuterPb_Pos"/> 
+      </physvol> 
+    </volume>
+
+<!-- CBG: Outer module built of copies of lead with fibre in -->
+    <volume name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell">
+      <materialref ref="_dd_Materials_Ecal_EcalSc"/>
+      <solidref ref="Outer_Cell_Main_Box_shape_0x556245e5fea0"/>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_OutFrontSteelMatrix0xedb1780" copynumber="1000">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellSteel"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_OutFrontSteelMatrix0xedb1780in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_OutBackSteelMatrix0xedb1830" copynumber="1001">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellSteel"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_OutBackSteelMatrix0xedb1830in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_OutFrontPlastic0xedb1b50" copynumber="1002">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPlastic"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_OutFrontPlastic0xedb1b50in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_OutBackPlastic0xedb1be0" copynumber="1003">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPlastic"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_OutBackPlastic0xedb1be0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells0x8a70730" copynumber="1004">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPaper"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells0x8a70730in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_10x8a70860" copynumber="1">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPaper"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_10x8a70860in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_20x8a70910" copynumber="2">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPaper"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_20x8a70910in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_30x8a709f0" copynumber="3">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPaper"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_30x8a709f0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_40x8a70ad0" copynumber="4">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPaper"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_40x8a70ad0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_50x8a70c40" copynumber="5">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPaper"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_50x8a70c40in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_60x8a70cd0" copynumber="6">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPaper"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_60x8a70cd0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_70x8a70db0" copynumber="7">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPaper"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_70x8a70db0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_80x8a70e90" copynumber="8">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPaper"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_80x8a70e90in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_90x8a70f70" copynumber="9">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPaper"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_90x8a70f70in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_100x8a71050" copynumber="10">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPaper"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_100x8a71050in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_110x8a71130" copynumber="11">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPaper"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_110x8a71130in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_120x8a71210" copynumber="12">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPaper"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_120x8a71210in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_130x8a70bb0" copynumber="13">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPaper"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_130x8a70bb0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_140x8a71450" copynumber="14">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPaper"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_140x8a71450in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_150x8a71530" copynumber="15">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPaper"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_150x8a71530in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_160x8a71610" copynumber="16">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPaper"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_160x8a71610in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_170x8a716f0" copynumber="17">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPaper"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_170x8a716f0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_180x8a717d0" copynumber="18">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPaper"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_180x8a717d0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_190x8a718b0" copynumber="19">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPaper"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_190x8a718b0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_200x8a71990" copynumber="20">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPaper"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_200x8a71990in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_210x8a71a70" copynumber="21">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPaper"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_210x8a71a70in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_220x8a71b50" copynumber="22">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPaper"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_220x8a71b50in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_230x8a71c30" copynumber="23">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPaper"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_230x8a71c30in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_240x8a71d10" copynumber="24">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPaper"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_240x8a71d10in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_250x8a71df0" copynumber="25">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPaper"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_250x8a71df0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_260x8a71ed0" copynumber="26">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPaper"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_260x8a71ed0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_270x8a71fb0" copynumber="27">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPaper"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_270x8a71fb0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_280x8a72090" copynumber="28">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPaper"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_280x8a72090in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_290x8a712f0" copynumber="29">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPaper"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_290x8a712f0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_300x8a72380" copynumber="30">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPaper"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_300x8a72380in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_310x8a72430" copynumber="31">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPaper"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_310x8a72430in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_320x8a72510" copynumber="32">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPaper"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_320x8a72510in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_330x8a725f0" copynumber="33">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPaper"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_330x8a725f0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_340x8a726d0" copynumber="34">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPaper"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_340x8a726d0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_350x8a727b0" copynumber="35">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPaper"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_350x8a727b0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_360x8a72890" copynumber="36">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPaper"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_360x8a72890in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_370x8a72970" copynumber="37">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPaper"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_370x8a72970in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_380x8a72a50" copynumber="38">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPaper"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_380x8a72a50in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_390x8a72b30" copynumber="39">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPaper"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_390x8a72b30in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_400x8a72c10" copynumber="40">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPaper"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_400x8a72c10in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_410x8a72cf0" copynumber="41">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPaper"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_410x8a72cf0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_420x8a72dd0" copynumber="42">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPaper"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_420x8a72dd0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_430x8a72eb0" copynumber="43">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPaper"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_430x8a72eb0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_440x8a72f90" copynumber="44">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPaper"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_440x8a72f90in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_450x8a73070" copynumber="45">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPaper"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_450x8a73070in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_460x8a73150" copynumber="46">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPaper"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_460x8a73150in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_470x8a73230" copynumber="47">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPaper"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_470x8a73230in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_480x8a73310" copynumber="48">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPaper"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_480x8a73310in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_490x8a733f0" copynumber="49">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPaper"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_490x8a733f0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_500x8a734d0" copynumber="50">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPaper"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_500x8a734d0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_510x8a735b0" copynumber="51">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPaper"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_510x8a735b0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_520x8a73690" copynumber="52">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPaper"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_520x8a73690in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_530x8a73770" copynumber="53">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPaper"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_530x8a73770in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_540x8a73850" copynumber="54">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPaper"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_540x8a73850in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_550x8a73930" copynumber="55">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPaper"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_550x8a73930in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_560x8a73a10" copynumber="56">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPaper"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_560x8a73a10in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_570x8a73af0" copynumber="57">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPaper"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_570x8a73af0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_580x8a73bd0" copynumber="58">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPaper"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_580x8a73bd0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_590x8a73cb0" copynumber="59">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPaper"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_590x8a73cb0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_600x8a73d90" copynumber="60">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPaper"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_600x8a73d90in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_610xedb1ee0" copynumber="61">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPaper"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_610xedb1ee0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_620x8a721f0" copynumber="62">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPaper"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_620x8a721f0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_630x8a722d0" copynumber="63">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPaper"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_630x8a722d0in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_640x8a74280" copynumber="64">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPaper"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_640x8a74280in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_650x8a74360" copynumber="65">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellPaper"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell_Outer_Pb_Cells_650x8a74360in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCellpos"/>
+      </physvol>
+    </volume>
+    <volume name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutStack">
+      <materialref ref="_dd_Materials_Air"/>
+      <solidref ref="Outer_Stack_Main_Box_shape_0x556245e5ffd0"/>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutStack_Outer_Cell0x8a74440" copynumber="1000">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutStack_Outer_Cell0x8a74440in_dd_Geometry_DownstreamRegion_Ecal_Modules_OutStackpos"/>
+      </physvol>
+    </volume>
+    <volume name="_dd_Geometry_DownstreamRegion_Ecal_Modules_Outer">
+      <materialref ref="_dd_Materials_Ecal_EcalSteel"/>
+      <solidref ref="Outer_Module_Box_shape_0x556245e60100"/>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_Outer_OuterModuleFrontCover0xedaff80" copynumber="1000">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutFrontCover"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Outer_OuterModuleFrontCover0xedaff80in_dd_Geometry_DownstreamRegion_Ecal_Modules_Outerpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_Outer_OuterModuleBackCover0xedb0ad0" copynumber="1001">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutBackCover"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Outer_OuterModuleBackCover0xedb0ad0in_dd_Geometry_DownstreamRegion_Ecal_Modules_Outerpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_Outer_OuterModuleReadOut0xedb10f0" copynumber="1002">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutReadOut"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Outer_OuterModuleReadOut0xedb10f0in_dd_Geometry_DownstreamRegion_Ecal_Modules_Outerpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Modules_Outer_OuterModuleStack0x8a74520" copynumber="1003">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_OutStack"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Outer_OuterModuleStack0x8a74520in_dd_Geometry_DownstreamRegion_Ecal_Modules_Outerpos"/>
+      </physvol>
+    </volume>
+    <volume name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock">
+      <materialref ref="_dd_Materials_Air"/>
+      <solidref ref="Outer_Block_shape_0x556245e60230"/>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows0x8a746e0" copynumber="1000">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Outer"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows0x8a746e0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlockpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_10x8a747d0" copynumber="1">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Outer"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_10x8a747d0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlockpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_20x8a748c0" copynumber="2">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Outer"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_20x8a748c0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlockpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_30x8a749e0" copynumber="3">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Outer"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_30x8a749e0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlockpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_40x8a74ad0" copynumber="4">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Outer"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_40x8a74ad0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlockpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_50x8a74c10" copynumber="5">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Outer"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_50x8a74c10in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlockpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_60x8a74cd0" copynumber="6">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Outer"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_60x8a74cd0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlockpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_70x8a74dc0" copynumber="7">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Outer"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_70x8a74dc0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlockpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_80x8a74eb0" copynumber="8">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Outer"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_80x8a74eb0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlockpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_90x8a75030" copynumber="9">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Outer"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_90x8a75030in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlockpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_100x8a75120" copynumber="10">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Outer"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_100x8a75120in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlockpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_110x8a75210" copynumber="11">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Outer"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_110x8a75210in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlockpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_120x8a75300" copynumber="12">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Outer"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_120x8a75300in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlockpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_130x8a753f0" copynumber="13">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Outer"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_130x8a753f0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlockpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_140x8a754e0" copynumber="14">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Outer"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_140x8a754e0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlockpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_150x8a755d0" copynumber="15">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Outer"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_150x8a755d0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlockpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_160x8a756c0" copynumber="16">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Outer"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_160x8a756c0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlockpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_170x8a74fa0" copynumber="17">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Outer"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_170x8a74fa0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlockpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_180x8a75920" copynumber="18">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Outer"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_180x8a75920in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlockpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_190x8a75a10" copynumber="19">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Outer"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_190x8a75a10in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlockpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_200x8a75b00" copynumber="20">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Outer"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_200x8a75b00in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlockpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_210x8a75bf0" copynumber="21">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Outer"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_210x8a75bf0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlockpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_220x8a75ce0" copynumber="22">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Outer"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_220x8a75ce0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlockpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_230x8a75dd0" copynumber="23">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Outer"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_230x8a75dd0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlockpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_240x8a75ec0" copynumber="24">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Outer"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_240x8a75ec0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlockpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_250x8a75fb0" copynumber="25">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Outer"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_250x8a75fb0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlockpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_260x8a760a0" copynumber="26">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Outer"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_260x8a760a0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlockpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_270x8a76190" copynumber="27">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Outer"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_270x8a76190in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlockpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_280x8a76280" copynumber="28">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Outer"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_280x8a76280in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlockpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_290x8a76370" copynumber="29">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Outer"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_290x8a76370in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlockpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_300x8a76460" copynumber="30">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Outer"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_300x8a76460in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlockpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_310x8a76550" copynumber="31">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Modules_Outer"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock_Outer_Module_Rows_310x8a76550in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlockpos"/>
+      </physvol>
+    </volume>
+    <volume name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft">
+      <materialref ref="_dd_Materials_Air"/>
+      <solidref ref="Ecal_Outer_Section_Left_shape_0x556245e609b0"/>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Up_Rows_Left0x8a766d0" copynumber="1000">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Up_Rows_Left0x8a766d0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Up_Rows_Left_10x8a767c0" copynumber="1">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Up_Rows_Left_10x8a767c0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Up_Rows_Left_20x8a768b0" copynumber="2">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Up_Rows_Left_20x8a768b0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Up_Rows_Left_30x8a769d0" copynumber="3">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Up_Rows_Left_30x8a769d0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Up_Rows_Left_40x8a76ac0" copynumber="4">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Up_Rows_Left_40x8a76ac0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Up_Rows_Left_50x8a76bb0" copynumber="5">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Up_Rows_Left_50x8a76bb0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Up_Rows_Left_60x8a76c70" copynumber="6">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Up_Rows_Left_60x8a76c70in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Up_Rows_Left_70x8a76d60" copynumber="7">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Up_Rows_Left_70x8a76d60in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows0x8a76e50" copynumber="1008">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows0x8a76e50in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_10x8a76fd0" copynumber="1">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_10x8a76fd0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_20x8a770c0" copynumber="2">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_20x8a770c0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_30x8a771b0" copynumber="3">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_30x8a771b0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_40x8a772a0" copynumber="4">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_40x8a772a0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_50x8a77390" copynumber="5">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_50x8a77390in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_60x8a77480" copynumber="6">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_60x8a77480in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_70x8a77570" copynumber="7">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_70x8a77570in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_80x8a77660" copynumber="8">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_80x8a77660in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_90x8a76640" copynumber="9">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_90x8a76640in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_100x8a778c0" copynumber="10">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_100x8a778c0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_110x8a779b0" copynumber="11">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_110x8a779b0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_120x8a77aa0" copynumber="12">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_120x8a77aa0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_130x8a77b90" copynumber="13">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_130x8a77b90in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_140x8a77c80" copynumber="14">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_140x8a77c80in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_150x8a77d70" copynumber="15">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_150x8a77d70in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_160x8a77e60" copynumber="16">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_160x8a77e60in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_170x8a77f50" copynumber="17">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_170x8a77f50in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_180x8a78040" copynumber="18">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_180x8a78040in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_190x8a78130" copynumber="19">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_190x8a78130in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_200x8a78220" copynumber="20">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_200x8a78220in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_210x8a78310" copynumber="21">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_210x8a78310in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_220x8a78400" copynumber="22">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_220x8a78400in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_230x8a784f0" copynumber="23">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_230x8a784f0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_240x8a785e0" copynumber="24">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_240x8a785e0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_250x8a77750" copynumber="25">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Left_Rows_250x8a77750in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Down_Rows_Left0x8a788e0" copynumber="1034">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Down_Rows_Left0x8a788e0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Down_Rows_Left_10x8a789d0" copynumber="1">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Down_Rows_Left_10x8a789d0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Down_Rows_Left_20x8a78ac0" copynumber="2">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Down_Rows_Left_20x8a78ac0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Down_Rows_Left_30x8a78bb0" copynumber="3">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Down_Rows_Left_30x8a78bb0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Down_Rows_Left_40x8a78ca0" copynumber="4">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Down_Rows_Left_40x8a78ca0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Down_Rows_Left_50x8a78d90" copynumber="5">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Down_Rows_Left_50x8a78d90in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Down_Rows_Left_60x8a78e80" copynumber="6">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Down_Rows_Left_60x8a78e80in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Down_Rows_Left_70x8a78f70" copynumber="7">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft_Outer_Down_Rows_Left_70x8a78f70in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeftpos"/>
+      </physvol>
+    </volume>
+    <volume name="_dd_Geometry_DownstreamRegion_Ecal_Installation_EcalLeft">
+      <materialref ref="_dd_Materials_Air"/>
+      <solidref ref="Ecal_Total_Left_shape_0x556245e614d0"/>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_EcalLeft_FiberShieldLeft0x8a25340" copynumber="1000">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_ShieldLeft"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_EcalLeft_FiberShieldLeft0x8a25340in_dd_Geometry_DownstreamRegion_Ecal_Installation_EcalLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_EcalLeft_InnSupportFrameLeft0x8a2a9d0" copynumber="1001">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportLeft"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_EcalLeft_InnSupportFrameLeft0x8a2a9d0in_dd_Geometry_DownstreamRegion_Ecal_Installation_EcalLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_EcalLeft_EcalAInner0xed88e30" copynumber="1002">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnSectionLeft"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_EcalLeft_EcalAInner0xed88e30in_dd_Geometry_DownstreamRegion_Ecal_Installation_EcalLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_EcalLeft_EcalAMiddle0xedad3a0" copynumber="1003">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionLeft"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_EcalLeft_EcalAMiddle0xedad3a0in_dd_Geometry_DownstreamRegion_Ecal_Installation_EcalLeftpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_EcalLeft_EcalAOuter0x8a74680" copynumber="1004">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionLeft"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_EcalLeft_EcalAOuter0x8a74680in_dd_Geometry_DownstreamRegion_Ecal_Installation_EcalLeftpos"/>
+      </physvol>
+    </volume>
+    <volume name="_dd_Geometry_DownstreamRegion_Ecal_Installation_ShieldRight">
+      <materialref ref="_dd_Materials_Ecal_EcalDrilledAluminium"/>
+      <solidref ref="ShieldSubRight_shape_0x556245e61c60"/>
+    </volume>
+    <volume name="_dd_Geometry_DownstreamRegion_Ecal_Installation_SteelSheetWithHole1Right">
+      <materialref ref="_dd_Materials_Ecal_EcalSteel"/>
+      <solidref ref="StSheetWithHole1R_shape_0x556245e62390"/>
+    </volume>
+    <volume name="_dd_Geometry_DownstreamRegion_Ecal_Installation_SteelSheetWithHole2Right">
+      <materialref ref="_dd_Materials_Ecal_EcalSteel"/>
+      <solidref ref="StSheetWithHole2R_shape_0x556245e62b40"/>
+    </volume>
+    <volume name="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportRight">
+      <materialref ref="_dd_Materials_Ecal_EcalPb"/>
+      <solidref ref="PlugWithHoleR_shape_0x556245e63640"/>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportRight_HAirSlotsR0x8a7b680" copynumber="1000">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_HorizontalAirSlot"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportRight_HAirSlotsR0x8a7b680in_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportRight_HAirSlotsR_10x8a7b740" copynumber="1">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_HorizontalAirSlot"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportRight_HAirSlotsR_10x8a7b740in_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportRight_VAirSlotsR0x8a7b800" copynumber="1002">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_VerticalAirSlot"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportRight_VAirSlotsR0x8a7b800in_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportRight_HSteelSheets1R0x8a7b920" copynumber="1003">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_HorizontalSteelSheet1"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportRight_HSteelSheets1R0x8a7b920in_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportRight_HSteelSheets1R_10x8a7ba10" copynumber="1">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_HorizontalSteelSheet1"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportRight_HSteelSheets1R_10x8a7ba10in_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportRight_VSteelSheets1R0x8a7bb90" copynumber="1005">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_VericalSteelSheet1"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportRight_VSteelSheets1R0x8a7bb90in_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportRight_HSteelSheets2R0x8a7bc50" copynumber="1006">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_HorizontalSteelSheet2"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportRight_HSteelSheets2R0x8a7bc50in_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportRight_HSteelSheets2R_10x8a7bd40" copynumber="1">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_HorizontalSteelSheet2"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportRight_HSteelSheets2R_10x8a7bd40in_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportRight_VSteelSheets2R0x8a7be30" copynumber="1008">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_VericalSteelSheet2"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportRight_VSteelSheets2R0x8a7be30in_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportRight_SteelSheets1R0x8a7c320" copynumber="1009">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_SteelSheetWithHole1Right"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportRight_SteelSheets1R0x8a7c320in_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportRight_SteelSheets1R_10x8a7c580" copynumber="1">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_SteelSheetWithHole1Right"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportRight_SteelSheets1R_10x8a7c580in_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportRight_SteelSheets2R0x8a7c9b0" copynumber="1011">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_SteelSheetWithHole2Right"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportRight_SteelSheets2R0x8a7c9b0in_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportRight_SteelSheets2R_10x8a7cc10" copynumber="1">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_SteelSheetWithHole2Right"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportRight_SteelSheets2R_10x8a7cc10in_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportRight_SteelSheets2R_20x8a7ccd0" copynumber="2">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_SteelSheetWithHole2Right"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportRight_SteelSheets2R_20x8a7ccd0in_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportRightpos"/>
+      </physvol>
+    </volume>
+    <volume name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnSectionRight">
+      <materialref ref="_dd_Materials_Air"/>
+      <solidref ref="Ecal_Inner_Section_Right_shape_0x556245e63d80"/>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnSectionRight_Inner_Up_Rows_Right0x8a7d2c0" copynumber="1000">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnSectionRight_Inner_Up_Rows_Right0x8a7d2c0in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnSectionRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnSectionRight_Inner_Up_Rows_Right_10x8a7d380" copynumber="1">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnSectionRight_Inner_Up_Rows_Right_10x8a7d380in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnSectionRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnSectionRight_Inner_Right_Rows0x8a7d470" copynumber="1002">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock2"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnSectionRight_Inner_Right_Rows0x8a7d470in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnSectionRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnSectionRight_Inner_Right_Rows_10x8a7d590" copynumber="1">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock2"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnSectionRight_Inner_Right_Rows_10x8a7d590in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnSectionRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnSectionRight_Inner_Down_Rows_Right0x8a7d680" copynumber="1004">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnSectionRight_Inner_Down_Rows_Right0x8a7d680in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnSectionRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnSectionRight_Inner_Down_Rows_Right_10x8a7d800" copynumber="1">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnBlock1"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnSectionRight_Inner_Down_Rows_Right_10x8a7d800in_dd_Geometry_DownstreamRegion_Ecal_Installation_InnSectionRightpos"/>
+      </physvol>
+    </volume>
+    <volume name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionRight">
+      <materialref ref="_dd_Materials_Air"/>
+      <solidref ref="Ecal_Middle_Section_Right_shape_0x556245e64570"/>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionRight_Middle_Up_Rows_Right0x8a7de80" copynumber="1000">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionRight_Middle_Up_Rows_Right0x8a7de80in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionRight_Middle_Up_Rows_Right_10x8a7df40" copynumber="1">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionRight_Middle_Up_Rows_Right_10x8a7df40in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionRight_Middle_Right_Rows0x8a7e030" copynumber="1002">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionRight_Middle_Right_Rows0x8a7e030in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionRight_Middle_Right_Rows_10x8a7e150" copynumber="1">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionRight_Middle_Right_Rows_10x8a7e150in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionRight_Middle_Right_Rows_20x8a7e240" copynumber="2">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionRight_Middle_Right_Rows_20x8a7e240in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionRight_Middle_Right_Rows_30x8a7e3c0" copynumber="3">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionRight_Middle_Right_Rows_30x8a7e3c0in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionRight_Middle_Right_Rows_40x8a7e480" copynumber="4">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionRight_Middle_Right_Rows_40x8a7e480in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionRight_Middle_Right_Rows_50x8a7e570" copynumber="5">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionRight_Middle_Right_Rows_50x8a7e570in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionRight_Middle_Right_Rows_60x8a7e660" copynumber="6">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionRight_Middle_Right_Rows_60x8a7e660in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionRight_Middle_Right_Rows_70x8a7e7e0" copynumber="7">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionRight_Middle_Right_Rows_70x8a7e7e0in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionRight_Middle_Right_Rows_80x8a7e8d0" copynumber="8">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionRight_Middle_Right_Rows_80x8a7e8d0in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionRight_Middle_Right_Rows_90x8a7e9c0" copynumber="9">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionRight_Middle_Right_Rows_90x8a7e9c0in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionRight_Middle_Down_Rows_Right0x8a7eab0" copynumber="1012">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionRight_Middle_Down_Rows_Right0x8a7eab0in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionRight_Middle_Down_Rows_Right_10x8a7de20" copynumber="1">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionRight_Middle_Down_Rows_Right_10x8a7de20in_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionRightpos"/>
+      </physvol>
+    </volume>
+    <volume name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight">
+      <materialref ref="_dd_Materials_Air"/>
+      <solidref ref="Ecal_Outer_Section_Right_shape_0x556245e64d70"/>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Up_Rows_Right0x8a7f1d0" copynumber="1000">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Up_Rows_Right0x8a7f1d0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Up_Rows_Right_10x8a7f290" copynumber="1">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Up_Rows_Right_10x8a7f290in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Up_Rows_Right_20x8a7f380" copynumber="2">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Up_Rows_Right_20x8a7f380in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Up_Rows_Right_30x8a7f4a0" copynumber="3">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Up_Rows_Right_30x8a7f4a0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Up_Rows_Right_40x8a7f590" copynumber="4">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Up_Rows_Right_40x8a7f590in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Up_Rows_Right_50x8a7f710" copynumber="5">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Up_Rows_Right_50x8a7f710in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Up_Rows_Right_60x8a7f7d0" copynumber="6">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Up_Rows_Right_60x8a7f7d0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Up_Rows_Right_70x8a7f8c0" copynumber="7">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Up_Rows_Right_70x8a7f8c0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows0x8a7f9b0" copynumber="1008">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows0x8a7f9b0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_10x8a7fb30" copynumber="1">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_10x8a7fb30in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_20x8a7fc20" copynumber="2">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_20x8a7fc20in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_30x8a7fd10" copynumber="3">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_30x8a7fd10in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_40x8a7fe00" copynumber="4">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_40x8a7fe00in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_50x8a7fef0" copynumber="5">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_50x8a7fef0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_60x8a7ffe0" copynumber="6">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_60x8a7ffe0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_70x8a800d0" copynumber="7">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_70x8a800d0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_80x8a801c0" copynumber="8">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_80x8a801c0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_90x8a7f680" copynumber="9">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_90x8a7f680in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_100x8a80420" copynumber="10">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_100x8a80420in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_110x8a80510" copynumber="11">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_110x8a80510in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_120x8a80600" copynumber="12">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_120x8a80600in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_130x8a806f0" copynumber="13">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_130x8a806f0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_140x8a807e0" copynumber="14">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_140x8a807e0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_150x8a808d0" copynumber="15">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_150x8a808d0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_160x8a809c0" copynumber="16">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_160x8a809c0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_170x8a80ab0" copynumber="17">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_170x8a80ab0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_180x8a80ba0" copynumber="18">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_180x8a80ba0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_190x8a80c90" copynumber="19">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_190x8a80c90in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_200x8a80d80" copynumber="20">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_200x8a80d80in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_210x8a80e70" copynumber="21">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_210x8a80e70in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_220x8a80f60" copynumber="22">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_220x8a80f60in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_230x8a81050" copynumber="23">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_230x8a81050in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_240x8a81140" copynumber="24">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_240x8a81140in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_250x8a802b0" copynumber="25">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Right_Rows_250x8a802b0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Down_Rows_Right0x8a81440" copynumber="1034">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Down_Rows_Right0x8a81440in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Down_Rows_Right_10x8a81530" copynumber="1">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Down_Rows_Right_10x8a81530in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Down_Rows_Right_20x8a81620" copynumber="2">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Down_Rows_Right_20x8a81620in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Down_Rows_Right_30x8a81710" copynumber="3">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Down_Rows_Right_30x8a81710in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Down_Rows_Right_40x8a81800" copynumber="4">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Down_Rows_Right_40x8a81800in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Down_Rows_Right_50x8a818f0" copynumber="5">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Down_Rows_Right_50x8a818f0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Down_Rows_Right_60x8a819e0" copynumber="6">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Down_Rows_Right_60x8a819e0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Down_Rows_Right_70x8a81ad0" copynumber="7">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutBlock"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight_Outer_Down_Rows_Right_70x8a81ad0in_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRightpos"/>
+      </physvol>
+    </volume>
+    <volume name="_dd_Geometry_DownstreamRegion_Ecal_Installation_EcalRight">
+      <materialref ref="_dd_Materials_Air"/>
+      <solidref ref="Ecal_Total_Right_shape_0x556245e65890"/>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_EcalRight_FiberShieldRight0x8a7a5c0" copynumber="1000">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_ShieldRight"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_EcalRight_FiberShieldRight0x8a7a5c0in_dd_Geometry_DownstreamRegion_Ecal_Installation_EcalRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_EcalRight_InnSupportFrameRight0x8a7cdc0" copynumber="1001">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_PlugSupportRight"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_EcalRight_InnSupportFrameRight0x8a7cdc0in_dd_Geometry_DownstreamRegion_Ecal_Installation_EcalRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_EcalRight_EcalCInner0x8a7d260" copynumber="1002">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_InnSectionRight"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_EcalRight_EcalCInner0x8a7d260in_dd_Geometry_DownstreamRegion_Ecal_Installation_EcalRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_EcalRight_EcalCMiddle0x8a7ecb0" copynumber="1003">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_MidSectionRight"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_EcalRight_EcalCMiddle0x8a7ecb0in_dd_Geometry_DownstreamRegion_Ecal_Installation_EcalRightpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_EcalRight_EcalCOuter0x8a7f170" copynumber="1004">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_OutSectionRight"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_EcalRight_EcalCOuter0x8a7f170in_dd_Geometry_DownstreamRegion_Ecal_Installation_EcalRightpos"/>
+      </physvol>
+    </volume>
+    <volume name="_dd_Geometry_DownstreamRegion_Ecal_Installation_Ecal">
+      <materialref ref="_dd_Materials_Air"/>
+      <solidref ref="Ecal_Total_shape_0x556245e66280"/>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_Ecal_EcalA0x8a76f70" copynumber="1000">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_EcalLeft"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_Ecal_EcalA0x8a76f70in_dd_Geometry_DownstreamRegion_Ecal_Installation_Ecalpos"/>
+      </physvol>
+      <physvol name="_dd_Geometry_DownstreamRegion_Ecal_Installation_Ecal_EcalC0x8a81c40" copynumber="1001">
+        <volumeref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_EcalRight"/>
+        <positionref ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_Ecal_EcalC0x8a81c40in_dd_Geometry_DownstreamRegion_Ecal_Installation_Ecalpos"/>
+      </physvol>
+    </volume>
+  </structure>
+  <setup name="default" version="1.0">
+    <world ref="_dd_Geometry_DownstreamRegion_Ecal_Installation_Ecal"/>
+  </setup>
+</gdml>
diff --git a/Calorimeter/CaloDigiAlgs/CMakeLists.txt b/Calorimeter/CaloDigiAlgs/CMakeLists.txt
index 89d20eae8e67a52daa6a23b60825e06f43610ec3..baa67edad0d64091f117e4ced8cd5ef69ab4217d 100644
--- a/Calorimeter/CaloDigiAlgs/CMakeLists.txt
+++ b/Calorimeter/CaloDigiAlgs/CMakeLists.txt
@@ -11,7 +11,7 @@ atlas_add_component( CaloDigiAlgs
                      src/components/*.cxx
                      LINK_LIBRARIES AthenaBaseComps Identifier FaserCaloIdentifier  
 		     WaveformConditionsToolsLib StoreGateLib WaveRawEvent 
-		     FaserCaloSimEvent WaveDigiToolsLib)
+		     CaloReadoutGeometry FaserCaloSimEvent WaveDigiToolsLib)
 
 atlas_install_python_modules( python/*.py )
 
diff --git a/Calorimeter/CaloDigiAlgs/src/CaloWaveformDigiAlg.cxx b/Calorimeter/CaloDigiAlgs/src/CaloWaveformDigiAlg.cxx
index c3f5313c0e52ddc68009ac2d6d3e41103b103b8a..4d122f2e8ec6844496c4bff025779fca9045da1c 100644
--- a/Calorimeter/CaloDigiAlgs/src/CaloWaveformDigiAlg.cxx
+++ b/Calorimeter/CaloDigiAlgs/src/CaloWaveformDigiAlg.cxx
@@ -1,9 +1,12 @@
 #include "CaloWaveformDigiAlg.h"
 
-#include "Identifier/Identifier.h"
-
 #include "FaserCaloSimEvent/CaloHitIdHelper.h"
 
+#include "CaloReadoutGeometry/EcalDetectorManager.h"
+
+#include "CaloReadoutGeometry/CaloDetectorElement.h"
+#include "GaudiKernel/PhysicalConstants.h"
+
 #include <map>
 #include <utility>
 #include <cmath>
@@ -30,11 +33,12 @@ CaloWaveformDigiAlg::initialize() {
   // Set key to write container
   ATH_CHECK( m_waveformContainerKey.initialize() );
 
-  // Set up  helper
-  ATH_CHECK(detStore()->retrieve(m_ecalID, "EcalID"));
-
-  // Need to set this on first event
-  m_kernel = 0;
+  // And print out our timing simulation
+  if (m_advancedTiming) {
+    ATH_MSG_INFO("Using improved digitization timing");
+  } else {
+    ATH_MSG_INFO("Using simple digitization timing");
+  }
 
   return StatusCode::SUCCESS;
 }
@@ -43,9 +47,6 @@ StatusCode
 CaloWaveformDigiAlg::finalize() {
   ATH_MSG_INFO(name() << "::finalize()");
 
-  if (m_kernel)
-    delete m_kernel;
-
   return StatusCode::SUCCESS;
 }
 
@@ -71,100 +72,37 @@ CaloWaveformDigiAlg::execute(const EventContext& ctx) const {
     return StatusCode::SUCCESS;
   }
 
-  if (!m_kernel) {
-
-    ATH_MSG_INFO(name() << ": initialize waveform digitization kernel");
-    ATH_MSG_INFO(" Norm:  " << m_digiCondTool->cb_norm(ctx));
-    ATH_MSG_INFO(" Mean:  " << m_digiCondTool->cb_mean(ctx));
-    ATH_MSG_INFO(" Sigma: " << m_digiCondTool->cb_sigma(ctx));
-    ATH_MSG_INFO(" Alpha: " << m_digiCondTool->cb_alpha(ctx));
-    ATH_MSG_INFO(" N:     " << m_digiCondTool->cb_n(ctx));
-
-    // Set up waveform shape
-    m_kernel = new TF1("PDF", "[4] * ROOT::Math::crystalball_pdf(x, [0],[1],[2],[3])", 0, 1200);
-
-    m_kernel->SetParameter(0, m_digiCondTool->cb_alpha(ctx));
-    m_kernel->SetParameter(1, m_digiCondTool->cb_n(ctx));
-    m_kernel->SetParameter(2, m_digiCondTool->cb_sigma(ctx));
-    m_kernel->SetParameter(3, m_digiCondTool->cb_mean(ctx));
-    m_kernel->SetParameter(4, m_digiCondTool->cb_norm(ctx));
-    
-    // Pre-evaluate time kernel for each bin
-    m_timekernel = m_digiTool->evaluate_timekernel(m_kernel);
-
-    // Also save the baseline parameters
-    m_base_mean = m_digiCondTool->base_mean(ctx); 
-    m_base_rms  = m_digiCondTool->base_rms(ctx); 
-  }
-
   // Create structure to store pulse for each channel
-  std::map<Identifier, std::vector<uint16_t>> waveforms = m_digiTool->create_waveform_map(m_ecalID);
-
-  // Sum energy for each channel (i.e. identifier)
-  std::map<unsigned int, float> esum;  
-  for (const auto& hit : *caloHitHandle) { 
-    esum[hit.identify()] += hit.energyLoss();
-  }
+  std::map<Identifier, std::vector<uint16_t>> waveforms;
+  waveforms.clear();
 
-  // Loop over time samples
-  for (const auto& tk : m_timekernel) {
-    std::map<unsigned int, float> counts;    
+  if (m_first) {
+    m_first = false;
 
-    // Convolve hit energy with evaluated kernel and sum for each hit id (i.e. channel)
-    //for (const auto& hit : *caloHitHandle) { 
-    //  counts[hit.identify()] += tk * hit.energyLoss();
-    //}
-
-    // Convolve summed energy with evaluated kernel for each hit id (i.e. channel)
-    for (const auto& e : esum) {
-      counts[e.first] = tk * e.second;
-    }
-
-    // Subtract count from basleine and add result to correct waveform vector
-    for (const auto& c : counts) {
-
-      float baseline = m_digiTool->generate_baseline(m_base_mean, m_base_rms);
-      int value = std::round(baseline - c.second);
-
-      if (value < 0) {
-	ATH_MSG_WARNING("Found pulse " << c.second << " larger than baseline " << c.first);
-	value = 0; // Protect against scaling signal above baseline
-      }
-
-      // Convert hit id to Identifier and store 
-      Identifier id = CaloHitIdHelper::GetHelper()->getIdentifier(c.first);
-      waveforms[id].push_back(value);
-    }
+    // Write kernel parameters
+    ATH_MSG_INFO(name() << ": initialize waveform digitization kernel");
+    ATH_MSG_INFO(" Norm:  " << m_digiCondTool->cb_norm());
+    ATH_MSG_INFO(" Mean:  " << m_digiCondTool->cb_mean());
+    ATH_MSG_INFO(" Sigma: " << m_digiCondTool->cb_sigma());
+    ATH_MSG_INFO(" Alpha: " << m_digiCondTool->cb_alpha());
+    ATH_MSG_INFO(" N:     " << m_digiCondTool->cb_n());
   }
 
-
-  // This is a bit of a hack to make sure all waveforms have
-  // at least baseline entries.  Should really add this to the 
-  // logic above
-  for (const auto& w : waveforms) {
-    if (w.second.size() > 0) continue;
-
-    // Waveform was empty, fill with baseline
-    int channel = m_mappingTool->getChannelMapping(w.first);
-    ATH_MSG_DEBUG("Writing baseline into empty waveform in channel "<< channel);
-    int i = m_digiTool->nsamples();
-    while(i--) {  // Use while to avoid unused variable warning with for
-      int baseline = m_digiTool->generate_baseline(m_base_mean, m_base_rms);
-      waveforms[w.first].push_back(baseline);
-    }
+  // Try our new tool instead
+  if (m_advancedTiming) {
+    waveforms = m_digiTool->generate_calo_timing_waveforms(ctx, m_digiCondTool, caloHitHandle.get());
+  } else {
+    waveforms = m_digiTool->generate_calo_waveforms(ctx, m_digiCondTool, caloHitHandle.get());
   }
 
-  //m_chrono->chronoStop("Digit");
-  //m_chrono->chronoStart("Write");
-
   // Loop over wavefrom vectors to make and store waveform
-  unsigned int nsamples = m_digiTool->nsamples();
+  unsigned int digitizer_samples = m_digiTool->digitizer_samples();
   for (const auto& w : waveforms) {
     RawWaveform* wfm = new RawWaveform();
     wfm->setWaveform(0, w.second);
     wfm->setIdentifier(w.first);
     wfm->setChannel(m_mappingTool->getChannelMapping(w.first));
-    wfm->setSamples(nsamples);
+    wfm->setSamples(digitizer_samples);
     waveformContainerHandle->push_back(wfm);
   }
 
@@ -172,5 +110,9 @@ CaloWaveformDigiAlg::execute(const EventContext& ctx) const {
 
   ATH_MSG_DEBUG("WaveformsHitContainer " << waveformContainerHandle.name() << "' filled with "<< waveformContainerHandle->size() <<" items");
 
+  // Cleanup
+  waveforms.clear();
+
   return StatusCode::SUCCESS;
 }
+
diff --git a/Calorimeter/CaloDigiAlgs/src/CaloWaveformDigiAlg.h b/Calorimeter/CaloDigiAlgs/src/CaloWaveformDigiAlg.h
index 7ee25a2714dda12e20bdfa635c75d2804a0c4e31..f874f174f992bc35bf9fa3db021bfdd5f30ef130 100644
--- a/Calorimeter/CaloDigiAlgs/src/CaloWaveformDigiAlg.h
+++ b/Calorimeter/CaloDigiAlgs/src/CaloWaveformDigiAlg.h
@@ -21,12 +21,6 @@
 #include "GaudiKernel/ServiceHandle.h"
 #include "GaudiKernel/ToolHandle.h"
 
-// Helpers
-#include "FaserCaloIdentifier/EcalID.h"
-
-// ROOT
-#include "TF1.h"
-
 // STL
 #include <string>
 #include <vector>
@@ -45,6 +39,10 @@ class CaloWaveformDigiAlg: public AthReentrantAlgorithm {
   virtual StatusCode finalize() override;
   //@}
 
+  //
+  // Simulate detailed timing of waveforms
+  BooleanProperty m_advancedTiming{this, "AdvancedTiming", true};
+
  private:
 
   /** @name Disallow default instantiation, copy, assignment */
@@ -54,49 +52,38 @@ class CaloWaveformDigiAlg: public AthReentrantAlgorithm {
   CaloWaveformDigiAlg &operator=(const CaloWaveformDigiAlg&) = delete;
   //@}
 
-  // We use these a lot, so read them once from the conditions tool
-  mutable float m_base_mean;
-  mutable float m_base_rms;
-
-  /** Kernel PDF and evaluated values **/
-  // Mark these mutable, as they must be changed on first event...
-  //@{
-  mutable TF1*                            m_kernel;
-  mutable std::vector<float>              m_timekernel;
-  //@}
-
-  /// Detector ID helper
-  const EcalID* m_ecalID{nullptr};
-
   /**
    * @name Digitisation tool
    */
+  //@{
   ToolHandle<IWaveformDigitisationTool> m_digiTool
     {this, "WaveformDigitisationTool", "WaveformDigitisationTool"};
+  //@}
 
   /**
    * @name Mapping tool
    */
+  //@{
   ToolHandle<IWaveformCableMappingTool> m_mappingTool
     {this, "WaveformCableMappingTool", "WaveformCableMappingTool"};
+  //@}
 
   /**
    * @name Digitization parameters tool
    */
+  //@{
   ToolHandle<IWaveformDigiConditionsTool> m_digiCondTool
     {this, "DigiConditionsTool", "CaloDigiConditionsTool"};
+  //@}
 
   /**
    * @name Input HITS using SG::ReadHandleKey
    */
   //@{
-
   SG::ReadHandleKey<CaloHitCollection> m_caloHitContainerKey 
   {this, "CaloHitContainerKey", ""};
-
   //@}
 
-
   /**
    * @name Output data using SG::WriteHandleKey
    */
@@ -105,6 +92,7 @@ class CaloWaveformDigiAlg: public AthReentrantAlgorithm {
     {this, "WaveformContainerKey", ""};
   //@}
 
+  mutable bool m_first {true};
 };
 
 
diff --git a/Calorimeter/CaloG4/EcalG4_SD/src/EcalSensorSD.h b/Calorimeter/CaloG4/EcalG4_SD/src/EcalSensorSD.h
index d558c0e74e1a55a1e0b3680d7f4831dc3ba66341..4f2c35638e42c29f2eafe2075bea2748ccf8d811 100644
--- a/Calorimeter/CaloG4/EcalG4_SD/src/EcalSensorSD.h
+++ b/Calorimeter/CaloG4/EcalG4_SD/src/EcalSensorSD.h
@@ -280,9 +280,9 @@ inline double EcalSensorSD::localNonUniformity (double x, double y) const
 
   // Local uniformity is product of x and y sine-like functions
   // The Amplitude of the sin-like function is a function of x and y
+  // Deion: changed LHCb's parametrization by adding the (- A_local) at the end in order to center the correction on zero
   if ( A_local > lowTolerance )
-    correction += A_local / 2. * ( 1. - cos( 2. * CLHEP::pi * (x-x0)/d ) ) *
-      ( 1. - cos( 2. * CLHEP::pi * (y-y0)/d ) ) ;
+    correction += A_local / 2. * ( 1. - cos( 2. * CLHEP::pi * (x-x0)/d ) ) * ( 1. - cos( 2. * CLHEP::pi * (y-y0)/d ) ) - A_local ;
 
   double rX(0.) , rY(0.) , hCell(0.) ;
 
diff --git a/Calorimeter/CaloG4/EcalG4_SD/src/EcalSensorSDTool.cxx b/Calorimeter/CaloG4/EcalG4_SD/src/EcalSensorSDTool.cxx
index f2715e28a99a32d357948f4d9fb0dbbb1359ca30..b9d9d3efae0ba53151d9edeaaa794102ea9315e6 100644
--- a/Calorimeter/CaloG4/EcalG4_SD/src/EcalSensorSDTool.cxx
+++ b/Calorimeter/CaloG4/EcalG4_SD/src/EcalSensorSDTool.cxx
@@ -21,7 +21,7 @@ EcalSensorSDTool::EcalSensorSDTool(const std::string& type, const std::string& n
   , m_birk_c1 ( 0.013  * CLHEP::g/CLHEP::MeV/CLHEP::cm2 ) // 1st coef. of Birk's   
   , m_birk_c2 ( 9.6E-6 * CLHEP::g*CLHEP::g/CLHEP::MeV/CLHEP::MeV/CLHEP::cm2/CLHEP::cm2 ) // 2nd coef. of Birk's law 
   , m_birk_c1correction  ( 0.57142857)  //correction of c1 for 2e charged part.  
-  , m_a_local_outer_ecal ( 0. )
+  , m_a_local_outer_ecal ( 0.05 )  // sinusoidal non uniformity amplitude
   , m_a_global_outer_ecal  ( 0.03  ) // global non uniformity amplitude
   , m_a_reflection_height ( 0.09 ) // reflection on the edges - height
   , m_a_reflection_width  ( 6. * CLHEP::mm ) // reflection on the edges - width
diff --git a/Calorimeter/CaloRecAlgs/python/CaloRecAlgsConfig.py b/Calorimeter/CaloRecAlgs/python/CaloRecAlgsConfig.py
index c49770ad2b7e9468eca196af582d2156b9ab977c..bfa25550254ef72e1499e420d69a0ccde3a9f547 100644
--- a/Calorimeter/CaloRecAlgs/python/CaloRecAlgsConfig.py
+++ b/Calorimeter/CaloRecAlgs/python/CaloRecAlgsConfig.py
@@ -15,8 +15,11 @@ def CalorimeterReconstructionCfg(flags, **kwargs):
     acc = ComponentAccumulator()
 
     kwargs.setdefault("CaloWaveHitContainerKey", "CaloWaveformHits")
+    kwargs.setdefault("Calo2WaveHitContainerKey", "Calo2WaveformHits")
     kwargs.setdefault("PreshowerWaveHitContainerKey", "PreshowerWaveformHits")
+    
     kwargs.setdefault("CaloHitContainerKey", "CaloHits")
+    kwargs.setdefault("Calo2HitContainerKey", "Calo2Hits")
     kwargs.setdefault("PreshowerHitContainerKey", "PreshowerHits")
 
     acc.merge(CaloRecToolCfg(flags, **kwargs))
diff --git a/Calorimeter/CaloRecAlgs/src/CaloRecAlg.cxx b/Calorimeter/CaloRecAlgs/src/CaloRecAlg.cxx
index b6df5fed6053f7499a6f45a95e4b51d2e6633ddd..c8844946d2f8b1242c22ec0540a07d23ff2c7ada 100644
--- a/Calorimeter/CaloRecAlgs/src/CaloRecAlg.cxx
+++ b/Calorimeter/CaloRecAlgs/src/CaloRecAlg.cxx
@@ -12,23 +12,19 @@ StatusCode CaloRecAlg::initialize() {
 
   // Set key to read calo hits from
   ATH_CHECK( m_caloWaveHitContainerKey.initialize() );
+  ATH_CHECK( m_calo2WaveHitContainerKey.initialize() );
 
   // Set key to read preshower hits from
   ATH_CHECK( m_preshowerWaveHitContainerKey.initialize() );
 
   // Set key to write container
   ATH_CHECK( m_caloHitContainerKey.initialize() );
+  ATH_CHECK( m_calo2HitContainerKey.initialize() );
   ATH_CHECK( m_preshowerHitContainerKey.initialize() );
 
   // Initalize tools
   ATH_CHECK( m_recoCalibTool.retrieve() );
 
-  // Store calibrattiion factos in a vector for ease of access
-  m_EM_mu_Map[0] = m_calo_ch0_EM_mu;
-  m_EM_mu_Map[1] = m_calo_ch1_EM_mu;
-  m_EM_mu_Map[2] = m_calo_ch2_EM_mu;
-  m_EM_mu_Map[3] = m_calo_ch3_EM_mu;
-
   return StatusCode::SUCCESS;
 }
 //----------------------------------------------------------------------
@@ -54,6 +50,15 @@ StatusCode CaloRecAlg::execute(const EventContext& ctx) const {
     ATH_MSG_DEBUG("Calorimeter Waveform Hit container found with zero length!");
   }
 
+  SG::ReadHandle<xAOD::WaveformHitContainer> calo2WaveHitHandle(m_calo2WaveHitContainerKey, ctx);
+
+  ATH_CHECK( calo2WaveHitHandle.isValid() );
+  ATH_MSG_DEBUG("Found ReadHandle for WaveformHitContainer " << m_calo2WaveHitContainerKey);
+
+  if (calo2WaveHitHandle->size() == 0) {
+    ATH_MSG_DEBUG("Calorimeter 2 Waveform Hit container found with zero length!");
+  }
+
   SG::ReadHandle<xAOD::WaveformHitContainer> preshowerWaveHitHandle(m_preshowerWaveHitContainerKey, ctx);
 
   ATH_CHECK( preshowerWaveHitHandle.isValid() );
@@ -63,116 +68,55 @@ StatusCode CaloRecAlg::execute(const EventContext& ctx) const {
     ATH_MSG_DEBUG("Preshower Waveform Hit container found with zero length!");
   }
 
-  // Find the output waveform container
+  // Only correct gain in real data
+  bool correct_gain = !m_isMC;
+  
+  // Reconstruct calorimeter hits
   SG::WriteHandle<xAOD::CalorimeterHitContainer> caloHitContainerHandle(m_caloHitContainerKey, ctx);
   ATH_CHECK( caloHitContainerHandle.record( std::make_unique<xAOD::CalorimeterHitContainer>(),
 					std::make_unique<xAOD::CalorimeterHitAuxContainer>() ) );
-
-  SG::WriteHandle<xAOD::CalorimeterHitContainer> preshowerHitContainerHandle(m_preshowerHitContainerKey, ctx);
-  ATH_CHECK( preshowerHitContainerHandle.record( std::make_unique<xAOD::CalorimeterHitContainer>(),
-                    std::make_unique<xAOD::CalorimeterHitAuxContainer>() ) );
-
   ATH_MSG_DEBUG("WaveformsHitContainer '" << caloHitContainerHandle.name() << "' initialized");
-  ATH_MSG_DEBUG("WaveformsHitContainer '" << preshowerHitContainerHandle.name() << "' initialized");
 
   // Loop over calo hits and calibrate each primary hit
   for( const auto& hit : *caloWaveHitHandle ) {
     if (hit->status_bit(xAOD::WaveformStatus::SECONDARY)) continue;
-
-    // Create a new calo hit
     xAOD::CalorimeterHit* calo_hit = new xAOD::CalorimeterHit();
     caloHitContainerHandle->push_back(calo_hit);
+    calo_hit->addHit(caloWaveHitHandle.get(), hit);
+    m_recoCalibTool->reconstruct(ctx, calo_hit, correct_gain);
+  }
+  ATH_MSG_DEBUG("CaloHitContainer '" << caloHitContainerHandle.name() << "' filled with "<< caloHitContainerHandle->size() <<" items");
 
-    ATH_MSG_DEBUG("calo_hit in channel " << hit->channel() );
-
-    float MIPcharge_ref = m_recoCalibTool->getMIPcharge_ref(hit->channel()); // get reference MIP charge from database
-
-    float charge = hit->integral()/50.0; // divide by 50 ohms to get charge
-    ATH_MSG_DEBUG("calo_hit filled has charge of " << charge << " pC");
-
-    float gainRatio = 1.0;
-    if (!m_isMC) { // MC already has correct MIP charge stored in MIPcharge_ref, so only need to to HV extrapolation with reral data
-      gainRatio = extrapolateHVgain(hit->channel());
-    }
-    ATH_MSG_DEBUG("HV gain ratio = " << gainRatio );
-
-
-    float Nmip = (charge * gainRatio) / MIPcharge_ref;
-    ATH_MSG_DEBUG("Nmip = " << Nmip );
-    calo_hit->set_Nmip(Nmip); // set Nmip value
-
-    float E_dep = Nmip * m_MIP_sim_Edep_calo;
-    ATH_MSG_DEBUG("E_dep in MeV = " << E_dep );
-    calo_hit->set_E_dep(E_dep);  // set calibrated E_dep value
-
-    float E_EM = Nmip * m_EM_mu_Map[hit->channel()];
-    ATH_MSG_DEBUG("Em E in MeV = " << E_EM );
-    calo_hit->set_E_EM(E_EM);  // set calibrated E_EM value
-
-    float fit_to_raw_ratio = 1.0;
-    if (hit->integral() != 0.0) { // avoid possibility of division by zero error
-      fit_to_raw_ratio = hit->raw_integral() / hit->integral();
-    }
-    calo_hit->set_fit_to_raw_ratio(fit_to_raw_ratio); // set fit-to-raw-ratio that can be used to take any of the calibrated values to what they would be if we used the raw integral instead of the fit integral
-
-    calo_hit->set_channel(hit->channel());  // set channel number
+  // Reconstruct high-gain calorimeter hits
+  SG::WriteHandle<xAOD::CalorimeterHitContainer> calo2HitContainerHandle(m_calo2HitContainerKey, ctx);
+  ATH_CHECK( calo2HitContainerHandle.record( std::make_unique<xAOD::CalorimeterHitContainer>(),
+					std::make_unique<xAOD::CalorimeterHitAuxContainer>() ) );
+  ATH_MSG_DEBUG("WaveformsHitContainer '" << calo2HitContainerHandle.name() << "' initialized");
 
-    calo_hit->clearWaveformLinks();
-    calo_hit->addHit(caloWaveHitHandle.get(), hit);  // create link to calo waveform hit
+  for( const auto& hit : *calo2WaveHitHandle ) {
+    if (hit->status_bit(xAOD::WaveformStatus::SECONDARY)) continue;
+    xAOD::CalorimeterHit* calo_hit = new xAOD::CalorimeterHit();
+    calo2HitContainerHandle->push_back(calo_hit);    
+    calo_hit->addHit(calo2WaveHitHandle.get(), hit);
+    m_recoCalibTool->reconstruct(ctx, calo_hit, correct_gain=false);
   }
+  ATH_MSG_DEBUG("Calo2HitContainer '" << calo2HitContainerHandle.name() << "' filled with "<< calo2HitContainerHandle->size() <<" items");
 
-  ATH_MSG_DEBUG("CaloHitContainer '" << caloHitContainerHandle.name() << "' filled with "<< caloHitContainerHandle->size() <<" items");
+  // Reconstruct preshower hits
+  SG::WriteHandle<xAOD::CalorimeterHitContainer> preshowerHitContainerHandle(m_preshowerHitContainerKey, ctx);
+  ATH_CHECK( preshowerHitContainerHandle.record( std::make_unique<xAOD::CalorimeterHitContainer>(),
+                    std::make_unique<xAOD::CalorimeterHitAuxContainer>() ) );
+  ATH_MSG_DEBUG("WaveformsHitContainer '" << preshowerHitContainerHandle.name() << "' initialized");
 
   for( const auto& hit : *preshowerWaveHitHandle ) {
     if (hit->status_bit(xAOD::WaveformStatus::SECONDARY)) continue;
-
-    // Create a new preshower hit
-    xAOD::CalorimeterHit* preshower_hit = new xAOD::CalorimeterHit();
-    preshowerHitContainerHandle->push_back(preshower_hit);
-
-    ATH_MSG_DEBUG("preshower_hit in channel " << hit->channel() );
-
-    float MIPcharge_ref = m_recoCalibTool->getMIPcharge_ref(hit->channel()); // get reference MIP charge from database
-
-    float charge = hit->integral()/50.0; // divide by 50 ohms to get charge
-    ATH_MSG_DEBUG("preshower_hit filled has charge of " << charge << " pC");
-
-    float Nmip = charge / MIPcharge_ref;
-    ATH_MSG_DEBUG("Nmip = " << Nmip );
-    preshower_hit->set_Nmip(Nmip); // set Nmip value
-
-    float E_dep = Nmip * m_MIP_sim_Edep_preshower;
-    ATH_MSG_DEBUG("E_dep in GeV = " << E_dep );
-    preshower_hit->set_E_dep(E_dep);  // set calibrated E_dep value
-
-    float fit_to_raw_ratio = 1.0;
-    if (hit->integral() != 0.0) { // avoid possibility of division by zero error
-      fit_to_raw_ratio = hit->raw_integral() / hit->integral();
-    }
-    preshower_hit->set_fit_to_raw_ratio(fit_to_raw_ratio); // set fit-to-raw-ratio that can be used to take any of the calibrated values to what they would be if we used the raw integral instead of the fit integral
-    
-    preshower_hit->set_channel(hit->channel());  // set channel number
-
-    preshower_hit->clearWaveformLinks();
-    preshower_hit->addHit(preshowerWaveHitHandle.get(), hit);  // create link to preshower waveform hit
-  }
-
+    xAOD::CalorimeterHit* calo_hit = new xAOD::CalorimeterHit();
+    preshowerHitContainerHandle->push_back(calo_hit);
+    calo_hit->addHit(preshowerWaveHitHandle.get(), hit);
+    m_recoCalibTool->reconstruct(ctx, calo_hit, correct_gain=false);
+  }  
   ATH_MSG_DEBUG("PreshowerHitContainer '" << preshowerHitContainerHandle.name() << "' filled with "<< preshowerHitContainerHandle->size() <<" items");
-
-
+  
   return StatusCode::SUCCESS;
 }
 
-//----------------------------------------------------------------------
-float CaloRecAlg::extrapolateHVgain(int channel) const {
-  float PMT_hv = m_recoCalibTool->getHV(channel);
-  float PMT_hv_ref = m_recoCalibTool->getHV_ref(channel);
-  TF1 gaincurve = m_recoCalibTool->get_PMT_HV_curve(channel);
-
-  float gaincurve_atHV = gaincurve.Eval(PMT_hv);
-  float gaincurve_atHVref = gaincurve.Eval(PMT_hv_ref);
-
-  return ( gaincurve_atHVref / gaincurve_atHV ) * pow( PMT_hv_ref / PMT_hv , 6.6);
-}
-//----------------------------------------------------------------------
-
diff --git a/Calorimeter/CaloRecAlgs/src/CaloRecAlg.h b/Calorimeter/CaloRecAlgs/src/CaloRecAlg.h
index 721f521621ae519778a8ddadd8b5711f1beeac9b..b11fc05ae5cf91b8e5b4aed67074d07674a511a7 100644
--- a/Calorimeter/CaloRecAlgs/src/CaloRecAlg.h
+++ b/Calorimeter/CaloRecAlgs/src/CaloRecAlg.h
@@ -71,6 +71,10 @@ class CaloRecAlg : public AthReentrantAlgorithm {
   SG::ReadHandleKey<xAOD::WaveformHitContainer> m_caloWaveHitContainerKey {this, "CaloWaveHitContainerKey", "CaloWaveformHits"};
   //@}
 
+  //@{
+  SG::ReadHandleKey<xAOD::WaveformHitContainer> m_calo2WaveHitContainerKey {this, "Calo2WaveHitContainerKey", "Calo2WaveformHits"};
+  //@}
+
   //@{
   SG::ReadHandleKey<xAOD::WaveformHitContainer> m_preshowerWaveHitContainerKey {this, "PreshowerWaveHitContainerKey", "PreshowerWaveformHits"};
   //@}
@@ -80,21 +84,10 @@ class CaloRecAlg : public AthReentrantAlgorithm {
    */
   //@{
   SG::WriteHandleKey<xAOD::CalorimeterHitContainer> m_caloHitContainerKey {this, "CaloHitContainerKey", "CaloHits"};
+  SG::WriteHandleKey<xAOD::CalorimeterHitContainer> m_calo2HitContainerKey {this, "Calo2HitContainerKey", "Calo2Hits"};
   SG::WriteHandleKey<xAOD::CalorimeterHitContainer> m_preshowerHitContainerKey {this, "PreshowerHitContainerKey", "PreshowerHits"};
   //@}
 
-  float extrapolateHVgain(int channel) const;
-
-  FloatProperty m_MIP_sim_Edep_calo {this, "MIP_sim_Edep_calo", 58.5}; // MIP deposits 5.85 MeV of energy in calo
-  FloatProperty m_MIP_sim_Edep_preshower {this, "MIP_sim_Edep_preshower", 4.894}; // MIP deposits 4.894 MeV of energy in a preshower layer
-
-  FloatProperty m_calo_ch0_EM_mu {this, "m_calo_ch0_EM_mu", 330.0}; // factor used to do rough calibration of calo ch0 to EM energy: 0.33 GeV or 330 MeV
-  FloatProperty m_calo_ch1_EM_mu {this, "m_calo_ch1_EM_mu", 330.0}; // factor used to do rough calibration of calo ch1 to EM energy: 0.33 GeV or 330 MeV
-  FloatProperty m_calo_ch2_EM_mu {this, "m_calo_ch2_EM_mu", 330.0}; // factor used to do rough calibration of calo ch2 to EM energy: 0.33 GeV or 330 MeV
-  FloatProperty m_calo_ch3_EM_mu {this, "m_calo_ch3_EM_mu", 330.0}; // factor used to do rough calibration of calo ch3 to EM energy: 0.33 GeV or 330 MeV
-
-  float m_EM_mu_Map[4]; // vector that holds EM_mu calibration factors for calo channels
-
   Gaudi::Property<bool> m_isMC {this, "isMC", false};
 
 };
diff --git a/Calorimeter/CaloRecTools/CMakeLists.txt b/Calorimeter/CaloRecTools/CMakeLists.txt
index f0e9f07b53f5426b360c2639d4f7953a44d57792..abfdf9927c6467cbd3f8e847c09a1b799b0b327b 100644
--- a/Calorimeter/CaloRecTools/CMakeLists.txt
+++ b/Calorimeter/CaloRecTools/CMakeLists.txt
@@ -13,7 +13,8 @@ atlas_add_library( CaloRecToolsLib
                    CaloRecTools/*.h src/*.cxx src/*.h
                    PUBLIC_HEADERS CaloRecTools
                    PRIVATE_INCLUDE_DIRS ${ROOT_INCLUDE_DIRS}
-                   LINK_LIBRARIES AthenaBaseComps AthenaPoolUtilities AthenaKernel GaudiKernel
+                   LINK_LIBRARIES xAODFaserWaveform xAODFaserCalorimeter
+		   AthenaBaseComps AthenaPoolUtilities AthenaKernel GaudiKernel
                    PRIVATE_LINK_LIBRARIES ${ROOT_LIBRARIES}
        		   )
 
diff --git a/Calorimeter/CaloRecTools/CaloRecTools/ICaloRecTool.h b/Calorimeter/CaloRecTools/CaloRecTools/ICaloRecTool.h
index feb141d915d6214a681f437d94b8118e14c33820..e52efd93dd560bc38a83b9a23c10c16e6df533d9 100644
--- a/Calorimeter/CaloRecTools/CaloRecTools/ICaloRecTool.h
+++ b/Calorimeter/CaloRecTools/CaloRecTools/ICaloRecTool.h
@@ -17,6 +17,10 @@
 #include "GaudiKernel/ToolHandle.h"
 #include "GaudiKernel/EventContext.h"
 
+// Data Classes
+// #include "xAODFaserWaveform/WaveformHit.h"
+#include "xAODFaserCalorimeter/CalorimeterHit.h"
+
 #include "TF1.h"
 
 ///Interface for Calo reco algorithms
@@ -40,6 +44,11 @@ class ICaloRecTool : virtual public IAlgTool
   virtual float getMIPcharge_ref(int channel) const = 0;
 
   virtual TF1 get_PMT_HV_curve(int channel) const = 0;
+
+  // Reconstruct one waveform hit and put the resulting Calorimeter hit in the container
+  virtual void reconstruct(const EventContext& ctx,
+			   xAOD::CalorimeterHit* hit,
+			   bool correct_gain) const = 0;
 };
 
 #endif // CALORECTOOL_ICALORECTOOL_H
diff --git a/Calorimeter/CaloRecTools/src/CaloRecTool.cxx b/Calorimeter/CaloRecTools/src/CaloRecTool.cxx
index 916011019805ab9087c57427859086dec456eb80..01a81e287ca312ecde8616cf22a1c23a29186767 100644
--- a/Calorimeter/CaloRecTools/src/CaloRecTool.cxx
+++ b/Calorimeter/CaloRecTools/src/CaloRecTool.cxx
@@ -40,6 +40,29 @@ CaloRecTool::initialize() {
 
   HVgaincurves_rootFile->Close(); // close the root file
 
+  // These should be in DB, but just hardcode this for now
+  m_MIP_sim_Edep[0] = m_MIP_sim_Edep_calo.value();
+  m_MIP_sim_Edep[1] = m_MIP_sim_Edep_calo.value();
+  m_MIP_sim_Edep[2] = m_MIP_sim_Edep_calo.value();
+  m_MIP_sim_Edep[3] = m_MIP_sim_Edep_calo.value();
+
+  m_MIP_sim_Edep[12] = m_MIP_sim_Edep_preshower.value();
+  m_MIP_sim_Edep[13] = m_MIP_sim_Edep_preshower.value();
+  
+  m_MIP_sim_Edep[16] = m_MIP_sim_Edep_calo2.value();
+  m_MIP_sim_Edep[17] = m_MIP_sim_Edep_calo2.value();
+  m_MIP_sim_Edep[18] = m_MIP_sim_Edep_calo2.value();
+  m_MIP_sim_Edep[19] = m_MIP_sim_Edep_calo2.value();
+
+  m_EM_mu_Map[0] = m_calo_EM_mu.value();
+  m_EM_mu_Map[1] = m_calo_EM_mu.value();
+  m_EM_mu_Map[2] = m_calo_EM_mu.value();
+  m_EM_mu_Map[3] = m_calo_EM_mu.value();
+
+  m_EM_mu_Map[16] = m_calo_EM_mu.value();
+  m_EM_mu_Map[17] = m_calo_EM_mu.value();
+  m_EM_mu_Map[18] = m_calo_EM_mu.value();
+  m_EM_mu_Map[19] = m_calo_EM_mu.value();
 
   return StatusCode::SUCCESS;
 }
@@ -150,7 +173,7 @@ float CaloRecTool::getMIPcharge_ref(const EventContext& ctx, int channel) const
 
   ATH_MSG_DEBUG("in getMIPcharge_ref("<<channel<<")");
 
-  float MIP_charge_ref =0.;
+  float MIP_charge_ref =1.;  // Default for no calibration parameters
 
   // Read Cond Handle
   SG::ReadCondHandle<CondAttrListCollection> readHandle{m_MIP_ref_ReadKey, ctx};
@@ -187,8 +210,63 @@ float CaloRecTool::getMIPcharge_ref(int channel) const {
   return CaloRecTool::getMIPcharge_ref(ctx, channel);
 }
 
+//----------------------------------------------------------------------
+float CaloRecTool::extrapolateHVgain(const EventContext& ctx, int channel) const {
+  float PMT_hv = getHV(ctx, channel);
+  float PMT_hv_ref = getHV_ref(ctx, channel);
+  TF1 gaincurve = get_PMT_HV_curve(channel);
+
+  float gaincurve_atHV = gaincurve.Eval(PMT_hv);
+  float gaincurve_atHVref = gaincurve.Eval(PMT_hv_ref);
+
+  return ( gaincurve_atHVref / gaincurve_atHV ) * pow( PMT_hv_ref / PMT_hv , 6.6);
+}
+
 //--------------------------------------------------------------
 
+//----------------------------------------------------------------------
+// Reconstruct one waveform hit 
+//xAOD::CalorimeterHit*
+void
+CaloRecTool::reconstruct(const EventContext& ctx,
+			 xAOD::CalorimeterHit* calo_hit,
+			 bool correct_gain=false) const {
+
+  // Get the waveform hit attached to this calo hit
+  const xAOD::WaveformHit* wave_hit = calo_hit->Hit(0);
+  ATH_MSG_DEBUG("calo_hit in channel " << wave_hit->channel() );
+  
+  float MIPcharge_ref = getMIPcharge_ref(ctx, wave_hit->channel()); // get reference MIP charge from database
+
+  float charge = wave_hit->integral()/50.0; // divide by 50 ohms to get charge
+  ATH_MSG_DEBUG("calo_hit filled has charge of " << charge << " pC");
+
+  float gainRatio = 1.0;
+  if (correct_gain) { // MC already has correct MIP charge stored in MIPcharge_ref, so only need to to HV extrapolation with reral data
+    gainRatio = extrapolateHVgain(ctx, wave_hit->channel());
+  }
+  ATH_MSG_DEBUG("HV gain ratio = " << gainRatio );
+
+  float Nmip = (charge * gainRatio) / MIPcharge_ref;
+  ATH_MSG_DEBUG("Nmip = " << Nmip );
+  calo_hit->set_Nmip(Nmip); // set Nmip value
+
+  float E_dep = Nmip * m_MIP_sim_Edep[wave_hit->channel()];
+  ATH_MSG_DEBUG("E_dep in MeV = " << E_dep );
+  calo_hit->set_E_dep(E_dep);  // set calibrated E_dep value
+
+  float E_EM = Nmip * m_EM_mu_Map[wave_hit->channel()];
+  ATH_MSG_DEBUG("Em E in MeV = " << E_EM );
+  calo_hit->set_E_EM(E_EM);  // set calibrated E_EM value
+
+  float fit_to_raw_ratio = 1.0;
+  if (wave_hit->integral() != 0.0) { // avoid possibility of division by zero error
+    fit_to_raw_ratio = wave_hit->raw_integral() / wave_hit->integral();
+  }
+  calo_hit->set_fit_to_raw_ratio(fit_to_raw_ratio); // set fit-to-raw-ratio that can be used to take any of the calibrated values to what they would be if we used the raw integral instead of the fit integral
+
+}
+
 
 
 
diff --git a/Calorimeter/CaloRecTools/src/CaloRecTool.h b/Calorimeter/CaloRecTools/src/CaloRecTool.h
index 6ab891ad42784e3388d933f42de9267545fab3d9..de736af74393bf424b2fd471795aea7bc2808f52 100644
--- a/Calorimeter/CaloRecTools/src/CaloRecTool.h
+++ b/Calorimeter/CaloRecTools/src/CaloRecTool.h
@@ -25,6 +25,10 @@
 #include "Gaudi/Property.h"
 #include "GaudiKernel/EventContext.h"
 
+// Data Classes
+#include "xAODFaserWaveform/WaveformHit.h"
+#include "xAODFaserCalorimeter/CalorimeterHit.h"
+
 // Include ROOT classes
 #include "TF1.h"
 #include "TFile.h"
@@ -57,6 +61,11 @@ class CaloRecTool: public extends<AthAlgTool, ICaloRecTool> {
   // method for returning PMT HV calibration curves from root file
   virtual TF1 get_PMT_HV_curve(int channel) const override;
 
+  // Reconstruct one waveform hit and put the resulting Calorimeter hit in the container
+  virtual void reconstruct(const EventContext& ctx,
+			   xAOD::CalorimeterHit* hit,
+			   bool correct_gain) const override;
+
   TFile* HVgaincurves_rootFile;
 
   TF1* chan0_HVgaincurve_pntr;
@@ -80,6 +89,18 @@ class CaloRecTool: public extends<AthAlgTool, ICaloRecTool> {
   SG::ReadCondHandleKey<CondAttrListCollection> m_PMT_HV_ReadKey{this, "PMT_HV_ReadKey", "/WAVE/Calibration/HV", "Key of folder for PMT HV reading"};
   SG::ReadCondHandleKey<CondAttrListCollection> m_MIP_ref_ReadKey{this, "MIP_ref_ReadKey", "/WAVE/Calibration/MIP_ref", "Key of folder for MIP charge calibration measurment, also stores PMT HV used to measure the reference MIP charge"};
 
+  // Could also put these in DB, but just hardcode them for now
+  FloatProperty m_MIP_sim_Edep_calo {this, "MIP_sim_Edep_calo", 58.5}; // MIP deposits 5.85 MeV of energy in calo
+  FloatProperty m_MIP_sim_Edep_calo2 {this, "MIP_sim_Edep_calo", 58.5}; // MIP deposits 5.85 MeV of energy in calo
+  FloatProperty m_MIP_sim_Edep_preshower {this, "MIP_sim_Edep_preshower", 4.894}; // MIP deposits 4.894 MeV of energy in a preshower layer
+
+  FloatProperty m_calo_EM_mu {this, "m_calo_EM_mu", 330.0}; // factor used to do rough calibration of calo to EM energy: 0.33 GeV or 330 MeV
+
+  float m_MIP_sim_Edep[32]; // vector that holds Edep factors for calo and preshower
+  float m_EM_mu_Map[32]; // vector that holds EM_mu calibration factors for calo channels
+
+  float extrapolateHVgain(const EventContext& ctx, int channel) const;
+
 };
 
 #endif // CALORECTOOLS_CALORECTOOL_H
diff --git a/Control/CalypsoExample/Digitization/scripts/faser_digi.py b/Control/CalypsoExample/Digitization/scripts/faser_digi.py
index 0da1361cec9191f96014543a68aaca777e0acff8..e718e7c2daa362a0a5e7447fd91e18f6534016a0 100755
--- a/Control/CalypsoExample/Digitization/scripts/faser_digi.py
+++ b/Control/CalypsoExample/Digitization/scripts/faser_digi.py
@@ -27,6 +27,8 @@ parser.add_argument("-t", "--tag", default="",
                     help="Specify digi tag (to append to output filename)")
 parser.add_argument("--subtractTime", type=float, default=-999.,
                     help="Subtract time parameter for SCT RDOs")
+parser.add_argument("--simpleTiming", action="store_true",
+                    help="Use simple waveform time digitization")
 parser.add_argument("--digiTag", default="",
                     help="Specify tag for waveform digi folder")
 parser.add_argument("--short", default="",
@@ -76,11 +78,15 @@ if runtype == "TI12OldMC":
 
 # Testbeam setup 
 elif runtype == "TestBeamMC" :
-    ConfigFlags.GeoModel.FaserVersion = "FASER-TB00" 
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-TB00"
+    ConfigFlags.GeoModel.FaserVersion = "FASER-TB01" # New geometry
+    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-TB01"
 
 # New TI12 geometry (ugh)
-elif runtype == "TI12MC":
+elif runtype == "TI12MC" or runtype == "TI12MC04":
+    ConfigFlags.GeoModel.FaserVersion = "FASERNU-04" # New geometry
+    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-04"
+
+elif runtype == "TI12MC03":
     ConfigFlags.GeoModel.FaserVersion = "FASERNU-03" 
     ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"
 
@@ -169,10 +175,10 @@ pualg.PileUpTools['FaserSCT_DigitizationTool'].SurfaceChargesGenerator.SubtractT
 
 # Pass something to set folder tag
 from CaloDigiAlgs.CaloDigiAlgsConfig import CaloWaveformDigitizationCfg
-acc.merge(CaloWaveformDigitizationCfg(ConfigFlags, digiTag=args.digiTag))
+acc.merge(CaloWaveformDigitizationCfg(ConfigFlags, digiTag=args.digiTag, AdvancedTiming=(not args.simpleTiming)))
 
 from ScintDigiAlgs.ScintDigiAlgsConfig import ScintWaveformDigitizationCfg
-acc.merge(ScintWaveformDigitizationCfg(ConfigFlags, digiTag=args.digiTag))
+acc.merge(ScintWaveformDigitizationCfg(ConfigFlags, digiTag=args.digiTag, AdvancedTiming=(not args.simpleTiming)))
 
 # Configure verbosity    
 if args.verbose:
diff --git a/Control/CalypsoExample/Digitization/scripts/faser_digi_merge.py b/Control/CalypsoExample/Digitization/scripts/faser_digi_merge.py
index b945ffbbd19c024d549d0d0f84fdfca768759f68..bc60bc057c7ec92ba29ee1a5431445565c8304b7 100755
--- a/Control/CalypsoExample/Digitization/scripts/faser_digi_merge.py
+++ b/Control/CalypsoExample/Digitization/scripts/faser_digi_merge.py
@@ -35,6 +35,8 @@ parser.add_argument("-t", "--tag", default="",
                     help="Specify digi tag (to append to output filename)")
 parser.add_argument("--subtractTime", type=float, default=-999.,
                     help="Subtract time parameter for SCT RDOs")
+parser.add_argument("--simpleTiming", action="store_true",
+                    help="Use simple waveform time digitization")
 parser.add_argument("--digiTag", default="",
                     help="Specify tag for waveform digi folder")
 parser.add_argument("--short", default="",
@@ -186,17 +188,21 @@ if runtype == "TI12OldMC":
 
 # Testbeam setup 
 elif runtype == "TestBeamMC" :
-    ConfigFlags.GeoModel.FaserVersion = "FASER-TB00" 
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-TB00"
+    ConfigFlags.GeoModel.FaserVersion = "FASER-TB01" # New geometry
+    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-TB01"
 
 # New TI12 geometry (ugh)
-elif runtype == "TI12MC":
-    ConfigFlags.GeoModel.FaserVersion = "FASERNU-03" 
+elif runtype == "TI12MC" or runtype == "TI12MC04":
+    ConfigFlags.GeoModel.FaserVersion = "FASERNU-04" # New geometry
+    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-04"
+
+elif runtype == "TI12MC03":
+    ConfigFlags.GeoModel.FaserVersion = "FASERNU-03" # Old geometry
     ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"
 
 else:
-    print("Invalid run type found:", runtype)
-    print("Specify correct type or update list")
+    print("Invalid geometry type found:", runtype)
+    print("Specify correct geometry or update list")
     sys.exit(-1)
 
 
@@ -239,10 +245,10 @@ pualg.PileUpTools['FaserSCT_DigitizationTool'].SurfaceChargesGenerator.SubtractT
 
 # Pass something to set folder tag
 from CaloDigiAlgs.CaloDigiAlgsConfig import CaloWaveformDigitizationCfg
-acc.merge(CaloWaveformDigitizationCfg(ConfigFlags, digiTag=args.digiTag))
+acc.merge(CaloWaveformDigitizationCfg(ConfigFlags, digiTag=args.digiTag, AdvancedTiming=(not args.simpleTiming)))
 
 from ScintDigiAlgs.ScintDigiAlgsConfig import ScintWaveformDigitizationCfg
-acc.merge(ScintWaveformDigitizationCfg(ConfigFlags, digiTag=args.digiTag))
+acc.merge(ScintWaveformDigitizationCfg(ConfigFlags, digiTag=args.digiTag, AdvancedTiming=(not args.simpleTiming)))
 
 # Configure verbosity    
 if args.verbose:
diff --git a/Control/CalypsoExample/Digitization/scripts/submit_faser_digi.sh b/Control/CalypsoExample/Digitization/scripts/submit_faser_digi.sh
index fcf5e2045b192ef913a9fc1ea0b75c8fae4074bd..539c836a7008077172154ff3168bd681591a816f 100644
--- a/Control/CalypsoExample/Digitization/scripts/submit_faser_digi.sh
+++ b/Control/CalypsoExample/Digitization/scripts/submit_faser_digi.sh
@@ -2,9 +2,9 @@
 # Used with a condor file to submit to vanilla universe
 #
 # Usage:
-# submit_faser_digi.sh filepath [release_directory] [working_directory]
+# submit_faser_digi.sh [--script_options --] filepath [release_directory] [working_directory] [--other_options]
 #
-# Options:
+# Script Options:
 #   --digiTag <tag> - override digitization tag for calo gain
 #   --geom - geometry setting
 #   --out - specify output location (in EOS) to copy output HITS file
@@ -14,6 +14,8 @@
 # release_directory - optional path to release install directory (default pwd)
 # working_directory - optional path to output directory location (default pwd)
 #
+# Other Options will be passed to digi script
+#
 # The release directory must already be set up 
 # (so an unqualified asetup can set up the release properly)
 #
@@ -68,9 +70,36 @@ do
 done
 #
 # Parse command-line options
-file_path=${1}
-release_directory=${2}
-working_directory=${3}
+while [ -n "$1" ]
+do
+    case "$1" in
+        --) # Stop parsing
+            shift;  # Eat this
+            break;; # and stop parsing
+
+	-*) # Some option                                          
+            break;; # Stop parsing
+
+        *)  # Not an option, fill next parameter value
+
+	    if [ -z "$file_path" ]
+	    then
+		file_path=${1}
+		shift
+	    elif [ -z "$release_directory" ]
+	    then
+		release_directory=${1}
+		shift
+	    elif [ -z "$working_directory" ]
+	    then
+		working_directory=${1}
+		shift
+	    else
+		break # Already filled everything
+	    fi
+	    ;;
+    esac
+done
 #
 # Set defaults if arguments aren't provided
 if [ -z "$file_path" ]
@@ -125,17 +154,16 @@ echo "Time: $timestr"
 echo "Release: $release_directory"
 echo "Output: $output_directory"
 echo "Starting: $starting_directory"
+echo "Remaining: $@"
 #
 # Set up the release (do this automatically)?
+# Must follow with -- to avoid command-line arguments being passed
 export ATLAS_LOCAL_ROOT_BASE=/cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase
-source ${ATLAS_LOCAL_ROOT_BASE}/user/atlasLocalSetup.sh 
+source ${ATLAS_LOCAL_ROOT_BASE}/user/atlasLocalSetup.sh --
 #
-# Try automatic
 # Always go back to the starting directory in case paths are relative
 cd "$starting_directory"
 cd "$release_directory"
-# asetup
-# source build/x8*/setup.sh
 #
 # Do this by hand
 asetup --input=calypso/asetup.faser Athena,22.0.49
@@ -185,10 +213,15 @@ cd "$file_stem"
 #
 # Run job
 #
-faser_digi.py $geomstr $gainstr $timestr $tagstr "$file_path"
+echo
+echo "Submit job:"
+echo faser_digi.py $geomstr $gainstr $timestr $tagstr "$@" "$file_path"
+echo
+#
+faser_digi.py $geomstr $gainstr $timestr $tagstr "$@" "$file_path"
 digi_code=$?
+#
 echo "Return code: $digi_code"
-
 #
 # Print out ending time
 date
diff --git a/Control/CalypsoExample/Digitization/scripts/submit_faser_digi_merge.sh b/Control/CalypsoExample/Digitization/scripts/submit_faser_digi_merge.sh
index 50278c33e2435236fff3bc2b6a94c13aa5794817..ab9e886e493a4a1edf1be1e31147183db6cef395 100755
--- a/Control/CalypsoExample/Digitization/scripts/submit_faser_digi_merge.sh
+++ b/Control/CalypsoExample/Digitization/scripts/submit_faser_digi_merge.sh
@@ -2,9 +2,9 @@
 # Used with a condor file to submit to vanilla universe
 #
 # Usage:
-# submit_faser_digi_merge.sh dirpath slice nfiles [release_directory] [working_directory] 
+# submit_faser_digi_merge.sh [--script_options --] dirpath slice nfiles [release_directory] [working_directory] [--other_options]
 #
-# Options:
+# Script Options:
 #   --digiTag <tag> - override digitization tag for calo gain
 #   --partial - allow missing files in merge
 #   --geom - geometry setting
@@ -17,6 +17,8 @@
 # release_directory - optional path to release install directory (default pwd)
 # working_directory - optional path to output directory location (default pwd)
 #
+# Other Options will be passed to job script
+#
 # The release directory must already be set up 
 # (so an unqualified asetup can set up the release properly)
 #
@@ -82,11 +84,44 @@ do
 done
 #
 # Parse command-line options
-dir_path=${1}
-slice=${2}
-nfiles=${3}
-release_directory=${4}
-working_directory=${5}
+while [ -n "$1" ]
+do
+    case "$1" in
+        --) # Stop parsing
+            shift;  # Eat this
+            break;; # and stop parsing
+
+	-*) # Some option                                          
+            break;; # Stop parsing
+
+        *)  # Not an option, fill next parameter value
+
+	    if [ -z "$dir_path" ]
+	    then
+		dir_path=${1}
+		shift
+	    elif [ -z "$slice" ]
+	    then
+		slice=${1}
+		shift
+	    elif [ -z "$nfiles" ]
+	    then
+		nfiles=${1}
+		shift
+	    elif [ -z "$release_directory" ]
+	    then
+		release_directory=${1}
+		shift
+	    elif [ -z "$working_directory" ]
+	    then
+		working_directory=${1}
+		shift
+	    else
+		break # Already filled everything
+	    fi
+	    ;;
+    esac
+done
 #
 # Set defaults if arguments aren't provided
 if [ -z "$dir_path" ]
@@ -161,17 +196,16 @@ echo "Release: $release_directory"
 echo "Output: $output_directory"
 echo "Starting: $starting_directory"
 echo "job: $file_stem"
+echo "Remaining: $@"
 #
 # Set up the release (do this automatically)?
+# Must follow with -- to avoid command-line arguments being passed
 export ATLAS_LOCAL_ROOT_BASE=/cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase
-source ${ATLAS_LOCAL_ROOT_BASE}/user/atlasLocalSetup.sh 
+source ${ATLAS_LOCAL_ROOT_BASE}/user/atlasLocalSetup.sh --
 #
-# Try automatic
 # Always go back to the starting directory in case paths are relative
 cd "$starting_directory"
 cd "$release_directory"
-# asetup
-# source build/x8*/setup.sh
 #
 # Do this by hand
 asetup --input=calypso/asetup.faser Athena,22.0.49
@@ -221,7 +255,12 @@ cd "$file_stem"
 #
 # Run job
 #
-faser_digi_merge.py $partialstr $geomstr $gainstr $timestr $tagstr --slice $slice --files $nfiles $dir_path
+echo
+echo "Submit job:"
+echo faser_digi_merge.py $partialstr $geomstr $gainstr $timestr $tagstr --slice $slice --files $nfiles "$@" $dir_path
+echo
+#
+faser_digi_merge.py $partialstr $geomstr $gainstr $timestr $tagstr --slice $slice --files $nfiles "$@" $dir_path
 digi_code=$?
 echo "Return code: $digi_code"
 #
diff --git a/Control/CalypsoExample/Generation/scripts/faser_particlegun.py b/Control/CalypsoExample/Generation/scripts/faser_particlegun.py
index 7ec05e2aaf4df3d434577b3d7f423bcf56856722..e4a1ca645efb3d7e9bc2183c3af7ddfa793ccc77 100755
--- a/Control/CalypsoExample/Generation/scripts/faser_particlegun.py
+++ b/Control/CalypsoExample/Generation/scripts/faser_particlegun.py
@@ -72,7 +72,15 @@ if __name__ == '__main__':
     ConfigFlags.addFlag("Sim.Beam.xshift", 0)  # Potential beam shift
     ConfigFlags.addFlag("Sim.Beam.yshift", 0)        
 
-    if args.geom == "TI12MC":
+    if args.geom == "TI12MC" or args.geom == "TI12MC04":
+        # New TI12 geometry
+        ConfigFlags.GeoModel.FaserVersion = "FASERNU-04"  # Geometry set-up
+        ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-04"  # Conditions set-up
+        # TI12 detectors
+        detectors = ['Veto', 'VetoNu', 'Preshower', 'FaserSCT', 'Ecal', 'Trigger', 
+                     'Dipole', 'Emulsion', 'Trench']
+
+    elif args.geom == "TI12MC03":
         # 2022 TI12 geometry
         ConfigFlags.GeoModel.FaserVersion = "FASERNU-03"  # Geometry set-up
         ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"  # Conditions set-up
@@ -82,8 +90,8 @@ if __name__ == '__main__':
 
     elif args.geom == "TestBeamMC":
         # Define 2021 test beam geometry
-        ConfigFlags.GeoModel.FaserVersion = "FASER-TB00"   # Geometry set-up
-        ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-TB00"   # Conditions set-up
+        ConfigFlags.GeoModel.FaserVersion = "FASER-TB01"   # Geometry set-up
+        ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-TB01"   # Conditions set-up
         # Testbeam detectors (trigger layers are actually veto counters)
         detectors = ['Veto', 'Preshower', 'FaserSCT', 'Ecal']
 
diff --git a/Control/CalypsoExample/Generation/scripts/submit_faser_particlegun.sh b/Control/CalypsoExample/Generation/scripts/submit_faser_particlegun.sh
index 441ef2923b397274b74f53b8530adf592dc3e76f..9706a6c3cdfd7fc8f45c78fdf8e48efd92db5a09 100755
--- a/Control/CalypsoExample/Generation/scripts/submit_faser_particlegun.sh
+++ b/Control/CalypsoExample/Generation/scripts/submit_faser_particlegun.sh
@@ -2,9 +2,9 @@
 # Used with a condor file to submit to vanilla universe
 #
 # Usage:
-# submit_faser_particlegun.sh config_file segment [release_directory] [working_directory] 
+# submit_faser_particlegun.sh [script_options --] config_file segment [release_directory] [working_directory] [--other_options]
 # 
-# Options:
+# Script Options:
 #   --out - specify output location (in EOS) to copy output HITS file
 #   --log - specify output location (in EOS) for log file
 #
@@ -13,6 +13,8 @@
 # release_directory - optional path to release install directory (default pwd)
 # working_directory - optional path to output directory location (default pwd)
 #
+# Other Options will be passed directly to job script
+#
 # Afterwards, the output file will be copied to the directory specified in working_directory
 #
 # The release directory must already be set up 
@@ -52,10 +54,40 @@ do
 done
 #
 # Parse command-line options
-config_path=${1}
-segment=${2}
-release_directory=${3}
-working_directory=${4}
+while [ -n "$1" ]
+do
+    case "$1" in
+	--) # Stop parsing
+	    shift;  # Eat this
+	    break;; # and stop parsing
+	
+	-*) # Some option
+	    break;; # Stop parsing
+
+	*)  # Not an option, fill next parameter value
+
+	    if [ -z "$config_path" ]
+	    then
+		config_path=${1}
+		shift
+	    elif [ -z "$segment" ]
+	    then
+		segment=${1}
+		shift
+	    elif [ -z "$release_directory" ]
+	    then
+		release_directory=${1}
+		shift
+	    elif [ -z "$working_directory" ]
+	    then
+		working_directory=${1}
+		shift
+	    else
+		break # Already filled everything
+	    fi
+	    ;;
+    esac
+done
 #
 # Set defaults if arguments aren't provided
 if [ -z "$config_path" ]; then
@@ -125,22 +157,21 @@ echo "Segment: $seg_str"
 echo "Release: $release_directory"
 echo "Output: $output_directory"
 echo "Starting: $starting_directory"
+echo "Remaining: $@"
 #
 # Set up the release (do this automatically)?
+# Must follow with -- to avoid command-line arguments being passed
 export ATLAS_LOCAL_ROOT_BASE=/cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase
-source ${ATLAS_LOCAL_ROOT_BASE}/user/atlasLocalSetup.sh 
+source ${ATLAS_LOCAL_ROOT_BASE}/user/atlasLocalSetup.sh --
 #
-# Try automatic
 # Always go back to the starting directory in case paths are relative
 cd "$starting_directory"
 cd "$release_directory"
-# This doesn't seem to work, as we need the --input argument
-#asetup 
-#source build/x8*/setup.sh
 #
 # Do this by hand
 asetup --input=calypso/asetup.faser Athena,22.0.49
 source run/setup.sh
+#
 echo "ATLAS_POOLCOND_PATH = $ATLAS_POOLCOND_PATH"
 #
 #
@@ -184,12 +215,18 @@ cd "${config_file_stem}-${seg_str}"
 #
 # Run job
 if [[ -z "$tag" ]]; then
-    faser_particlegun.py  "--conf=$config_path" "--segment=$seg_str"
-    gen_code=$?
+    tagstr=""
 else
-    faser_particlegun.py  "--conf=$config_path" "--segment=$seg_str" "--tag=$tag"
-    gen_code=$?
+    tagstr="--reco=$tag"
 fi
+#
+echo
+echo "Submit job:"
+echo faser_particlegun.py  "--conf=$config_path" "--segment=$seg_str" $tagstr "$@" 
+echo
+faser_particlegun.py  "--conf=$config_path" "--segment=$seg_str" $tagstr "$@" 
+gen_code=$?
+#
 echo "Return code: $gen_code"
 #
 # Print out ending time
diff --git a/Control/CalypsoExample/GeoModelTest/CMakeLists.txt b/Control/CalypsoExample/GeoModelTest/CMakeLists.txt
index 772543c3ad28c4f31b5d42e382cff2cc79215192..b9b37519456d895ddda155051328ed5681505126 100644
--- a/Control/CalypsoExample/GeoModelTest/CMakeLists.txt
+++ b/Control/CalypsoExample/GeoModelTest/CMakeLists.txt
@@ -30,12 +30,21 @@ atlas_add_test( Faser03GeoCheck
                 PROPERTIES WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
                 PROPERTIES TIMEOUT 300 )
 
+atlas_add_test( Faser04GeoCheck
+                SCRIPT python ${CMAKE_CURRENT_SOURCE_DIR}/python/Faser04TestConfig.py
+                PROPERTIES WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
+                PROPERTIES TIMEOUT 300 )
 
-atlas_add_test( TestBeamGeoCheck
-                SCRIPT python ${CMAKE_CURRENT_SOURCE_DIR}/python/TestBeamTestConfig.py
+atlas_add_test( TestBeam00GeoCheck
+                SCRIPT python ${CMAKE_CURRENT_SOURCE_DIR}/python/TestBeam00TestConfig.py
                 PROPERTIES WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
                 PROPERTIES TIMEOUT 300 )
 
+atlas_add_test( TestBeam01GeoCheck
+                SCRIPT python ${CMAKE_CURRENT_SOURCE_DIR}/python/TestBeam01TestConfig.py
+                PROPERTIES WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
+                PROPERTIES TIMEOUT 300 )
+                
 # Install files from the package:
 #atlas_install_headers( GeoModelTest )
 #atlas_install_joboptions( share/*.py )
diff --git a/Control/CalypsoExample/GeoModelTest/python/Faser04TestConfig.py b/Control/CalypsoExample/GeoModelTest/python/Faser04TestConfig.py
new file mode 100644
index 0000000000000000000000000000000000000000..512eb5c7909f230863452171fa001140ea2c6c8a
--- /dev/null
+++ b/Control/CalypsoExample/GeoModelTest/python/Faser04TestConfig.py
@@ -0,0 +1,68 @@
+# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+
+#!/usr/bin/env python
+import sys
+from AthenaCommon.Constants import VERBOSE, INFO
+from AthenaConfiguration.ComponentFactory import CompFactory
+
+def GeoModelTestCfg(flags, name="GeoModelTestAlg", **kwargs):
+
+    # Initialize GeoModel
+    from FaserGeoModel.FaserGeoModelConfig import FaserGeometryCfg
+    a = FaserGeometryCfg(flags)
+
+    # Initialize field service
+    from MagFieldServices.MagFieldServicesConfig import MagneticFieldSvcCfg
+    a.merge(MagneticFieldSvcCfg(flags))
+
+    # Configure the algorithm itself
+    GeoModelTestAlg = CompFactory.GeoModelTestAlg
+    a.addEventAlgo(GeoModelTestAlg(name, FirstSCTStation=0, 
+                                         LastSCTStation=3,
+                                         PrintSctIDs=True,
+                                         **kwargs))
+
+    return a
+
+if __name__ == "__main__":
+    from AthenaCommon.Logging import log#, logging
+    from AthenaCommon.Configurable import Configurable
+    from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+
+    Configurable.configurableRun3Behavior = True
+    
+# Flags for this job
+    ConfigFlags.Input.isMC = True                                # Needed to bypass autoconfig
+    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"             # Always needed; must match FaserVersion
+    ConfigFlags.GeoModel.FaserVersion     = "FASERNU-04"           # Default FASER geometry
+    ConfigFlags.GeoModel.GeoExportFile    = "FaserNu04.db"        # Writes out a GeoModel file with the full geometry tree (optional, comment out to skip)
+    ConfigFlags.Detector.GeometryEmulsion = True
+    ConfigFlags.Detector.GeometryTrench   = True
+    # ConfigFlags.Detector.EnableVeto     = True
+    # ConfigFlags.Detector.EnableTrigger  = True
+    # ConfigFlags.Detector.EnablePreshower= True
+    # ConfigFlags.Detector.EnableFaserSCT = True
+    # ConfigFlags.Detector.EnableUpstreamDipole = True
+    # ConfigFlags.Detector.EnableCentralDipole = True
+    # ConfigFlags.Detector.EnableDownstreamDipole = True
+    # ConfigFlags.Detector.EnableEcal = True
+    ConfigFlags.lock()
+
+# Configure components
+    from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
+    acc = MainServicesCfg(ConfigFlags)
+
+# Set up algorithm
+    acc.merge(GeoModelTestCfg(ConfigFlags))
+
+# Configure verbosity    
+    msgSvc = acc.getService("MessageSvc")
+    msgSvc.Format = "% F%30W%S%7W%R%T %0W%M"
+    # ConfigFlags.dump()
+    # logging.getLogger('forcomps').setLevel(VERBOSE)
+    acc.foreach_component("*").OutputLevel = VERBOSE
+    acc.foreach_component("*ClassID*").OutputLevel = INFO
+    log.setLevel(VERBOSE)
+    
+# Execute and finish
+    sys.exit(int(acc.run(maxEvents=1).isFailure()))
diff --git a/Control/CalypsoExample/GeoModelTest/python/TestBeamTestConfig.py b/Control/CalypsoExample/GeoModelTest/python/TestBeam00TestConfig.py
similarity index 100%
rename from Control/CalypsoExample/GeoModelTest/python/TestBeamTestConfig.py
rename to Control/CalypsoExample/GeoModelTest/python/TestBeam00TestConfig.py
diff --git a/Control/CalypsoExample/GeoModelTest/python/TestBeam01TestConfig.py b/Control/CalypsoExample/GeoModelTest/python/TestBeam01TestConfig.py
new file mode 100644
index 0000000000000000000000000000000000000000..e68644c58f240db05bfde68b3eef482ffb4982ae
--- /dev/null
+++ b/Control/CalypsoExample/GeoModelTest/python/TestBeam01TestConfig.py
@@ -0,0 +1,74 @@
+# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+
+#!/usr/bin/env python
+import sys
+from AthenaCommon.Constants import VERBOSE, INFO
+from AthenaConfiguration.ComponentFactory import CompFactory
+
+def GeoModelTestCfg(flags, name="GeoModelTestAlg", **kwargs):
+
+    # Initialize GeoModel
+    from FaserGeoModel.FaserGeoModelConfig import FaserGeometryCfg
+    a = FaserGeometryCfg(flags)
+
+    # Initialize field service
+    from MagFieldServices.MagFieldServicesConfig import MagneticFieldSvcCfg
+    a.merge(MagneticFieldSvcCfg(flags))
+    # Disable the field
+    cacheAlg = a.getCondAlgo("FaserFieldCacheCondAlg")
+    cacheAlg.UseDipoScale = 0.0
+    cacheAlg.UseDCS = False
+
+    # Configure the algorithm itself
+    GeoModelTestAlg = CompFactory.GeoModelTestAlg
+    a.addEventAlgo(GeoModelTestAlg(name, FirstSCTStation=0, 
+                                         LastSCTStation=0,
+                                         NumVetoStations=1, 
+                                         NumVetoPlatesPerStation=2,
+                                         NumVetoNuStations=0,
+                                         NumTriggerStations=0,
+                                         PrintSctIDs=True,
+                                         **kwargs))
+
+    return a
+
+if __name__ == "__main__":
+    from AthenaCommon.Logging import log#, logging
+    from AthenaCommon.Configurable import Configurable
+    from CalypsoConfiguration.AllConfigFlags import ConfigFlags
+
+    Configurable.configurableRun3Behavior = True
+    
+# Flags for this job
+    ConfigFlags.Input.isMC = True                                # Needed to bypass autoconfig
+    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-TB00"             # Always needed; must match FaserVersion
+    ConfigFlags.GeoModel.FaserVersion     = "FASER-TB01"           # Default FASER geometry
+    # ConfigFlags.GeoModel.GeoExportFile    = "faserTestBeamGeo.db"        # Writes out a GeoModel file with the full geometry tree (optional, comment out to skip)
+    # ConfigFlags.Detector.EnableVeto     = True
+    # ConfigFlags.Detector.EnableTrigger  = True
+    # ConfigFlags.Detector.EnablePreshower= True
+    # ConfigFlags.Detector.EnableFaserSCT = True
+    # ConfigFlags.Detector.EnableUpstreamDipole = True
+    # ConfigFlags.Detector.EnableCentralDipole = True
+    # ConfigFlags.Detector.EnableDownstreamDipole = True
+    # ConfigFlags.Detector.EnableEcal = True
+    ConfigFlags.lock()
+
+# Configure components
+    from CalypsoConfiguration.MainServicesConfig import MainServicesCfg
+    acc = MainServicesCfg(ConfigFlags)
+
+# Set up algorithm
+    acc.merge(GeoModelTestCfg(ConfigFlags))
+
+# Configure verbosity    
+    msgSvc = acc.getService("MessageSvc")
+    msgSvc.Format = "% F%30W%S%7W%R%T %0W%M"
+    # ConfigFlags.dump()
+    # logging.getLogger('forcomps').setLevel(VERBOSE)
+    acc.foreach_component("*").OutputLevel = VERBOSE
+    acc.foreach_component("*ClassID*").OutputLevel = INFO
+    log.setLevel(VERBOSE)
+    
+# Execute and finish
+    sys.exit(int(acc.run(maxEvents=1).isFailure()))
diff --git a/Control/CalypsoExample/Reconstruction/scripts/faser_reco.py b/Control/CalypsoExample/Reconstruction/scripts/faser_reco.py
index 5f1af19df0f1e4c021b799854f06401082bece8b..7364646c289ab6480b6430b8c6f0884384e31f67 100755
--- a/Control/CalypsoExample/Reconstruction/scripts/faser_reco.py
+++ b/Control/CalypsoExample/Reconstruction/scripts/faser_reco.py
@@ -61,8 +61,8 @@ elif args.testBeam:
     runtype = "TestBeamData"
 
 else:
-    print(f"Assuming TI12 geometry")
-    runtype = "TI12Data03"
+    print(f"Assuming 2024 TI12 geometry (TI12Data04)")
+    runtype = "TI12Data04"
 
     # Try to pick correct geometry from run number
     # This won't work for testbeam data, 
@@ -77,7 +77,7 @@ else:
     else:
         if runnumber > 6700: # Not sure if this is exact
             print(f"Found run number {runnumber}, using TI12 configuration with IFT+faserNu")
-            runtype = "TI12Data03"
+            runtype = "TI12Data04"
         elif runnumber > 5302: # Last TI12 run on Nov. 23, 2021 without IFT
             print(f"Found run number {runnumber}, using TI12 configuration with IFT")
             runtype = "TI12Data02"
@@ -128,9 +128,10 @@ if runtype == "TI12Data":
     ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-01"
 
 # Testbeam setup 
-elif runtype == "TestBeamData" or runtype == "TestBeamMC":
-    ConfigFlags.GeoModel.FaserVersion = "FASER-TB00" 
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-TB00"
+elif runtype in ["TestBeamData", "TestBeamMC"]:
+    ConfigFlags.GeoModel.FaserVersion = "FASER-TB01" 
+    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-TB01"
+    print("Set global tag to OFLCOND-FASER-TB01")
     useCKF = False
     useCal = True
 
@@ -140,9 +141,24 @@ elif runtype == "TI12Data02":
     ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"
 
 # Final 2022 TI12 geometry
-elif runtype == "TI12Data03":
-    ConfigFlags.GeoModel.FaserVersion = "FASERNU-03" 
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-04" # Updated 2023 alignment
+elif runtype in ["TI12Data03", "TI12MC03"]:
+    ConfigFlags.GeoModel.FaserVersion = "FASERNU-03"
+    # Ugh, this is a horrible hack
+    # and I am not sure it is even needed as there may not be a difference
+    # in reco between the MC global tags...
+    if args.isMC:
+        ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03" # Consistent with sim/digi
+    else:
+        ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-04" # Updated 2023 alignment
+        
+    useCal = True
+    if not args.isMC:
+        useLHC = True
+
+# Updated 2023 TI12 geometry
+elif runtype in ["TI12Data04", "TI12MC04"]:
+    ConfigFlags.GeoModel.FaserVersion = "FASERNU-04" 
+    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-04"
     useCal = True
     if not args.isMC:
         useLHC = True
@@ -243,13 +259,25 @@ if useCKF:
 
     #
     # Kalman Filter for tracking
+
+    # Do both forward and backward tracking
     from FaserActsKalmanFilter.CKF2Config import CKF2Cfg
     if not args.isOverlay:
+        # 4-station tracks
         acc.merge(CKF2Cfg(ConfigFlags, noDiagnostics=True))
 
     # Add tracking collection with no IFT 
     acc.merge(CKF2Cfg(ConfigFlags, maskedLayers=[0, 1, 2], name="CKF_woIFT", 
-                      OutputCollection="CKFTrackCollectionWithoutIFT", noDiagnostics=True))
+                      OutputCollection="CKFTrackCollectionWithoutIFT", 
+                      BackwardPropagation=False,
+                      noDiagnostics=True))
+
+
+    # Backward tracking with no IFT
+    acc.merge(CKF2Cfg(ConfigFlags, maskedLayers=[0, 1, 2], name="CKF_Back_woIFT", 
+                      OutputCollection="CKFTrackCollectionBackwardWithoutIFT", 
+                      BackwardPropagation=True,
+                      noDiagnostics=True))
 
 #
 # Configure output
diff --git a/Control/CalypsoExample/Reconstruction/scripts/submit_faser_reco.sh b/Control/CalypsoExample/Reconstruction/scripts/submit_faser_reco.sh
index 35d5f638e23e8b13866af28a8302c62c40b11b81..04ab885872c6bf320236eb22bb27b50bd1b0d0f7 100755
--- a/Control/CalypsoExample/Reconstruction/scripts/submit_faser_reco.sh
+++ b/Control/CalypsoExample/Reconstruction/scripts/submit_faser_reco.sh
@@ -2,7 +2,7 @@
 # Used with a condor file to submit to vanilla universe
 #
 # Usage:
-# submit_faser_reco.sh file_path [release_directory] [working_directory] [nevents]
+# submit_faser_reco.sh [options --] file_path [release_directory] [working_directory] [nevents] --other_options
 # 
 # Options:
 #   --out - specify output location (in EOS) to copy output HITS file
@@ -12,6 +12,8 @@
 # Monte Carlo options:
 #   --isMC - needed for MC reco
 #   --caloTag <tag> - override MC reco tag for calo gain (to match digi tag)
+#
+# Other --options will be passed to faser_reco.py
 # 
 # file_path - full file name (with path)
 # release_directory - optional path to release install directory (default pwd)
@@ -74,15 +76,45 @@ do
 done
 #
 # Parse command-line arguments
-file_path=${1}
-release_directory=${2}
-working_directory=${3}
-nevents=${4}
+while [ -n "$1" ]
+do
+    case "$1" in
+     --) # Stop parsing
+	 shift; # Eat this
+	 break;; # and stop parsing
+
+     -*) # Some option
+	 break;; # Stop parsing
+
+     *)  # Not an option, fill next value
+
+	 if [ -z "$file_path" ]
+	 then
+	     file_path=${1}
+	     shift
+	 elif [ -z "$release_directory" ]
+	 then
+	     release_directory=${1}
+	     shift
+	 elif [ -z "$working_directory" ]
+	 then
+	     working_directory=${1}
+	     shift
+	 elif [ -z "$nevents" ]
+	 then
+	     nevents=${1}
+	     shift
+	 else
+	     break # Already filled everything
+	 fi
+	 ;;
+    esac
+done
 #
 # Set defaults if arguments aren't provided
 if [ -z "$file_path" ]
 then
-  echo "No file_path specified!"
+  echo "No file_path specified!"  
   exit 1
 fi
 #
@@ -136,16 +168,16 @@ echo "Gain: $gainstr"
 echo "Release: $release_directory"
 echo "Output: $output_directory"
 echo "Starting: $starting_directory"
+echo "Remaining: $@"
 #
 # Set up the release (do this automatically)?
+# Must follow with -- to avoid command-line arguments being passed
 export ATLAS_LOCAL_ROOT_BASE=/cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase
-source ${ATLAS_LOCAL_ROOT_BASE}/user/atlasLocalSetup.sh 
+source ${ATLAS_LOCAL_ROOT_BASE}/user/atlasLocalSetup.sh --
 #
 # Always go back to the starting directory in case paths are relative
 cd "$starting_directory"
 cd "$release_directory"
-#asetup 
-#source build/x8*/setup.sh
 #
 # Do this by hand
 asetup --input=calypso/asetup.faser Athena,22.0.49
@@ -230,7 +262,12 @@ else
     mcstr="--isMC"
 fi
 #
-faser_reco.py "--nevents=$nevents" $geomstr $tagstr $mcstr $gainstr "$file_path" 
+echo
+echo "Submit job:"
+echo faser_reco.py "--nevents=$nevents" $geomstr $tagstr $mcstr $gainstr "$@" "$file_path"
+echo
+#
+faser_reco.py "--nevents=$nevents" $geomstr $tagstr $mcstr $gainstr "$@" "$file_path" 
 reco_code=$?
 echo "Return code: $reco_code"
 #
diff --git a/Control/CalypsoExample/SimHitExample/src/SimHitAlg.cxx b/Control/CalypsoExample/SimHitExample/src/SimHitAlg.cxx
index 7fc371479fba5adee99cc327970f5226186a48e2..995578e5b9b29a96674f8323353297c6b66ebe75 100644
--- a/Control/CalypsoExample/SimHitExample/src/SimHitAlg.cxx
+++ b/Control/CalypsoExample/SimHitExample/src/SimHitAlg.cxx
@@ -25,6 +25,15 @@ StatusCode SimHitAlg::initialize()
     ATH_CHECK(histSvc()->regHist("/HIST/plate_trigger", m_plate_trigger));
     ATH_CHECK(histSvc()->regHist("/HIST/plate_veto", m_plate_veto));
 
+    m_veto_hitTime = new TH1D("vetoTime", "Veto hit time", 120, -30, 30);
+    m_preshower_hitTime = new TH1D("preshowerTime", "Preshower hit time", 120, -30, 30);
+    m_trigger_hitTime = new TH1D("triggerTime", "Trigger hit time", 120, -30, 30);
+    m_ecal_hitTime = new TH1D("ecalTime", "Ecal hit time", 120, -30, 30);
+    ATH_CHECK(histSvc()->regHist("/HIST/vetoTime", m_veto_hitTime));
+    ATH_CHECK(histSvc()->regHist("/HIST/triggerTime", m_trigger_hitTime));
+    ATH_CHECK(histSvc()->regHist("/HIST/preshowerTime", m_preshower_hitTime));
+    ATH_CHECK(histSvc()->regHist("/HIST/ecalTime", m_ecal_hitTime));
+
     m_ecalEnergy = new TH1D("ecalEnergy", "Ecal Energy Fraction", 100, 0.0, 0.20);
     ATH_CHECK(histSvc()->regHist("/HIST/ecal_energy", m_ecalEnergy));
 
@@ -140,7 +149,7 @@ StatusCode SimHitAlg::execute()
             if (m_printScintillator) hit.print();
             m_hist->Fill(hit.energyLoss());
             m_plate_preshower->Fill(hit.getStation(),hit.getPlate(),hit.energyLoss());
-
+            m_preshower_hitTime->Fill(hit.meanTime(), hit.energyLoss());
         }
     }
 
@@ -150,7 +159,7 @@ StatusCode SimHitAlg::execute()
             if (m_printScintillator) hit.print();
             m_hist->Fill(hit.energyLoss());
             m_plate_trigger->Fill(hit.getStation(),hit.getPlate(),hit.energyLoss());
-
+            m_trigger_hitTime->Fill(hit.meanTime(), hit.energyLoss());
         }
     }
 
@@ -160,7 +169,7 @@ StatusCode SimHitAlg::execute()
             if (m_printScintillator) hit.print();
             m_hist->Fill(hit.energyLoss());
             m_plate_veto->Fill(hit.getStation(),hit.getPlate(),hit.energyLoss());
-
+            m_veto_hitTime->Fill(hit.meanTime(), hit.energyLoss());
         }
     }
 
@@ -171,6 +180,7 @@ StatusCode SimHitAlg::execute()
         {
             if (m_printCalorimeter) hit.print();
             ecalTotal += hit.energyLoss();
+            m_ecal_hitTime->Fill(hit.meanTime(), hit.energyLoss());
         }
         if (ePrimary > 0) m_ecalEnergy->Fill(ecalTotal/ePrimary);
     }
diff --git a/Control/CalypsoExample/SimHitExample/src/SimHitAlg.h b/Control/CalypsoExample/SimHitExample/src/SimHitAlg.h
index b385c87ed8f193dc0c1b90df941de6cfbaa441a8..881365dedd2cdd996166babdade3d8c3cf8a4b68 100644
--- a/Control/CalypsoExample/SimHitExample/src/SimHitAlg.h
+++ b/Control/CalypsoExample/SimHitExample/src/SimHitAlg.h
@@ -30,9 +30,13 @@ class SimHitAlg : public AthHistogramAlgorithm
     TH2* m_plate_preshower;
     TH2* m_plate_trigger;
     TH2* m_plate_veto;
+    TH1* m_veto_hitTime;
+    TH1* m_preshower_hitTime;
+    TH1* m_trigger_hitTime;
 
     // Ecal histogram
     TH1* m_ecalEnergy;
+    TH1* m_ecal_hitTime;
 
     // Emulsion PDG_ID
     TH1* m_emulsionPDG;
diff --git a/Control/CalypsoExample/Simulation/scripts/faser_simulate.py b/Control/CalypsoExample/Simulation/scripts/faser_simulate.py
index 1c8320245e6ecfa61857a6d60d04d1cf8d538d54..a19ff44a2c07b357412ea81fa350bf0cd692539e 100755
--- a/Control/CalypsoExample/Simulation/scripts/faser_simulate.py
+++ b/Control/CalypsoExample/Simulation/scripts/faser_simulate.py
@@ -146,7 +146,15 @@ if __name__ == '__main__':
 #
 # Figure out configuration
 #
-    if args.geom == "TI12MC":
+    if args.geom == "TI12MC" or args.geom == "TI12MC04":
+        # New TI12 geometry
+        ConfigFlags.GeoModel.FaserVersion = "FASERNU-04"  # Geometry set-up
+        ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-04"  # Conditions set-up
+        # TI12 detectors
+        detectors = ['Veto', 'VetoNu', 'Preshower', 'FaserSCT', 'Ecal', 
+                     'Trigger', 'Dipole', 'Emulsion', 'Trench']
+
+    elif args.geom == "TI12MC03":
         # 2022 TI12 geometry
         ConfigFlags.GeoModel.FaserVersion = "FASERNU-03"  # Geometry set-up
         ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"  # Conditions set-up
@@ -156,8 +164,8 @@ if __name__ == '__main__':
 
     elif args.geom == "TestBeamMC":
         # Define 2021 test beam geometry
-        ConfigFlags.GeoModel.FaserVersion = "FASER-TB00"   # Geometry set-up
-        ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-TB00" # Conditions set-up
+        ConfigFlags.GeoModel.FaserVersion = "FASER-TB01"   # Geometry set-up
+        ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-TB01" # Conditions set-up
         # Testbeam detectors (trigger layers are actually veto counters)
         detectors = ['Veto', 'Preshower', 'FaserSCT', 'Ecal']
 
diff --git a/Control/CalypsoExample/Simulation/scripts/submit_faser_simulate.sh b/Control/CalypsoExample/Simulation/scripts/submit_faser_simulate.sh
index 6e4d4df2eac92d4836c2b77104093ab2dd81c01c..4c32a716db6eeef977e58fb035a56b3451e6b3f7 100755
--- a/Control/CalypsoExample/Simulation/scripts/submit_faser_simulate.sh
+++ b/Control/CalypsoExample/Simulation/scripts/submit_faser_simulate.sh
@@ -2,10 +2,11 @@
 # Used with a condor file to submit to vanilla universe
 #
 # Usage:
-# submit_faserMDC_simluate.sh [--shift] input_file output_file [release_directory] [working_directory] [skip] [nevts]
+# submit_faser_simluate.sh [--script_options --] input_file output_file [release_directory] [working_directory] [skip] [nevts] [--other_options]
 #
-# Options:
+# Script Options:
 # --shift - apply crossing angle (and FASER shift)
+#  --geom - specify geometry (default TI12)
 #   --out - specify output location (in EOS) to copy output HITS file
 #   --log - specify output location (in EOS) for log file
 # 
@@ -16,6 +17,8 @@
 # skip - events in input file to skip
 # nevts = events in input file to process
 #
+# Other options will be passed to faser_simulate.py
+#
 # The release directory must already be set up 
 # (so an unqualified asetup can set up the release properly)
 #
@@ -40,6 +43,11 @@ do
 	  xangle=2
 	  shift;;
 
+      -g | --geom)
+	  geomstr="--geom $2";
+	  shift;
+	  shift;;
+
       -l | --log)
 	  logdest="$2";
 	  shift;
@@ -64,12 +72,48 @@ done
 
 #
 # Parse command-line arguments
-infile=${1}
-outfile=${2}
-release_directory=${3}
-working_directory=${4}
-skip_events=${5}
-nevts=${6}
+while [ -n "$1" ]
+do
+    case "$1" in
+	--) # Stop parsing
+	    shift; # Eat this
+	    break;; # and stop parsing
+
+	-*) # Some option
+	    break;; # Stop parsing
+
+	*)  # Not an option, fill next parameter value
+
+	    if [ -z "$infile" ]
+	    then
+		infile=${1}
+		shift
+	    elif [ -z "$outfile" ]
+	    then
+		outfile=${1}
+		shift
+	    elif [ -z "$release_directory" ]
+	    then
+		release_directory=${1}
+		shift
+	    elif [ -z "$working_directory" ]
+	    then
+		working_directory=${1}
+		shift
+	    elif [ -z "$skip_events" ]
+	    then
+		skip_events=${1}
+		shift
+	    elif [ -z "$nevts" ]
+	    then	    
+		nevts=${1}
+		shift
+	    else
+		break # Already filled everything
+	    fi
+	    ;;
+    esac
+done
 #
 # Set defaults if arguments aren't provided
 if [ -z "$infile" ]
@@ -148,22 +192,22 @@ echo "Output: $output_directory"
 echo "Starting: $starting_directory"
 echo "Skip: $skip_events"
 echo "Nevts: $nevts"
+echo "Geom: $geomstr"
+echo "Remaining: $@"
 #
 # Set up the release (do this automatically)?
+# Must follow with -- to avoid command-line arguments being passed
 export ATLAS_LOCAL_ROOT_BASE=/cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase
-source ${ATLAS_LOCAL_ROOT_BASE}/user/atlasLocalSetup.sh 
+source ${ATLAS_LOCAL_ROOT_BASE}/user/atlasLocalSetup.sh --
 #
 # Try automatic
 # Always go back to the starting directory in case paths are relative
 cd "$starting_directory"
 cd "$release_directory"
-# This doesn't seem to work, as we need the --input argument
-#asetup 
-#source build/x8*/setup.sh
 #
 # Do this by hand
 asetup --input=calypso/asetup.faser Athena,22.0.49
-source build/x86*/setup.sh
+source run/setup.sh
 #
 # Move to the run directory
 cd "$starting_directory"
@@ -186,17 +230,25 @@ cd "${file_stem}"
 # Run job
 #if [[ -z "$tag" ]]; then
 #fi
+#
 if [[ -z "$xangle" ]]; then
-    faser_simulate.py  --skip "$skip_events" -n "$nevts" "$infile" "$outfile"
-    sim_code=$?
+    angle_string=""
 elif [[ $xangle == 1 ]]; then
-    faser_simulate.py  --yangle -0.000160 --yshift 12.0 --skip "$skip_events" -n "$nevts" "$infile" "$outfile"
-    sim_code=$?
+    echo "Applying standard crossing angle"
+    angle_string="--yangle -0.000160 --yshift 12.0"
 else
     echo "Applying double crossing-angle shift for FLUKA!"
-    faser_simulate.py  --yangle -0.000310 --yshift 12.0 --skip "$skip_events" -n "$nevts" "$infile" "$outfile"
-    sim_code=$?
+    angle_string="--yangle -0.000310 --yshift 12.0"
 fi
+#
+echo
+echo "Submit job:"
+echo faser_simulate.py $geomstr $angle_string "$@" --skip "$skip_events" -n "$nevts" "$infile" "$outfile"
+echo
+#
+faser_simulate.py $geomstr $angle_string "$@" --skip "$skip_events" -n "$nevts" "$infile" "$outfile"
+sim_code=$?
+
 echo "Return code: $sim_code"
 #
 # Print out ending time
diff --git a/Control/CalypsoExample/WaveformDataAccessExample/src/RawWaveformAccess.cxx b/Control/CalypsoExample/WaveformDataAccessExample/src/RawWaveformAccess.cxx
index c9d8f9f90a8b826ec5f3dcdd89fe928d859f17ec..166d219c6fe29670843d5169ba5fea1c597c45f3 100644
--- a/Control/CalypsoExample/WaveformDataAccessExample/src/RawWaveformAccess.cxx
+++ b/Control/CalypsoExample/WaveformDataAccessExample/src/RawWaveformAccess.cxx
@@ -27,6 +27,7 @@ RawWaveformAccess::initialize()
 
   // Must initialize SG handles
   ATH_CHECK( m_CaloWaveformContainer.initialize() );
+  ATH_CHECK( m_Calo2WaveformContainer.initialize() );
   ATH_CHECK( m_VetoWaveformContainer.initialize() );
   ATH_CHECK( m_TriggerWaveformContainer.initialize() );
   ATH_CHECK( m_PreshowerWaveformContainer.initialize() );
@@ -53,6 +54,10 @@ RawWaveformAccess::execute(const EventContext& ctx) const
   ATH_MSG_INFO("Found ReadHandle for CaloWaveforms");
   ATH_MSG_INFO(*caloHandle);
 
+  SG::ReadHandle<RawWaveformContainer> calo2Handle(m_Calo2WaveformContainer, ctx);
+  ATH_MSG_INFO("Found ReadHandle for Calo2Waveforms");
+  ATH_MSG_INFO(*caloHandle);
+
   SG::ReadHandle<RawWaveformContainer> vetoHandle(m_VetoWaveformContainer, ctx);
   ATH_MSG_INFO("Found ReadHandle for VetoWaveforms");
   ATH_MSG_INFO(*vetoHandle);
diff --git a/Control/CalypsoExample/WaveformDataAccessExample/src/RawWaveformAccess.h b/Control/CalypsoExample/WaveformDataAccessExample/src/RawWaveformAccess.h
index 07cc4deb42b978b655ebaa9fb1eb7738fbc5c390..b07edde805c383b9b3750a10953df27b8aa28df7 100644
--- a/Control/CalypsoExample/WaveformDataAccessExample/src/RawWaveformAccess.h
+++ b/Control/CalypsoExample/WaveformDataAccessExample/src/RawWaveformAccess.h
@@ -32,6 +32,8 @@ class RawWaveformAccess: public AthReentrantAlgorithm
   /// StoreGate key
   SG::ReadHandleKey<RawWaveformContainer> m_CaloWaveformContainer
     { this, "CaloWaveformContainerKey", "CaloWaveforms", "ReadHandleKey for CaloWaveforms Container"};
+  SG::ReadHandleKey<RawWaveformContainer> m_Calo2WaveformContainer
+    { this, "Calo2WaveformContainerKey", "Calo2Waveforms", "ReadHandleKey for Calo2Waveforms Container"};
   SG::ReadHandleKey<RawWaveformContainer> m_VetoWaveformContainer
     { this, "VetoWaveformContainerKey", "VetoWaveforms", "ReadHandleKey for CaloWaveforms Container"};
   SG::ReadHandleKey<RawWaveformContainer> m_TriggerWaveformContainer
diff --git a/DetectorDescription/GeoModel/FaserGeoModel/data/geomDB.sql b/DetectorDescription/GeoModel/FaserGeoModel/data/geomDB.sql
index 81a979c3cc714898a733bc15ffa8896047c0d5a9..173bfcce2acfd6f43a530b039dee125c47a27b95 100644
--- a/DetectorDescription/GeoModel/FaserGeoModel/data/geomDB.sql
+++ b/DetectorDescription/GeoModel/FaserGeoModel/data/geomDB.sql
@@ -269,6 +269,21 @@ CREATE TABLE IF NOT EXISTS "VETORADIATORGENERAL_DATA2TAG" (
 	"VETORADIATORGENERAL_DATA_ID" SLONGLONG
 );
 --
+DROP TABLE IF EXISTS "VETOWRAPPINGGENERAL_DATA";
+CREATE TABLE IF NOT EXISTS "VETOWRAPPINGGENERAL_DATA" (
+	"VETOWRAPPINGGENERAL_DATA_ID" SLONGLONG UNIQUE,
+	"WIDTH" DOUBLE,
+	"LENGTH" DOUBLE,
+	"THICKNESS" DOUBLE,
+	"MATERIAL" TEXT
+);
+--
+DROP TABLE IF EXISTS "VETOWRAPPINGGENERAL_DATA2TAG";
+CREATE TABLE IF NOT EXISTS "VETOWRAPPINGGENERAL_DATA2TAG" (
+	"VETOWRAPPINGGENERAL_TAG_ID" SLONGLONG,
+	"VETOWRAPPINGGENERAL_DATA_ID" SLONGLONG
+);
+--
 -- Tables for describing VetoNu scintillator plates (and passive radiators)
 --
 DROP TABLE IF EXISTS "VETONUTOPLEVEL_DATA";
@@ -392,6 +407,21 @@ CREATE TABLE IF NOT EXISTS "TRIGGERPLATEGENERAL_DATA2TAG" (
 	"TRIGGERPLATEGENERAL_DATA_ID" SLONGLONG
 );
 --
+DROP TABLE IF EXISTS "TRIGGERWRAPPINGGENERAL_DATA";
+CREATE TABLE IF NOT EXISTS "TRIGGERWRAPPINGGENERAL_DATA" (
+	"TRIGGERWRAPPINGGENERAL_DATA_ID" SLONGLONG UNIQUE,
+	"WIDTH" DOUBLE,
+	"LENGTH" DOUBLE,
+	"THICKNESS" DOUBLE,
+	"MATERIAL" TEXT
+);
+--
+DROP TABLE IF EXISTS "TRIGGERWRAPPINGGENERAL_DATA2TAG";
+CREATE TABLE IF NOT EXISTS "TRIGGERWRAPPINGGENERAL_DATA2TAG" (
+	"TRIGGERWRAPPINGGENERAL_TAG_ID" SLONGLONG,
+	"TRIGGERWRAPPINGGENERAL_DATA_ID" SLONGLONG
+);
+--
 -- Tables for describing Preshower scintillator plates (and passive radiators)
 --
 DROP TABLE IF EXISTS "PRESHOWERTOPLEVEL_DATA";
@@ -480,6 +510,22 @@ CREATE TABLE IF NOT EXISTS "PRESHOWERABSORBERGENERAL_DATA2TAG" (
 	"PRESHOWERABSORBERGENERAL_DATA_ID" SLONGLONG
 );
 --
+--
+DROP TABLE IF EXISTS "PRESHOWERWRAPPINGGENERAL_DATA";
+CREATE TABLE IF NOT EXISTS "PRESHOWERWRAPPINGGENERAL_DATA" (
+	"PRESHOWERWRAPPINGGENERAL_DATA_ID" SLONGLONG UNIQUE,
+	"WIDTH" DOUBLE,
+	"LENGTH" DOUBLE,
+	"THICKNESS" DOUBLE,
+	"MATERIAL" TEXT
+);
+--
+DROP TABLE IF EXISTS "PRESHOWERWRAPPINGGENERAL_DATA2TAG";
+CREATE TABLE IF NOT EXISTS "PRESHOWERWRAPPINGGENERAL_DATA2TAG" (
+	"PRESHOWERWRAPPINGGENERAL_TAG_ID" SLONGLONG,
+	"PRESHOWERWRAPPINGGENERAL_DATA_ID" SLONGLONG
+);
+--
 -- Ecal top level tables
 --
 DROP TABLE IF EXISTS "ECALTOPLEVEL_DATA";
@@ -839,11 +885,13 @@ INSERT INTO "HVS_NODE" VALUES (211,  "VetoStationGeneral", 21, 0, NULL);
 INSERT INTO "HVS_NODE" VALUES (212,  "VetoPlateGeneral", 21, 0, NULL);
 INSERT INTO "HVS_NODE" VALUES (214,  "VetoSwitches", 21, 0, NULL );
 INSERT INTO "HVS_NODE" VALUES (215,  "VetoRadiatorGeneral", 21, 0, NULL);
+INSERT INTO "HVS_NODE" VALUES (216,  "VetoWrappingGeneral", 21, 0, NULL);
 INSERT INTO "HVS_NODE" VALUES (22,   "Trigger", 2, 1, NULL);
 INSERT INTO "HVS_NODE" VALUES (220,  "TriggerTopLevel", 22, 0, NULL);
 INSERT INTO "HVS_NODE" VALUES (221,  "TriggerStationGeneral", 22, 0, NULL);
 INSERT INTO "HVS_NODE" VALUES (222,  "TriggerPlateGeneral", 22, 0, NULL);
 INSERT INTO "HVS_NODE" VALUES (224,  "TriggerSwitches", 22, 0, NULL );
+INSERT INTO "HVS_NODE" VALUES (226,  "TriggerWrappingGeneral", 22, 0, NULL);
 INSERT INTO "HVS_NODE" VALUES (23,   "Preshower", 2, 1, NULL);
 INSERT INTO "HVS_NODE" VALUES (230,  "PreshowerTopLevel", 23, 0, NULL);
 INSERT INTO "HVS_NODE" VALUES (231,  "PreshowerStationGeneral", 23, 0, NULL);
@@ -851,6 +899,7 @@ INSERT INTO "HVS_NODE" VALUES (232,  "PreshowerPlateGeneral", 23, 0, NULL);
 INSERT INTO "HVS_NODE" VALUES (234,  "PreshowerSwitches", 23, 0, NULL );
 INSERT INTO "HVS_NODE" VALUES (235,  "PreshowerRadiatorGeneral", 23, 0, NULL);
 INSERT INTO "HVS_NODE" VALUES (236,  "PreshowerAbsorberGeneral", 23, 0, NULL);
+INSERT INTO "HVS_NODE" VALUES (237,  "PreshowerWrappingGeneral", 23, 0, NULL);
 INSERT INTO "HVS_NODE" VALUES (24,   "VetoNu", 2, 1, NULL);
 INSERT INTO "HVS_NODE" VALUES (240,  "VetoNuTopLevel", 24, 0, NULL);
 INSERT INTO "HVS_NODE" VALUES (241,  "VetoNuStationGeneral", 24, 0, NULL);
@@ -873,10 +922,12 @@ INSERT INTO "HVS_NODE" VALUES (317,  "SctConditions", 31, 0, NULL);
 INSERT INTO "HVS_NODE" VALUES (318,  "SctFrame", 31, 1, NULL);
 INSERT INTO "HVS_NODE" VALUES (3181, "SctFrameGeneral", 318, 0, NULL);
 INSERT INTO "HVS_NODE" VALUES (3182, "SctFrameShape", 318, 0, NULL);
+INSERT INTO "HVS_NODE" VALUES (319,  "SctWrappingGeneral", 31, 0, NULL);
 INSERT INTO "HVS_NODE" VALUES (32,   "Dipole", 3, 1, NULL);
 INSERT INTO "HVS_NODE" VALUES (320,  "DipoleTopLevel", 32, 0, NULL);
 INSERT INTO "HVS_NODE" VALUES (321,  "DipoleGeneral", 32, 0, NULL);
 INSERT INTO "HVS_NODE" VALUES (324,  "DipoleSwitches", 32, 0, NULL);
+INSERT INTO "HVS_NODE" VALUES (329,  "DipoleWrappingGeneral", 32, 0, NULL);
 INSERT INTO "HVS_NODE" VALUES (4,    "Calorimeter", 0, 1, NULL);
 INSERT INTO "HVS_NODE" VALUES (41,   "Ecal", 4, 1, NULL);
 INSERT INTO "HVS_NODE" VALUES (410,  "EcalTopLevel", 41, 0, NULL);
@@ -894,8 +945,10 @@ INSERT INTO "HVS_TAG2NODE" VALUES (0, "FASER-CR", 107784, NULL, 0, 0, 1598400000
 INSERT INTO "HVS_TAG2NODE" VALUES (0, "FASER-02", 107788, NULL, 0, 0, 1619222400000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (0, "FASERNU-02", 107804, NULL, 0, 0, 1619308800000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (0, "FASER-TB00", 107834, NULL, 0, 0, 1627862400000000000, NULL, 22);
+INSERT INTO "HVS_TAG2NODE" VALUES (0, "FASER-TB01", 107854, NULL, 0, 0, 1685836800000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (0, "FASERNU-03", 107835, NULL, 0, 0,   1652054400000000000, NULL, 22);
-INSERT INTO "HVS_TAG2NODE" VALUES (90,   "FaserCommon-00", 100013, NULL, 0, 0, 1549324800000000000, NULL, 22);
+INSERT INTO "HVS_TAG2NODE" VALUES (0, "FASERNU-04", 107853, NULL, 0, 0,   1685836800000000000, NULL, 22);
+INSERT INTO "HVS_TAG2NODE" VALUES (90, "FaserCommon-00", 100013, NULL, 0, 0, 1549324800000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (5,  "Cavern-00", 107850, NULL, 0, 0, 1652313600000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (51, "Trench-00", 107851, NULL, 0, 0, 1652313600000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (514,"TrenchSwitches-00", 107852, NULL, 0, 0, 1652313600000000000, NULL, 22);
@@ -906,33 +959,46 @@ INSERT INTO "HVS_TAG2NODE" VALUES (9003, "Elements-00", 100008, NULL, 0, 0, 1549
 INSERT INTO "HVS_TAG2NODE" VALUES (1, "Neutrino-00", 100031, NULL, 0, 0, 1582416000000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (1, "Neutrino-TB00", 107811, NULL, 0, 0, 1627862400000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (1, "Neutrino-01", 107839, NULL, 0, 0, 1652054400000000000, NULL, 22);
+INSERT INTO "HVS_TAG2NODE" VALUES (1, "Neutrino-02", 107895, NULL, 0, 0, 1696550400000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (11,"Emulsion-00", 100034, NULL, 0, 0, 1582416000000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (11,"Emulsion-TB00", 107812, NULL, 0, 0, 1582416000000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (11,"Emulsion-01", 107840, NULL, 0, 0, 1652054400000000000, NULL, 22);
+INSERT INTO "HVS_TAG2NODE" VALUES (11,"Emulsion-02", 107894, NULL, 0, 0, 1696550400000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (110, "EmulsionTopLevel-00", 100035, NULL, 0, 0, 1582416000000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (110, "EmulsionTopLevel-TB00", 107813, NULL, 0, 0, 1627862400000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (110, "EmulsionTopLevel-01", 107841, NULL, 0, 0, 1652054400000000000, NULL, 22);
+INSERT INTO "HVS_TAG2NODE" VALUES (110, "EmulsionTopLevel-02", 107892, NULL, 0, 0, 1696550400000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (111, "EmulsionGeneral-00", 107805, NULL, 0, 0, 1619308800000000000, NULL, 22);
+INSERT INTO "HVS_TAG2NODE" VALUES (111, "EmulsionGeneral-01", 107891, NULL, 0, 0, 1696550400000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (112, "EmulsionFilm-00", 107806, NULL, 0, 0, 1619308800000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (113, "EmulsionPlates-00", 107807, NULL, 0, 0, 1619308800000000000, NULL, 22);
+INSERT INTO "HVS_TAG2NODE" VALUES (112, "EmulsionFilm-01", 107889, NULL, 0, 0,   1696550400000000000, NULL, 22);
+INSERT INTO "HVS_TAG2NODE" VALUES (113, "EmulsionPlates-01", 107888, NULL, 0, 0, 1696550400000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (114, "EmulsionSwitches-00", 100036, NULL, 0, 0, 1582416000000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (115, "EmulsionSupport-00", 107842, NULL, 0, 0, 1652054400000000000, NULL, 22);
+INSERT INTO "HVS_TAG2NODE" VALUES (115, "EmulsionSupport-01", 107893, NULL, 0, 0, 1696550400000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (2, "Scintillator-00", 100001, NULL, 0, 0, 1549238400000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (2, "Scintillator-01", 100042, NULL, 0, 0, 1590796800000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (2, "Scintillator-02", 107789, NULL, 0, 0, 1619222400000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (2, "Scintillator-TB00", 107814, NULL, 0, 0, 1627862400000000000, NULL, 22);
+INSERT INTO "HVS_TAG2NODE" VALUES (2, "Scintillator-TB01", 107862, NULL, 0, 0, 1685836800000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (2, "Scintillator-03", 107843, NULL, 0, 0, 1652054400000000000, NULL, 22);
+INSERT INTO "HVS_TAG2NODE" VALUES (2, "Scintillator-04", 107861, NULL, 0, 0, 1685836800000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (3, "Tracker-00", 100002, NULL, 0, 0, 1549238400000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (3, "Tracker-01", 100038, NULL, 0, 0, 1590796800000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (3, "Tracker-CR", 107783, NULL, 0, 0, 1598400000000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (3, "Tracker-02", 107790, NULL, 0, 0, 1619222400000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (3, "Tracker-TB00", 107815, NULL, 0, 0, 1627862400000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (3, "Tracker-03", 107836, NULL, 0, 0, 1652054400000000000, NULL, 22);
+INSERT INTO "HVS_TAG2NODE" VALUES (3, "Tracker-04", 107882, NULL, 0, 0, 1685836800000000000, NULL, 22);
+INSERT INTO "HVS_TAG2NODE" VALUES (3, "Tracker-TB01", 107883, NULL, 0, 0, 1685836800000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (31, "SCT-00", 100026, NULL, 0, 0, 1567987200000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (31, "SCT-01", 100037, NULL, 0, 0, 1159079680000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (31, "SCT-CR", 107781, NULL, 0, 0, 1598400000000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (31, "SCT-02", 107791, NULL, 0, 0, 1619222400000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (31, "SCT-TB00", 107816, NULL, 0, 0, 1627862400000000000, NULL, 22);
+INSERT INTO "HVS_TAG2NODE" VALUES (31, "SCT-04", 107880, NULL, 0, 0, 1619222400000000000, NULL, 22);
+INSERT INTO "HVS_TAG2NODE" VALUES (31, "SCT-TB01", 107881, NULL, 0, 0, 1627862400000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (32, "Dipole-00", 100027, NULL, 0, 0, 1568678400000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (32, "Dipole-01", 100041, NULL, 0, 0, 1590796800000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (32, "Dipole-02", 107792, NULL, 0, 0, 1619222400000000000, NULL, 22);
@@ -955,6 +1021,8 @@ INSERT INTO "HVS_TAG2NODE" VALUES (317, "SctConditions-00", 107779, NULL, 0, 0,
 INSERT INTO "HVS_TAG2NODE" VALUES (318, "SctFrame-00", 100053, NULL, 0, 0,        1591574400000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (3181,"SctFrameGeneral-00", 100054, NULL, 0, 0, 1591574400000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (3182,"SctFrameShape-00", 100055, NULL, 0, 0,   1591574400000000000, NULL, 22);
+INSERT INTO "HVS_TAG2NODE" VALUES (319, "SctWrappingGeneral-00", 107878, NULL, 0, 0, 1685836800000000000, NULL, 22);
+INSERT INTO "HVS_TAG2NODE" VALUES (319, "SctWrappingGeneral-01", 107879, NULL, 0, 0, 1685836800000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (320, "DipoleTopLevel-00", 100029, NULL, 0, 0, 1568678400000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (320, "DipoleTopLevel-01", 100040, NULL, 0, 0, 1590796800000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (320, "DipoleTopLevel-02", 107794, NULL, 0, 0, 1619222400000000000, NULL, 22);
@@ -962,18 +1030,27 @@ INSERT INTO "HVS_TAG2NODE" VALUES (320, "DipoleTopLevel-TB00", 107819, NULL, 0,
 INSERT INTO "HVS_TAG2NODE" VALUES (320, "DipoleTopLevel-03", 107838, NULL, 0, 0, 1652054400000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (321, "DipoleGeneral-00", 100004, NULL, 0, 0, 1568678400000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (324, "DipoleSwitches-00", 100028, NULL, 0, 0, 1568678400000000000, NULL, 22);
+INSERT INTO "HVS_TAG2NODE" VALUES (329, "DipoleWrappingGeneral-00", 107884, NULL, 0, 0, 1688515200000000000, NULL, 22);
+INSERT INTO "HVS_TAG2NODE" VALUES (329, "DipoleWrappingGeneral-01", 107885, NULL, 0, 0, 1688515200000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (4, "Calorimeter-00", 100003, NULL, 0, 0, 1549238400000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (4, "Calorimeter-02", 107795, NULL, 0, 0, 1619222400000000000, NULL, 22);
+INSERT INTO "HVS_TAG2NODE" VALUES (4, "Calorimeter-04", 107858, NULL, 0, 0, 1685836800000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (4, "Calorimeter-TB00", 107820, NULL, 0, 0, 1627862400000000000, NULL, 22);
+INSERT INTO "HVS_TAG2NODE" VALUES (4, "Calorimeter-TB01", 107859, NULL, 0, 0, 1685836800000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (41, "Ecal-00", 100056, NULL, 0, 0,    1593907200000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (41, "Ecal-02", 107796, NULL, 0, 0,    1619222400000000000, NULL, 22);
+INSERT INTO "HVS_TAG2NODE" VALUES (41, "Ecal-04", 107856, NULL, 0, 0,    1685836800000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (41, "Ecal-TB00", 107821, NULL, 0, 0,    1627862400000000000, NULL, 22);
+INSERT INTO "HVS_TAG2NODE" VALUES (41, "Ecal-TB01", 107857, NULL, 0, 0,    1685836800000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (410, "EcalTopLevel-00", 100058, NULL, 0, 0, 1599350400000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (410, "EcalTopLevel-02", 107797, NULL, 0, 0, 1619222400000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (410, "EcalTopLevel-TB00", 107822, NULL, 0, 0, 1627862400000000000, NULL, 22);
+INSERT INTO "HVS_TAG2NODE" VALUES (410, "EcalTopLevel-04", 107886, NULL, 0, 0,   1695600000000000000, NULL, 22);
+INSERT INTO "HVS_TAG2NODE" VALUES (410, "EcalTopLevel-TB01", 107887, NULL, 0, 0, 1695600000000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (411, "EcalRowGeneral-00", 100059, NULL, 0, 0, 1599350400000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (411, "EcalRowGeneral-TB00", 107830, NULL, 0, 0, 1627862400000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (414, "EcalSwitches-00", 100057, NULL, 0, 0, 1593907200000000000, NULL, 22);
+INSERT INTO "HVS_TAG2NODE" VALUES (414, "EcalSwitches-01", 107855, NULL, 0, 0, 1685836800000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (210,  "VetoTopLevel-00", 100009, NULL, 0, 0, 1567123200000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (210,  "VetoTopLevel-01", 100046, NULL, 0, 0, 1590796800000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (210,  "VetoTopLevel-02", 107798, NULL, 0, 0, 1619222400000000000, NULL, 22);
@@ -981,9 +1058,13 @@ INSERT INTO "HVS_TAG2NODE" VALUES (210,  "VetoTopLevel-TB00", 107823, NULL, 0, 0
 INSERT INTO "HVS_TAG2NODE" VALUES (211,  "VetoStationGeneral-00", 100010, NULL, 0, 0, 1567123200000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (212,  "VetoPlateGeneral-00", 100025, NULL, 0, 0, 1567209600000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (211,  "VetoStationGeneral-01", 100049, NULL, 0, 0, 1590796800000000000, NULL, 22);
+INSERT INTO "HVS_TAG2NODE" VALUES (211,  "VetoStationGeneral-02", 107868, NULL, 0, 0, 1685836800000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (212,  "VetoPlateGeneral-01", 100050, NULL, 0, 0, 1590796800000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (211,  "VetoStationGeneral-TB00", 107833, NULL, 0, 0, 1627862400000000000, NULL, 22);
+INSERT INTO "HVS_TAG2NODE" VALUES (211,  "VetoStationGeneral-TB01", 107867, NULL, 0, 0, 1685836800000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (215,  "VetoRadiatorGeneral-00", 107810, NULL, 0, 0, 1627776000000000000, NULL, 22);
+INSERT INTO "HVS_TAG2NODE" VALUES (216,  "VetoWrappingGeneral-00", 107863, NULL, 0, 0, 1685836800000000000, NULL, 22);
+INSERT INTO "HVS_TAG2NODE" VALUES (216,  "VetoWrappingGeneral-01", 107864, NULL, 0, 0, 1685836800000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (220,  "TriggerTopLevel-00", 110009, NULL, 0, 0, 1581292800000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (220,  "TriggerTopLevel-01", 100047, NULL, 0, 0, 1590796800000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (220,  "TriggerTopLevel-02", 107799, NULL, 0, 0, 1619222400000000000, NULL, 22);
@@ -991,6 +1072,8 @@ INSERT INTO "HVS_TAG2NODE" VALUES (220,  "TriggerTopLevel-TB00", 107824, NULL, 0
 INSERT INTO "HVS_TAG2NODE" VALUES (221,  "TriggerStationGeneral-00", 110010, NULL, 0, 0, 1581292800000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (221,  "TriggerStationGeneral-01", 100051, NULL, 0, 0, 1590796800000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (222,  "TriggerPlateGeneral-00", 110025, NULL, 0, 0, 1581292800000000000, NULL, 22);
+INSERT INTO "HVS_TAG2NODE" VALUES (226,  "TriggerWrappingGeneral-00", 107869, NULL, 0, 0, 1685836800000000000, NULL, 22);
+INSERT INTO "HVS_TAG2NODE" VALUES (226,  "TriggerWrappingGeneral-01", 107870, NULL, 0, 0, 1685836800000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (230,  "PreshowerTopLevel-00", 120009, NULL, 0, 0, 1581292800000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (230,  "PreshowerTopLevel-01", 100048, NULL, 0, 0, 1590796800000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (230,  "PreshowerTopLevel-02", 107800, NULL, 0, 0, 1619222400000000000, NULL, 22);
@@ -999,17 +1082,19 @@ INSERT INTO "HVS_TAG2NODE" VALUES (231,  "PreshowerStationGeneral-00", 120010, N
 INSERT INTO "HVS_TAG2NODE" VALUES (231,  "PreshowerStationGeneral-01", 100052, NULL, 0, 0, 1590796800000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (232,  "PreshowerPlateGeneral-00", 120025, NULL, 0, 0, 1581292800000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (235,  "PreshowerRadatorGeneral-00", 107808, NULL, 0, 0, 1627776000000000000, NULL, 22);
+INSERT INTO "HVS_TAG2NODE" VALUES (235,  "PreshowerRadatorGeneral-01", 107877, NULL, 0, 0, 1685836800000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (236,  "PreshowerAbsorberGeneral-00", 107809, NULL, 0, 0, 1627776000000000000, NULL, 22);
-
+INSERT INTO "HVS_TAG2NODE" VALUES (237,  "PreshowerWrappingGeneral-00", 107875, NULL, 0, 0, 1685836800000000000, NULL, 22);
+INSERT INTO "HVS_TAG2NODE" VALUES (237,  "PreshowerWrappingGeneral-01", 107876, NULL, 0, 0, 1685836800000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (240,  "VetoNuTopLevel-00", 107845, NULL, 0, 0, 1652054400000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (241,  "VetoNuStationGeneral-00", 107846, NULL, 0, 0, 1652054400000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (242,  "VetoNuPlateGeneral-00", 107847, NULL, 0, 0, 1652054400000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (245,  "VetoNuRadiatorGeneral-00", 107849, NULL, 0, 0, 1652054400000000000, NULL, 22);
-
 INSERT INTO "HVS_TAG2NODE" VALUES (1003, "NeutrinoMaterials-00", 100032, NULL, 0, 0, 1582416000000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (1004, "NeutrinoMatComponents-00", 100033, NULL, 0, 0, 1582416000000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (2003, "ScintMaterials-00", 100011, NULL, 0, 0, 1549238400000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (2004, "ScintMatComponents-00", 100012, NULL, 0, 0, 1549238400000000000, NULL, 22);
+INSERT INTO "HVS_TAG2NODE" VALUES (2004, "ScintMatComponents-01", 107860, NULL, 0, 0, 1685836800000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (3003, "TrackerMaterials-00", 100021, NULL, 0, 0, 1550448000000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (3004, "TrackerMatComponents-00", 100022, NULL, 0, 0, 1550448000000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (4003, "CaloMaterials-00", 100023, NULL, 0, 0, 1550448000000000000, NULL, 22);
@@ -1025,14 +1110,20 @@ INSERT INTO "HVS_TAG2NODE" VALUES (21, "Veto-01", 100043, NULL, 0, 0,      15907
 INSERT INTO "HVS_TAG2NODE" VALUES (22, "Trigger-01", 100044, NULL, 0, 0,   1590796800000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (23, "Preshower-01", 100045, NULL, 0, 0, 1590796800000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (21, "Veto-02", 107801, NULL, 0, 0, 1619222400000000000, NULL, 22);
+INSERT INTO "HVS_TAG2NODE" VALUES (21, "Veto-04", 107865, NULL, 0, 0, 1685836800000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (22, "Trigger-02", 107802, NULL, 0, 0, 1619222400000000000, NULL, 22);
+INSERT INTO "HVS_TAG2NODE" VALUES (22, "Trigger-04", 107871, NULL, 0, 0, 1685836800000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (23, "Preshower-02", 107803, NULL, 0, 0, 1619222400000000000, NULL, 22);
+INSERT INTO "HVS_TAG2NODE" VALUES (23, "Preshower-04", 107873, NULL, 0, 0, 1685836800000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (21, "Veto-TB00", 107826, NULL, 0, 0, 1627862400000000000, NULL, 22);
+INSERT INTO "HVS_TAG2NODE" VALUES (21, "Veto-TB01", 107866, NULL, 0, 0, 1685836800000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (22, "Trigger-TB00", 107827, NULL, 0, 0, 1627862400000000000, NULL, 22);
+INSERT INTO "HVS_TAG2NODE" VALUES (22, "Trigger-TB01", 107872, NULL, 0, 0, 1685836800000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (23, "Preshower-TB00", 107828, NULL, 0, 0, 1627862400000000000, NULL, 22);
+INSERT INTO "HVS_TAG2NODE" VALUES (23, "Preshower-TB01", 107874, NULL, 0, 0, 1685836800000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (24, "VetoNu-00", 107844, NULL, 0, 0, 1652054400000000000, NULL, 22);
-
 INSERT INTO "HVS_TAG2NODE" VALUES (1005, "NeutrinoIdentifier-00", 100030, NULL, 0, 0, 1582416000000000000, NULL, 22);
+INSERT INTO "HVS_TAG2NODE" VALUES (1005, "NeutrinoIdentifier-01", 107890, NULL, 0, 0, 1696550400000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (2005, "ScintIdentifier-00", 100016, NULL, 0, 0, 1550448000000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (2005, "ScintIdentifier-TB00", 107832, NULL, 0, 0, 1627862400000000000, NULL, 22);
 INSERT INTO "HVS_TAG2NODE" VALUES (3005, "TrackerIdentifier-00", 100017, NULL, 0, 0, 1550448000000000000, NULL, 22);
@@ -1044,44 +1135,58 @@ INSERT INTO "HVS_TAG2NODE" VALUES (4005, "CaloIdentifier-TB00", 107831, NULL, 0,
 -- Data for the HVS_LTAG2LTAG table
 INSERT INTO "HVS_LTAG2LTAG" VALUES (0,   107804, 1,    100031);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (0,   107835, 1,    107839);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (0,   107853, 1,    107839);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (0,   107834, 1,    107811);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (0,   107854, 1,    107811);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (0,   100000, 2,    100001);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (0,   100039, 2,    100042);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (0,   107784, 2,    100042);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (0,   107788, 2,    107789);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (0,   107804, 2,    107789);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (0,   107834, 2,    107814);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (0,   107854, 2,    107862);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (0,   107835, 2,    107843);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (0,   107853, 2,    107861);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (0,   100000, 3,    100002);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (0,   100039, 3,    100038);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (0,   107784, 3,    107783);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (0,   107788, 3,    107790);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (0,   107804, 3,    107790);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (0,   107834, 3,    107815);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (0,   107854, 3,    107883);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (0,   107835, 3,    107836);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (0,   107853, 3,    107882);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (0,   100000, 4,    100003);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (0,   100039, 4,    100003);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (0,   107784, 4,    100003);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (0,   107788, 4,    107795);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (0,   107804, 4,    107795);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (0,   107834, 4,    107820);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (0,   107854, 4,    107859);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (0,   107835, 4,    107795);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (0,   107853, 4,    107858);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (0,   100000, 90,   100013);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (0,   100039, 90,   100013);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (0,   107788, 90,   100013);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (0,   107804, 90,   100013);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (0,   107834, 90,   100013);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (0,   107854, 90,   100013);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (0,   107835, 90,   100013);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (0,   107853, 90,   100013);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (0,   107835, 5,    107850);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (0,   107853, 5,    107850);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (5,   107850, 51,   107851);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (51,  107835, 514,  107852);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (51,  107853, 514,  107852);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (0,   100000, 9000,  100005);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (0,   100039, 9000,  100005);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (0,   107784, 9000,  100005);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (0,   107788, 9000,  100005);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (0,   107804, 9000,  100005);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (0,   107834, 9000,  100005);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (0,   107854, 9000,  100005);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (0,   107835, 9000,  100005);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (0,   107853, 9000,  100005);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (9000, 100005, 9001,  100006);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (9000, 100005, 9002,  100007);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (9000, 100005, 9003,  100008);
@@ -1125,10 +1230,17 @@ INSERT INTO "HVS_LTAG2LTAG" VALUES (2,   107789, 23,   107803);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (2,   107814, 21,   107826);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (2,   107814, 22,   107827);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (2,   107814, 23,   107828);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (2,   107862, 21,   107866);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (2,   107862, 22,   107872);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (2,   107862, 23,   107874);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (2,   107843, 21,   107801);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (2,   107843, 22,   107802);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (2,   107843, 23,   107803);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (2,   107843, 24,   107844);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (2,   107861, 21,   107865);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (2,   107861, 22,   107871);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (2,   107861, 23,   107873);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (2,   107861, 24,   107844);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (2,   100001, 2003, 100011);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (2,   100001, 2004, 100012);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (2,   100001, 2005, 100016);
@@ -1139,62 +1251,112 @@ INSERT INTO "HVS_LTAG2LTAG" VALUES (2,   107789, 2003, 100011);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (2,   107789, 2004, 100012);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (2,   107789, 2005, 100016);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (2,   107814, 2003, 100011);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (2,   107862, 2003, 100011);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (2,   107814, 2004, 100012);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (2,   107862, 2004, 107860);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (2,   107814, 2005, 100016);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (2,   107862, 2005, 100016);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (2,   107843, 2003, 100011);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (2,   107861, 2003, 100011);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (2,   107843, 2004, 100012);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (2,   107861, 2004, 107860);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (2,   107843, 2005, 100016);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (2,   107861, 2005, 100016);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (21,  100015, 210,  100009);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (21,  100043, 210,  100046);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (21,  107801, 210,  100046);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (21,  107865, 210,  100046);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (21,  107826, 210,  107823);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (21,  107866, 210,  107823);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (21,  100015, 211,  100010);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (21,  100043, 211,  100049);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (21,  107801, 211,  100049);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (21,  107865, 211,  100049);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (21,  107826, 211,  100049);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (21,  107866, 211,  107868);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (21,  100015, 212,  100025);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (21,  100043, 212,  100050);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (21,  107801, 212,  100050);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (21,  107865, 212,  100025);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (21,  107826, 212,  100050);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (21,  107866, 212,  100025);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (21,  100015, 214,  100014);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (21,  100043, 214,  100014);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (21,  107801, 214,  100014);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (21,  107865, 214,  100014);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (21,  107826, 214,  100014);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (21,  107866, 214,  100014);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (21,  107826, 216,  107863);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (21,  107801, 215,  107810);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (21,  107801, 216,  107863);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (21,  107865, 215,  107810);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (21,  107865, 216,  107864);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (21,  107866, 215,  107810);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (21,  107866, 216,  107864);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (22,  100019, 220,  110009);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (22,  100044, 220,  100047);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (22,  107802, 220,  100047);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (22,  107871, 220,  100047);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (22,  107827, 220,  107824);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (22,  107872, 220,  107824);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (22,  100019, 221,  110010);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (22,  100044, 221,  100051);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (22,  107802, 221,  100051);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (22,  107871, 221,  100051);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (22,  107827, 221,  100051);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (22,  107872, 221,  100051);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (22,  100019, 222,  110025);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (22,  100044, 222,  110025);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (22,  107802, 222,  110025);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (22,  107871, 222,  110025);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (22,  107827, 222,  110025);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (22,  107872, 222,  110025);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (22,  100019, 224,  110014);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (22,  100044, 224,  110014);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (22,  107802, 224,  110014);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (22,  107871, 224,  110014);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (22,  107827, 224,  110014);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (22,  107872, 224,  110014);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (22,  107827, 226,  107869);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (22,  107802, 226,  107869);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (22,  107871, 226,  107870);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (22,  107872, 226,  107870);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (23,  100020, 230,  120009);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (23,  100045, 230,  120048);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (23,  107803, 230,  120048);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (23,  107828, 230,  107825);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (23,  107873, 230,  120048);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (23,  107874, 230,  107825);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (23,  100020, 231,  120010);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (23,  100045, 231,  100052);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (23,  107803, 231,  100052);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (23,  107828, 231,  100052);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (23,  107873, 231,  100052);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (23,  107874, 231,  100052);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (23,  100020, 232,  120025);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (23,  100045, 232,  120025);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (23,  107803, 232,  120025);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (23,  107828, 232,  120025);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (23,  107873, 232,  120025);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (23,  107874, 232,  120025);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (23,  100020, 234,  120014);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (23,  100045, 234,  120014);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (23,  107803, 234,  120014);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (23,  107828, 234,  120014);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (23,  107874, 234,  120014);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (23,  107873, 234,  120014);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (23,  107803, 235,  107808);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (23,  107803, 236,  107809);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (23,  107803, 237,  107875);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (23,  107828, 235,  107808);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (23,  107828, 236,  107809);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (23,  107828, 237,  107875);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (23,  107873, 235,  107877);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (23,  107873, 236,  107809);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (23,  107873, 237,  107876);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (23,  107874, 235,  107877);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (23,  107874, 236,  107809);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (23,  107874, 237,  107876);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (24,  107844, 240,  107845);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (24,  107844, 241,  107846);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (24,  107844, 242,  107847);
@@ -1205,29 +1367,39 @@ INSERT INTO "HVS_LTAG2LTAG" VALUES (3,   100038, 31,   100037);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (3,   107783, 31,   107781);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (3,   107790, 31,   107791);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (3,   107815, 31,   107816);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (3,   107883, 31,   107881);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (3,   107836, 31,   107791);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (3,   107882, 31,   107880);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (3,   100002, 32,   100027);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (3,   100038, 32,   100041);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (3,   107790, 32,   107792);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (3,   107815, 32,   107817);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (3,   107836, 32,   107837);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (3,   107883, 32,   107817);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (3,   107882, 32,   107837);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (3,   100002, 3003, 100021);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (3,   100038, 3003, 100021);
-INSERT INTO "HVS_LTAG2LTAG" VALUES (3,   107790, 3003, 100021);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (3,   107815, 3003, 100021);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (3,   107836, 3003, 100021);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (3,   107882, 3003, 100021);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (3,   107883, 3003, 100021);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (3,   107790, 3003, 100021);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (3,   100002, 3004, 100022);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (3,   100038, 3004, 100022);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (3,   107790, 3004, 100022);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (3,   107815, 3004, 100022);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (3,   107836, 3004, 100022);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (3,   107882, 3004, 100022);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (3,   107883, 3004, 100022);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (3,   100002, 3005, 100017);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (3,   100038, 3005, 100017);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (3,   107781, 3005, 107785);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (3,   107790, 3005, 107787);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (3,   107815, 3005, 107829);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (3,   107836, 3005, 107787);
-INSERT INTO "HVS_LTAG2LTAG" VALUES (31,  100026, 310,  106788);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (3,   107882, 3005, 107829);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (3,   107883, 3005, 107787);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (31,  100026, 310,  106788);  -- todo: add links to sct-04 (107791->107880) and sct-tb01 (107816->107881) below here
 INSERT INTO "HVS_LTAG2LTAG" VALUES (31,  100037, 310,  106790);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (31,  100081, 310,  107786);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (31,  107791, 310,  106790);
@@ -1284,7 +1456,9 @@ INSERT INTO "HVS_LTAG2LTAG" VALUES (32,  107817, 324,  100028);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (32,  107837, 324,  100028);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (4,   100003, 41,   100056);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (4,   107795, 41,   107796);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (4,   107858, 41,   107856);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (4,   107820, 41,   107821);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (4,   107859, 41,   107857);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (4,   100003, 4003, 100023);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (4,   100003, 4004, 100024);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (4,   100003, 4005, 100018);
@@ -1301,8 +1475,10 @@ INSERT INTO "HVS_LTAG2LTAG" VALUES (41,  100056, 411,  100059);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (41,  100056, 414,  100057);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (41,  107796, 411,  100059);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (41,  107796, 414,  100057);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (41,  107856, 414,  107855);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (41,  107821, 411,  107830);
 INSERT INTO "HVS_LTAG2LTAG" VALUES (41,  107821, 414,  100057);
+INSERT INTO "HVS_LTAG2LTAG" VALUES (41,  107857, 414,  107855);
 -- Data for the HVS_TAGCACHE table
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-00", "FASER",              "FASER-00",                100000);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-00", "FaserCommon",        "FaserCommon-00",          100013);
@@ -1341,6 +1517,11 @@ INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-00", "VetoTopLevel",       "VetoTopLev
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-00", "VetoStationGeneral", "VetoStationGeneral-00",   100010);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-00", "VetoPlateGeneral",   "VetoPlateGeneral-00",     100025);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-00", "VetoRadiatorGeneral",   "VetoRadiatorGeneral-00", 107810);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-00", "VetoWrappingGeneral",   "VetoWrappingGeneral-00", 107863);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-00", "SctWrappingGeneral", "SctWrappingGeneral-00",   107878);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-00", "DipoleWrappingGeneral", "DipoleWrappingGeneral-00",   107884);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-00", "TriggerWrappingGeneral", "TriggerWrappingGeneral-00", 107869);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-00", "PreshowerWrappingGeneral",   "PreshowerWrappingGeneral-00",     107875);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-00", "TriggerTopLevel",       "TriggerTopLevel-00",         110009);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-00", "TriggerStationGeneral", "TriggerStationGeneral-00",   110010);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-00", "TriggerPlateGeneral",   "TriggerPlateGeneral-00",     110025);
@@ -1405,6 +1586,11 @@ INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-01", "VetoTopLevel",       "VetoTopLev
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-01", "VetoStationGeneral", "VetoStationGeneral-01",   100049);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-01", "VetoPlateGeneral",   "VetoPlateGeneral-01",     100050);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-01", "VetoRadiatorGeneral",   "VetoRadiatorGeneral-00", 107810);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-01", "VetoWrappingGeneral",   "VetoWrappingGeneral-00", 107863);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-01", "SctWrappingGeneral", "SctWrappingGeneral-00",   107878);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-01", "DipoleWrappingGeneral", "DipoleWrappingGeneral-00",   107884);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-01", "TriggerWrappingGeneral", "TriggerWrappingGeneral-00", 107869);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-01", "PreshowerWrappingGeneral",   "PreshowerWrappingGeneral-00",     107875);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-01", "TriggerTopLevel",       "TriggerTopLevel-01",         100047);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-01", "TriggerStationGeneral", "TriggerStationGeneral-01",   100051);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-01", "TriggerPlateGeneral",   "TriggerPlateGeneral-00",     110025);
@@ -1469,6 +1655,11 @@ INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-CR", "VetoTopLevel",       "VetoTopLev
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-CR", "VetoStationGeneral", "VetoStationGeneral-01",   100049);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-CR", "VetoPlateGeneral",   "VetoPlateGeneral-01",     100050);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-CR", "VetoRadiatorGeneral",   "VetoRadiatorGeneral-00", 107810);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-CR", "VetoWrappingGeneral",   "VetoWrappingGeneral-00", 107863);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-CR", "SctWrappingGeneral", "SctWrappingGeneral-00",   107878);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-CR", "DipoleWrappingGeneral", "DipoleWrappingGeneral-00",   107884);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-CR", "TriggerWrappingGeneral", "TriggerWrappingGeneral-00", 107869);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-CR", "PreshowerWrappingGeneral",   "PreshowerWrappingGeneral-00",     107875);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-CR", "TriggerTopLevel",       "TriggerTopLevel-01",         100047);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-CR", "TriggerStationGeneral", "TriggerStationGeneral-01",   100051);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-CR", "TriggerPlateGeneral",   "TriggerPlateGeneral-00",     110025);
@@ -1529,6 +1720,11 @@ INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-02", "VetoTopLevel",       "VetoTopLev
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-02", "VetoStationGeneral", "VetoStationGeneral-01",   100049);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-02", "VetoPlateGeneral",   "VetoPlateGeneral-01",     100050);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-02", "VetoRadiatorGeneral",   "VetoRadiatorGeneral-00", 107810);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-02", "VetoWrappingGeneral",   "VetoWrappingGeneral-00", 107863);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-02", "SctWrappingGeneral", "SctWrappingGeneral-00",   107878);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-02", "DipoleWrappingGeneral", "DipoleWrappingGeneral-00",   107884);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-02", "TriggerWrappingGeneral", "TriggerWrappingGeneral-00", 107869);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-02", "PreshowerWrappingGeneral",   "PreshowerWrappingGeneral-00",     107875);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-02", "TriggerTopLevel",       "TriggerTopLevel-02",         107799);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-02", "TriggerStationGeneral", "TriggerStationGeneral-01",   100051);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-02", "TriggerPlateGeneral",   "TriggerPlateGeneral-00",     110025);
@@ -1596,6 +1792,11 @@ INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-02", "VetoTopLevel",       "VetoTopL
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-02", "VetoStationGeneral", "VetoStationGeneral-01",   100049);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-02", "VetoPlateGeneral",   "VetoPlateGeneral-01",     100050);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-02", "VetoRadiatorGeneral",   "VetoRadiatorGeneral-00", 107810);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-02", "VetoWrappingGeneral",   "VetoWrappingGeneral-00", 107863);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-02", "SctWrappingGeneral", "SctWrappingGeneral-00",   107878);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-02", "DipoleWrappingGeneral", "DipoleWrappingGeneral-00",   107884);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-02", "TriggerWrappingGeneral", "TriggerWrappingGeneral-00", 107869);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-02", "PreshowerWrappingGeneral",   "PreshowerWrappingGeneral-00",     107875);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-02", "TriggerTopLevel",       "TriggerTopLevel-02",         107799);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-02", "TriggerStationGeneral", "TriggerStationGeneral-01",   100051);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-02", "TriggerPlateGeneral",   "TriggerPlateGeneral-00",     110025);
@@ -1650,10 +1851,12 @@ INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB00", "SctConditions",      "SctCondi
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB00", "SctFrame",           "SctFrame-00",             100053);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB00", "SctFrameGeneral",    "SctFrameGeneral-00",      100054);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB00", "SctFrameShape",      "SctFrameShape-00",        100055);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB00", "SctWrappingGeneral", "SctWrappingGeneral-00",   107878);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB00", "Dipole",             "Dipole-TB00",             107817);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB00", "DipoleTopLevel",     "DipoleTopLevel-TB00",     107819);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB00", "DipoleGeneral",      "DipoleGeneral-00",        100004);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB00", "DipoleSwitches",     "DipoleSwitches-00",       100028);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB00", "DipoleWrappingGeneral", "DipoleWrappingGeneral-00",   107884);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB00", "Calorimeter",        "Calorimeter-TB00",        107820);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB00", "Ecal",               "Ecal-TB00",               107821);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB00", "EcalTopLevel",       "EcalTopLevel-TB00",       107822);
@@ -1663,14 +1866,17 @@ INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB00", "VetoTopLevel",       "VetoTopL
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB00", "VetoStationGeneral", "VetoStationGeneral-TB00", 107833);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB00", "VetoPlateGeneral",   "VetoPlateGeneral-01",     100050);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB00", "VetoRadiatorGeneral","VetoRadiatorGeneral-00",  107810);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB00", "VetoWrappingGeneral",   "VetoWrappingGeneral-00", 107863);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB00", "TriggerTopLevel",    "TriggerTopLevel-TB00",    107824);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB00", "TriggerStationGeneral", "TriggerStationGeneral-01",   100051);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB00", "TriggerPlateGeneral",   "TriggerPlateGeneral-00",     110025);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB00", "TriggerWrappingGeneral", "TriggerWrappingGeneral-00", 107869);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB00", "PreshowerTopLevel",     "PreshowerTopLevel-TB00",         107825);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB00", "PreshowerStationGeneral", "PreshowerStationGeneral-01",   100052);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB00", "PreshowerPlateGeneral",   "PreshowerPlateGeneral-00",     120025);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB00", "PreshowerRadiatorGeneral",   "PreshowerRadiatorGeneral-00",     107808);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB00", "PreshowerAbsorberGeneral",   "PreshowerAbsorberGeneral-00",     107809);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB00", "PreshowerWrappingGeneral",   "PreshowerWrappingGeneral-00",     107875);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB00", "NeutrinoMaterials",     "NeutrinoMaterials-00",       100032);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB00", "NeutrinoMatComponents", "NeutrinoMatComponents-00",   100033);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB00", "ScintMaterials",     "ScintMaterials-00",       100011);
@@ -1721,10 +1927,12 @@ INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-03", "SctConditions",      "SctCondi
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-03", "SctFrame",           "SctFrame-00",             100053);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-03", "SctFrameGeneral",    "SctFrameGeneral-00",      100054);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-03", "SctFrameShape",      "SctFrameShape-00",        100055);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-03", "SctWrappingGeneral", "SctWrappingGeneral-00",   107878);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-03", "Dipole",             "Dipole-03",               107837);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-03", "DipoleTopLevel",     "DipoleTopLevel-03",       107838);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-03", "DipoleGeneral",      "DipoleGeneral-00",        100004);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-03", "DipoleSwitches",     "DipoleSwitches-00",       100028);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-03", "DipoleWrappingGeneral", "DipoleWrappingGeneral-00",   107884);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-03", "Calorimeter",        "Calorimeter-02",          107795);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-03", "Ecal",               "Ecal-02",                 107796);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-03", "EcalTopLevel",       "EcalTopLevel-02",         107797);
@@ -1734,6 +1942,7 @@ INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-03", "VetoTopLevel",       "VetoTopL
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-03", "VetoStationGeneral", "VetoStationGeneral-01",   100049);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-03", "VetoPlateGeneral",   "VetoPlateGeneral-01",     100050);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-03", "VetoRadiatorGeneral",   "VetoRadiatorGeneral-00", 107810);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-03", "VetoWrappingGeneral",   "VetoWrappingGeneral-00", 107863);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-03", "VetoNuTopLevel",       "VetoNuTopLevel-00",        107845);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-03", "VetoNuStationGeneral", "VetoNuStationGeneral-00",  107846);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-03", "VetoNuPlateGeneral",   "VetoNuPlateGeneral-00",    107847);
@@ -1741,11 +1950,13 @@ INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-03", "VetoNuRadiatorGeneral","VetoNu
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-03", "TriggerTopLevel",       "TriggerTopLevel-02",         107799);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-03", "TriggerStationGeneral", "TriggerStationGeneral-01",   100051);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-03", "TriggerPlateGeneral",   "TriggerPlateGeneral-00",     110025);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-03", "TriggerWrappingGeneral", "TriggerWrappingGeneral-00", 107869);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-03", "PreshowerTopLevel",     "PreshowerTopLevel-02",         107800);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-03", "PreshowerStationGeneral", "PreshowerStationGeneral-01",   100052);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-03", "PreshowerPlateGeneral",   "PreshowerPlateGeneral-00",     120025);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-03", "PreshowerRadiatorGeneral",   "PreshowerRadiatorGeneral-00",     107808);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-03", "PreshowerAbsorberGeneral",   "PreshowerAbsorberGeneral-00",     107809);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-03", "PreshowerWrappingGeneral",   "PreshowerWrappingGeneral-00",     107875);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-03", "NeutrinoMaterials",     "NeutrinoMaterials-00",       100032);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-03", "NeutrinoMatComponents", "NeutrinoMatComponents-00",   100033);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-03", "ScintMaterials",     "ScintMaterials-00",       100011);
@@ -1766,6 +1977,160 @@ INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-03", "NeutrinoIdentifier", "Neutrino
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-03", "ScintIdentifier",    "ScintIdentifier-00",      100016);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-03", "TrackerIdentifier",  "TrackerIdentifier-02",     107787);
 INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-03", "CaloIdentifier",     "CaloIdentifier-00",       100018);
+--
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "FASER",              "FASERNU-04",              107853);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "FaserCommon",        "FaserCommon-00",          100013);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "Cavern",             "Cavern-00",               107850);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "Trench",             "Trench-00",               107851);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "TrenchSwitches",     "TrenchSwitches-00",       107852);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "Materials",          "Materials-00",            100005);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "StdMaterials",       "StdMaterials-00",         100006);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "StdMatComponents",   "StdMatComponents-00",     100007);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "Elements",           "Elements-00",             100008);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "Neutrino",           "Neutrino-02",             107894);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "Emulsion",           "Emulsion-02",             107895);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "EmulsionTopLevel",   "EmulsionTopLevel-02",     107892);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "EmulsionGeneral",    "EmulsionGeneral-01",      107891);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "EmulsionFilm",       "EmulsionFilm-01",         107889);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "EmulsionPlates",     "EmulsionPlates-01",       107888);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "EmulsionSwitches",   "EmulsionSwitches-00",     100036);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "EmulsionSupport",    "EmulsionSupport-01",      107893);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "Scintillator",       "Scintillator-04",         107861);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "Tracker",            "Tracker-04",              107882);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "SCT",                "SCT-04",                  107880);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "SctTopLevel",        "SCTTopLevel-02",          107793);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "SctBrlModule",       "SCTBrlModule-00",         107003);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "SctBrlSensor",       "SCTBrlSensor-00",         106730);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "SctFaserGeneral",    "SCTFaserGeneral-01",      106791);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "SctSwitches",        "SCTSwitches-00",          107782);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "SCTMaterials",       "SCTMaterials-00",         107777);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "SCTMatComponents",   "SCTMatComponents-00",     107778);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "SctConditions",      "SctConditions-00",        107779);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "SctFrame",           "SctFrame-00",             100053);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "SctFrameGeneral",    "SctFrameGeneral-00",      100054);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "SctFrameShape",      "SctFrameShape-00",        100055);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "SctWrappingGeneral", "SctWrappingGeneral-01",   107879);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "Dipole",             "Dipole-03",               107837);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "DipoleTopLevel",     "DipoleTopLevel-03",       107838);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "DipoleGeneral",      "DipoleGeneral-00",        100004);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "DipoleSwitches",     "DipoleSwitches-00",       100028);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "DipoleWrappingGeneral", "DipoleWrappingGeneral-01",   107885);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "Calorimeter",        "Calorimeter-04",          107858);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "Ecal",               "Ecal-04",                 107856);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "EcalTopLevel",       "EcalTopLevel-04",         107886);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "EcalRowGeneral",     "EcalRowGeneral-00",       100059);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "EcalSwitches",       "EcalSwitches-01",         107855);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "VetoTopLevel",       "VetoTopLevel-02",         107798);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "VetoStationGeneral", "VetoStationGeneral-01",   107868);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "VetoPlateGeneral",   "VetoPlateGeneral-00",     100025);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "VetoRadiatorGeneral",   "VetoRadiatorGeneral-00", 107810);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "VetoWrappingGeneral",   "VetoWrappingGeneral-01", 107864);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "VetoNuTopLevel",       "VetoNuTopLevel-00",        107845);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "VetoNuStationGeneral", "VetoNuStationGeneral-00",  107846);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "VetoNuPlateGeneral",   "VetoNuPlateGeneral-00",    107847);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "VetoNuRadiatorGeneral","VetoNuRadiatorGeneral-00", 107849);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "TriggerTopLevel",       "TriggerTopLevel-02",         107799);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "TriggerStationGeneral", "TriggerStationGeneral-01",   100051);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "TriggerPlateGeneral",   "TriggerPlateGeneral-00",     110025);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "TriggerWrappingGeneral", "TriggerWrappingGeneral-01", 107870);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "PreshowerTopLevel",     "PreshowerTopLevel-02",         107800);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "PreshowerStationGeneral", "PreshowerStationGeneral-01",   100052);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "PreshowerPlateGeneral",   "PreshowerPlateGeneral-00",     120025);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "PreshowerRadiatorGeneral",   "PreshowerRadiatorGeneral-01",     107877);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "PreshowerAbsorberGeneral",   "PreshowerAbsorberGeneral-00",     107809);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "PreshowerWrappingGeneral", "PreshowerWrappingGeneral-01", 107876);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "NeutrinoMaterials",     "NeutrinoMaterials-00",       100032);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "NeutrinoMatComponents", "NeutrinoMatComponents-00",   100033);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "ScintMaterials",     "ScintMaterials-00",       100011);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "ScintMatComponents", "ScintMatComponents-01",   107860);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "TrackerMaterials",     "TrackerMaterials-00",     100021);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "TrackerMatComponents", "TrackerMatComponents-00", 100022);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "CaloMaterials",     "CaloMaterials-00",         100023);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "CaloMatComponents", "CaloMatComponents-00",     100024);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "VetoSwitches",       "VetoSwitches-00",         100014);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "TriggerSwitches",    "TriggerSwitches-00",      110014);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "PreshowerSwitches",  "PreshowerSwitches-00",    120014);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "VetoNuSwitches",     "VetoNuSwitches-00",       107848);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "Veto",               "Veto-04",                 107865);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "Trigger",            "Trigger-04",              107871);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "Preshower",          "Preshower-04",            107873);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "VetoNu",             "VetoNu-00",               107844);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "NeutrinoIdentifier", "NeutrinoIdentifier-01",   107890);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "ScintIdentifier",    "ScintIdentifier-00",      100016);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "TrackerIdentifier",  "TrackerIdentifier-02",     107787);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASERNU-04", "CaloIdentifier",     "CaloIdentifier-00",       100018);
+--
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB01", "FASER",              "FASER-TB01",              107854);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB01", "FaserCommon",        "FaserCommon-00",          100013);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB01", "Materials",          "Materials-00",            100005);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB01", "StdMaterials",       "StdMaterials-00",         100006);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB01", "StdMatComponents",   "StdMatComponents-00",     100007);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB01", "Elements",           "Elements-00",             100008);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB01", "Neutrino",           "Neutrino-02",             107895);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB01", "Emulsion",           "Emulsion-02",             107894);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB01", "EmulsionTopLevel",   "EmulsionTopLevel-02",     107892);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB01", "EmulsionGeneral",    "EmulsionGeneral-01",      107891);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB01", "EmulsionFilm",       "EmulsionFilm-01",         107889);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB01", "EmulsionPlates",     "EmulsionPlates-01",       107888);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB01", "EmulsionSwitches",   "EmulsionSwitches-00",     100036);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB01", "Scintillator",       "Scintillator-TB01",       107862);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB01", "Tracker",            "Tracker-TB01",            107883);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB01", "SCT",                "SCT-TB01",                107881);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB01", "SctTopLevel",        "SCTTopLevel-TB00",        107818);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB01", "SctBrlModule",       "SCTBrlModule-00",         107003);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB01", "SctBrlSensor",       "SCTBrlSensor-00",         106730);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB01", "SctFaserGeneral",    "SCTFaserGeneral-01",      106791);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB01", "SctSwitches",        "SCTSwitches-00",          107782);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB01", "SCTMaterials",       "SCTMaterials-00",         107777);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB01", "SCTMatComponents",   "SCTMatComponents-00",     107778);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB01", "SctConditions",      "SctConditions-00",        107779);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB01", "SctFrame",           "SctFrame-00",             100053);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB01", "SctFrameGeneral",    "SctFrameGeneral-00",      100054);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB01", "SctFrameShape",      "SctFrameShape-00",        100055);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB01", "SctWrappingGeneral", "SctWrappingGeneral-01",   107879);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB01", "Dipole",             "Dipole-TB00",             107817);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB01", "DipoleTopLevel",     "DipoleTopLevel-TB00",     107819);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB01", "DipoleGeneral",      "DipoleGeneral-00",        100004);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB01", "DipoleSwitches",     "DipoleSwitches-00",       100028);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB01", "DipoleWrappingGeneral", "DipoleWrappingGeneral-01",   107885);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB01", "Calorimeter",        "Calorimeter-TB01",        107859);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB01", "Ecal",               "Ecal-TB01",               107857);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB01", "EcalTopLevel",       "EcalTopLevel-TB00",       107887);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB01", "EcalRowGeneral",     "EcalRowGeneral-TB00",     107830);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB01", "EcalSwitches",       "EcalSwitches-01",         107855);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB01", "VetoTopLevel",       "VetoTopLevel-TB00",       107823);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB01", "VetoStationGeneral", "VetoStationGeneral-TB01", 107867);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB01", "VetoPlateGeneral",   "VetoPlateGeneral-00",     100025);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB01", "VetoRadiatorGeneral","VetoRadiatorGeneral-00",  107810);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB01", "VetoWrappingGeneral",   "VetoWrappingGeneral-01", 107864);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB01", "TriggerTopLevel",    "TriggerTopLevel-TB00",    107824);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB01", "TriggerStationGeneral", "TriggerStationGeneral-01",   100051);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB01", "TriggerPlateGeneral",   "TriggerPlateGeneral-00",     110025);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB01", "TriggerWrappingGeneral", "TriggerWrappingGeneral-01", 107870);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB01", "PreshowerTopLevel",     "PreshowerTopLevel-TB00",         107825);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB01", "PreshowerStationGeneral", "PreshowerStationGeneral-01",   100052);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB01", "PreshowerPlateGeneral",   "PreshowerPlateGeneral-00",     120025);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB01", "PreshowerRadiatorGeneral",   "PreshowerRadiatorGeneral-01",     107877);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB01", "PreshowerAbsorberGeneral",   "PreshowerAbsorberGeneral-00",     107809);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB01", "PreshowerWrappingGeneral",   "PreshowerWrappingGeneral-01",     107876);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB01", "NeutrinoMaterials",     "NeutrinoMaterials-00",       100032);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB01", "NeutrinoMatComponents", "NeutrinoMatComponents-00",   100033);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB01", "ScintMaterials",     "ScintMaterials-00",       100011);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB01", "ScintMatComponents", "ScintMatComponents-01",   107860);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB01", "TrackerMaterials",     "TrackerMaterials-00",     100021);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB01", "TrackerMatComponents", "TrackerMatComponents-00", 100022);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB01", "CaloMaterials",     "CaloMaterials-00",         100023);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB01", "CaloMatComponents", "CaloMatComponents-00",     100024);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB01", "VetoSwitches",       "VetoSwitches-00",         100014);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB01", "TriggerSwitches",    "TriggerSwitches-00",      110014);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB01", "PreshowerSwitches",  "PreshowerSwitches-00",    120014);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB01", "Veto",               "Veto-TB01",                 107866);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB01", "Trigger",            "Trigger-TB01",              107872);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB01", "Preshower",          "Preshower-TB01",            107874);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB01", "NeutrinoIdentifier", "NeutrinoIdentifier-01",   107890);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB01", "ScintIdentifier",    "ScintIdentifier-TB00",    107832);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB01", "TrackerIdentifier",  "TrackerIdentifier-TB00",  107829);
+INSERT INTO "HVS_TAGCACHE" VALUES ("FASER-TB01", "CaloIdentifier",     "CaloIdentifier-TB00",     107831);
 -- 
 --
 -- Part 2b: Content (Leaf node) data
@@ -2311,30 +2676,46 @@ INSERT INTO "ELEMENTS_DATA2TAG" VALUES (100008, 91);
 INSERT INTO "EMULSIONTOPLEVEL_DATA" VALUES (0, 0.0, 0.0, -2475.72, 0.0, 0.0, 0.0, 321, "Emulsion");
 INSERT INTO "EMULSIONTOPLEVEL_DATA" VALUES (1, 0.0, 0.0,     0.0, 0.0, 0.0, 0.0, 321, "StationA");
 INSERT INTO "EMULSIONTOPLEVEL_DATA" VALUES (2, 10.0, -21.0, -2510.27, 0.0, 0.0, 0.0, 321, "Emulsion");
+INSERT INTO "EMULSIONTOPLEVEL_DATA" VALUES (3, 10.0, -21.0, -2505.68, 0.0, 0.0, 0.0, 321, "Emulsion");  -- Actual box hardware is in same global position as previous
 INSERT INTO "EMULSIONTOPLEVEL_DATA2TAG" VALUES (100035, 0);
 INSERT INTO "EMULSIONTOPLEVEL_DATA2TAG" VALUES (100035, 1);
 INSERT INTO "EMULSIONTOPLEVEL_DATA2TAG" VALUES (107841, 2);
 INSERT INTO "EMULSIONTOPLEVEL_DATA2TAG" VALUES (107841, 1);
+INSERT INTO "EMULSIONTOPLEVEL_DATA2TAG" VALUES (107892, 3);
+INSERT INTO "EMULSIONTOPLEVEL_DATA2TAG" VALUES (107892, 1);
 --
 --
 INSERT INTO "EMULSIONGENERAL_DATA" VALUES (0, 35, 22, -524.275, 525.275);
+INSERT INTO "EMULSIONGENERAL_DATA" VALUES (1, 73, 10, -519.598, 520.685);
 INSERT INTO "EMULSIONGENERAL_DATA2TAG" VALUES (107805, 0);
+INSERT INTO "EMULSIONGENERAL_DATA2TAG" VALUES (107891, 1);
 --
 --
 INSERT INTO "EMULSIONSUPPORT_DATA" VALUES (0, "std::SSteel", 250.0, 300.0, 20.0, 0.0, 0.0, 535.45, "BoxBack");
 INSERT INTO "EMULSIONSUPPORT_DATA" VALUES (1, "std::SSteel", 250.0, 300.0, 30.0, 0.0, 0.0, -540.45, "Pusher");
 INSERT INTO "EMULSIONSUPPORT_DATA" VALUES (2, "std::SSteel", 250.0, 300.0, 20.0, 0.0, 0.0, -604.55, "BoxFront");
+INSERT INTO "EMULSIONSUPPORT_DATA" VALUES (3, "std::SSteel", 250.0, 300.0, 20.0, 0.0, 0.0, 530.855, "BoxBack");
+INSERT INTO "EMULSIONSUPPORT_DATA" VALUES (4, "std::SSteel", 250.0, 300.0, 30.0, 0.0, 0.0, -535.855, "Pusher");
+INSERT INTO "EMULSIONSUPPORT_DATA" VALUES (5, "std::SSteel", 250.0, 300.0, 20.0, 0.0, 0.0, -609.145, "BoxFront");
+
 INSERT INTO "EMULSIONSUPPORT_DATA2TAG" VALUES (107842, 0);
 INSERT INTO "EMULSIONSUPPORT_DATA2TAG" VALUES (107842, 1);
 INSERT INTO "EMULSIONSUPPORT_DATA2TAG" VALUES (107842, 2);
+INSERT INTO "EMULSIONSUPPORT_DATA2TAG" VALUES (107893, 3);
+INSERT INTO "EMULSIONSUPPORT_DATA2TAG" VALUES (107893, 4);
+INSERT INTO "EMULSIONSUPPORT_DATA2TAG" VALUES (107893, 5);
 --
 --
 INSERT INTO "EMULSIONFILM_DATA" VALUES (0, 250.0, 300.0, 0.210, "neutrino::Polystyrene", 250.0, 300.0, 0.070, "neutrino::Emulsion");
+INSERT INTO "EMULSIONFILM_DATA" VALUES (1, 250.0, 300.0, 0.210, "neutrino::Polystyrene", 250.0, 300.0, 0.065, "neutrino::Emulsion");
 INSERT INTO "EMULSIONFILM_DATA2TAG" VALUES (107806, 0);
+INSERT INTO "EMULSIONFILM_DATA2TAG" VALUES (107889, 1);
 --
 --
-INSERT INTO "EMULSIONPLATES_DATA" VALUES (0, 250.0, 300.0, 1050.9, 0.0, 0.0, 0.0, "std::Wolfram");
+INSERT INTO "EMULSIONPLATES_DATA" VALUES (0, 250.0, 300.0, 1050.9, 0.0, 0.0, 0.0, "std::Wolfram");  -- this is a slab of tungsten in which ALL base+film pieces are inserted
+INSERT INTO "EMULSIONPLATES_DATA" VALUES (1, 250.0, 300.0, 1041.71, 0.0, 0.0, 0.0, "std::Wolfram");
 INSERT INTO "EMULSIONPLATES_DATA2TAG" VALUES (107807, 0);
+INSERT INTO "EMULSIONPLATES_DATA2TAG" VALUES (107888, 1);
 --
 --
 INSERT INTO "NEUTRINOMATERIALS_DATA" VALUES (0, "Polystyrene", 1.06);
@@ -2396,9 +2777,12 @@ INSERT INTO "VETOTOPLEVEL_DATA2TAG" VALUES (107823, 11);
 INSERT INTO "VETOSTATIONGENERAL_DATA" VALUES (0, 2, 100.0);
 INSERT INTO "VETOSTATIONGENERAL_DATA" VALUES (1, 2, 20.0);
 INSERT INTO "VETOSTATIONGENERAL_DATA" VALUES (2, 2, 21.0);
+INSERT INTO "VETOSTATIONGENERAL_DATA" VALUES (3, 2, 21.5);
 INSERT INTO "VETOSTATIONGENERAL_DATA2TAG" VALUES (100010, 0);
 INSERT INTO "VETOSTATIONGENERAL_DATA2TAG" VALUES (100049, 1);
 INSERT INTO "VETOSTATIONGENERAL_DATA2TAG" VALUES (107833, 2);
+INSERT INTO "VETOSTATIONGENERAL_DATA2TAG" VALUES (107867, 3);
+INSERT INTO "VETOSTATIONGENERAL_DATA2TAG" VALUES (107868, 3);
 --
 INSERT INTO "VETOPLATEGENERAL_DATA" VALUES (0, 1, 300.0, 300.0, 20.0, "scint::Scintillator");
 INSERT INTO "VETOPLATEGENERAL_DATA" VALUES (1, 1, 300.0, 300.0, 19.5, "scint::Scintillator");
@@ -2408,6 +2792,11 @@ INSERT INTO "VETOPLATEGENERAL_DATA2TAG" VALUES (100050, 1);
 INSERT INTO "VETORADIATORGENERAL_DATA" VALUES (0, 400.0, 350.0, 100.0, "std::Lead");
 INSERT INTO "VETORADIATORGENERAL_DATA2TAG" VALUES (107810, 0);
 --
+INSERT INTO "VETOWRAPPINGGENERAL_DATA" VALUES (0, 300.0, 300.0, 0.5, "std::Air");
+INSERT INTO "VETOWRAPPINGGENERAL_DATA" VALUES (1, 300.0, 300.0, 0.5, "std::Aluminium");
+INSERT INTO "VETOWRAPPINGGENERAL_DATA2TAG" VALUES (107863, 0);
+INSERT INTO "VETOWRAPPINGGENERAL_DATA2TAG" VALUES (107864, 1);
+--
 --
 INSERT INTO "VETONUTOPLEVEL_DATA" VALUES (0, 10.0, -21.0, -3112.0, 0.0, 0.0, 0.0, 321, "VetoNu");
 INSERT INTO "VETONUTOPLEVEL_DATA" VALUES (1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 321, "StationA");
@@ -2445,6 +2834,12 @@ INSERT INTO "TRIGGERPLATEGENERAL_DATA" VALUES (0, 2, 400.0, 200.0, 10.0, "scint:
 INSERT INTO "TRIGGERPLATEGENERAL_DATA2TAG" VALUES (110025, 0);
 --
 --
+INSERT INTO "TRIGGERWRAPPINGGENERAL_DATA" VALUES (0, 400.0, 200.0, 0.5, "std::Air");
+INSERT INTO "TRIGGERWRAPPINGGENERAL_DATA" VALUES (1, 400.0, 200.0, 0.5, "std::Aluminium");
+INSERT INTO "TRIGGERWRAPPINGGENERAL_DATA2TAG" VALUES (107869, 0);
+INSERT INTO "TRIGGERWRAPPINGGENERAL_DATA2TAG" VALUES (107870, 1);
+--
+--
 INSERT INTO "PRESHOWERTOPLEVEL_DATA" VALUES (0, 0.0, 0.0, 2626.0, 0.0, 0.0, 0.0, 321, "Preshower");
 INSERT INTO "PRESHOWERTOPLEVEL_DATA" VALUES (1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 321, "StationA");
 INSERT INTO "PRESHOWERTOPLEVEL_DATA" VALUES (2, 0.0, 0.0, 2662.7, 0.0, 0.0, 0.0, 321, "Preshower");
@@ -2471,19 +2866,31 @@ INSERT INTO "PRESHOWERPLATEGENERAL_DATA" VALUES (0, 1, 300.0, 300.0, 20.0, "scin
 INSERT INTO "PRESHOWERPLATEGENERAL_DATA2TAG" VALUES (120025, 0);
 --
 INSERT INTO "PRESHOWERRADIATORGENERAL_DATA" VALUES (0, 300.0, 300.0, 3.0, "std::Wolfram");
+INSERT INTO "PRESHOWERRADIATORGENERAL_DATA" VALUES (1, 300.0, 300.0, 3.18, "std::Wolfram");
 INSERT INTO "PRESHOWERRADIATORGENERAL_DATA2TAG" VALUES (107808, 0);
+INSERT INTO "PRESHOWERRADIATORGENERAL_DATA2TAG" VALUES (107877, 1);
 --
 INSERT INTO "PRESHOWERABSORBERGENERAL_DATA" VALUES (0, 300.0, 300.0, 50.0, "scint::Graphite");
 INSERT INTO "PRESHOWERABSORBERGENERAL_DATA2TAG" VALUES (107809, 0);
 --
 --
-INSERT INTO "ECALTOPLEVEL_DATA" VALUES (0, 0.0,   0.0, 3099.2, 0.0, 0.0, 0.0, 321, "Ecal");
-INSERT INTO "ECALTOPLEVEL_DATA" VALUES (1, 0.0, -71.6,    0.0, 0.0, 2.8, 0.0, 321, "BottomRow");
-INSERT INTO "ECALTOPLEVEL_DATA" VALUES (2, 0.0,  49.6,    0.0, 0.0, 2.8, 0.0, 321, "TopRow");
-INSERT INTO "ECALTOPLEVEL_DATA" VALUES (3, 0.0,   0.0, 3098.9, 0.0, 0.0, 0.0, 321, "Ecal");
-INSERT INTO "ECALTOPLEVEL_DATA" VALUES (4, 0.0, -71.6,    0.0, 0.0, 0.0, 0.0, 321, "BottomRow");
-INSERT INTO "ECALTOPLEVEL_DATA" VALUES (5, 0.0,  49.6,    0.0, 0.0, 0.0, 0.0, 321, "TopRow");
-INSERT INTO "ECALTOPLEVEL_DATA" VALUES (6, -17.22, -22.80, 1088.66, -2.8, -2.8, 0.0, 321, "Ecal");
+INSERT INTO "PRESHOWERWRAPPINGGENERAL_DATA" VALUES (0, 300.0, 300.0, 0.5, "std::Air");
+INSERT INTO "PRESHOWERWRAPPINGGENERAL_DATA" VALUES (1, 300.0, 300.0, 0.5, "std::Aluminium");
+INSERT INTO "PRESHOWERWRAPPINGGENERAL_DATA2TAG" VALUES (107875, 0);
+INSERT INTO "PRESHOWERWRAPPINGGENERAL_DATA2TAG" VALUES (107876, 1);
+--
+--
+INSERT INTO "ECALTOPLEVEL_DATA" VALUES (0, 0.0,   0.0, 3099.2, 0.0, 0.0, 0.0, 321, "Ecal"); -- Old TI12
+INSERT INTO "ECALTOPLEVEL_DATA" VALUES (1, 0.0, -71.6,    0.0, 0.0, 2.8, 0.0, 321, "BottomRow"); -- TI12 (with overlap)
+INSERT INTO "ECALTOPLEVEL_DATA" VALUES (2, 0.0,  49.6,    0.0, 0.0, 2.8, 0.0, 321, "TopRow");    -- TI12 (with overlap)
+INSERT INTO "ECALTOPLEVEL_DATA" VALUES (3, 0.0,   0.0, 3098.9, 0.0, 0.0, 0.0, 321, "Ecal"); -- TI12
+INSERT INTO "ECALTOPLEVEL_DATA" VALUES (4, 0.0, -71.6,    0.0, 0.0, 0.0, 0.0, 321, "BottomRow"); -- TB00 (with overlap)
+INSERT INTO "ECALTOPLEVEL_DATA" VALUES (5, 0.0,  49.6,    0.0, 0.0, 0.0, 0.0, 321, "TopRow");    -- TB00 (with overlap)
+INSERT INTO "ECALTOPLEVEL_DATA" VALUES (6, -17.22, -22.80, 1088.66, -2.8, -2.8, 0.0, 321, "Ecal"); -- test beam
+INSERT INTO "ECALTOPLEVEL_DATA" VALUES (7, 0.0, -72.0,    0.0, 0.0, 2.8, 0.0, 321, "BottomRow");   -- TI12 (overlap fixed)
+INSERT INTO "ECALTOPLEVEL_DATA" VALUES (8, 0.0,  50.0,    0.0, 0.0, 2.8, 0.0, 321, "TopRow");      -- TI12 (overlap fixed)
+INSERT INTO "ECALTOPLEVEL_DATA" VALUES (9, 0.0, -72.0,    0.0, 0.0, 0.0, 0.0, 321, "BottomRow");   -- TB01 (overlap fixed)
+INSERT INTO "ECALTOPLEVEL_DATA" VALUES (10, 0.0, 50.0,    0.0, 0.0, 0.0, 0.0, 321, "TopRow");     -- TB01 (overlap fixed)
 INSERT INTO "ECALTOPLEVEL_DATA2TAG" VALUES (100058, 0);
 INSERT INTO "ECALTOPLEVEL_DATA2TAG" VALUES (100058, 1);
 INSERT INTO "ECALTOPLEVEL_DATA2TAG" VALUES (100058, 2);
@@ -2493,6 +2900,13 @@ INSERT INTO "ECALTOPLEVEL_DATA2TAG" VALUES (107797, 3);
 INSERT INTO "ECALTOPLEVEL_DATA2TAG" VALUES (107822, 4);
 INSERT INTO "ECALTOPLEVEL_DATA2TAG" VALUES (107822, 5);
 INSERT INTO "ECALTOPLEVEL_DATA2TAG" VALUES (107822, 6);
+INSERT INTO "ECALTOPLEVEL_DATA2TAG" VALUES (107886, 3);
+INSERT INTO "ECALTOPLEVEL_DATA2TAG" VALUES (107886, 7);
+INSERT INTO "ECALTOPLEVEL_DATA2TAG" VALUES (107886, 8);
+INSERT INTO "ECALTOPLEVEL_DATA2TAG" VALUES (107887, 6);
+INSERT INTO "ECALTOPLEVEL_DATA2TAG" VALUES (107887, 9);
+INSERT INTO "ECALTOPLEVEL_DATA2TAG" VALUES (107887, 10);
+
 --
 --
 INSERT INTO "ECALROWGENERAL_DATA" VALUES (0, 2, 0.0, 2.8);
@@ -2507,12 +2921,17 @@ INSERT INTO "SCINTMATERIALS_DATA2TAG" VALUES (100011, 0);
 INSERT INTO "SCINTMATERIALS_DATA2TAG" VALUES (100011, 1);
 --
 --
-INSERT INTO "SCINTMATCOMPONENTS_DATA" VALUES (0, 0, "Carbon", 0.475);
-INSERT INTO "SCINTMATCOMPONENTS_DATA" VALUES (1, 0, "Hydrogen", 0.525);
+INSERT INTO "SCINTMATCOMPONENTS_DATA" VALUES (0, 0, "Carbon", 0.475);  -- incorrect value used through FASERNU-03 and FASER-TB00 (through June 2023); molecular fractions were treated as mass fractions
+INSERT INTO "SCINTMATCOMPONENTS_DATA" VALUES (1, 0, "Hydrogen", 0.525); -- incorrect value used through FASERNU-03 and FASER-TB00 (through June 2023); molecular fractions were treated as mass fractions
 INSERT INTO "SCINTMATCOMPONENTS_DATA" VALUES (2, 1, "Carbon", 1.0);
+INSERT INTO "SCINTMATCOMPONENTS_DATA" VALUES (3, 0, "Carbon", 0.915);  -- correct mass fraction values used from FASERNU-04 and FASER-TB01 (from June 2023)
+INSERT INTO "SCINTMATCOMPONENTS_DATA" VALUES (4, 0, "Hydrogen", 0.085); -- correct mass fraction values used from FASERNU-04 and FASER-TB01 (from June 2023)
 INSERT INTO "SCINTMATCOMPONENTS_DATA2TAG" VALUES (100012, 0);
 INSERT INTO "SCINTMATCOMPONENTS_DATA2TAG" VALUES (100012, 1);
 INSERT INTO "SCINTMATCOMPONENTS_DATA2TAG" VALUES (100012, 2);
+INSERT INTO "SCINTMATCOMPONENTS_DATA2TAG" VALUES (107860, 2);
+INSERT INTO "SCINTMATCOMPONENTS_DATA2TAG" VALUES (107860, 3);
+INSERT INTO "SCINTMATCOMPONENTS_DATA2TAG" VALUES (107860, 4);
 --
 --
 INSERT INTO "FASERCOMMON_DATA" VALUES (0, "RUN3", "TRACKER", "NONE");
@@ -2540,7 +2959,9 @@ INSERT INTO "PRESHOWERSWITCHES_DATA2TAG" VALUES (120014, 0);
 --
 --
 INSERT INTO "ECALSWITCHES_DATA" VALUES ( 0, "Ecal", 1, 0, "GEO", "Development", "Baseline geometry", "EcalGeoModel/Ecal.gdml");
+INSERT INTO "ECALSWITCHES_DATA" VALUES ( 1, "Ecal", 1, 0, "GEO", "Development", "Baseline geometry", "EcalGeoModel/Ecal04.gdml");
 INSERT INTO "ECALSWITCHES_DATA2TAG" VALUES (100057, 0);
+INSERT INTO "ECALSWITCHES_DATA2TAG" VALUES (107855, 1);
 --
 --
 INSERT INTO "TRENCHSWITCHES_DATA" VALUES ( 0, "Trench", 1, 0, "GEO", "Development", "Baseline geometry", "TrenchGeoModel/Trench.gdml");
@@ -2548,7 +2969,9 @@ INSERT INTO "TRENCHSWITCHES_DATA2TAG" VALUES (107852, 0);
 --
 --
 INSERT INTO "NEUTRINOIDENTIFIER_DATA" VALUES (0, "Neutrino", "NeutrinoIdDictFiles/IdDictNeutrino.xml", "Baseline layout");
+INSERT INTO "NEUTRINOIDENTIFIER_DATA" VALUES (1, "Neutrino", "NeutrinoIdDictFiles/IdDictNeutrino_730.xml", "FaserNu-04 layout");
 INSERT INTO "NEUTRINOIDENTIFIER_DATA2TAG" VALUES (100030, 0);
+INSERT INTO "NEUTRINOIDENTIFIER_DATA2TAG" VALUES (107890, 1);
 --
 --
 INSERT INTO "SCINTIDENTIFIER_DATA" VALUES (0, "Scintillator", "ScintIdDictFiles/IdDictScintillator.xml", "Baseline layout");
@@ -2667,6 +3090,26 @@ CREATE TABLE "SCTFRAMEGENERAL_DATA2TAG" ( "SCTFRAMEGENERAL_TAG_ID" SLONGLONG , "
 INSERT INTO "SCTFRAMEGENERAL_DATA2TAG" VALUES(100054, 0);
 --
 --
+DROP TABLE IF EXISTS "SCTWRAPPINGGENERAL_DATA";
+CREATE TABLE IF NOT EXISTS "SCTWRAPPINGGENERAL_DATA" (
+	"SCTWRAPPINGGENERAL_DATA_ID" SLONGLONG UNIQUE,
+	"WIDTH" DOUBLE,
+	"LENGTH" DOUBLE,
+	"THICKNESS" DOUBLE,
+	"MATERIAL" TEXT
+);
+--
+DROP TABLE IF EXISTS "SCTWRAPPINGGENERAL_DATA2TAG";
+CREATE TABLE IF NOT EXISTS "SCTWRAPPINGGENERAL_DATA2TAG" (
+	"SCTWRAPPINGGENERAL_TAG_ID" SLONGLONG,
+	"SCTWRAPPINGGENERAL_DATA_ID" SLONGLONG
+);
+INSERT INTO "SCTWRAPPINGGENERAL_DATA" VALUES (0, 320.0, 320.0, 0.4, "std::Air");
+INSERT INTO "SCTWRAPPINGGENERAL_DATA" VALUES (1, 320.0, 320.0, 0.4, "sct::CFRP");
+INSERT INTO "SCTWRAPPINGGENERAL_DATA2TAG" VALUES (107878, 0);
+INSERT INTO "SCTWRAPPINGGENERAL_DATA2TAG" VALUES (107879, 1);
+--
+--
 DROP TABLE IF EXISTS "SCTFRAMESHAPE_DATA";
 CREATE TABLE "SCTFRAMESHAPE_DATA" ( "SCTFRAMESHAPE_DATA_ID" SLONGLONG , "DX" DOUBLE , "DY" DOUBLE , "DZ" DOUBLE , "X" DOUBLE , "Y" DOUBLE , "Z" DOUBLE , "STAGGERED" INT, UNIQUE( "SCTFRAMESHAPE_DATA_ID" ) );
 INSERT INTO "SCTFRAMESHAPE_DATA" VALUES(1,  100.0,  285.0, 100.0,    0.0,   0.0,   0.0,  0);
@@ -2783,6 +3226,27 @@ CREATE TABLE "DIPOLEGENERAL_DATA2TAG" ( "DIPOLEGENERAL_TAG_ID" SLONGLONG, "DIPOL
 INSERT INTO "DIPOLEGENERAL_DATA2TAG" VALUES(100004, 0);
 --
 --
+DROP TABLE IF EXISTS "DIPOLEWRAPPINGGENERAL_DATA";
+CREATE TABLE IF NOT EXISTS "DIPOLEWRAPPINGGENERAL_DATA" (
+	"DIPOLEWRAPPINGGENERAL_DATA_ID" SLONGLONG UNIQUE,
+	"RADIUS" DOUBLE,
+	"THICKNESS1" DOUBLE,
+	"THICKNESS2" DOUBLE,
+	"MATERIAL1" TEXT,
+	"MATERIAL2" TEXT
+);
+--
+DROP TABLE IF EXISTS "DIPOLEWRAPPINGGENERAL_DATA2TAG";
+CREATE TABLE IF NOT EXISTS "DIPOLEWRAPPINGGENERAL_DATA2TAG" (
+	"DIPOLEWRAPPINGGENERAL_TAG_ID" SLONGLONG,
+	"DIPOLEWRAPPINGGENERAL_DATA_ID" SLONGLONG
+);
+INSERT INTO "DIPOLEWRAPPINGGENERAL_DATA" VALUES (0, 101.0, 0.4, 3.0, "std::Air",  "std::Air");
+INSERT INTO "DIPOLEWRAPPINGGENERAL_DATA" VALUES (1, 101.0, 0.4, 3.0, "sct::CFRP", "std::Polystyrene");
+INSERT INTO "DIPOLEWRAPPINGGENERAL_DATA2TAG" VALUES (107884, 0);
+INSERT INTO "DIPOLEWRAPPINGGENERAL_DATA2TAG" VALUES (107885, 1);
+--
+--
 DROP TABLE IF EXISTS "SCTMATCOMPONENTS_DATA";
 CREATE TABLE "SCTMATCOMPONENTS_DATA" ( "SCTMATCOMPONENTS_DATA_ID" SLONGLONG ,"MATERIAL_ID" SLONGLONG ,"COMPNAME" TEXT ,"FRACTION" DOUBLE , UNIQUE ( "SCTMATCOMPONENTS_DATA_ID" ) );
 INSERT INTO "SCTMATCOMPONENTS_DATA" VALUES(201,50,'Carbon',0.4816);
diff --git a/DetectorDescription/GeoModel/FaserGeoModel/python/GeoModelInit.py b/DetectorDescription/GeoModel/FaserGeoModel/python/GeoModelInit.py
index 4823fcde4cd212a0f3e6446bf690e29c8cf90616..79b84a01b53a950ec0e56b658e05ca0c592548fe 100644
--- a/DetectorDescription/GeoModel/FaserGeoModel/python/GeoModelInit.py
+++ b/DetectorDescription/GeoModel/FaserGeoModel/python/GeoModelInit.py
@@ -47,7 +47,7 @@ def _setupGeoModel():
         emulsionDetectorTool = EmulsionDetectorTool(DetectorName = "Emulsion", Alignable = True, RDBAccessSvc = "RDBAccessSvc", GeometryDBSvc = "NeutrinoGeometryDBSvc", GeoDbTagSvc = "GeoDbTagSvc")
         geoModelSvc.DetectorTools += [ emulsionDetectorTool ]
 
-    if "FASERNU-03" in DDversion:
+    if "FASERNU-03" in DDversion or "FASERNU-04" in DDversion:
         from VetoNuGeoModel.VetoNuGeoModelConf import VetoNuDetectorTool
         vetoNuDetectorTool = VetoNuDetectorTool( DetectorName = "VetoNu",
                                             Alignable = True,
@@ -124,7 +124,7 @@ def _setupGeoModel():
 
     geoModelSvc.DetectorTools += [ ecalDetectorTool ]
 
-    if "FASERNU-03" in DDversion:
+    if "FASERNU-03" in DDversion or "FASERNU-04" in DDversion:
         from TrenchGeoModel.TrenchGeoModelConf import TrenchDetectorTool
         trenchDetectorTool = TrenchDetectorTool( )
 
diff --git a/DetectorDescription/GeoModel/GeoModelSvc/src/GeoModelSvc.cxx b/DetectorDescription/GeoModel/GeoModelSvc/src/GeoModelSvc.cxx
index a1bf57b7f50e2ccf84714e96ae86b600c32ba46e..6ba2dbc0b121bbe71ad364a51d2d843533ef4b5c 100644
--- a/DetectorDescription/GeoModel/GeoModelSvc/src/GeoModelSvc.cxx
+++ b/DetectorDescription/GeoModel/GeoModelSvc/src/GeoModelSvc.cxx
@@ -281,7 +281,7 @@ StatusCode GeoModelSvc::geoInit()
 
   // Build the world node from which everything else will be suspended
   const GeoMaterial* air = theMaterialManager->getMaterial("std::Air");  
-  const GeoBox* worldBox = new GeoBox(1000*Gaudi::Units::cm,1000*Gaudi::Units::cm, 1000*Gaudi::Units::cm);
+  const GeoBox* worldBox = new GeoBox(6000*Gaudi::Units::cm,2500*Gaudi::Units::cm, 12000*Gaudi::Units::cm);
   const GeoLogVol* worldLog = new GeoLogVol("WorldLog", worldBox, air);
   GeoPhysVol *worldPhys=new GeoPhysVol(worldLog);
   
diff --git a/Event/FaserByteStreamCnvSvcBase/python/FaserByteStreamCnvSvcBaseConfig.py b/Event/FaserByteStreamCnvSvcBase/python/FaserByteStreamCnvSvcBaseConfig.py
index 3a87cc4c75388ff53954f9a75be77b9c5d1dc9cd..0762f26a32509e0dd8c0f565d58d46baad9f64d8 100644
--- a/Event/FaserByteStreamCnvSvcBase/python/FaserByteStreamCnvSvcBaseConfig.py
+++ b/Event/FaserByteStreamCnvSvcBase/python/FaserByteStreamCnvSvcBaseConfig.py
@@ -14,6 +14,7 @@ def FaserByteStreamCnvSvcBaseCfg(flags, **kwargs):
 
     adxProvider.TypeNames += [
         "RawWaveformContainer/CaloWaveforms",
+        "RawWaveformContainer/Calo2Waveforms",
         "RawWaveformContainer/VetoWaveforms",
         "RawWaveformContainer/VetoNuWaveforms",
         "RawWaveformContainer/TriggerWaveforms",
diff --git a/FaserGeometryCommon/TrenchGeoModel/data/Trench.gdml b/FaserGeometryCommon/TrenchGeoModel/data/Trench.gdml
index 476363b731343f73f515a5f207714252772571df..891db127db12dc549223824d396e4fde2d0993d1 100644
--- a/FaserGeometryCommon/TrenchGeoModel/data/Trench.gdml
+++ b/FaserGeometryCommon/TrenchGeoModel/data/Trench.gdml
@@ -10,6 +10,7 @@
         <constant name="RampLengthZ" value="8422"/>
         <constant name="RampMinThickness" value="2000"/>
         <constant name="RampSlope" value="0.08533"/>
+        <constant name="WallThickness" value="5000" />
     </define>
     <materials>
         <isotope N="1.400000000000000e+01" Z="7.000000000000000e+00" name="N140x8e46440">
@@ -196,6 +197,7 @@
                           v5x="-RampWidth/2" v5y="-RampMinThickness" v6x="RampWidth/2" v6y="-RampMinThickness" v7x="RampWidth/2" v7y="0" v8x="-RampWidth/2" v8y="0"
                           dz="RampLengthZ/2" />
         <box name="world" lunit="mm" x="WorldSize" y="WorldSize" z="WorldSize" />
+        <box name="faserWall"  lunit="mm" x="RampWidth" y="(RampSlope*RampLengthZ+RampMinThickness)" z="WallThickness" />
         <xtru name="trenchOutline" lunit="mm">        
             <twoDimVertex x="-249.75647241976003" y="-3162.7618497323056"/>
             <twoDimVertex x="436.065806982358" y="-3162.7608114181166"/>
@@ -212,6 +214,11 @@
             <section zOrder="0" zPosition="-375.0" xOffset="0" yOffset="0" scalingFactor="1" />
             <section zOrder="1" zPosition="375.0" xOffset="0" yOffset="0" scalingFactor="1" />
         </xtru>
+        <union name="rampAndWall">
+            <first ref="ramp"/>
+            <second ref="faserWall"/>
+            <position name="WallShift" unit="mm" y="-RampMinThickness+(RampSlope*RampLengthZ+RampMinThickness)/2" z="-(RampLengthZ+WallThickness)/2"/>
+        </union>
         <subtraction name="faserTrench">
             <first ref="ramp"/>
             <firstpositionref ref="RampinWorldpos"/>
@@ -224,17 +231,34 @@
             <rotation name="Xrotation" unit="deg" x="90"/>
             <position name="Yshift" unit="mm" y="75"/>
         </subtraction>
+        <subtraction name="faserTrenchAndWall">
+            <first ref="rampAndWall"/>
+            <firstpositionref ref="RampinWorldpos"/>
+            <firstrotationref ref="RampinWorldrot"/>
+            <second ref="trenchOutline"/>
+            <!--
+            <rotationref ref="Subrot"/>
+            <positionref ref="Subpos"/>
+            -->
+            <rotation name="Xrotation" unit="deg" x="90"/>
+            <position name="Yshift" unit="mm" y="75"/>
+        </subtraction>
     </solids>
     <structure>
         <volume name="Trench">
             <solidref ref="faserTrench"/>
             <materialref ref="Concrete"/>
         </volume>
+        <volume name="TrenchAndWall">
+            <solidref ref="faserTrenchAndWall"/>
+            <materialref ref="Concrete"/>
+        </volume>
         <volume name="World" >
             <materialref ref="Air" />
             <solidref ref="world" />
             <physvol>
-                <volumeref ref="Trench" />
+<!--                <volumeref ref="Trench" /> -->
+                <volumeref ref="TrenchAndWall" />
                 <!--
                 <rotationref ref="RampinWorldrot"/>
                 <positionref ref="RampinWorldpos"/>
diff --git a/FaserGeometryCommon/TrenchGeoModel/src/TrenchDetectorFactory.cxx b/FaserGeometryCommon/TrenchGeoModel/src/TrenchDetectorFactory.cxx
index da787acdfc58391b7cd3f68b00b7aae5f1055a91..c06054c480d99f02565c62e790887fa7d12d26cd 100644
--- a/FaserGeometryCommon/TrenchGeoModel/src/TrenchDetectorFactory.cxx
+++ b/FaserGeometryCommon/TrenchGeoModel/src/TrenchDetectorFactory.cxx
@@ -77,7 +77,8 @@ void TrenchDetectorFactory::create(GeoPhysVol *world)
     xercesParser.ParseFileAndNavigate(resolvedFile);
     // std::cout << "done parsing " << resolvedFile << std::endl;
 
-    const GeoLogVol* trenchLog  = controller.retrieveLogicalVolume("Trench").first;
+//    const GeoLogVol* trenchLog  = controller.retrieveLogicalVolume("Trench").first;
+    const GeoLogVol* trenchLog  = controller.retrieveLogicalVolume("TrenchAndWall").first;
     GeoPhysVol*      trenchPhys = new GeoPhysVol(trenchLog);
     GeoNameTag *tag = new GeoNameTag("Trench");
     world->add(tag);
diff --git a/Generators/DIFGenerator/python/DIFSampler.py b/Generators/DIFGenerator/python/DIFSampler.py
index 007830b63c82ec06f19af6fbd3169cfc10ce8e2e..1f82f60d704e6d3a36707bfb48d47e2e2e2bed12 100644
--- a/Generators/DIFGenerator/python/DIFSampler.py
+++ b/Generators/DIFGenerator/python/DIFSampler.py
@@ -14,11 +14,12 @@ class CylinderSampler(PG.Sampler):
     Sampler of position 4-vectors within a cylindrical volume.
     """
 
-    def __init__(self, rsq, phi, z, t=0):
+    def __init__(self, rsq, phi, z, t=0, axialTiming = True):
         self.rsq   = rsq
         self.phi = phi
         self.z   = z
         self.t   = t
+        self.axialTiming = axialTiming
 
     @property
     def rsq(self):
@@ -57,6 +58,8 @@ class CylinderSampler(PG.Sampler):
         phi = self.phi()
         z   = self.z()
         t   = self.t()
+        if self.axialTiming:
+            t += z
         #print "POS =", x, y, z, t
         return TLorentzVector(r * cos(phi), r * sin(phi), z, t)
 
diff --git a/Generators/FaserCosmicGenerator/python/cosmicSampler.py b/Generators/FaserCosmicGenerator/python/cosmicSampler.py
index 7a147e43638b7cc152bb18e2caff0cf30877b40d..5642de80dc8f520d73668a3f3210ed3c8889e29f 100644
--- a/Generators/FaserCosmicGenerator/python/cosmicSampler.py
+++ b/Generators/FaserCosmicGenerator/python/cosmicSampler.py
@@ -54,7 +54,8 @@ class CosmicSampler(Sampler):
         x, y, z    = CR.pos
         px, py, pz = CR.mom
 
-        self.genPosition.SetXYZT(x + self.x0, y + self.y0, z + self.z0, 0)
+        # impose vertical timing constraint
+        self.genPosition.SetXYZT(x + self.x0, y + self.y0, z + self.z0, -(y + self.y0)/math.fabs(CR.costh))
         self.genMomentum.SetPxPyPzE(px,py,pz,CR.Efinal)
 
         particles = []
diff --git a/Generators/FaserParticleGun/python/FaserParticleGunConfig.py b/Generators/FaserParticleGun/python/FaserParticleGunConfig.py
index d2e82a88d3fd6229b2e3ad33932ead7d5d650720..f75fabf921090eb0988b950189362a4d465cc1e0 100644
--- a/Generators/FaserParticleGun/python/FaserParticleGunConfig.py
+++ b/Generators/FaserParticleGun/python/FaserParticleGunConfig.py
@@ -50,12 +50,14 @@ def FaserParticleGunSingleParticleCfg(ConfigFlags, **kwargs) :
                                            y = kwargs.setdefault("y", 0.0), 
                                            z = kwargs.setdefault("z", -3750.0),
                                            r = kwargs.setdefault("radius", 1.0),
-                                           t = kwargs.setdefault("t", 0.0) )
+                                           t = kwargs.setdefault("t", 0.0),
+                                           axialTiming = kwargs.setdefault("axialTiming", True)  )
     else:
         pg.sampler.pos = PG.PosSampler(x = kwargs.setdefault("x", [-5, 5]), 
                                        y = kwargs.setdefault("y", [-5, 5]), 
                                        z = kwargs.setdefault("z", -3750.0), 
-                                       t = kwargs.setdefault("t", 0.0) )
+                                       t = kwargs.setdefault("t", 0.0),
+                                       axialTiming = kwargs.setdefault("axialTiming", True) )
 
     return cfg
 
@@ -75,12 +77,14 @@ def FaserParticleGunSingleEcalParticleCfg(ConfigFlags, **kwargs) :
                                    y = kwargs.setdefault("y", 0.0), 
                                    z = kwargs.setdefault("z", 0.0),
                                    r = kwargs.setdefault("radius", 1.0),
-                                   t = kwargs.setdefault("t", 0.0) )
+                                   t = kwargs.setdefault("t", 0.0),
+                                   axialTiming = kwargs.setdefault("axialTiming", True) )
     else:
         pg.sampler.pos = PG.PosSampler(x = kwargs.setdefault("x", 0.0), 
                                    y = kwargs.setdefault("y", 0.0), 
                                    z = kwargs.setdefault("z", 0.0),
-                                   t = kwargs.setdefault("t", 0.0) )
+                                   t = kwargs.setdefault("t", 0.0),
+                                   axialTiming = kwargs.setdefault("axialTiming", True) )
 
     return cfg
 
@@ -98,7 +102,8 @@ def FaserParticleGunSingleEcalParticleCfg(ConfigFlags, **kwargs) :
     pg.sampler.pos = PG.PosSampler(x = kwargs.setdefault("x", [-5, 5]), 
                                    y = kwargs.setdefault("y", [-5, 5]), 
                                    z = kwargs.setdefault("z", 2730.0), 
-                                   t = kwargs.setdefault("t", 0.0) )
+                                   t = kwargs.setdefault("t", 0.0),
+                                   axialTiming = kwargs.setdefault("axialTiming", True) )
 
     return cfg
 '''
@@ -150,10 +155,11 @@ def FaserParticleGunDecayInFlightCfg(ConfigFlags, **kwargs) :
                                                   y = kwargs.setdefault("y", 0.0), 
                                                   z = kwargs.setdefault("z", -3750.0),
                                                   r = kwargs.setdefault("radius", 1.0),
-                                                  t = kwargs.setdefault("t", 0.0) )
+                                                  t = kwargs.setdefault("t", 0.0),
+                                                  axialTiming = kwargs.setdefault("axialTiming", True) )
     else:
         from DIFGenerator.DIFSampler import CylinderSampler
-        kwargs["mother_pos"]  = CylinderSampler([0, 100**2], [0, 2*pi], [-1500, 0], 0)
+        kwargs["mother_pos"]  = CylinderSampler([0, 100**2], [0, 2*pi], [-1500, 0], 0, True)
     
     if not "mother_mom" in kwargs:
         kwargs["mother_mom"] = PG.EThetaMPhiSampler(kwargs.setdefault("energy", ((1*TeV)**2 + (500*MeV)**2)**0.5),
diff --git a/Generators/FaserParticleGun/python/RadialPosSampler.py b/Generators/FaserParticleGun/python/RadialPosSampler.py
index 19b1db116991c082d0771699813df2fe94c0a1d9..8f2fe2f0f7f45c138b775ca7c0e713f36b938564 100644
--- a/Generators/FaserParticleGun/python/RadialPosSampler.py
+++ b/Generators/FaserParticleGun/python/RadialPosSampler.py
@@ -8,12 +8,13 @@ class RadialPosSampler(Sampler):
     Sampler of Position 3-vectors, for modelling a beamspot, based on radius.
     """
 
-    def __init__(self, r, x, y, z, t = 0):
+    def __init__(self, r, x, y, z, t = 0, axialTiming = True):
         self.radius = r
         self.x = x
         self.y = y
         self.z = z
         self.t = t
+        self.axialTiming = axialTiming
 
     @property
     def z(self):
@@ -62,6 +63,8 @@ class RadialPosSampler(Sampler):
         y = self.y + r * sin(phi)
         z = self.z()
         t = self.t()
+        if self.axialTiming:
+            t += z
 
         return ROOT.TLorentzVector(x, y, z, t)
 
diff --git a/Generators/FlukaReader/python/FlukaReaderAlg.py b/Generators/FlukaReader/python/FlukaReaderAlg.py
index 4cc449e65e7a8285db742e1d05516ddd0915b206..5349e2226d636020eebfba846477f33af774eae6 100644
--- a/Generators/FlukaReader/python/FlukaReaderAlg.py
+++ b/Generators/FlukaReader/python/FlukaReaderAlg.py
@@ -266,7 +266,8 @@ class FlukaReader(EvgenAlg):
         ROOT.SetOwnership(mcEventInfo, False)
 
         # Create HepMC Vertex
-        pos = HepMC.FourVector(newentry["x"] * cm, newentry["y"] * cm, self.z, 0)
+        # Impose axial timing constraint
+        pos = HepMC.FourVector(newentry["x"] * cm, newentry["y"] * cm, self.z, self.z)
         gv = HepMC.GenVertex(pos)
 
         ROOT.SetOwnership(gv, False)
diff --git a/Generators/ForeseeGenerator/share/generate_forsee_events.py b/Generators/ForeseeGenerator/share/generate_forsee_events.py
index 9190f70fa37fd0094f8320e5e8fa63259c56bd2d..cb8db6c591469f837dd61a83885138b6c9bccbf5 100644
--- a/Generators/ForeseeGenerator/share/generate_forsee_events.py
+++ b/Generators/ForeseeGenerator/share/generate_forsee_events.py
@@ -9,7 +9,7 @@ class ForeseeGenerator(object):
     Generate LLP particles within FASER acceptance from FORESEE
     """
     
-    def __init__(self, modelname, energy, mass, couplings, daughter1_pid, daughter2_pid, outdir = None, path = '.', randomSeed = 12345, t0 = 0, notime = False, suffix = ""):
+    def __init__(self, modelname, energy, mass, couplings, daughter1_pid, daughter2_pid, outdir = None, path = '.', randomSeed = 12345, t0Shift = 0, zFront = -1.5, notime = False, suffix = ""):
 
         self.modelname = modelname
         self.energy = energy
@@ -21,7 +21,8 @@ class ForeseeGenerator(object):
         self.path = path
         self.version = 3  # Forsee "version"
         self.seed = randomSeed
-        self.t0 = t0
+        self.zfront = zFront
+        self.t0 = t0Shift + zFront
         self.notime = notime
         self.suffix = f"_{suffix}" if suffix else ""
         self.nbinsample = 1
@@ -447,7 +448,7 @@ class ForeseeGenerator(object):
 
         filename =  f"{self.outdir}/events_{self.energy}TeV_m{self.mass}GeV_c{self.couplings[0]:.1e}to_{self.daughter1_pid}_{self.daughter2_pid}{self.suffix}.hepmc"
 
-        _, weights, _ = self.foresee.write_events(self.mass, self.couplings[0], self.energy, filename, nevents, zfront = -1.5, seed = self.seed, decaychannels = [self.mode],
+        _, weights, _ = self.foresee.write_events(self.mass, self.couplings[0], self.energy, filename, nevents, zfront = self.zfront, seed = self.seed, decaychannels = [self.mode],
                                   notime = self.notime, t0 = self.t0, nsample = self.nbinsample, return_data = True)
 
         cfgname = f"{self.foresee.dirpath}/Models/{self.modelname}/" + filename.replace(".hepmc", ".cfg")
@@ -538,7 +539,7 @@ def production(args):
         for m in masses:
             print(f">>> {nrun}: {data['model']} ({m} GeV) -> {data['pid1']} + {data['pid2']} with couplings = {couplings[0]:.2e} @ Ecom = {args.Ecom} TeV") 
 
-            f = ForeseeGenerator(data["model"], args.Ecom, m, couplings, data["pid1"], data["pid2"], path = args.path, randomSeed = args.randomSeed, t0 = args.t0, notime = args.notime, suffix = data["name"])
+            f = ForeseeGenerator(data["model"], args.Ecom, m, couplings, data["pid1"], data["pid2"], path = args.path, randomSeed = args.randomSeed, t0Shift = args.t0, zFront = args.zfront, notime = args.notime, suffix = data["name"])
 
             with open("events.txt", "a") as fout:
                 f.events(40, fout)
@@ -591,6 +592,7 @@ if __name__ == "__main__":
     parser.add_argument("--nevents", "-n", default = 10, type = int, help = "Number of HepMC events ")
     parser.add_argument("--randomSeed", "-s", default = 1234, type = int, help = "Random seed for HepMC generation")
     parser.add_argument("--t0", "-t", default = 0, type = int, help = "Time offset for start of decay volume")
+    parser.add_argument("--zfront", "-z", default = -1.5, help = "Minimum FASER z coordinate for decays (in meters)")
     parser.add_argument("--notime", action = "store_true", help = "Set all vertex times to 0 rather than calculating from start of decay volume")
     parser.add_argument("--suffix", default = "", help = "Filename suffix")
     args = parser.parse_args()
@@ -614,7 +616,7 @@ if __name__ == "__main__":
         print(f"   decay = {args.pid1} {args.pid2}")
         print(f"   couplings = {couplings}")    
         
-        f = ForeseeGenerator(args.model, args.Ecom, args.mass, couplings, args.pid1, args.pid2, outdir = args.outdir, path = args.path, randomSeed = args.randomSeed, t0 = args.t0, notime = args.notime, suffix = args.suffix)
+        f = ForeseeGenerator(args.model, args.Ecom, args.mass, couplings, args.pid1, args.pid2, outdir = args.outdir, path = args.path, randomSeed = args.randomSeed, t0Shift = args.t0, zFront = args.zfront, notime = args.notime, suffix = args.suffix)
         
         if args.hepmc:
             f.write_hepmc(args.nevents)
diff --git a/Generators/GenieReader/python/GenieReaderAlg.py b/Generators/GenieReader/python/GenieReaderAlg.py
index c97ea494b089a25ff88e4c2a1f2abdd4bf472c6b..432d792cf9391ebedfb4e750c09f738ab5f51f45 100644
--- a/Generators/GenieReader/python/GenieReaderAlg.py
+++ b/Generators/GenieReader/python/GenieReaderAlg.py
@@ -3,7 +3,7 @@
 from AthenaCommon.AppMgr import ServiceMgr as svcMgr
 from GeneratorModules.EvgenAlg import EvgenAlg
 from AthenaPython.PyAthena import StatusCode, EventInfo, EventID, EventType
-from AthenaCommon.SystemOfUnits import GeV, m
+from AthenaCommon.SystemOfUnits import GeV, m, nanosecond
 import ROOT
 
 __author__ = "Dave Caser <dcasper@uci.edu>"
@@ -37,7 +37,8 @@ class GenieReader(EvgenAlg):
         ROOT.SetOwnership(mcEventId, False)
         ROOT.SetOwnership(mcEventInfo, False)
 
-        pos = HepMC.FourVector(self.evtStore["vx"]*m, self.evtStore["vy"]*m, self.evtStore["vz"]*m, 0)
+        # impose axial timing constraint - time is expected in units of length, so just use z position
+        pos = HepMC.FourVector(self.evtStore["vx"]*m, self.evtStore["vy"]*m, self.evtStore["vz"]*m, self.evtStore["vz"]*m)
         gv = HepMC.GenVertex(pos)
         ROOT.SetOwnership(gv, False)
         evt.add_vertex(gv)
diff --git a/Generators/ParticleGun/python/samplers.py b/Generators/ParticleGun/python/samplers.py
index 9126b607ca7246480e4129669f3933e236c2c126..b9edbd6c8ec5a18324412d5cf4c4da9d80b84e2e 100644
--- a/Generators/ParticleGun/python/samplers.py
+++ b/Generators/ParticleGun/python/samplers.py
@@ -309,11 +309,12 @@ class PosSampler(Sampler):
     Sampler of position 3-vectors, for modelling a beamspot.
     """
 
-    def __init__(self, x, y, z, t=0):
+    def __init__(self, x, y, z, t=0, axialTiming = False):
         self.x = x
         self.y = y
         self.z = z
         self.t = t
+        self.axialTiming = axialTiming
 
     @property
     def x(self):
@@ -352,6 +353,9 @@ class PosSampler(Sampler):
         y = self.y()
         z = self.z()
         t = self.t()
+        if self.axialTiming:
+            t += z
+
         #print "POS =", x, y, z, t
         return ROOT.TLorentzVector(x, y, z, t)
 
diff --git a/LHCData/LHCDataAlgs/src/LHCDataAlg.cxx b/LHCData/LHCDataAlgs/src/LHCDataAlg.cxx
index 1322903932ee6ffdc8d41f31e3a850d680f1c391..1c0e49926225f2198d0ad6c8c4447a3bd966a628 100644
--- a/LHCData/LHCDataAlgs/src/LHCDataAlg.cxx
+++ b/LHCData/LHCDataAlgs/src/LHCDataAlg.cxx
@@ -176,17 +176,21 @@ LHCDataAlg::findNearest(unsigned int bcid, const std::vector<unsigned char>& bci
   }
 
   // If we got to here, there was no match
+  // This is possible if for instance all BCIDs are colliding and mask = 0x01
+  
   // Does the BCID make sense?
   ATH_MSG_WARNING("Couldn't find distance from BCID " << bcid << " and pattern " << int(mask) << "!");
+
+  // Only print this out in debug, otherwise floods log file
   int b1=0;
   int b2=0;
   int col = 0;
   for (int i=0; i<3564; i++) {
-    if (mask & 0x01) b1++;
-    if (mask & 0x02) b2++;
-    if (mask & 0x03) col++;
-
-    ATH_MSG_WARNING("BCID " << i << " - " << int(bcid_mask[i]));
+    if (bcid_mask[i] & 0x01) b1++;
+    if (bcid_mask[i] & 0x02) b2++;
+    if (bcid_mask[i] & 0x03) col++;
+    if (bcid_mask[i] > 0)
+      ATH_MSG_DEBUG("BCID " << i << " - " << int(bcid_mask[i]));
   }
 
   //ATH_MSG_WARNING(bcid_mask);
diff --git a/Neutrino/NeutrinoDetDescr/NeutrinoIdDictFiles/data/IdDictNeutrino.xml b/Neutrino/NeutrinoDetDescr/NeutrinoIdDictFiles/data/IdDictNeutrino.xml
index 45ef3be3ececee0b112b79ff949054b70c6fb2fd..79b72cd8bfac2d3357ee038dc97b9b174404ebbb 100644
--- a/Neutrino/NeutrinoDetDescr/NeutrinoIdDictFiles/data/IdDictNeutrino.xml
+++ b/Neutrino/NeutrinoDetDescr/NeutrinoIdDictFiles/data/IdDictNeutrino.xml
@@ -1,4 +1,4 @@
-<IdDictionary name="Neutrino">
+<IdDictionary name="Neutrino" version="FASERNU-03-770">
 
   <field name="part">
     <label name="Emulsion" value="1" />
diff --git a/Neutrino/NeutrinoDetDescr/NeutrinoIdDictFiles/data/IdDictNeutrino_730.xml b/Neutrino/NeutrinoDetDescr/NeutrinoIdDictFiles/data/IdDictNeutrino_730.xml
new file mode 100644
index 0000000000000000000000000000000000000000..e84740160373a8176cf1f046ad48865cb0450421
--- /dev/null
+++ b/Neutrino/NeutrinoDetDescr/NeutrinoIdDictFiles/data/IdDictNeutrino_730.xml
@@ -0,0 +1,19 @@
+<IdDictionary name="Neutrino" version="FASERNU-04-730">
+
+  <field name="part">
+    <label name="Emulsion" value="1" />
+  </field>
+
+  <field name="film">
+    <label name="Upstream" value="0" />
+    <label name="Downstream" value="1" />
+  </field>
+
+  <region>
+    <range field="part" value="Emulsion" />
+    <range field="module" minvalue="0" maxvalue="72" />
+    <range field="base" minvalue="0" maxvalue="9" />
+    <range field="film" values="Upstream Downstream" />
+  </region>
+
+</IdDictionary>
\ No newline at end of file
diff --git a/Neutrino/NeutrinoDetDescr/NeutrinoIdentifier/NeutrinoIdentifier/EmulsionID.h b/Neutrino/NeutrinoDetDescr/NeutrinoIdentifier/NeutrinoIdentifier/EmulsionID.h
index 9e396dd788940c30b3daaeb904134ecab7e04e88..ec1ee50213f23d2d0d3022e6f08561df0d1a45c4 100644
--- a/Neutrino/NeutrinoDetDescr/NeutrinoIdentifier/NeutrinoIdentifier/EmulsionID.h
+++ b/Neutrino/NeutrinoDetDescr/NeutrinoIdentifier/NeutrinoIdentifier/EmulsionID.h
@@ -53,8 +53,8 @@ class IdDictDictionary;
  **    element           range              meaning
  **    -------           -----              -------
  **
- **    module           0 to 34             35 modules
- **    base             0 to 21             22 bases per module
+ **    module           0 to 72             73 modules
+ **    base             0 to 9              10 bases per module
  **    film side        0 to 1              2 films per base
  **
  ** @endverbatim
@@ -527,8 +527,8 @@ inline int
 EmulsionID::base_bit ( void ) const
 {
   int base = static_cast<int>(m_film_impl.shift()); // lowest field base
-  return (base > 32) ? 32 : base;
-  // max base is 32 so we can still read old strip id's and differences
+  return (base > 9) ? 9 : base;
+  // max base is 9 so we can still read old strip id's and differences
   // from non-SLHC releases.
 }
 
diff --git a/Neutrino/NeutrinoDetDescr/NeutrinoIdentifier/src/EmulsionID.cxx b/Neutrino/NeutrinoDetDescr/NeutrinoIdentifier/src/EmulsionID.cxx
index 39639714210ce7124b68ceade844fd233e0b3dec..5f55b759c5b7185dbc3cf52f7b3776bf4a65662d 100644
--- a/Neutrino/NeutrinoDetDescr/NeutrinoIdentifier/src/EmulsionID.cxx
+++ b/Neutrino/NeutrinoDetDescr/NeutrinoIdentifier/src/EmulsionID.cxx
@@ -246,6 +246,8 @@ EmulsionID::initialize_from_dictionary(const IdDictMgr& dict_mgr)
                   << std::endl;
     }
     
+    FaserDetectorID::setDictVersion(dict_mgr, "Neutrino");
+
     return 0;
 }
 
diff --git a/Neutrino/NeutrinoSimEvent/src/NeutrinoHitIdHelper.cxx b/Neutrino/NeutrinoSimEvent/src/NeutrinoHitIdHelper.cxx
index 8b60d732871df6fb37eef94d305640622a93d0ae..c52c57ade9525961f4f8ad570cd0186114efe755 100644
--- a/Neutrino/NeutrinoSimEvent/src/NeutrinoHitIdHelper.cxx
+++ b/Neutrino/NeutrinoSimEvent/src/NeutrinoHitIdHelper.cxx
@@ -45,11 +45,18 @@ void NeutrinoHitIdHelper::Initialize() {
   const EmulsionID* pix;
   ServiceHandle<StoreGateSvc> detStore ("DetectorStore", "NeutrinoHitIdHelper");
   if (detStore.retrieve().isSuccess()) {
-    if (detStore->retrieve(pix, "EmulsionID").isFailure()) { pix = 0; }
+    if (detStore->retrieve(pix, "EmulsionID").isFailure()) { pix = nullptr; }
+  }
+  if (pix == nullptr || pix->dictionaryVersion() == "FASERNU-03-770" || pix->dictionaryVersion() == "")
+  {
+    InitializeField("Module", 0, 34);
+    InitializeField("Base", 0, 21);
+  }
+  else  // FASERNU-04-730
+  {
+    InitializeField("Module", 0, 72);
+    InitializeField("Base", 0, 9);
   }
-
-  InitializeField("Module", 0, 34);
-  InitializeField("Base", 0, 21);
   InitializeField("Film", 0, 1);
 }
 
diff --git a/PhysicsAnalysis/NtupleDumper/CMakeLists.txt b/PhysicsAnalysis/NtupleDumper/CMakeLists.txt
index dd8faf032f48b2c3d78453b84494e1903d64367d..24b788d23b88e95ed37a20e86a109f198e836851 100644
--- a/PhysicsAnalysis/NtupleDumper/CMakeLists.txt
+++ b/PhysicsAnalysis/NtupleDumper/CMakeLists.txt
@@ -7,9 +7,10 @@ atlas_add_component(
         src/NtupleDumperAlg.h
         src/NtupleDumperAlg.cxx
         src/component/NtupleDumper_entries.cxx
-        LINK_LIBRARIES AthenaBaseComps StoreGateLib xAODFaserWaveform xAODFaserCalorimeter xAODFaserTrigger xAODFaserLHC ScintIdentifier FaserCaloIdentifier GeneratorObjects FaserActsGeometryLib TrackerSimEvent TrackerSimData TrackerIdentifier TrackerReadoutGeometry TrkTrack GeoPrimitives TrackerRIO_OnTrack TrackerSpacePoint FaserActsKalmanFilterLib FaserActsmanVertexingLib
+        LINK_LIBRARIES AthenaBaseComps StoreGateLib xAODFaserWaveform xAODFaserCalorimeter xAODFaserTrigger xAODFaserLHC ScintIdentifier FaserCaloIdentifier GeneratorObjects FaserActsGeometryLib TrackerSimEvent TrackerSimData TrackerIdentifier TrackerReadoutGeometry TrkTrack GeoPrimitives TrackerRIO_OnTrack TrackerSpacePoint FaserActsKalmanFilterLib FaserActsmanVertexingLib AtlasHepMCLib
 	PRIVATE_LINK_LIBRARIES nlohmann_json::nlohmann_json 
 )
 
 atlas_install_python_modules( python/*.py )
 atlas_install_scripts( scripts/*.py scripts/*.sh )
+ 
diff --git a/PhysicsAnalysis/NtupleDumper/scripts/faser_ntuple_maker.py b/PhysicsAnalysis/NtupleDumper/scripts/faser_ntuple_maker.py
index 2380a23a5dd250d237d8242f1f009071ca2a00d2..60312a01bb0c54ccf8e5fff25a7171c37a765bfd 100755
--- a/PhysicsAnalysis/NtupleDumper/scripts/faser_ntuple_maker.py
+++ b/PhysicsAnalysis/NtupleDumper/scripts/faser_ntuple_maker.py
@@ -27,7 +27,8 @@ parser.add_argument("--merge", type=int, default=1,
                     help="Specify merged files per reco file (MC only)")
 parser.add_argument("--last", type=int, default=0,
                     help="Specify last file in slice (normally --files)")
-
+parser.add_argument("-g", "--geom", default="",
+                    help="Specify geometry (if it can't be parsed from run number\n Values: Ti12Data03 (2022 TiT12)")
 parser.add_argument("--outfile", default="",
                     help="Override output file name")
                     
@@ -46,6 +47,8 @@ parser.add_argument("--partial", action='store_true',
 
 parser.add_argument("-c", "--cond", default="",
                     help="Specify global conditions tag (default: OFLCOND-FASER-04)")
+parser.add_argument("--backward", action='store_true',
+                    help="Use backward CKF tracks (default: forward)")
 
 parser.add_argument("--trigFilt", action='store_true',
                     help="apply trigger event filter")
@@ -53,6 +56,8 @@ parser.add_argument("--scintFilt", action='store_true',
                     help="apply scintillator event filter")
 parser.add_argument("--NoTrackFilt", action='store_true',
                     help="Don't apply track event filter (default: do)")
+parser.add_argument("--no_stable", action='store_true',
+                    help="Don't apply stable beam requirement (default: do)")
 
 parser.add_argument("--unblind", action='store_true',
                     help="Don't apply signal blinding (default: do)")
@@ -67,6 +72,7 @@ parser.add_argument("--fluka", action='store_true',
 parser.add_argument("--genie", action='store_true',
                     help="Add Genie weights to ntuple")
 
+
 args = parser.parse_args()
 
 from pathlib import Path
@@ -218,6 +224,8 @@ print(f"Scintillator Filter  = {args.scintFilt}")
 print(f"Track Filter = {not args.NoTrackFilt}")
 print(f"Blind = {not args.unblind}")
 print(f"OnlyBlinded = {args.onlyblind}")
+print(f"Stable Beams = {not args.no_stable}")
+print(f"Backward = {args.backward}")
 print(f"GRL = {args.grl}")
 
 # OK, lets run the job here
@@ -233,9 +241,34 @@ Configurable.configurableRun3Behavior = True
 
 # Configure
 ConfigFlags.Input.Files = filelist
-if len(args.cond) == 0:
-    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-04"         # Always needed; must match FaserVersionS
+
+if len(args.geom) > 0:
+    runtype = args.geom
 else:
+    if args.isMC:
+        runtype = "TI12MC04"
+    else:
+        runtype = "TI12Data04"
+
+if runtype in ["TI12Data04", "TI12MC04"]:
+    ConfigFlags.GeoModel.FaserVersion = "FASERNU-04" # FASER geometry
+    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-04"   
+
+elif runtype == "TI12Data03":
+    ConfigFlags.GeoModel.FaserVersion = "FASERNU-03" # FASER geometry
+    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-04" # Pick up new alignment   
+
+elif runtype == "TI12MC03":
+    ConfigFlags.GeoModel.FaserVersion = "FASERNU-03" # FASER geometry
+    ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"
+    
+else:
+    print(f"Unknown: --geom {runtype}!")
+    print("Specify correct type or update list")
+    sys.exit(1)
+
+# Check if we override the global conditions tag
+if len(args.cond):
     print(f"Setting ConfigFlags.IOVDb.GlobalTag = {args.cond}")
     ConfigFlags.IOVDb.GlobalTag = args.cond
 
@@ -247,7 +280,6 @@ else:
 
 ConfigFlags.Input.ProjectName = "data21"                     # Needed to bypass autoconfig
 
-ConfigFlags.GeoModel.FaserVersion   = "FASERNU-03"           # FASER geometry
 ConfigFlags.Common.isOnline = False
 ConfigFlags.GeoModel.Align.Dynamic = False
 ConfigFlags.Beam.NumberOfCollisions = 0.
@@ -270,6 +302,14 @@ if args.genie:
 if args.fluka:
     mc_kwargs['UseFlukaWeights'] = True
 
+# Use backward tracks for ntuple
+# Default for this parameter is "CKFTrackCollectionWithoutIFT"
+if args.backward:
+    if args.isMC:
+        mc_kwargs['TrackCollectionWithoutIFT'] = "CKFTrackCollectionBackwardWithoutIFT"
+    else:
+        grl_kwargs['TrackCollectionWithoutIFT'] = "CKFTrackCollectionBackwardWithoutIFT"
+
 # algorithm
 from NtupleDumper.NtupleDumperConfig import NtupleDumperAlgCfg
 if args.isMC:
@@ -278,6 +318,8 @@ if args.isMC:
 else:
     acc.merge(NtupleDumperAlgCfg(ConfigFlags, outfile, DoBlinding = (not args.unblind), OnlyBlinded = args.onlyblind, DoScintFilter = args.scintFilt, DoTrackFilter = (not args.NoTrackFilt), DoTrigFilter = args.trigFilt, **grl_kwargs))
 
+    #acc.merge(NtupleDumperAlgCfg(ConfigFlags, outfile, DoBlinding=(not args.unblind), OnlyBlinded=args.onlyblind, DoScintFilter = args.scintFilt, DoTrackFilter = (not args.NoTrackFilt), DoTrigFilter = args.trigFilt, StableOnly = (not args.no_stable), **grl_kwargs) )
+
 if not args.verbose:
     from AthenaConfiguration.ComponentFactory import CompFactory
     AthenaEventLoopMgr = CompFactory.AthenaEventLoopMgr()
diff --git a/PhysicsAnalysis/NtupleDumper/scripts/submit_faser_ntuple_maker.sh b/PhysicsAnalysis/NtupleDumper/scripts/submit_faser_ntuple_maker.sh
index 01fe05f49e3cc5c5355d1ddf64689d669fcb5650..6857f8e407906eba6dddb4834222970298654e0b 100755
--- a/PhysicsAnalysis/NtupleDumper/scripts/submit_faser_ntuple_maker.sh
+++ b/PhysicsAnalysis/NtupleDumper/scripts/submit_faser_ntuple_maker.sh
@@ -3,7 +3,7 @@
 # Used with a condor file to submit a physics ntuple job
 #
 # Usage:
-# submit_ntuple_maker.sh dirpath slice nfiles [release_directory] [working_directory] 
+# submit_ntuple_maker.sh [options --] dirpath slice nfiles [release_directory] [working_directory] --other_options
 #
 # Options:
 #   --out - specify output location (in EOS) to copy output HITS file
@@ -14,6 +14,8 @@
 #   --fluka - create fluka weights
 #   --genie - create genie weights
 #
+# Other --option will be passed to faser_ntuple_maker.py
+#
 # dirpath - full directory path to HITS files
 # slice - ordinal output file number
 # nfiles - number of HITS files to process per slice
@@ -32,9 +34,6 @@ SECONDS=0
 ismc=""
 partialstr=""
 mergestr=""
-flukastr=""
-geniestr=""
-unblindstr=""
 #
 # Parse command-line options
 while [ -n "$1" ]
@@ -64,18 +63,6 @@ do
 	  shift;
 	  shift;;
 
-      --fluka)
-	  flukastr="--fluka";
-	  shift;;
-
-      --genie)
-	  geniestr="--genie";
-	  shift;;
-
-      --unblind)
-	  unblindstr="--unblind";
-	  shift;;
-
       --) # End of options
 	  shift; # Eat this
 	  break;; # And stop parsing
@@ -89,12 +76,48 @@ do
 done
 #
 # Parse command-line options
-dir_path=${1}
-slice=${2}
-nfiles=${3}
-release_directory=${4}
-working_directory=${5}
-last_file=${6}
+while [ -n "$1" ]
+do
+  case "$1" in
+    --) # Stop parsing
+      shift; # Eat this
+      break;; # And stop parsing
+
+    -*) # Some option
+      break;; # Stop parsing
+
+    *)  # Not an option, fill next value
+
+      if [ -z "$dir_path" ] 
+      then
+	  dir_path=${1}
+	  shift
+      elif [ -z "$slice" ]
+      then
+	  slice=${1}
+	  shift
+      elif [ -z "$nfiles" ] 
+      then
+	  nfiles=${1}
+	  shift
+      elif [ -z "$release_directory" ]
+      then
+	  release_directory=${1}
+	  shift
+      elif [ -z "$working_directory" ]
+      then
+	  working_directory=${1}
+	  shift
+      elif [ -z "$last_file" ]
+      then
+	  last_file=${1}
+	  shift
+      else
+	  break # Already filled everything
+      fi
+      ;;
+  esac
+done
 #
 # Set defaults if arguments aren't provided
 if [ -z "$dir_path" ]
@@ -170,10 +193,12 @@ echo "Output: $output_directory"
 echo "Starting: $starting_directory"
 echo "job: $file_stem"
 echo "Last: $last_file"
+echo "Remaining: $@"
 #
 # Set up the release (do this automatically)?
+# Must follow with -- to avoid command-line arguments being passed
 export ATLAS_LOCAL_ROOT_BASE=/cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase
-source ${ATLAS_LOCAL_ROOT_BASE}/user/atlasLocalSetup.sh 
+source ${ATLAS_LOCAL_ROOT_BASE}/user/atlasLocalSetup.sh --
 #
 # Always go back to the starting directory in case paths are relative
 cd "$starting_directory"
@@ -183,7 +208,7 @@ cd "$release_directory"
 asetup --input=calypso/asetup.faser Athena,22.0.49
 source run/setup.sh
 #
-echo "Initial ATLAS_POOLCOND_PATH = $ATLAS_POOLCOND_PATH"
+echo "ATLAS_POOLCOND_PATH = $ATLAS_POOLCOND_PATH"
 #
 # Check if there are data overrides
 if [ -d "run/data/sqlite200" ]; then
@@ -239,26 +264,15 @@ else
     cp -r $cond_directory .
     ls -R data
 fi
-# 
-# Further check if there is a pool conditions override
-if [[ -d "data/poolcond" ]]; then
-    echo "Local POOL directory found!"
-    echo "Change ATLAS_POOLCOND_PATH"
-    echo " from $ATLAS_POOLCOND_PATH"
-    export ATLAS_POOLCOND_PATH=`pwd -P`/data
-    echo " to $ATLAS_POOLCOND_PATH"
-else
-    echo "No local pool files found, use default:"
-    echo " $ATLAS_POOLCOND_PATH"
-fi
-echo "Final ATLAS_POOLCOND_PATH: $ATLAS_POOLCOND_PATH"
-#
-#
-export EOS_MGM_URL=root://eospublic.cern.ch
 #
 # Run job
 #
-faser_ntuple_maker.py $last_file_str $partialstr $tagstr $ismc --slice $slice --files $nfiles $mergestr $flukastr $geniestr $unblindstr $dir_path
+echo
+echo "Submit job:"
+echo faser_ntuple_maker.py $last_file_str $partialstr $tagstr $ismc --slice $slice --files $nfiles $mergestr "$@" $dir_path 
+echo
+#
+faser_ntuple_maker.py $last_file_str $partialstr $tagstr $ismc --slice $slice --files $nfiles $mergestr "$@" $dir_path 
 ntup_code=$?
 echo "Return code: $ntup_code"
 #
@@ -267,6 +281,9 @@ date
 echo "Job finished after $SECONDS seconds"
 # 
 # Copy output to EOS if desired
+#
+export EOS_MGM_URL=root://eospublic.cern.ch
+#
 if ! [ -z "$outdest" ]
 then
     ls -l
diff --git a/PhysicsAnalysis/NtupleDumper/src/NtupleDumperAlg.cxx b/PhysicsAnalysis/NtupleDumper/src/NtupleDumperAlg.cxx
index 0e88d1e46f6d84ed87bda1b669c9f4ca35aa3ea6..468a6739bdd9606cc8f34c4ff0996cbda393273d 100644
--- a/PhysicsAnalysis/NtupleDumper/src/NtupleDumperAlg.cxx
+++ b/PhysicsAnalysis/NtupleDumper/src/NtupleDumperAlg.cxx
@@ -14,6 +14,7 @@
 #include "TrackerReadoutGeometry/SiDetectorElement.h"
 #include "TrackerPrepRawData/FaserSCT_Cluster.h"
 #include "xAODTruth/TruthParticle.h"
+#include "AtlasHepMC/GenEvent.h"
 #include <cmath>
 #include <TH1F.h>
 #include <numeric>
@@ -89,6 +90,7 @@ void NtupleDumperAlg::addCalibratedBranches(const std::string &name,
 StatusCode NtupleDumperAlg::initialize() 
 {
   ATH_CHECK(m_truthEventContainer.initialize());
+  ATH_CHECK(m_mcEventContainer.initialize());
   ATH_CHECK(m_truthParticleContainer.initialize());
   ATH_CHECK(m_lhcData.initialize());
   ATH_CHECK(m_trackCollection.initialize());
@@ -99,6 +101,7 @@ StatusCode NtupleDumperAlg::initialize()
   ATH_CHECK(m_triggerContainer.initialize());
   ATH_CHECK(m_preshowerContainer.initialize());
   ATH_CHECK(m_ecalContainer.initialize());
+  ATH_CHECK(m_ecal2Container.initialize());
   ATH_CHECK(m_clusterContainer.initialize());
   ATH_CHECK(m_simDataCollection.initialize());
   ATH_CHECK(m_FaserTriggerData.initialize());
@@ -107,6 +110,7 @@ StatusCode NtupleDumperAlg::initialize()
 
   ATH_CHECK(m_preshowerCalibratedContainer.initialize());
   ATH_CHECK(m_ecalCalibratedContainer.initialize());
+  ATH_CHECK(m_ecal2CalibratedContainer.initialize());
   ATH_CHECK(m_eventInfoKey.initialize());
 
   ATH_CHECK(detStore()->retrieve(m_sctHelper,       "FaserSCT_ID"));
@@ -157,6 +161,7 @@ StatusCode NtupleDumperAlg::initialize()
   m_tree->Branch("run", &m_run_number, "run/I");
   m_tree->Branch("eventID", &m_event_number, "eventID/I");
   m_tree->Branch("eventTime", &m_event_time, "eventTime/I");
+  m_tree->Branch("eventTimeNSOffset", &m_event_timeNSOffset, "eventTimeNSOffset/I");
   m_tree->Branch("BCID", &m_bcid, "BCID/I");
   m_tree->Branch("inGRL", &m_in_grl, "inGRL/I");
 
@@ -176,13 +181,15 @@ StatusCode NtupleDumperAlg::initialize()
   m_tree->Branch("inputBitsNext", &m_inputBitsNext, "inputBitsNext/I");
 
   //WAVEFORMS
+  // Need to put an option in here for pre/post 2024 data
   addWaveBranches("VetoNu",2,4);
-  addWaveBranches("VetoSt1",1,14);
+  addWaveBranches("VetoSt1",2,14);
   addWaveBranches("VetoSt2",2,6);
   addWaveBranches("Timing",4,8);
   addWaveBranches("Preshower",2,12);
   addWaveBranches("Calo",4,0);
-
+  addWaveBranches("CaloHi", 4,16);
+  
   m_tree->Branch("ScintHit", &m_scintHit);
 
   addCalibratedBranches("Calo",4,0);
@@ -328,6 +335,18 @@ StatusCode NtupleDumperAlg::initialize()
   m_tree->Branch("t_st3_x", &m_t_st_x[3]);
   m_tree->Branch("t_st3_y", &m_t_st_y[3]);
   m_tree->Branch("t_st3_z", &m_t_st_z[3]);
+  m_tree->Branch("t_st0_px", &m_t_st_px[0]);
+  m_tree->Branch("t_st0_py", &m_t_st_py[0]);
+  m_tree->Branch("t_st0_pz", &m_t_st_pz[0]);
+  m_tree->Branch("t_st1_px", &m_t_st_px[1]);
+  m_tree->Branch("t_st1_py", &m_t_st_py[1]);
+  m_tree->Branch("t_st1_pz", &m_t_st_pz[1]);
+  m_tree->Branch("t_st2_px", &m_t_st_px[2]);
+  m_tree->Branch("t_st2_py", &m_t_st_py[2]);
+  m_tree->Branch("t_st2_pz", &m_t_st_pz[2]);
+  m_tree->Branch("t_st3_px", &m_t_st_px[3]);
+  m_tree->Branch("t_st3_py", &m_t_st_py[3]);
+  m_tree->Branch("t_st3_pz", &m_t_st_pz[3]);
   m_tree->Branch("isFiducial", &m_isFiducial);
 
   m_tree->Branch("truthParticleBarcode", &m_truthParticleBarcode);
@@ -338,7 +357,7 @@ StatusCode NtupleDumperAlg::initialize()
   m_tree->Branch("truthBarcode", &m_truthBarcode, "truthBarcode/I");
   m_tree->Branch("truthPdg", &m_truthPdg, "truthPdg/I");
   m_tree->Branch("CrossSection", &m_crossSection, "crossSection/D");
-
+  m_tree->Branch("GenWeights", &m_genWeights);
 
   // first 10 truth particles 
 
@@ -414,6 +433,12 @@ StatusCode NtupleDumperAlg::initialize()
   m_HistRandomCharge[12] = new TH1F("hRandomCharge12", "Preshower ch12 Charge from Random Events;charge (pC);Events/bin", 100, -1.0, 1.0);
   m_HistRandomCharge[13] = new TH1F("hRandomCharge13", "Preshower ch13 Charge from Random Events;charge (pC);Events/bin", 100, -1.0, 1.0);
   m_HistRandomCharge[14] = new TH1F("hRandomCharge14", "Veto ch14 Charge from Random Events;charge (pC);Events/bin", 100, -1.0, 1.0);
+  m_HistRandomCharge[15] = new TH1F("hRandomCharge15", "Veto ch15 Charge from Random Events;charge (pC);Events/bin", 100, -1.0, 1.0);
+
+  m_HistRandomCharge[16] = new TH1F("hRandomCharge16", "CaloHi ch0 Charge from Random Events;charge (pC);Events/bin", 100, -1.0, 1.0);
+  m_HistRandomCharge[17] = new TH1F("hRandomCharge17", "CaloHi ch1 Charge from Random Events;charge (pC);Events/bin", 100, -1.0, 1.0);
+  m_HistRandomCharge[18] = new TH1F("hRandomCharge18", "CaloHi ch2 Charge from Random Events;charge (pC);Events/bin", 100, -1.0, 1.0);
+  m_HistRandomCharge[19] = new TH1F("hRandomCharge19", "CaloHi ch3 Charge from Random Events;charge (pC);Events/bin", 100, -1.0, 1.0);
 
   ATH_CHECK(histSvc()->regHist("/HIST2/RandomCharge0", m_HistRandomCharge[0]));
   ATH_CHECK(histSvc()->regHist("/HIST2/RandomCharge1", m_HistRandomCharge[1]));
@@ -430,6 +455,11 @@ StatusCode NtupleDumperAlg::initialize()
   ATH_CHECK(histSvc()->regHist("/HIST2/RandomCharge12", m_HistRandomCharge[12]));
   ATH_CHECK(histSvc()->regHist("/HIST2/RandomCharge13", m_HistRandomCharge[13]));
   ATH_CHECK(histSvc()->regHist("/HIST2/RandomCharge14", m_HistRandomCharge[14]));
+  ATH_CHECK(histSvc()->regHist("/HIST2/RandomCharge15", m_HistRandomCharge[15]));
+  ATH_CHECK(histSvc()->regHist("/HIST2/RandomCharge16", m_HistRandomCharge[16]));
+  ATH_CHECK(histSvc()->regHist("/HIST2/RandomCharge17", m_HistRandomCharge[17]));
+  ATH_CHECK(histSvc()->regHist("/HIST2/RandomCharge18", m_HistRandomCharge[18]));
+  ATH_CHECK(histSvc()->regHist("/HIST2/RandomCharge19", m_HistRandomCharge[19]));
 
   if (m_onlyBlinded){
     ATH_MSG_INFO("Only events that would be blinded are saved in ntuple");
@@ -454,12 +484,21 @@ StatusCode NtupleDumperAlg::execute(const EventContext &ctx) const
   if (truthEventContainer.isValid() && truthEventContainer->size() > 0)
   {
     isMC = true;
+
+  }
+
+  SG::ReadHandle<McEventCollection> mcEventContainer {m_mcEventContainer, ctx};
+  if (isMC && (!mcEventContainer.isValid() || mcEventContainer->size() == 0)) {
+    ATH_MSG_WARNING("Could not retrieve MCEventCollection " << m_mcEventContainer);
+    return StatusCode::SUCCESS;
   }
 
+
   // EventInfo data
   m_run_number = ctx.eventID().run_number();
   m_event_number = ctx.eventID().event_number();
   m_event_time = ctx.eventID().time_stamp();
+  m_event_timeNSOffset = ctx.eventID().time_stamp_ns_offset();
   m_bcid = ctx.eventID().bunch_crossing_id();
 
   // For real data, find if data is in GoodRunsList
@@ -551,23 +590,27 @@ StatusCode NtupleDumperAlg::execute(const EventContext &ctx) const
   SG::ReadHandle<xAOD::WaveformHitContainer> ecalContainer { m_ecalContainer, ctx };
   ATH_CHECK(ecalContainer.isValid());
 
+  SG::ReadHandle<xAOD::WaveformHitContainer> ecal2Container { m_ecal2Container, ctx };
+  ATH_CHECK(ecal2Container.isValid());
+
   FillWaveBranches(*vetoNuContainer);
   FillWaveBranches(*vetoContainer);
   FillWaveBranches(*triggerContainer);
   FillWaveBranches(*preshowerContainer);
   FillWaveBranches(*ecalContainer);
+  FillWaveBranches(*ecal2Container);
 
   // if real data, store charge in histograms from random events
   if (!isMC) {
     SG::ReadHandle<xAOD::FaserTriggerData> triggerData(m_FaserTriggerData, ctx);
     m_tap=triggerData->tap();
-    // for random trigger, store charge of scintillators in histograms
-    if ((m_tap&16) != 0) { 
+
+    // for random (only) triggers, store charge of scintillators in histograms
+    if (m_tap == 16) { 
       // Fill histograms
-      for (int chan = 0; chan<15; chan++) {
+      for (unsigned int chan = 0; chan<nchan; chan++) {
         m_HistRandomCharge[chan]->Fill(m_wave_raw_charge[chan]);
       }
-      return StatusCode::SUCCESS; // finished with this randomly triggered event
     }
 
     if (m_doTrigFilter) {
@@ -621,8 +664,10 @@ StatusCode NtupleDumperAlg::execute(const EventContext &ctx) const
     // load in LHC data
     SG::ReadHandle<xAOD::FaserLHCData> lhcData { m_lhcData, ctx };
     ATH_CHECK(lhcData.isValid());
+
     // don't process events that were not taken during "Stable Beams"
-    if ( !(lhcData->stableBeams()) ) return StatusCode::SUCCESS;
+    if (!(lhcData->stableBeams()) && m_stableOnly) return StatusCode::SUCCESS;
+
     // store interesting data in ntuple variables
     m_fillNumber = lhcData->fillNumber();
     m_betaStar = lhcData->betaStar();
@@ -694,6 +739,13 @@ StatusCode NtupleDumperAlg::execute(const EventContext &ctx) const
       m_crossSection = m_baseEventCrossSection;
     }
 
+    // Store event weights if exist
+    const HepMC::GenEvent* genEvent = mcEventContainer->at(0);
+    for (auto wt : genEvent->weights()) {
+      m_genWeights.push_back(wt);
+    }
+
+
     // Find truth particle information 
     SG::ReadHandle<xAOD::TruthParticleContainer> truthParticleContainer { m_truthParticleContainer, ctx };
     if (truthParticleContainer.isValid() && truthParticleContainer->size() > 0) {
@@ -1014,6 +1066,14 @@ StatusCode NtupleDumperAlg::execute(const EventContext &ctx) const
           m_t_st_y[station].push_back(positions[station].y());
           m_t_st_z[station].push_back(positions[station].z());
         }
+
+        auto momenta = m_fiducialParticleTool->getTruthMomenta(truthParticle->barcode());
+        for (int station = 0; station < 4; ++station) {
+          m_t_st_px[station].push_back(momenta[station].x());
+          m_t_st_py[station].push_back(momenta[station].y());
+          m_t_st_pz[station].push_back(momenta[station].z());
+        }
+
         if (truthParticle->hasProdVtx()) {
           m_t_prodVtx_x.push_back(truthParticle->prodVtx()->x());
           m_t_prodVtx_y.push_back(truthParticle->prodVtx()->y());
@@ -1341,6 +1401,7 @@ NtupleDumperAlg::clearTree() const
   m_run_number = 0; 
   m_event_number = 0;
   m_event_time = 0;
+  m_event_timeNSOffset = 0;
   m_bcid = 0;
   m_in_grl = 0;
 
@@ -1359,7 +1420,7 @@ NtupleDumperAlg::clearTree() const
   m_inputBits=0;
   m_inputBitsNext=0;
 
-  for(int ii=0;ii<15;ii++) {
+  for(unsigned int ii=0;ii<nchan;ii++) {
       m_wave_localtime[ii]=0;
       m_wave_peak[ii]=0;
       m_wave_width[ii]=0;
@@ -1397,6 +1458,7 @@ NtupleDumperAlg::clearTree() const
   m_station2Clusters = 0;
   m_station3Clusters = 0;
   m_crossSection = 0;
+  m_genWeights.clear();
 
   m_nspacepoints = 0;
   m_spacepointX.clear();
@@ -1508,6 +1570,11 @@ NtupleDumperAlg::clearTree() const
     m_t_st_y[station].clear();
     m_t_st_z[station].clear();
   }
+  for (int station = 0; station < 4; ++station) {
+    m_t_st_px[station].clear();
+    m_t_st_py[station].clear();
+    m_t_st_pz[station].clear();
+  }
   m_truthParticleBarcode.clear();
   m_truthParticleMatchedTracks.clear();
   m_truthParticleIsFiducial.clear();
@@ -1592,6 +1659,11 @@ void NtupleDumperAlg::clearTrackTruth() const {
     m_t_st_y[station].push_back(999999);
     m_t_st_z[station].push_back(999999);
   }
+  for (int station = 0; station < 4; ++station) {
+    m_t_st_px[station].push_back(999999);
+    m_t_st_py[station].push_back(999999);
+    m_t_st_pz[station].push_back(999999);
+  }
   m_isFiducial.push_back(false);
 }
 
diff --git a/PhysicsAnalysis/NtupleDumper/src/NtupleDumperAlg.h b/PhysicsAnalysis/NtupleDumper/src/NtupleDumperAlg.h
index a741bcbe55097ba754a256fe3804f0e6cc170db9..d4fc22b9754617ea8c68aba3c365ef334abd0d5d 100644
--- a/PhysicsAnalysis/NtupleDumper/src/NtupleDumperAlg.h
+++ b/PhysicsAnalysis/NtupleDumper/src/NtupleDumperAlg.h
@@ -24,6 +24,7 @@
 #include "xAODEventInfo/EventInfo.h"
 #include "StoreGate/ReadDecorHandle.h"
 #include "FaserActsVertexing/IVertexingTool.h"
+#include "GeneratorObjects/McEventCollection.h"
 #include <boost/dynamic_bitset.hpp>
 
 #include <vector>
@@ -69,6 +70,7 @@ private:
 
   SG::ReadHandleKey<xAOD::TruthEventContainer> m_truthEventContainer { this, "EventContainer", "TruthEvents", "Truth event container name." };
   SG::ReadHandleKey<xAOD::TruthParticleContainer> m_truthParticleContainer { this, "ParticleContainer", "TruthParticles", "Truth particle container name." };
+  SG::ReadHandleKey<McEventCollection> m_mcEventContainer {this, "McEventCollection", "BeamTruthEvent", "MC event collection name"};
   SG::ReadHandleKey<TrackerSimDataCollection> m_simDataCollection {this, "TrackerSimDataCollection", "SCT_SDO_Map"};
 
   SG::ReadHandleKey<xAOD::FaserLHCData> m_lhcData {this, "FaserLHCDataKey", "FaserLHCData"};
@@ -82,8 +84,10 @@ private:
   SG::ReadHandleKey<xAOD::WaveformHitContainer> m_triggerContainer { this, "TriggerContainer", "TriggerWaveformHits", "Trigger hit container name" };
   SG::ReadHandleKey<xAOD::WaveformHitContainer> m_preshowerContainer { this, "PreshowerContainer", "PreshowerWaveformHits", "Preshower hit container name" };
   SG::ReadHandleKey<xAOD::WaveformHitContainer> m_ecalContainer { this, "EcalContainer", "CaloWaveformHits", "Ecal hit container name" };
+  SG::ReadHandleKey<xAOD::WaveformHitContainer> m_ecal2Container { this, "Ecal2Container", "Calo2WaveformHits", "Ecal hit container name" };
 
   SG::ReadHandleKey<xAOD::CalorimeterHitContainer> m_ecalCalibratedContainer { this, "EcalCalibratedContainer", "CaloHits", "Ecal Calibrated hit container name" };
+  SG::ReadHandleKey<xAOD::CalorimeterHitContainer> m_ecal2CalibratedContainer { this, "Ecal2CalibratedContainer", "Calo2Hits", "Ecal Calibrated hit container name" };
   SG::ReadHandleKey<xAOD::CalorimeterHitContainer> m_preshowerCalibratedContainer { this, "preshowerCalibratedContainer", "PreshowerHits", "Preshower Calibrated hit container name" };
 
   SG::ReadHandleKey<Tracker::FaserSCT_ClusterContainer> m_clusterContainer { this, "ClusterContainer", "SCT_ClusterContainer", "Tracker cluster container name" };
@@ -114,7 +118,8 @@ private:
   BooleanProperty m_onlyBlinded          { this, "OnlyBlinded", false, "Only events that would be blinded are saved" };
   BooleanProperty m_doTrigFilter         { this, "DoTrigFilter", false, "Only events that pass trigger cuts are passed" };
   BooleanProperty m_doScintFilter        { this, "DoScintFilter", false, "Only events that pass scintillator coincidence cuts are passed" };
-  BooleanProperty m_doTrackFilter        { this, "DoTrackFilter", true, "Only events that have >= 1 long track are passed, also non-colliding events with a track or calo signal are passed" };
+  BooleanProperty m_doTrackFilter        { this, "DoTrackFilter", true, "Only events that have >= 1 long track are passed, also non-colliding events with a track or calo signal are passed (default)" };
+  BooleanProperty m_stableOnly           { this, "StableOnly", true, "Only events recorded during stable beams are saved (default)" };
 
   BooleanProperty m_useFlukaWeights      { this, "UseFlukaWeights", false, "Flag to weight events according to value stored in HepMC::GenEvent" };
   BooleanProperty m_useGenieWeights      { this, "UseGenieWeights", false, "Flag to weight events according to Genie luminosity" };
@@ -143,11 +148,14 @@ private:
 
   mutable TTree* m_tree;
 
-  mutable TH1* m_HistRandomCharge[15];
+  const static unsigned int nchan=20;
+
+  mutable TH1* m_HistRandomCharge[nchan];
 
   mutable unsigned int m_run_number;
   mutable unsigned int m_event_number;
   mutable unsigned int m_event_time;
+  mutable unsigned int m_event_timeNSOffset;
   mutable unsigned int m_bcid;
   mutable unsigned int m_in_grl;
 
@@ -166,22 +174,22 @@ private:
   mutable unsigned int m_inputBits;
   mutable unsigned int m_inputBitsNext;
 
-  mutable float m_wave_localtime[15];
-  mutable float m_wave_peak[15];
-  mutable float m_wave_width[15];
-  mutable float m_wave_charge[15];
+  mutable float m_wave_localtime[nchan];
+  mutable float m_wave_peak[nchan];
+  mutable float m_wave_width[nchan];
+  mutable float m_wave_charge[nchan];
 
-  mutable float m_wave_raw_peak[15];
-  mutable float m_wave_raw_charge[15];
-  mutable float m_wave_baseline_mean[15];
-  mutable float m_wave_baseline_rms[15];
-  mutable unsigned int m_wave_status[15];
+  mutable float m_wave_raw_peak[nchan];
+  mutable float m_wave_raw_charge[nchan];
+  mutable float m_wave_baseline_mean[nchan];
+  mutable float m_wave_baseline_rms[nchan];
+  mutable unsigned int m_wave_status[nchan];
  
   mutable unsigned int m_scintHit;
  
-  mutable float m_calibrated_nMIP[15];
-  mutable float m_calibrated_E_dep[15];
-  mutable float m_calibrated_E_EM[15];
+  mutable float m_calibrated_nMIP[nchan];
+  mutable float m_calibrated_E_dep[nchan];
+  mutable float m_calibrated_E_EM[nchan];
 
   mutable float m_calo_total_nMIP;
   mutable float m_calo_total_E_dep;
@@ -200,6 +208,7 @@ private:
   mutable float m_Calo1_Edep;
   mutable float m_Calo2_Edep;
   mutable float m_Calo3_Edep;
+
   mutable float m_Calo_Total_Edep;
   mutable float m_Preshower12_Edep;
   mutable float m_Preshower13_Edep;
@@ -308,12 +317,16 @@ private:
   mutable std::array<std::vector<double>, 4> m_t_st_x; // vector of the x components of the simulated hits of the truth particle for each station
   mutable std::array<std::vector<double>, 4> m_t_st_y; // vector of the y components of the simulated hits of the truth particle for each station
   mutable std::array<std::vector<double>, 4> m_t_st_z; // vector of the z components of the simulated hits of the truth particle for each station
+  mutable std::array<std::vector<double>, 4> m_t_st_px; // x components of the true momentum at each station
+  mutable std::array<std::vector<double>, 4> m_t_st_py; // y components of the true momentum at each station
+  mutable std::array<std::vector<double>, 4> m_t_st_pz; // z components of the true momentum at each station
   mutable std::vector<bool> m_isFiducial; // track is fiducial if there are simulated hits for stations 1 - 3 and the distance from the center is smaller than 100 mm
 
   mutable std::vector<int> m_truthParticleBarcode; // vector of barcodes of all truth particles with a momentum larger 50 GeV
   mutable std::vector<int> m_truthParticleMatchedTracks; // vector of number of tracks to which a truth particle is matched to
   mutable std::vector<bool> m_truthParticleIsFiducial; // vector of boolean showing whether a truth particle is fiducial
 
+
   // mother + daughter truth information 
 
   mutable std::vector<double> m_truthM_P;
@@ -364,10 +377,12 @@ private:
 
   mutable std::vector<int> m_truth_pdg; // pdg of first 10 truth particles 
 
-  mutable double m_truthLeptonMomentum;
+  mutable double m_truthLeptonMomentum; 
   mutable int    m_truthBarcode;
   mutable int    m_truthPdg;
   mutable double m_crossSection;
+  mutable std::vector<double>  m_genWeights;
+
 
   mutable int    m_eventsPassed = 0;
   mutable int    m_eventsFailedGRL = 0;
diff --git a/README.md b/README.md
index bcd917f069ec308e9657f013a9398dba24285145..f4d5bf64fd6f976f90be0bc39a369c8c992e84be 100644
--- a/README.md
+++ b/README.md
@@ -52,6 +52,12 @@ When compiling, CERN IT recommends using condor to submit batch jobs. The basics
 
 ** `ConfigFlags.GeoModel.FaserVersion = "FASERNU-03"` and `ConfigFlags.IOVDb.GlobalTag = OFLCOND-FASER-03` enables the full FaserNu (IFT + emulsion) setup with updated (10Nov22) magnetic field map
 
+** `ConfigFlags.GeoModel.FaserVersion = "FASERNU-03"` and `ConfigFlags.IOVDb.GlobalTag = OFLCOND-FASER-04` enables the full FaserNu (IFT + emulsion) setup with updated (2023) tracker alignment
+
+** `ConfigFlags.GeoModel.FaserVersion = "FASERNU-04"` and `ConfigFlags.IOVDb.GlobalTag = OFLCOND-FASER-04` enables the full FaserNu (IFT + emulsion) setup with updated (2023) geometry
+
 ** `ConfigFlags.GeoModel.FaserVersion = "FASER-TB00"` and `ConfigFlags.IOVDb.GlobalTag = OFLCOND-FASER-TB00` enables the 2021 Test-beam setup.
 
+** `ConfigFlags.GeoModel.FaserVersion = "FASER-TB01"` and `ConfigFlags.IOVDb.GlobalTag = OFLCOND-FASER-TB01` enables the 2021 Test-beam setup with updated (2023) geometry.
+
 * The command `source /cvmfs/sft.cern.ch/lcg/releases/LCG_101_ATLAS_6/sqlite/3320300/x86_64-centos7-gcc11-opt/sqlite-env.sh` may be necessary to avoid errors when generating a database
diff --git a/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerDataBase.cxx b/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerDataBase.cxx
index 422c40ab4347b2669792d43994e0cc7dbc2c90c6..116ab55ef3153031463b559d8ced959a797a850d 100644
--- a/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerDataBase.cxx
+++ b/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerDataBase.cxx
@@ -83,6 +83,9 @@ PreshowerDataBase::PreshowerDataBase(const PreshowerGeoModelAthenaComps * athena
   m_absorberGeneral = rdbSvc->getRecordsetPtr("PreshowerAbsorberGeneral", versionTag, versionNode, "FASERDD");
   msg(MSG::DEBUG) << "Table PreshowerAbsorberGeneral Fetched" << endmsg;
 
+  m_wrappingGeneral = rdbSvc->getRecordsetPtr("PreshowerWrappingGeneral", versionTag, versionNode, "FASERDD");
+  msg(MSG::DEBUG) << "Table PreshowerWrappingGeneral Fetched" << endmsg;
+
 }
 
 const PreshowerGeoModelAthenaComps* PreshowerDataBase::athenaComps() const { return m_athenaComps; }
@@ -101,6 +104,7 @@ const IRDBRecord* PreshowerDataBase::stationGeneral() const {return (*m_stationG
 const IRDBRecord* PreshowerDataBase::plateGeneral() const {return (*m_plateGeneral)[0];}
 const IRDBRecord* PreshowerDataBase::radiatorGeneral() const {return (*m_radiatorGeneral)[0];}
 const IRDBRecord* PreshowerDataBase::absorberGeneral() const {return (*m_absorberGeneral)[0];}
+const IRDBRecord* PreshowerDataBase::wrappingGeneral() const {return (*m_wrappingGeneral)[0];}
 
 const std::string & PreshowerDataBase::versionTag() const {
   return m_preshowerVersionTag;
diff --git a/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerDataBase.h b/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerDataBase.h
index ef6e4acbbe74446a4dd3035ea2bb0242d9de1e17..d9e63b745ffabd071052298437a9c86c1e88dede 100644
--- a/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerDataBase.h
+++ b/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerDataBase.h
@@ -30,6 +30,7 @@ public:
   const IRDBRecord* plateGeneral() const;
   const IRDBRecord* radiatorGeneral() const;
   const IRDBRecord* absorberGeneral() const;
+  const IRDBRecord* wrappingGeneral() const;
 
   // Return the Preshower version tag.
   const std::string & versionTag() const;
@@ -56,6 +57,7 @@ private:
   IRDBRecordset_ptr m_plateGeneral;
   IRDBRecordset_ptr m_radiatorGeneral;
   IRDBRecordset_ptr m_absorberGeneral;
+  IRDBRecordset_ptr m_wrappingGeneral;
 
 
 };
diff --git a/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerDetectorFactory.cxx b/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerDetectorFactory.cxx
index 02a6c67181bf164650d1f8b608bc5aaf02e6b72c..f063b2e9316f535886cbfe9191f2cc43ae9801cf 100644
--- a/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerDetectorFactory.cxx
+++ b/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerDetectorFactory.cxx
@@ -21,6 +21,7 @@
 
 #include "PreshowerStation.h"
 #include "PreshowerPlate.h"
+#include "PreshowerWrapping.h"
 #include "PreshowerDataBase.h"
 #include "PreshowerGeoModel/PreshowerGeoModelAthenaComps.h"
 
@@ -157,11 +158,13 @@ void PreshowerDetectorFactory::create(GeoPhysVol *world)
     // bool absorberA_Present = preshowerGeneral->partPresent(absorberA_Label);
     // bool absorberB_Present = preshowerGeneral->partPresent(absorberB_Label);
 
-  //
-  //  Plate is the same for all stations
-  //
-  PreshowerPlate plate("Plate", m_detectorManager, m_geometryManager, m_materials);
-  msg(MSG::DEBUG) << "Created Preshower plate with dimensions (" << plate.thickness() << "," << plate.width() << "," << plate.length() << ")" << endmsg;
+    //
+    //  Plate is the same for all stations
+    //
+    PreshowerPlate plate("Plate", m_detectorManager, m_geometryManager, m_materials);
+    msg(MSG::DEBUG) << "Created Preshower plate with dimensions (" << plate.thickness() << "," << plate.width() << "," << plate.length() << ")" << endmsg;
+    PreshowerWrapping wrapping("Wrapping", m_detectorManager, m_geometryManager, m_materials);
+    msg(MSG::DEBUG) << "Created Preshower wrapping with dimensions (" << wrapping.thickness() << "," << wrapping.width() << "," << wrapping.length() << ")" << endmsg;
   //
   // Station A
   //
@@ -171,7 +174,7 @@ void PreshowerDetectorFactory::create(GeoPhysVol *world)
       m_detectorManager->numerology().addStation(0);
 
     // Create the station
-    PreshowerStation stationA("PreshowerStationA", &plate, m_detectorManager, m_geometryManager, m_materials);
+    PreshowerStation stationA("PreshowerStationA", &plate, &wrapping, m_detectorManager, m_geometryManager, m_materials);
     PreshowerIdentifier id{m_geometryManager->athenaComps()->getIdHelper()};
     id.setStation(0);
     GeoVPhysVol* stationA_PV = stationA.build(id);
diff --git a/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerGeometryManager.cxx b/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerGeometryManager.cxx
index f635cf293ba2abcc77a39d63f58ada3fff845272..fefbbda7da500541eedc63c1ff6c974fb247945d 100644
--- a/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerGeometryManager.cxx
+++ b/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerGeometryManager.cxx
@@ -11,6 +11,7 @@
 #include "PreshowerPlateParameters.h"
 #include "PreshowerRadiatorParameters.h"
 #include "PreshowerAbsorberParameters.h"
+#include "PreshowerWrappingParameters.h"
 #include "PreshowerDataBase.h"
 #include "PreshowerGeneralParameters.h"
 #include "PreshowerGeoModel/PreshowerGeoModelAthenaComps.h"
@@ -27,6 +28,7 @@ PreshowerGeometryManager::PreshowerGeometryManager(PreshowerDataBase* rdb)
   m_radiatorParameters = std::make_unique<PreshowerRadiatorParameters>(m_rdb);
   m_absorberParameters = std::make_unique<PreshowerAbsorberParameters>(m_rdb);
   m_generalParameters = std::make_unique<PreshowerGeneralParameters>(m_rdb);
+  m_wrappingParameters = std::make_unique<PreshowerWrappingParameters>(m_rdb);
   m_distortedMatManager = std::make_unique<ScintDD::DistortedMaterialManager>();
 }
 
@@ -94,6 +96,12 @@ PreshowerGeometryManager::generalParameters() const
   return m_generalParameters.get();
 }
 
+const PreshowerWrappingParameters * 
+PreshowerGeometryManager::wrappingParameters() const
+{    
+  return m_wrappingParameters.get();
+}
+
 const ScintDD::DistortedMaterialManager * 
 PreshowerGeometryManager::distortedMatManager() const
 {    
@@ -112,6 +120,7 @@ PreshowerGeometryManager::operator=(const PreshowerGeometryManager& right) {
     m_radiatorParameters.reset(new PreshowerRadiatorParameters(m_rdb));
     m_absorberParameters.reset(new PreshowerAbsorberParameters(m_rdb));
     m_generalParameters.reset(new PreshowerGeneralParameters(m_rdb));
+    m_wrappingParameters.reset(new PreshowerWrappingParameters(m_rdb));
     m_distortedMatManager.reset(new ScintDD::DistortedMaterialManager());
   }
   return *this;
@@ -127,5 +136,6 @@ PreshowerGeometryManager::PreshowerGeometryManager(const PreshowerGeometryManage
   m_radiatorParameters.reset(new PreshowerRadiatorParameters(m_rdb));
   m_absorberParameters.reset(new PreshowerAbsorberParameters(m_rdb));
   m_generalParameters.reset(new PreshowerGeneralParameters(m_rdb));
+  m_wrappingParameters.reset(new PreshowerWrappingParameters(m_rdb));
   m_distortedMatManager.reset(new ScintDD::DistortedMaterialManager());
 }
diff --git a/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerGeometryManager.h b/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerGeometryManager.h
index 23d24bde7ac19e6db4de05fea7ee341b18149db8..ee33fc623993bebe1d67b5484240b8271ddc067d 100644
--- a/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerGeometryManager.h
+++ b/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerGeometryManager.h
@@ -18,6 +18,7 @@ class PreshowerStationParameters;
 class PreshowerPlateParameters;
 class PreshowerRadiatorParameters;
 class PreshowerAbsorberParameters;
+class PreshowerWrappingParameters;
 class PreshowerDataBase;
 class PreshowerGeneralParameters;
 class PreshowerGeoModelAthenaComps;
@@ -47,6 +48,7 @@ public:
   const PreshowerRadiatorParameters*            radiatorParameters() const;
   const PreshowerAbsorberParameters*            absorberParameters() const;
   const PreshowerGeneralParameters*             generalParameters() const;
+  const PreshowerWrappingParameters*            wrappingParameters() const;
   const ScintDD::DistortedMaterialManager* distortedMatManager() const;
 
   PreshowerGeometryManager& operator=(const PreshowerGeometryManager& right);
@@ -64,6 +66,7 @@ private:
   std::unique_ptr<PreshowerRadiatorParameters> m_radiatorParameters;
   std::unique_ptr<PreshowerAbsorberParameters> m_absorberParameters;
   std::unique_ptr<PreshowerGeneralParameters> m_generalParameters;
+  std::unique_ptr<PreshowerWrappingParameters> m_wrappingParameters;
   std::unique_ptr<ScintDD::DistortedMaterialManager> m_distortedMatManager;
 
 };
diff --git a/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerStation.cxx b/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerStation.cxx
index a511085e1fda3124716531849a838d773a2cf726..72188cd19cd964789b0a1f1add0b959bada1e9d2 100644
--- a/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerStation.cxx
+++ b/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerStation.cxx
@@ -13,6 +13,7 @@
 #include "PreshowerAbsorberParameters.h"
 #include "PreshowerIdentifier.h"
 #include "PreshowerPlate.h"
+#include "PreshowerWrapping.h"
 
 #include "ScintReadoutGeometry/PreshowerDetectorManager.h"
 
@@ -35,11 +36,12 @@
 
 PreshowerStation::PreshowerStation(const std::string & name,
                          PreshowerPlate* plate,
+                         PreshowerWrapping* wrapping,
                          ScintDD::PreshowerDetectorManager* detectorManager,
                          const PreshowerGeometryManager* geometryManager,
                          PreshowerMaterialManager* materials)
   : PreshowerUniqueComponentFactory(name, detectorManager, geometryManager, materials),
-  m_plate { plate }
+  m_plate { plate }, m_wrapping { wrapping }
 {
   getParameters();
   m_logVolume = preBuild();
@@ -51,7 +53,7 @@ PreshowerStation::getParameters()
 {
   const PreshowerStationParameters * parameters = m_geometryManager->stationParameters();
   
-  m_numPlates =   parameters->numPlates();
+  m_numPlates =  parameters->numPlates();
   m_platePitch = parameters->platePitch();
 
   const PreshowerGeneralParameters* generalParameters = m_geometryManager->generalParameters();
@@ -79,13 +81,13 @@ PreshowerStation::getParameters()
   m_length = std::max(std::max(m_plate->length(), m_radiatorLength), m_absorberLength) + m_safety;
 
   // Compute air-gaps between slabs; for now assumed equal based on scintillator pitch
-  m_airGap = (m_platePitch - m_plate->thickness() - m_radiatorThickness - m_absorberThickness)/3;
+  m_airGap = (m_platePitch - m_plate->thickness() - m_radiatorThickness - m_absorberThickness - 2 * m_wrapping->thickness())/3;
   if (m_airGap < 0)
   {
     m_detectorManager->msg(MSG::FATAL) << "Invalid passive material geometry for preshower; air gap is negative." << endmsg;
   }
 
-  m_thickness = (m_numPlates - 1) * m_platePitch + m_plate->thickness() + 3 * m_airGap + 2 * m_absorberThickness + m_radiatorThickness + m_safety;
+  m_thickness = (m_numPlates - 1) * m_platePitch + m_plate->thickness() + 3 * m_airGap + 2 * m_absorberThickness + m_radiatorThickness + 2 * m_wrapping->thickness() + m_safety;
 
 }
 
@@ -114,6 +116,7 @@ PreshowerStation::build(PreshowerIdentifier id)
 
   // double activeDepth = m_thickness - m_safety;
   double plateThickness = m_plate->thickness();
+  double wrappingThickness = m_wrapping->thickness();
   for (int iPlate = 0; iPlate < m_numPlates; iPlate++)
   {
     station->add(new GeoNameTag("Absorber#"+intToString(iPlate)));
@@ -134,10 +137,18 @@ PreshowerStation::build(PreshowerIdentifier id)
     GeoVPhysVol* radiatorPV = new GeoPhysVol(m_radiatorLog);
     station->add(radiatorPV);
 
+    station->add(new GeoNameTag("Wrapping#"+intToString(iPlate)+"a"));
+    double zP = zR + m_airGap + wrappingThickness + (plateThickness + m_radiatorThickness)/2;
+    double zW = zP - (plateThickness + wrappingThickness)/2;
+    GeoTransform* wrappingTransformA = new GeoTransform(GeoTrf::Translate3D(0.0,
+                                                                            0.0,
+                                                                            zW));
+    station->add(wrappingTransformA);
+    station->add(m_wrapping->getVolume());
+
     station->add(new GeoNameTag("Plate#"+intToString(iPlate)));
     station->add(new GeoIdentifierTag(iPlate));
     id.setPlate(iPlate);
-    double zP = zR + m_airGap + (plateThickness + m_radiatorThickness)/2;
     GeoAlignableTransform* transform = new GeoAlignableTransform(GeoTrf::Translate3D(0.0, 
                                                                                      0.0,
                                                                                      zP));
@@ -145,6 +156,15 @@ PreshowerStation::build(PreshowerIdentifier id)
     GeoVPhysVol* platePV = m_plate->build(id);
     station->add(platePV);
     m_detectorManager->addAlignableTransform(0, id.getPlateId(), transform, platePV);
+
+    station->add(new GeoNameTag("Wrapping#"+intToString(iPlate)+"b"));
+    zW = zP + (plateThickness + wrappingThickness)/2;
+    GeoTransform* wrappingTransformB = new GeoTransform(GeoTrf::Translate3D(0.0,
+                                                                            0.0,
+                                                                            zW));
+    station->add(wrappingTransformB);
+    station->add(m_wrapping->getVolume());
+
   }
 
   // Now add the final downstream absorber after the last plate
diff --git a/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerStation.h b/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerStation.h
index e1307290b3ef3c89f26a4453a0515f80780d9fea..162c25ef16242906eb57889d8bc450708a748354 100644
--- a/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerStation.h
+++ b/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerStation.h
@@ -13,6 +13,7 @@ class GeoLogVol;
 class GeoMaterial;
 class PreshowerIdentifier;
 class PreshowerPlate;
+class PreshowerWrapping;
 
 class PreshowerStation : public PreshowerUniqueComponentFactory
 {
@@ -20,6 +21,7 @@ class PreshowerStation : public PreshowerUniqueComponentFactory
 public:
   PreshowerStation(const std::string & name,
              PreshowerPlate* plate,
+             PreshowerWrapping* wrapping,
              ScintDD::PreshowerDetectorManager* detectorManager,
              const PreshowerGeometryManager* geometryManager,
              PreshowerMaterialManager* materials);
@@ -49,6 +51,7 @@ private:
   virtual const GeoLogVol * preBuild();
  
   PreshowerPlate*  m_plate;
+  PreshowerWrapping* m_wrapping;
 
   int         m_numPlates;
   double      m_platePitch;
diff --git a/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerWrapping.cxx b/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerWrapping.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..7954887977b9916c38247597e5156f297754e3ef
--- /dev/null
+++ b/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerWrapping.cxx
@@ -0,0 +1,55 @@
+/*
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+*/
+
+#include "PreshowerWrapping.h"
+
+#include "PreshowerMaterialManager.h"
+
+#include "PreshowerGeometryManager.h"
+#include "PreshowerGeneralParameters.h"
+#include "PreshowerWrappingParameters.h"
+
+#include "GeoModelKernel/GeoBox.h"
+#include "GeoModelKernel/GeoLogVol.h"
+#include "GeoModelKernel/GeoPhysVol.h"
+#include "GeoModelKernel/GeoMaterial.h"
+
+PreshowerWrapping::PreshowerWrapping(const std::string & name,
+                            ScintDD::PreshowerDetectorManager* detectorManager,
+                            const PreshowerGeometryManager* geometryManager,
+                            PreshowerMaterialManager* materials)
+  : PreshowerSharedComponentFactory(name, detectorManager, geometryManager, materials)
+{
+  getParameters();
+  m_physVolume = build();
+}
+
+void
+PreshowerWrapping::getParameters() 
+{
+  const PreshowerWrappingParameters * parameters = m_geometryManager->wrappingParameters();
+  const PreshowerGeneralParameters* generalParameters = m_geometryManager->generalParameters();
+
+  m_material  = m_materials->getMaterial(parameters->wrappingMaterial());
+  m_safety    = generalParameters->safety();
+  m_thickness = parameters->wrappingThickness();
+  m_width     = parameters->wrappingWidth();
+  m_length    = parameters->wrappingLength();
+}
+
+GeoVPhysVol * 
+PreshowerWrapping::build()
+{
+  // Just a simple box.
+  const GeoBox * simpleWrappingShape = new GeoBox(0.5*m_width,
+                                                  0.5*m_length,
+                                                  0.5*m_thickness);
+
+  const GeoLogVol * simpleWrappingLog = 
+    new GeoLogVol(getName(), simpleWrappingShape, m_material);
+
+  GeoPhysVol * simpleWrapping = new GeoPhysVol(simpleWrappingLog);
+
+  return simpleWrapping;
+}
diff --git a/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerWrapping.h b/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerWrapping.h
new file mode 100644
index 0000000000000000000000000000000000000000..a29c03d88eea701a101b1cf5f092c4db2492413b
--- /dev/null
+++ b/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerWrapping.h
@@ -0,0 +1,42 @@
+/*
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef VETOGEOMODEL_VETOWRAPPING_H
+#define VETOGEOMODEL_VETOWRAPPING_H
+
+#include "PreshowerComponentFactory.h"
+
+class GeoVPhysVol;
+class GeoFullPhysVol;
+class GeoLogVol;
+class GeoMaterial;
+
+class PreshowerWrapping : public PreshowerSharedComponentFactory
+{
+
+public:
+  PreshowerWrapping(const std::string & name,
+               ScintDD::PreshowerDetectorManager* detectorManager,
+               const PreshowerGeometryManager* geometryManager,
+               PreshowerMaterialManager* materials);
+
+public:
+  const GeoMaterial * material() const {return m_material;}
+  double thickness()   const {return m_thickness;}
+  double width()       const {return m_width;}
+  double length()      const {return m_length;}
+ 
+private:
+  virtual GeoVPhysVol * build();
+  void getParameters();
+ 
+  const GeoMaterial * m_material;
+  double      m_thickness;
+  double      m_width;
+  double      m_length;
+
+  double      m_safety;
+};
+
+#endif // VETOGEOMODEL_VETOWRAPPING_H
diff --git a/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerWrappingParameters.cxx b/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerWrappingParameters.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..d5c5bb9132318e099cbd2ea1392e0e707a977663
--- /dev/null
+++ b/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerWrappingParameters.cxx
@@ -0,0 +1,46 @@
+/*
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+*/
+
+#include "PreshowerWrappingParameters.h"
+#include "PreshowerGeometryManager.h"
+
+#include "PreshowerDataBase.h"
+
+#include "RDBAccessSvc/IRDBRecord.h"
+#include "GaudiKernel/SystemOfUnits.h"
+
+#include <cmath>
+
+
+PreshowerWrappingParameters::PreshowerWrappingParameters(PreshowerDataBase* rdb)
+{
+  m_rdb = rdb;
+}
+
+//
+// Wrapping General
+//
+double 
+PreshowerWrappingParameters::wrappingWidth() const
+{
+  return m_rdb->wrappingGeneral()->getDouble("WIDTH") * Gaudi::Units::mm; 
+}
+
+double 
+PreshowerWrappingParameters::wrappingLength() const
+{
+  return m_rdb->wrappingGeneral()->getDouble("LENGTH") * Gaudi::Units::mm; 
+}
+
+double 
+PreshowerWrappingParameters::wrappingThickness() const
+{
+  return m_rdb->wrappingGeneral()->getDouble("THICKNESS") * Gaudi::Units::mm; 
+}
+
+std::string PreshowerWrappingParameters::wrappingMaterial() const
+{
+  return m_rdb->wrappingGeneral()->getString("MATERIAL");
+}
+
diff --git a/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerWrappingParameters.h b/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerWrappingParameters.h
new file mode 100644
index 0000000000000000000000000000000000000000..ba67d3b7bc36912ff9e9ae26813e49327051f20e
--- /dev/null
+++ b/Scintillator/ScintDetDescr/PreshowerGeoModel/src/PreshowerWrappingParameters.h
@@ -0,0 +1,31 @@
+/*
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef PreshowerGeoModel_PreshowerWrappingParameters_H
+#define PreshowerGeoModel_PreshowerWrappingParameters_H
+
+#include <string>
+
+class PreshowerDataBase;
+
+class PreshowerWrappingParameters {
+
+public:
+
+  // Constructor 
+  PreshowerWrappingParameters(PreshowerDataBase* rdb);
+
+  // Barrel General
+  double wrappingThickness() const;
+  double wrappingWidth() const;
+  double wrappingLength() const;
+  std::string wrappingMaterial() const;
+
+ private:
+  PreshowerDataBase * m_rdb;
+
+};
+
+
+#endif // PreshowerGeoModel_PreshowerWrappingParameters_H
diff --git a/Scintillator/ScintDetDescr/TriggerGeoModel/src/TriggerDataBase.cxx b/Scintillator/ScintDetDescr/TriggerGeoModel/src/TriggerDataBase.cxx
index fdc662e74df6fc709aba6e41fd61988fc4b1fdea..b76da53afb4d5a1f0bc770bb344e9a4a5f2a489e 100644
--- a/Scintillator/ScintDetDescr/TriggerGeoModel/src/TriggerDataBase.cxx
+++ b/Scintillator/ScintDetDescr/TriggerGeoModel/src/TriggerDataBase.cxx
@@ -77,6 +77,10 @@ TriggerDataBase::TriggerDataBase(const TriggerGeoModelAthenaComps * athenaComps)
   m_plateGeneral = rdbSvc->getRecordsetPtr("TriggerPlateGeneral", versionTag, versionNode, "FASERDD");
   msg(MSG::DEBUG) << "Table TriggerPlateGeneral Fetched" << endmsg;
 
+  m_wrappingGeneral = rdbSvc->getRecordsetPtr("TriggerWrappingGeneral", versionTag, versionNode, "FASERDD");
+  msg(MSG::DEBUG) << "Table TriggerWrappingGeneral Fetched" << endmsg;
+
+
 }
 
 const TriggerGeoModelAthenaComps* TriggerDataBase::athenaComps() const { return m_athenaComps; }
@@ -93,6 +97,7 @@ IRDBRecordset_ptr TriggerDataBase::topLevelTable() const {return m_topLevel;}
 
 const IRDBRecord* TriggerDataBase::stationGeneral() const {return (*m_stationGeneral)[0];}
 const IRDBRecord* TriggerDataBase::plateGeneral() const {return (*m_plateGeneral)[0];}
+const IRDBRecord* TriggerDataBase::wrappingGeneral() const {return (*m_wrappingGeneral)[0];}
 
 const std::string & TriggerDataBase::versionTag() const {
   return m_triggerVersionTag;
diff --git a/Scintillator/ScintDetDescr/TriggerGeoModel/src/TriggerDataBase.h b/Scintillator/ScintDetDescr/TriggerGeoModel/src/TriggerDataBase.h
index 99dcf0b53b0e543de00bb899ab60ddb5bfb8d99c..acffb89e06b924de017d5afdc4d8ab03df03f09a 100644
--- a/Scintillator/ScintDetDescr/TriggerGeoModel/src/TriggerDataBase.h
+++ b/Scintillator/ScintDetDescr/TriggerGeoModel/src/TriggerDataBase.h
@@ -41,6 +41,7 @@ public:
 //   const IRDBRecord* brlThermalShield() const;
   const IRDBRecord* stationGeneral() const;
   const IRDBRecord* plateGeneral() const;
+  const IRDBRecord* wrappingGeneral() const;
 //   const IRDBRecord* brlFSI() const;
 //   int brlFSISize() const;
 //   const IRDBRecord* brlFSILocation(int i) const;
@@ -119,6 +120,7 @@ private:
 //   IRDBRecordset_ptr m_brlThermalShield;
   IRDBRecordset_ptr m_stationGeneral;
   IRDBRecordset_ptr m_plateGeneral;
+  IRDBRecordset_ptr m_wrappingGeneral;
 //   IRDBRecordset_ptr m_brlFSI;
 //   IRDBRecordset_ptr m_brlFSILocation;
 //   IRDBRecordset_ptr m_fwdSensor;
diff --git a/Scintillator/ScintDetDescr/TriggerGeoModel/src/TriggerDetectorFactory.cxx b/Scintillator/ScintDetDescr/TriggerGeoModel/src/TriggerDetectorFactory.cxx
index 0df14cc6d216888f268ba7d71072583b78d14309..8816c6c49c7ebff06ab1ae412c7da64c5fae3d60 100644
--- a/Scintillator/ScintDetDescr/TriggerGeoModel/src/TriggerDetectorFactory.cxx
+++ b/Scintillator/ScintDetDescr/TriggerGeoModel/src/TriggerDetectorFactory.cxx
@@ -21,6 +21,7 @@
 
 #include "TriggerStation.h"
 #include "TriggerPlate.h"
+#include "TriggerWrapping.h"
 #include "TriggerDataBase.h"
 #include "TriggerGeoModel/TriggerGeoModelAthenaComps.h"
 
@@ -162,6 +163,8 @@ void TriggerDetectorFactory::create(GeoPhysVol *world)
   //
   TriggerPlate plate("Plate", m_detectorManager, m_geometryManager, m_materials);
   msg(MSG::DEBUG) << "Created Trigger plate with dimensions (" << plate.thickness() << "," << plate.width() << "," << plate.length() << ")" << endmsg;
+  TriggerWrapping wrapping("Wrapping", m_detectorManager, m_geometryManager, m_materials);
+  msg(MSG::DEBUG) << "Created Trigger wrapping with dimensions (" << wrapping.thickness() << "," << wrapping.width() << "," << wrapping.length() << ")" << endmsg;
   //
   // Station A
   //
@@ -171,7 +174,7 @@ void TriggerDetectorFactory::create(GeoPhysVol *world)
       m_detectorManager->numerology().addStation(0);
 
     // Create the station
-    TriggerStation stationA("TriggerStationA", &plate, m_detectorManager, m_geometryManager, m_materials);
+    TriggerStation stationA("TriggerStationA", &plate, &wrapping, m_detectorManager, m_geometryManager, m_materials);
     TriggerIdentifier id{m_geometryManager->athenaComps()->getIdHelper()};
     id.setStation(0);
     msg(MSG::VERBOSE) << "Building Station A physical volume" << endmsg;
diff --git a/Scintillator/ScintDetDescr/TriggerGeoModel/src/TriggerGeometryManager.cxx b/Scintillator/ScintDetDescr/TriggerGeoModel/src/TriggerGeometryManager.cxx
index 39fef7a42a2c445d340834b2d7da55a9ef95b188..dc4876392fc57774fcc8f6e30ee7b1573fad73dc 100644
--- a/Scintillator/ScintDetDescr/TriggerGeoModel/src/TriggerGeometryManager.cxx
+++ b/Scintillator/ScintDetDescr/TriggerGeoModel/src/TriggerGeometryManager.cxx
@@ -8,6 +8,7 @@
 #include "ScintIdentifier/TriggerID.h"
 #include "ScintReadoutGeometry/ScintCommonItems.h"
 #include "TriggerStationParameters.h"
+#include "TriggerWrappingParameters.h"
 #include "TriggerPlateParameters.h"
 #include "TriggerDataBase.h"
 #include "TriggerGeneralParameters.h"
@@ -21,6 +22,7 @@ TriggerGeometryManager::TriggerGeometryManager(TriggerDataBase* rdb)
   m_commonItems = new ScintDD::ScintCommonItems(m_athenaComps->getIdHelper());
 
   m_stationParameters = std::make_unique<TriggerStationParameters>(m_rdb);
+  m_wrappingParameters = std::make_unique<TriggerWrappingParameters>(m_rdb);
   m_plateParameters = std::make_unique<TriggerPlateParameters>(m_rdb);
   m_generalParameters = std::make_unique<TriggerGeneralParameters>(m_rdb);
   m_distortedMatManager = std::make_unique<ScintDD::DistortedMaterialManager>();
@@ -67,6 +69,12 @@ TriggerGeometryManager::stationParameters() const
   return m_stationParameters.get();
 }
 
+const TriggerWrappingParameters * 
+TriggerGeometryManager::wrappingParameters() const
+{    
+  return m_wrappingParameters.get();
+}
+
 const TriggerPlateParameters * 
 TriggerGeometryManager::plateParameters() const
 {    
@@ -93,6 +101,7 @@ TriggerGeometryManager::operator=(const TriggerGeometryManager& right) {
     m_commonItems = right.m_commonItems;
     m_rdb = right.m_rdb;
     m_stationParameters.reset(new TriggerStationParameters(m_rdb));
+    m_wrappingParameters.reset(new TriggerWrappingParameters(m_rdb));
     m_plateParameters.reset(new TriggerPlateParameters(m_rdb));
     m_generalParameters.reset(new TriggerGeneralParameters(m_rdb));
     m_distortedMatManager.reset(new ScintDD::DistortedMaterialManager());
@@ -106,6 +115,7 @@ TriggerGeometryManager::TriggerGeometryManager(const TriggerGeometryManager& rig
   m_commonItems = right.m_commonItems;
   m_rdb = right.m_rdb;
   m_stationParameters.reset(new TriggerStationParameters(m_rdb));
+  m_wrappingParameters.reset(new TriggerWrappingParameters(m_rdb));
   m_plateParameters.reset(new TriggerPlateParameters(m_rdb));
   m_generalParameters.reset(new TriggerGeneralParameters(m_rdb));
   m_distortedMatManager.reset(new ScintDD::DistortedMaterialManager());
diff --git a/Scintillator/ScintDetDescr/TriggerGeoModel/src/TriggerGeometryManager.h b/Scintillator/ScintDetDescr/TriggerGeoModel/src/TriggerGeometryManager.h
index 862e5e49b9834a4ba00e1d5e766e18ab21ab6d98..302fa97778453fe2b32bf5a27247a3a3827718d0 100644
--- a/Scintillator/ScintDetDescr/TriggerGeoModel/src/TriggerGeometryManager.h
+++ b/Scintillator/ScintDetDescr/TriggerGeoModel/src/TriggerGeometryManager.h
@@ -15,6 +15,7 @@ namespace ScintDD {
 }
 
 class TriggerStationParameters;
+class TriggerWrappingParameters;
 class TriggerPlateParameters;
 class TriggerDataBase;
 class TriggerGeneralParameters;
@@ -41,6 +42,7 @@ public:
   const ScintDD::ScintCommonItems * commonItems() const;
 
   const TriggerStationParameters*             stationParameters() const;
+  const TriggerWrappingParameters*            wrappingParameters() const;
   const TriggerPlateParameters*               plateParameters() const;
   const TriggerGeneralParameters*             generalParameters() const;
   const ScintDD::DistortedMaterialManager* distortedMatManager() const;
@@ -56,6 +58,7 @@ private:
   TriggerDataBase* m_rdb;
  
   std::unique_ptr<TriggerStationParameters> m_stationParameters;
+  std::unique_ptr<TriggerWrappingParameters> m_wrappingParameters;
   std::unique_ptr<TriggerPlateParameters> m_plateParameters;
   std::unique_ptr<TriggerGeneralParameters> m_generalParameters;
   std::unique_ptr<ScintDD::DistortedMaterialManager> m_distortedMatManager;
diff --git a/Scintillator/ScintDetDescr/TriggerGeoModel/src/TriggerStation.cxx b/Scintillator/ScintDetDescr/TriggerGeoModel/src/TriggerStation.cxx
index 06d5c2432f60466a996c3f9358641c3e2517ae4b..e3b256acf1c2ef112bb4dc362a6fc124b56c9c30 100644
--- a/Scintillator/ScintDetDescr/TriggerGeoModel/src/TriggerStation.cxx
+++ b/Scintillator/ScintDetDescr/TriggerGeoModel/src/TriggerStation.cxx
@@ -11,6 +11,7 @@
 #include "TriggerGeneralParameters.h"
 #include "TriggerIdentifier.h"
 #include "TriggerPlate.h"
+#include "TriggerWrapping.h"
 
 #include "ScintReadoutGeometry/TriggerDetectorManager.h"
 
@@ -33,11 +34,12 @@
 
 TriggerStation::TriggerStation(const std::string & name,
                          TriggerPlate* plate,
+                         TriggerWrapping* wrapping,
                          ScintDD::TriggerDetectorManager* detectorManager,
                          const TriggerGeometryManager* geometryManager,
                          TriggerMaterialManager* materials)
   : TriggerUniqueComponentFactory(name, detectorManager, geometryManager, materials),
-  m_plate { plate }
+  m_plate { plate }, m_wrapping{ wrapping }
 {
   getParameters();
   m_logVolume = preBuild();
@@ -60,7 +62,7 @@ TriggerStation::getParameters()
   // m_length = m_plate->length() + m_safety; // veto
   // pitch includes thickness of one plate
   m_length = m_platePitchY + m_plate->length() + m_safety;
-  m_thickness = (m_numPlates - 1) * std::fabs(m_platePitchZ) + m_plate->thickness() + m_safety;
+  m_thickness = (m_numPlates - 1) * std::fabs(m_platePitchZ) + m_plate->thickness() + 2 * m_wrapping->thickness() + m_safety;
 
   // Set numerology
   m_detectorManager->numerology().setNumPlatesPerStation(m_numPlates);
@@ -84,20 +86,37 @@ TriggerStation::build(TriggerIdentifier id)
 
   double activeDepth = m_thickness - m_safety;
   double plateThickness = m_plate->thickness();
+  double wrappingThickness = m_wrapping->thickness();
   for (int iPlate = 0; iPlate < m_numPlates; iPlate++)
   {
+    double plateCenterY = -0.5*m_platePitchY + (iPlate%2) * m_platePitchY;
+    double plateCenterZ = -((plateThickness - activeDepth)/2 + wrappingThickness + iPlate * m_platePitchZ);
+
+    station->add(new GeoNameTag("Wrapping#"+intToString(iPlate)+"a"));
+    GeoTransform* transformA = new GeoTransform(GeoTrf::Translate3D(0.0,
+                                                                    plateCenterY,
+                                                                    plateCenterZ - plateThickness/2 - wrappingThickness/2));
+    station->add(transformA);
+    station->add(m_wrapping->getVolume());
+
     station->add(new GeoNameTag("Plate#"+intToString(iPlate)));
     station->add(new GeoIdentifierTag(iPlate));
     id.setPlate(iPlate);
-    double zPlate = -((plateThickness - activeDepth)/2 + iPlate * m_platePitchZ);
-    std::cout << "zPlate = " << zPlate << std::endl;
+    std::cout << "zPlate = " << plateCenterZ << std::endl;
     GeoAlignableTransform* transform = new GeoAlignableTransform(GeoTrf::Translate3D(0.0, 
-                                                                                     -0.5*m_platePitchY + (iPlate%2) * m_platePitchY,
-                                                                                     zPlate));
+                                                                                     plateCenterY,
+                                                                                     plateCenterZ));
     station->add(transform);
     GeoVPhysVol* platePV = m_plate->build(id);
     station->add(platePV);
     m_detectorManager->addAlignableTransform(0, id.getPlateId(), transform, platePV);
+
+    station->add(new GeoNameTag("Wrapping#"+intToString(iPlate)+"b"));
+    GeoTransform* transformB = new GeoTransform(GeoTrf::Translate3D(0.0,
+                                                                    plateCenterY,
+                                                                    plateCenterZ + plateThickness/2 + wrappingThickness/2));
+    station->add(transformB);
+    station->add(m_wrapping->getVolume());
   }  
   return station;
 }
diff --git a/Scintillator/ScintDetDescr/TriggerGeoModel/src/TriggerStation.h b/Scintillator/ScintDetDescr/TriggerGeoModel/src/TriggerStation.h
index e76dab65e32adfb6cf0254a141dca92b36a5aef5..addb62d4d24f2a05e32ca1e10b8a33c5827c6429 100644
--- a/Scintillator/ScintDetDescr/TriggerGeoModel/src/TriggerStation.h
+++ b/Scintillator/ScintDetDescr/TriggerGeoModel/src/TriggerStation.h
@@ -12,6 +12,7 @@ class GeoFullPhysVol;
 class GeoLogVol;
 class TriggerIdentifier;
 class TriggerPlate;
+class TriggerWrapping;
 
 class TriggerStation : public TriggerUniqueComponentFactory
 {
@@ -19,6 +20,7 @@ class TriggerStation : public TriggerUniqueComponentFactory
 public:
   TriggerStation(const std::string & name,
              TriggerPlate* plate,
+             TriggerWrapping* wrapping,
              ScintDD::TriggerDetectorManager* detectorManager,
              const TriggerGeometryManager* geometryManager,
              TriggerMaterialManager* materials);
@@ -37,6 +39,7 @@ private:
   virtual const GeoLogVol * preBuild();
  
   TriggerPlate*  m_plate;
+  TriggerWrapping* m_wrapping;
 
   int         m_numPlates;
   double      m_platePitchY;
diff --git a/Scintillator/ScintDetDescr/TriggerGeoModel/src/TriggerWrapping.cxx b/Scintillator/ScintDetDescr/TriggerGeoModel/src/TriggerWrapping.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..b20754630050368c48b575e16fba49293e4062bc
--- /dev/null
+++ b/Scintillator/ScintDetDescr/TriggerGeoModel/src/TriggerWrapping.cxx
@@ -0,0 +1,55 @@
+/*
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+*/
+
+#include "TriggerWrapping.h"
+
+#include "TriggerMaterialManager.h"
+
+#include "TriggerGeometryManager.h"
+#include "TriggerGeneralParameters.h"
+#include "TriggerWrappingParameters.h"
+
+#include "GeoModelKernel/GeoBox.h"
+#include "GeoModelKernel/GeoLogVol.h"
+#include "GeoModelKernel/GeoPhysVol.h"
+#include "GeoModelKernel/GeoMaterial.h"
+
+TriggerWrapping::TriggerWrapping(const std::string & name,
+                            ScintDD::TriggerDetectorManager* detectorManager,
+                            const TriggerGeometryManager* geometryManager,
+                            TriggerMaterialManager* materials)
+  : TriggerSharedComponentFactory(name, detectorManager, geometryManager, materials)
+{
+  getParameters();
+  m_physVolume = build();
+}
+
+void
+TriggerWrapping::getParameters() 
+{
+  const TriggerWrappingParameters * parameters = m_geometryManager->wrappingParameters();
+  const TriggerGeneralParameters* generalParameters = m_geometryManager->generalParameters();
+
+  m_material  = m_materials->getMaterial(parameters->wrappingMaterial());
+  m_safety    = generalParameters->safety();
+  m_thickness = parameters->wrappingThickness();
+  m_width     = parameters->wrappingWidth();
+  m_length    = parameters->wrappingLength();
+}
+
+GeoVPhysVol * 
+TriggerWrapping::build()
+{
+  // Just a simple box.
+  const GeoBox * simpleWrappingShape = new GeoBox(0.5*m_width,
+                                                  0.5*m_length,
+                                                  0.5*m_thickness);
+
+  const GeoLogVol * simpleWrappingLog = 
+    new GeoLogVol(getName(), simpleWrappingShape, m_material);
+
+  GeoPhysVol * simpleWrapping = new GeoPhysVol(simpleWrappingLog);
+
+  return simpleWrapping;
+}
diff --git a/Scintillator/ScintDetDescr/TriggerGeoModel/src/TriggerWrapping.h b/Scintillator/ScintDetDescr/TriggerGeoModel/src/TriggerWrapping.h
new file mode 100644
index 0000000000000000000000000000000000000000..15df4676c23887387323f414e5916ea5249f262c
--- /dev/null
+++ b/Scintillator/ScintDetDescr/TriggerGeoModel/src/TriggerWrapping.h
@@ -0,0 +1,42 @@
+/*
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef TRIGGERGEOMODEL_TRIGGERWRAPPING_H
+#define TRIGGERGEOMODEL_TRIGGERWRAPPING_H
+
+#include "TriggerComponentFactory.h"
+
+class GeoVPhysVol;
+class GeoFullPhysVol;
+class GeoLogVol;
+class GeoMaterial;
+
+class TriggerWrapping : public TriggerSharedComponentFactory
+{
+
+public:
+  TriggerWrapping(const std::string & name,
+               ScintDD::TriggerDetectorManager* detectorManager,
+               const TriggerGeometryManager* geometryManager,
+               TriggerMaterialManager* materials);
+
+public:
+  const GeoMaterial * material() const {return m_material;}
+  double thickness()   const {return m_thickness;}
+  double width()       const {return m_width;}
+  double length()      const {return m_length;}
+ 
+private:
+  virtual GeoVPhysVol * build();
+  void getParameters();
+ 
+  const GeoMaterial * m_material;
+  double      m_thickness;
+  double      m_width;
+  double      m_length;
+
+  double      m_safety;
+};
+
+#endif // VETOGEOMODEL_VETOWRAPPING_H
diff --git a/Scintillator/ScintDetDescr/TriggerGeoModel/src/TriggerWrappingParameters.cxx b/Scintillator/ScintDetDescr/TriggerGeoModel/src/TriggerWrappingParameters.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..4e99528555743a7b4fc5c03a57ed9595a46cb879
--- /dev/null
+++ b/Scintillator/ScintDetDescr/TriggerGeoModel/src/TriggerWrappingParameters.cxx
@@ -0,0 +1,46 @@
+/*
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+*/
+
+#include "TriggerWrappingParameters.h"
+#include "TriggerGeometryManager.h"
+
+#include "TriggerDataBase.h"
+
+#include "RDBAccessSvc/IRDBRecord.h"
+#include "GaudiKernel/SystemOfUnits.h"
+
+#include <cmath>
+
+
+TriggerWrappingParameters::TriggerWrappingParameters(TriggerDataBase* rdb)
+{
+  m_rdb = rdb;
+}
+
+//
+// Wrapping General
+//
+double 
+TriggerWrappingParameters::wrappingWidth() const
+{
+  return m_rdb->wrappingGeneral()->getDouble("WIDTH") * Gaudi::Units::mm; 
+}
+
+double 
+TriggerWrappingParameters::wrappingLength() const
+{
+  return m_rdb->wrappingGeneral()->getDouble("LENGTH") * Gaudi::Units::mm; 
+}
+
+double 
+TriggerWrappingParameters::wrappingThickness() const
+{
+  return m_rdb->wrappingGeneral()->getDouble("THICKNESS") * Gaudi::Units::mm; 
+}
+
+std::string TriggerWrappingParameters::wrappingMaterial() const
+{
+  return m_rdb->wrappingGeneral()->getString("MATERIAL");
+}
+
diff --git a/Scintillator/ScintDetDescr/TriggerGeoModel/src/TriggerWrappingParameters.h b/Scintillator/ScintDetDescr/TriggerGeoModel/src/TriggerWrappingParameters.h
new file mode 100644
index 0000000000000000000000000000000000000000..1d4cd5471871d04a127d2f309557f8876ec79c09
--- /dev/null
+++ b/Scintillator/ScintDetDescr/TriggerGeoModel/src/TriggerWrappingParameters.h
@@ -0,0 +1,31 @@
+/*
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef TriggerGeoModel_TriggerWrappingParameters_H
+#define TriggerGeoModel_TriggerWrappingParameters_H
+
+#include <string>
+
+class TriggerDataBase;
+
+class TriggerWrappingParameters {
+
+public:
+
+  // Constructor 
+  TriggerWrappingParameters(TriggerDataBase* rdb);
+
+  // Barrel General
+  double wrappingThickness() const;
+  double wrappingWidth() const;
+  double wrappingLength() const;
+  std::string wrappingMaterial() const;
+
+ private:
+  TriggerDataBase * m_rdb;
+
+};
+
+
+#endif // TriggerGeoModel_TriggerWrappingParameters_H
diff --git a/Scintillator/ScintDetDescr/VetoGeoModel/src/VetoDataBase.cxx b/Scintillator/ScintDetDescr/VetoGeoModel/src/VetoDataBase.cxx
index 2ef72a43a9063a8f00c9f74b8eac89f75eb3121c..4cdf47ced2af4f38227ab7b08e259b24ebb7f50a 100644
--- a/Scintillator/ScintDetDescr/VetoGeoModel/src/VetoDataBase.cxx
+++ b/Scintillator/ScintDetDescr/VetoGeoModel/src/VetoDataBase.cxx
@@ -80,6 +80,9 @@ VetoDataBase::VetoDataBase(const VetoGeoModelAthenaComps * athenaComps)
   m_radiatorGeneral = rdbSvc->getRecordsetPtr("VetoRadiatorGeneral", versionTag, versionNode, "FASERDD");
   msg(MSG::DEBUG) << "Table VetoRadiatorGeneral Fetched" << endmsg;
 
+  m_wrappingGeneral = rdbSvc->getRecordsetPtr("VetoWrappingGeneral", versionTag, versionNode, "FASERDD");
+  msg(MSG::DEBUG) << "Table VetoWrappingGeneral Fetched" << endmsg;
+
 
 }
 
@@ -98,6 +101,7 @@ IRDBRecordset_ptr VetoDataBase::topLevelTable() const {return m_topLevel;}
 const IRDBRecord* VetoDataBase::stationGeneral() const {return (*m_stationGeneral)[0];}
 const IRDBRecord* VetoDataBase::plateGeneral() const {return (*m_plateGeneral)[0];}
 const IRDBRecord* VetoDataBase::radiatorGeneral() const {return (*m_radiatorGeneral)[0];}
+const IRDBRecord* VetoDataBase::wrappingGeneral() const {return (*m_wrappingGeneral)[0];}
 
 const std::string & VetoDataBase::versionTag() const {
   return m_vetoVersionTag;
diff --git a/Scintillator/ScintDetDescr/VetoGeoModel/src/VetoDataBase.h b/Scintillator/ScintDetDescr/VetoGeoModel/src/VetoDataBase.h
index 74f2365b22dad7eb92ff5cb4513db45ceb29000f..6148a55c937b32bd2f491deb735b7dcf9ddb9546 100644
--- a/Scintillator/ScintDetDescr/VetoGeoModel/src/VetoDataBase.h
+++ b/Scintillator/ScintDetDescr/VetoGeoModel/src/VetoDataBase.h
@@ -42,6 +42,7 @@ public:
   const IRDBRecord* stationGeneral() const;
   const IRDBRecord* plateGeneral() const;
   const IRDBRecord* radiatorGeneral() const;
+  const IRDBRecord* wrappingGeneral() const;
 //   const IRDBRecord* brlFSI() const;
 //   int brlFSISize() const;
 //   const IRDBRecord* brlFSILocation(int i) const;
@@ -121,6 +122,7 @@ private:
   IRDBRecordset_ptr m_stationGeneral;
   IRDBRecordset_ptr m_plateGeneral;
   IRDBRecordset_ptr m_radiatorGeneral;
+  IRDBRecordset_ptr m_wrappingGeneral;
 //   IRDBRecordset_ptr m_brlFSI;
 //   IRDBRecordset_ptr m_brlFSILocation;
 //   IRDBRecordset_ptr m_fwdSensor;
diff --git a/Scintillator/ScintDetDescr/VetoGeoModel/src/VetoDetectorFactory.cxx b/Scintillator/ScintDetDescr/VetoGeoModel/src/VetoDetectorFactory.cxx
index 9d3d9659f6fd590cb053c589e53d8719cce3ebea..7a40a18e453dc3a1e459fbc665f7e643a11f4d3c 100644
--- a/Scintillator/ScintDetDescr/VetoGeoModel/src/VetoDetectorFactory.cxx
+++ b/Scintillator/ScintDetDescr/VetoGeoModel/src/VetoDetectorFactory.cxx
@@ -22,6 +22,7 @@
 #include "VetoStation.h"
 #include "VetoRadiator.h"
 #include "VetoPlate.h"
+#include "VetoWrapping.h"
 #include "VetoDataBase.h"
 #include "VetoGeoModel/VetoGeoModelAthenaComps.h"
 
@@ -160,6 +161,9 @@ void VetoDetectorFactory::create(GeoPhysVol *world)
   //
   VetoPlate plate("Plate", m_detectorManager, m_geometryManager, m_materials);
   msg(MSG::DEBUG) << "Created Veto plate with dimensions (" << plate.thickness() << "," << plate.width() << "," << plate.length() << ")" << endmsg;
+  VetoWrapping wrapping("Wrapping", m_detectorManager, m_geometryManager, m_materials);
+  msg(MSG::DEBUG) << "Created Veto wrapping with dimensions (" << wrapping.thickness() << "," << wrapping.width() << "," << wrapping.length() << ")" << endmsg;
+
   //
   // Station A
   //
@@ -169,7 +173,7 @@ void VetoDetectorFactory::create(GeoPhysVol *world)
       m_detectorManager->numerology().addStation(0);
 
     // Create the station
-    VetoStation stationA("VetoStationA", &plate, m_detectorManager, m_geometryManager, m_materials);
+    VetoStation stationA("VetoStationA", &plate, &wrapping, m_detectorManager, m_geometryManager, m_materials);
     VetoIdentifier id{m_geometryManager->athenaComps()->getIdHelper()};
     id.setStation(0);
     GeoVPhysVol* stationA_PV = stationA.build(id);
@@ -195,7 +199,7 @@ void VetoDetectorFactory::create(GeoPhysVol *world)
       m_detectorManager->numerology().addStation(1);
 
     // Create the station
-    VetoStation stationB("VetoStationB", &plate, m_detectorManager, m_geometryManager, m_materials);
+    VetoStation stationB("VetoStationB", &plate, &wrapping, m_detectorManager, m_geometryManager, m_materials);
     VetoIdentifier id{m_geometryManager->athenaComps()->getIdHelper()};
     id.setStation(1);
     GeoVPhysVol* stationB_PV = stationB.build(id);
diff --git a/Scintillator/ScintDetDescr/VetoGeoModel/src/VetoGeometryManager.cxx b/Scintillator/ScintDetDescr/VetoGeoModel/src/VetoGeometryManager.cxx
index 53190a50a7897d448b2ebdea0f108b83d5917765..3e3d23f2cbe3ad6358b4f6cbaedf1cad7b481a50 100644
--- a/Scintillator/ScintDetDescr/VetoGeoModel/src/VetoGeometryManager.cxx
+++ b/Scintillator/ScintDetDescr/VetoGeoModel/src/VetoGeometryManager.cxx
@@ -10,6 +10,7 @@
 #include "VetoStationParameters.h"
 #include "VetoPlateParameters.h"
 #include "VetoRadiatorParameters.h"
+#include "VetoWrappingParameters.h"
 #include "VetoDataBase.h"
 #include "VetoGeneralParameters.h"
 #include "VetoGeoModel/VetoGeoModelAthenaComps.h"
@@ -24,6 +25,7 @@ VetoGeometryManager::VetoGeometryManager(VetoDataBase* rdb)
   m_stationParameters = std::make_unique<VetoStationParameters>(m_rdb);
   m_plateParameters = std::make_unique<VetoPlateParameters>(m_rdb);
   m_radiatorParameters = std::make_unique<VetoRadiatorParameters>(m_rdb);
+  m_wrappingParameters = std::make_unique<VetoWrappingParameters>(m_rdb);
   m_generalParameters = std::make_unique<VetoGeneralParameters>(m_rdb);
   m_distortedMatManager = std::make_unique<ScintDD::DistortedMaterialManager>();
 }
@@ -81,6 +83,12 @@ VetoGeometryManager::radiatorParameters() const
   return m_radiatorParameters.get();
 }
 
+const VetoWrappingParameters * 
+VetoGeometryManager::wrappingParameters() const
+{    
+  return m_wrappingParameters.get();
+}
+
 
 const VetoGeneralParameters * 
 VetoGeometryManager::generalParameters() const
@@ -104,6 +112,7 @@ VetoGeometryManager::operator=(const VetoGeometryManager& right) {
     m_stationParameters.reset(new VetoStationParameters(m_rdb));
     m_plateParameters.reset(new VetoPlateParameters(m_rdb));
     m_radiatorParameters.reset(new VetoRadiatorParameters(m_rdb));
+    m_wrappingParameters.reset(new VetoWrappingParameters(m_rdb));
     m_generalParameters.reset(new VetoGeneralParameters(m_rdb));
     m_distortedMatManager.reset(new ScintDD::DistortedMaterialManager());
   }
@@ -118,6 +127,7 @@ VetoGeometryManager::VetoGeometryManager(const VetoGeometryManager& right) {
   m_stationParameters.reset(new VetoStationParameters(m_rdb));
   m_plateParameters.reset(new VetoPlateParameters(m_rdb));
   m_radiatorParameters.reset(new VetoRadiatorParameters(m_rdb));
+  m_wrappingParameters.reset(new VetoWrappingParameters(m_rdb));
   m_generalParameters.reset(new VetoGeneralParameters(m_rdb));
   m_distortedMatManager.reset(new ScintDD::DistortedMaterialManager());
 }
diff --git a/Scintillator/ScintDetDescr/VetoGeoModel/src/VetoGeometryManager.h b/Scintillator/ScintDetDescr/VetoGeoModel/src/VetoGeometryManager.h
index 317cfd1442aace6744701381910420dec9172f13..91a811055b457f0d1aef47cfb9562c7de141ee69 100644
--- a/Scintillator/ScintDetDescr/VetoGeoModel/src/VetoGeometryManager.h
+++ b/Scintillator/ScintDetDescr/VetoGeoModel/src/VetoGeometryManager.h
@@ -17,6 +17,7 @@ namespace ScintDD {
 class VetoStationParameters;
 class VetoPlateParameters;
 class VetoRadiatorParameters;
+class VetoWrappingParameters;
 class VetoDataBase;
 class VetoGeneralParameters;
 class VetoGeoModelAthenaComps;
@@ -44,6 +45,7 @@ public:
   const VetoStationParameters*             stationParameters() const;
   const VetoPlateParameters*               plateParameters() const;
   const VetoRadiatorParameters*            radiatorParameters() const;
+  const VetoWrappingParameters*            wrappingParameters() const;
   const VetoGeneralParameters*             generalParameters() const;
   const ScintDD::DistortedMaterialManager* distortedMatManager() const;
 
@@ -60,6 +62,7 @@ private:
   std::unique_ptr<VetoStationParameters> m_stationParameters;
   std::unique_ptr<VetoPlateParameters> m_plateParameters;
   std::unique_ptr<VetoRadiatorParameters> m_radiatorParameters;
+  std::unique_ptr<VetoWrappingParameters> m_wrappingParameters;
   std::unique_ptr<VetoGeneralParameters> m_generalParameters;
   std::unique_ptr<ScintDD::DistortedMaterialManager> m_distortedMatManager;
 
diff --git a/Scintillator/ScintDetDescr/VetoGeoModel/src/VetoStation.cxx b/Scintillator/ScintDetDescr/VetoGeoModel/src/VetoStation.cxx
index 7354aadd0329f299a531ec559067d9fa10e88b04..05e4a8b0bcb628a699b917cfecf9612d7910aeae 100644
--- a/Scintillator/ScintDetDescr/VetoGeoModel/src/VetoStation.cxx
+++ b/Scintillator/ScintDetDescr/VetoGeoModel/src/VetoStation.cxx
@@ -11,6 +11,7 @@
 #include "VetoGeneralParameters.h"
 #include "VetoIdentifier.h"
 #include "VetoPlate.h"
+#include "VetoWrapping.h"
 
 #include "ScintReadoutGeometry/VetoDetectorManager.h"
 
@@ -33,11 +34,12 @@
 
 VetoStation::VetoStation(const std::string & name,
                          VetoPlate* plate,
+                         VetoWrapping* wrapping,
                          ScintDD::VetoDetectorManager* detectorManager,
                          const VetoGeometryManager* geometryManager,
                          VetoMaterialManager* materials)
   : VetoUniqueComponentFactory(name, detectorManager, geometryManager, materials),
-  m_plate { plate }
+  m_plate { plate }, m_wrapping { wrapping }
 {
   getParameters();
   m_logVolume = preBuild();
@@ -58,7 +60,7 @@ VetoStation::getParameters()
   m_width  = m_plate->width() + m_safety;
   m_length = m_plate->length() + m_safety;
   // pitch includes thickness of one plate
-  m_thickness = (m_numPlates - 1) * m_platePitch + m_plate->thickness() + m_safety;
+  m_thickness = (m_numPlates - 1) * m_platePitch + m_plate->thickness() + 2 * m_wrapping->thickness() + m_safety;
 
   // Set numerology
   m_detectorManager->numerology().setNumPlatesPerStation(m_numPlates);
@@ -82,18 +84,37 @@ VetoStation::build(VetoIdentifier id)
 
   double activeDepth = m_thickness - m_safety;
   double plateThickness = m_plate->thickness();
+  double wrappingThickness = m_wrapping->thickness();
+
   for (int iPlate = 0; iPlate < m_numPlates; iPlate++)
   {
+    double plateCenterZ = (plateThickness - activeDepth)/2 + wrappingThickness + iPlate * m_platePitch;
+
+    station->add(new GeoNameTag("Wrapping#"+intToString(iPlate)+"a"));
+    GeoTransform* transformA = new GeoTransform(GeoTrf::Translate3D(0.0,
+                                                                    0.0,
+                                                                    plateCenterZ - plateThickness/2 - wrappingThickness/2));
+    station->add(transformA);
+    station->add(m_wrapping->getVolume());
+
     station->add(new GeoNameTag("Plate#"+intToString(iPlate)));
     station->add(new GeoIdentifierTag(iPlate));
     id.setPlate(iPlate);
     GeoAlignableTransform* transform = new GeoAlignableTransform(GeoTrf::Translate3D(0.0, 
                                                                                      0.0,
-                                                                                     (plateThickness - activeDepth)/2 + iPlate * m_platePitch));
+                                                                                     plateCenterZ));
     station->add(transform);
     GeoVPhysVol* platePV = m_plate->build(id);
     station->add(platePV);
     m_detectorManager->addAlignableTransform(0, id.getPlateId(), transform, platePV);
+
+    station->add(new GeoNameTag("Wrapping#"+intToString(iPlate)+"b"));
+    GeoTransform* transformB = new GeoTransform(GeoTrf::Translate3D(0.0,
+                                                                    0.0,
+                                                                    plateCenterZ + plateThickness/2 + wrappingThickness/2));
+    station->add(transformB);
+    station->add(m_wrapping->getVolume());
+
   }  
   return station;
 }
diff --git a/Scintillator/ScintDetDescr/VetoGeoModel/src/VetoStation.h b/Scintillator/ScintDetDescr/VetoGeoModel/src/VetoStation.h
index bb91ace47c4942eeeb4d9b9cb6a44ae48f93fb58..1ef8b2e51c217b11d258dd569f3d97cb2651301d 100644
--- a/Scintillator/ScintDetDescr/VetoGeoModel/src/VetoStation.h
+++ b/Scintillator/ScintDetDescr/VetoGeoModel/src/VetoStation.h
@@ -12,6 +12,7 @@ class GeoFullPhysVol;
 class GeoLogVol;
 class VetoIdentifier;
 class VetoPlate;
+class VetoWrapping;
 
 class VetoStation : public VetoUniqueComponentFactory
 {
@@ -19,6 +20,7 @@ class VetoStation : public VetoUniqueComponentFactory
 public:
   VetoStation(const std::string & name,
              VetoPlate* plate,
+             VetoWrapping* wrapping,
              ScintDD::VetoDetectorManager* detectorManager,
              const VetoGeometryManager* geometryManager,
              VetoMaterialManager* materials);
@@ -36,6 +38,7 @@ private:
   virtual const GeoLogVol * preBuild();
  
   VetoPlate*  m_plate;
+  VetoWrapping* m_wrapping;
 
   int         m_numPlates;
   double      m_platePitch;
diff --git a/Scintillator/ScintDetDescr/VetoGeoModel/src/VetoWrapping.cxx b/Scintillator/ScintDetDescr/VetoGeoModel/src/VetoWrapping.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..a90c6005b3a48f72c9de5a00bb16ca4437121338
--- /dev/null
+++ b/Scintillator/ScintDetDescr/VetoGeoModel/src/VetoWrapping.cxx
@@ -0,0 +1,55 @@
+/*
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+*/
+
+#include "VetoWrapping.h"
+
+#include "VetoMaterialManager.h"
+
+#include "VetoGeometryManager.h"
+#include "VetoGeneralParameters.h"
+#include "VetoWrappingParameters.h"
+
+#include "GeoModelKernel/GeoBox.h"
+#include "GeoModelKernel/GeoLogVol.h"
+#include "GeoModelKernel/GeoPhysVol.h"
+#include "GeoModelKernel/GeoMaterial.h"
+
+VetoWrapping::VetoWrapping(const std::string & name,
+                            ScintDD::VetoDetectorManager* detectorManager,
+                            const VetoGeometryManager* geometryManager,
+                            VetoMaterialManager* materials)
+  : VetoSharedComponentFactory(name, detectorManager, geometryManager, materials)
+{
+  getParameters();
+  m_physVolume = build();
+}
+
+void
+VetoWrapping::getParameters() 
+{
+  const VetoWrappingParameters * parameters = m_geometryManager->wrappingParameters();
+  const VetoGeneralParameters* generalParameters = m_geometryManager->generalParameters();
+
+  m_material  = m_materials->getMaterial(parameters->wrappingMaterial());
+  m_safety    = generalParameters->safety();
+  m_thickness = parameters->wrappingThickness();
+  m_width     = parameters->wrappingWidth();
+  m_length    = parameters->wrappingLength();
+}
+
+GeoVPhysVol * 
+VetoWrapping::build()
+{
+  // Just a simple box.
+  const GeoBox * simpleWrappingShape = new GeoBox(0.5*m_width,
+                                                  0.5*m_length,
+                                                  0.5*m_thickness);
+
+  const GeoLogVol * simpleWrappingLog = 
+    new GeoLogVol(getName(), simpleWrappingShape, m_material);
+
+  GeoPhysVol * simpleWrapping = new GeoPhysVol(simpleWrappingLog);
+
+  return simpleWrapping;
+}
diff --git a/Scintillator/ScintDetDescr/VetoGeoModel/src/VetoWrapping.h b/Scintillator/ScintDetDescr/VetoGeoModel/src/VetoWrapping.h
new file mode 100644
index 0000000000000000000000000000000000000000..026f3c7cafab41ed178b24fa37faaa6c45a80072
--- /dev/null
+++ b/Scintillator/ScintDetDescr/VetoGeoModel/src/VetoWrapping.h
@@ -0,0 +1,42 @@
+/*
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef VETOGEOMODEL_VETOWRAPPING_H
+#define VETOGEOMODEL_VETOWRAPPING_H
+
+#include "VetoComponentFactory.h"
+
+class GeoVPhysVol;
+class GeoFullPhysVol;
+class GeoLogVol;
+class GeoMaterial;
+
+class VetoWrapping : public VetoSharedComponentFactory
+{
+
+public:
+  VetoWrapping(const std::string & name,
+               ScintDD::VetoDetectorManager* detectorManager,
+               const VetoGeometryManager* geometryManager,
+               VetoMaterialManager* materials);
+
+public:
+  const GeoMaterial * material() const {return m_material;}
+  double thickness()   const {return m_thickness;}
+  double width()       const {return m_width;}
+  double length()      const {return m_length;}
+ 
+private:
+  virtual GeoVPhysVol * build();
+  void getParameters();
+ 
+  const GeoMaterial * m_material;
+  double      m_thickness;
+  double      m_width;
+  double      m_length;
+
+  double      m_safety;
+};
+
+#endif // VETOGEOMODEL_VETOWRAPPING_H
diff --git a/Scintillator/ScintDetDescr/VetoGeoModel/src/VetoWrappingParameters.cxx b/Scintillator/ScintDetDescr/VetoGeoModel/src/VetoWrappingParameters.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..5eee796e674b30f109790ac449c1ac2b4453f305
--- /dev/null
+++ b/Scintillator/ScintDetDescr/VetoGeoModel/src/VetoWrappingParameters.cxx
@@ -0,0 +1,46 @@
+/*
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+*/
+
+#include "VetoWrappingParameters.h"
+#include "VetoGeometryManager.h"
+
+#include "VetoDataBase.h"
+
+#include "RDBAccessSvc/IRDBRecord.h"
+#include "GaudiKernel/SystemOfUnits.h"
+
+#include <cmath>
+
+
+VetoWrappingParameters::VetoWrappingParameters(VetoDataBase* rdb)
+{
+  m_rdb = rdb;
+}
+
+//
+// Wrapping General
+//
+double 
+VetoWrappingParameters::wrappingWidth() const
+{
+  return m_rdb->wrappingGeneral()->getDouble("WIDTH") * Gaudi::Units::mm; 
+}
+
+double 
+VetoWrappingParameters::wrappingLength() const
+{
+  return m_rdb->wrappingGeneral()->getDouble("LENGTH") * Gaudi::Units::mm; 
+}
+
+double 
+VetoWrappingParameters::wrappingThickness() const
+{
+  return m_rdb->wrappingGeneral()->getDouble("THICKNESS") * Gaudi::Units::mm; 
+}
+
+std::string VetoWrappingParameters::wrappingMaterial() const
+{
+  return m_rdb->wrappingGeneral()->getString("MATERIAL");
+}
+
diff --git a/Scintillator/ScintDetDescr/VetoGeoModel/src/VetoWrappingParameters.h b/Scintillator/ScintDetDescr/VetoGeoModel/src/VetoWrappingParameters.h
new file mode 100644
index 0000000000000000000000000000000000000000..c08a9985b104639ed9cae347417b90f56fbfba62
--- /dev/null
+++ b/Scintillator/ScintDetDescr/VetoGeoModel/src/VetoWrappingParameters.h
@@ -0,0 +1,31 @@
+/*
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef VetoGeoModel_VetoWrappingParameters_H
+#define VetoGeoModel_VetoWrappingParameters_H
+
+#include <string>
+
+class VetoDataBase;
+
+class VetoWrappingParameters {
+
+public:
+
+  // Constructor 
+  VetoWrappingParameters(VetoDataBase* rdb);
+
+  // Barrel General
+  double wrappingThickness() const;
+  double wrappingWidth() const;
+  double wrappingLength() const;
+  std::string wrappingMaterial() const;
+
+ private:
+  VetoDataBase * m_rdb;
+
+};
+
+
+#endif // VetoGeoModel_VetoWrappingParameters_H
diff --git a/Scintillator/ScintDigiAlgs/CMakeLists.txt b/Scintillator/ScintDigiAlgs/CMakeLists.txt
index 5c1874e2502241f919efb21ade0e7c26de7369ca..d2de59c66529f8e9fb68e68a48259e764ecd96be 100644
--- a/Scintillator/ScintDigiAlgs/CMakeLists.txt
+++ b/Scintillator/ScintDigiAlgs/CMakeLists.txt
@@ -9,9 +9,9 @@ atlas_subdir( ScintDigiAlgs )
 atlas_add_component( ScintDigiAlgs
                      src/*.cxx src/*.h
                      src/components/*.cxx
-                     LINK_LIBRARIES AthenaBaseComps Identifier ScintIdentifier 
-		     WaveformConditionsToolsLib StoreGateLib WaveRawEvent 
-		     ScintSimEvent WaveDigiToolsLib)
+                     LINK_LIBRARIES AthenaBaseComps Identifier StoreGateLib 
+		     ScintIdentifier ScintReadoutGeometry ScintSimEvent 
+		     WaveRawEvent WaveformConditionsToolsLib WaveDigiToolsLib)
 
 atlas_install_python_modules( python/*.py )
 
diff --git a/Scintillator/ScintDigiAlgs/python/ScintDigiAlgsConfig.py b/Scintillator/ScintDigiAlgs/python/ScintDigiAlgsConfig.py
index 538f8d2a3f64e9d8189bd8d849cd784af7441be5..5ed331105cc6fa9a493c923d4c32ea64e2de5a9c 100644
--- a/Scintillator/ScintDigiAlgs/python/ScintDigiAlgsConfig.py
+++ b/Scintillator/ScintDigiAlgs/python/ScintDigiAlgsConfig.py
@@ -20,13 +20,13 @@ def ScintWaveformDigitizationCfg(flags, **kwargs):
     kwargs.pop("digiTag")
 
     if "TB" in flags.GeoModel.FaserVersion:
-        acc.merge(ScintWaveformDigiCfg(flags, "VetoWaveformDigiAlg", "Veto"))
-        acc.merge(ScintWaveformDigiCfg(flags, "PreshowerWaveformDigiAlg", "Preshower"))
+        acc.merge(ScintWaveformDigiCfg(flags, "VetoWaveformDigiAlg", "Veto", **kwargs))
+        acc.merge(ScintWaveformDigiCfg(flags, "PreshowerWaveformDigiAlg", "Preshower", **kwargs))
     else:
-        acc.merge(ScintWaveformDigiCfg(flags, "TriggerWaveformDigiAlg", "Trigger"))
-        acc.merge(ScintWaveformDigiCfg(flags, "VetoWaveformDigiAlg", "Veto"))
-        acc.merge(ScintWaveformDigiCfg(flags, "VetoNuWaveformDigiAlg", "VetoNu"))
-        acc.merge(ScintWaveformDigiCfg(flags, "PreshowerWaveformDigiAlg", "Preshower"))
+        acc.merge(ScintWaveformDigiCfg(flags, "TriggerWaveformDigiAlg", "Trigger", **kwargs))
+        acc.merge(ScintWaveformDigiCfg(flags, "VetoWaveformDigiAlg", "Veto", **kwargs))
+        acc.merge(ScintWaveformDigiCfg(flags, "VetoNuWaveformDigiAlg", "VetoNu", **kwargs))
+        acc.merge(ScintWaveformDigiCfg(flags, "PreshowerWaveformDigiAlg", "Preshower", **kwargs))
 
     acc.merge(ScintWaveformDigitizationOutputCfg(flags))
     acc.merge(WaveformCableMappingCfg(flags))
@@ -39,7 +39,7 @@ def ScintWaveformDigiCfg(flags, name="ScintWaveformDigiAlg", source="", **kwargs
 
     acc = ComponentAccumulator()
 
-    tool = CompFactory.WaveformDigitisationTool(name=source+"WaveformDigtisationTool", **kwargs)
+    tool = CompFactory.WaveformDigitisationTool(name=source+"WaveformDigtisationTool")
     kwargs.setdefault("WaveformDigitisationTool", tool)
     
     kwargs.setdefault("ScintHitContainerKey", source+"Hits")
diff --git a/Scintillator/ScintDigiAlgs/src/ScintWaveformDigiAlg.cxx b/Scintillator/ScintDigiAlgs/src/ScintWaveformDigiAlg.cxx
index 1869860e84a401fffbfe6a588d6b8e78ba702e9a..00d498b31ff73084f008048f6a643c2b3fabc699 100644
--- a/Scintillator/ScintDigiAlgs/src/ScintWaveformDigiAlg.cxx
+++ b/Scintillator/ScintDigiAlgs/src/ScintWaveformDigiAlg.cxx
@@ -1,6 +1,13 @@
 #include "ScintWaveformDigiAlg.h"
 
-#include "ScintSimEvent/ScintHitIdHelper.h"
+#include "ScintReadoutGeometry/VetoDetectorManager.h"
+#include "ScintReadoutGeometry/VetoNuDetectorManager.h"
+#include "ScintReadoutGeometry/TriggerDetectorManager.h"
+#include "ScintReadoutGeometry/PreshowerDetectorManager.h"
+
+#include "ScintReadoutGeometry/ScintDetectorElement.h"
+
+#include "GaudiKernel/PhysicalConstants.h"
 
 #include <map>
 #include <cmath>
@@ -27,15 +34,13 @@ ScintWaveformDigiAlg::initialize() {
   // Set key to write container
   ATH_CHECK( m_waveformContainerKey.initialize() );
 
-  // Set up helpers
-  ATH_CHECK(detStore()->retrieve(m_vetoID, "VetoID"));
-  ATH_CHECK(detStore()->retrieve(m_vetoNuID, "VetoNuID"));
-  ATH_CHECK(detStore()->retrieve(m_triggerID, "TriggerID"));
-  ATH_CHECK(detStore()->retrieve(m_preshowerID, "PreshowerID"));
-
-  // Need to set this on first event
-  m_kernel = 0;
-
+  // And print out our timing simulation
+  if (m_advancedTiming) {
+    ATH_MSG_INFO("Using improved digitization timing");
+  } else {
+    ATH_MSG_INFO("Using simple digitization timing");
+  }
+  
   return StatusCode::SUCCESS;
 }
 
@@ -43,9 +48,6 @@ StatusCode
 ScintWaveformDigiAlg::finalize() {
   ATH_MSG_INFO(name() << "::finalize()");
 
-  if (m_kernel)
-    delete m_kernel;
-
   return StatusCode::SUCCESS;
 }
 
@@ -71,138 +73,31 @@ ScintWaveformDigiAlg::execute(const EventContext& ctx) const {
     return StatusCode::SUCCESS;
   }
 
-  if (!m_kernel) {
-
-    ATH_MSG_INFO(name() << ": initialize waveform digitization kernel");
-    ATH_MSG_INFO(" Norm:  " << m_digiCondTool->cb_norm(ctx));
-    ATH_MSG_INFO(" Mean:  " << m_digiCondTool->cb_mean(ctx));
-    ATH_MSG_INFO(" Sigma: " << m_digiCondTool->cb_sigma(ctx));
-    ATH_MSG_INFO(" Alpha: " << m_digiCondTool->cb_alpha(ctx));
-    ATH_MSG_INFO(" N:     " << m_digiCondTool->cb_n(ctx));
-
-    // Set up waveform shape
-    m_kernel = new TF1("PDF", "[4] * ROOT::Math::crystalball_pdf(x, [0],[1],[2],[3])", 0, 1200);
-
-    m_kernel->SetParameter(0, m_digiCondTool->cb_alpha(ctx));
-    m_kernel->SetParameter(1, m_digiCondTool->cb_n(ctx));
-    m_kernel->SetParameter(2, m_digiCondTool->cb_sigma(ctx));
-    m_kernel->SetParameter(3, m_digiCondTool->cb_mean(ctx));
-    m_kernel->SetParameter(4, m_digiCondTool->cb_norm(ctx));
-    
-    // Pre-evaluate time kernel for each bin
-    m_timekernel = m_digiTool->evaluate_timekernel(m_kernel);
-
-    // Also save the baseline parameters
-    m_base_mean = m_digiCondTool->base_mean(ctx); 
-    m_base_rms  = m_digiCondTool->base_rms(ctx); 
-  }
-  
   // Create structure to store pulse for each channel
   std::map<Identifier, std::vector<uint16_t>> waveforms;
+  waveforms.clear();
 
-  auto first = *scintHitHandle->begin();
-  if (first.isVeto()) {
-    waveforms = m_digiTool->create_waveform_map(m_vetoID);
-  } else if (first.isVetoNu()) {
-    waveforms = m_digiTool->create_waveform_map(m_vetoNuID); 
-  } else if (first.isTrigger()) {
-    waveforms = m_digiTool->create_waveform_map(m_triggerID);
-  } else if (first.isPreshower()) {
-    waveforms = m_digiTool->create_waveform_map(m_preshowerID);
-  } 
-
-  // Sum energy for each channel (i.e. identifier)
-  std::map<Identifier, float> esum;  
-
-  Identifier id;
-  for (const auto& hit : *scintHitHandle) { 
-    if (first.isTrigger()) {
-      Identifier plate_id = m_triggerID->plate_id(hit.getIdentifier());      
-      // Need to do something better here, but for now just fill both
-      id = m_triggerID->pmt_id(plate_id, 0); // ID for PMT 0
-      esum[id] += hit.energyLoss();
-      id = m_triggerID->pmt_id(plate_id, 1); // ID for PMT 1
-      esum[id] += hit.energyLoss();
-    } else {
-      // All others have only 1 PMT
-      // Use detector id (not hit id) throughout
-      id = hit.getIdentifier();
-      esum[id] += hit.energyLoss();
-    }
-  }
-
-  // Loop over time samples
-  for (const auto& tk : m_timekernel) {
-    std::map<Identifier, float> counts;
-   
-//     // Convolve hit energy with evaluated kernel and sum for each hit id (i.e. channel)
-//     Identifier id;
-//     for (const auto& hit : *scintHitHandle) {            
-// 
-//       // Special handling for trigger scintillator
-//       if (first.isTrigger()) {
-// 	// Hits are created per plate
-// 	// Need to split between 2 PMTs
-// 
-// 	// Identifier from hit is plate ID
-// 	Identifier plate_id = m_triggerID->plate_id(hit.getIdentifier());
-// 
-// 	// Need to do something better here, but for now just fill both
-// 	id = m_triggerID->pmt_id(plate_id, 0); // ID for PMT 0
-// 	counts[id] += tk * hit.energyLoss();
-// 	id = m_triggerID->pmt_id(plate_id, 1); // ID for PMT 1
-// 	counts[id] += tk * hit.energyLoss();
-// 
-//       } else {
-// 	// All others have only 1 PMT
-// 	// Use detector id (not hit id) throughout
-// 	id = hit.getIdentifier();
-// 	counts[id] += tk * hit.energyLoss();
-//       }
-//     }
-
-    // Convolve summed energy with evaluated kernel for each hit id (i.e. channel)
-    for (const auto& e : esum) {
-      // Convert hit id to Identifier and store 
-      id = e.first;
-      counts[id] = tk * e.second;
-    }
+  if (m_first) {
+    m_first = false;
 
-    // Subtract count from basleine and add result to correct waveform vector
-    for (const auto& c : counts) {
-
-      float baseline = m_digiTool->generate_baseline(m_base_mean, m_base_rms);
-      int value = std::round(baseline - c.second);
-
-      if (value < 0) {
-	ATH_MSG_WARNING("Found pulse " << c.second << " larger than baseline " << c.first);
-	value = 0; // Protect against scaling signal above baseline
-      }
-
-      // Convert hit id to Identifier and store 
-      id = c.first;
-      waveforms[id].push_back(value);
-    }
+    // Write kernel parameters
+    ATH_MSG_INFO(name() << ": initialize waveform digitization kernel");
+    ATH_MSG_INFO(" Norm:  " << m_digiCondTool->cb_norm());
+    ATH_MSG_INFO(" Mean:  " << m_digiCondTool->cb_mean());
+    ATH_MSG_INFO(" Sigma: " << m_digiCondTool->cb_sigma());
+    ATH_MSG_INFO(" Alpha: " << m_digiCondTool->cb_alpha());
+    ATH_MSG_INFO(" N:     " << m_digiCondTool->cb_n());
   }
-
-  // This is a bit of a hack to make sure all waveforms have
-  // at least baseline entries.  Should really add this to the 
-  // logic above
-  for (const auto& w : waveforms) {
-    if (w.second.size() > 0) continue;
-
-    // Waveform was empty, fill with baseline
-    int channel = m_mappingTool->getChannelMapping(w.first);
-    ATH_MSG_DEBUG("Writing baseline into empty waveform in channel "<< channel);
-    int i = m_digiTool->nsamples();
-    while(i--) {  // Use while to avoid unused variable warning with for
-      int baseline = m_digiTool->generate_baseline(m_base_mean, m_base_rms);
-      waveforms[w.first].push_back(baseline);
-    }
+  
+  // Try our new tool instead
+  if (m_advancedTiming) {
+    waveforms = m_digiTool->generate_scint_timing_waveforms(ctx, m_digiCondTool, scintHitHandle.get());
+  } else {
+    waveforms = m_digiTool->generate_scint_waveforms(ctx, m_digiCondTool, scintHitHandle.get());
   }
 
-  // Loop over wavefrom vectors to make and store raw waveform
-  unsigned int nsamples = m_digiTool->nsamples();
+  // Loop over waveform vectors to make and store raw waveform
+  unsigned int nsamples = m_digiTool->digitizer_samples();
   for (const auto& w : waveforms) {
     RawWaveform* wfm = new RawWaveform();
     wfm->setWaveform(0, w.second);
@@ -221,5 +116,10 @@ ScintWaveformDigiAlg::execute(const EventContext& ctx) const {
 
   ATH_MSG_DEBUG("WaveformsHitContainer " << waveformContainerHandle.name() << "' filled with "<< waveformContainerHandle->size() <<" items");
 
+  // Cleanup 
+  waveforms.clear();
+
   return StatusCode::SUCCESS;
 }
+
+
diff --git a/Scintillator/ScintDigiAlgs/src/ScintWaveformDigiAlg.h b/Scintillator/ScintDigiAlgs/src/ScintWaveformDigiAlg.h
index 99c374f556226ff758e055ee35571f4ba742cac3..feaba91ae4de7e35dc750cb6d91bb46b519a1d3e 100644
--- a/Scintillator/ScintDigiAlgs/src/ScintWaveformDigiAlg.h
+++ b/Scintillator/ScintDigiAlgs/src/ScintWaveformDigiAlg.h
@@ -21,19 +21,6 @@
 #include "GaudiKernel/ServiceHandle.h"
 #include "GaudiKernel/ToolHandle.h"
 
-//Helpers
-#include "ScintIdentifier/VetoID.h"
-#include "ScintIdentifier/VetoNuID.h"
-#include "ScintIdentifier/TriggerID.h"
-#include "ScintIdentifier/PreshowerID.h"
-#include "ScintSimEvent/ScintHitIdHelper.h"
-#include "Identifier/Identifier.h"
-
-
-// ROOT
-#include "TF1.h"
-
-
 // STL
 #include <string>
 #include <vector>
@@ -52,6 +39,9 @@ class ScintWaveformDigiAlg : public AthReentrantAlgorithm {
   virtual StatusCode finalize() override;
   //@}
 
+  //
+  // Simulate detailed timing of waveforms
+  BooleanProperty m_advancedTiming{this, "AdvancedTiming", true};
 
  private:
 
@@ -62,55 +52,38 @@ class ScintWaveformDigiAlg : public AthReentrantAlgorithm {
   ScintWaveformDigiAlg &operator=(const ScintWaveformDigiAlg&) = delete;
   //@}
 
-  /// 
-
-  // We use these a lot, so read them once from the conditions tool
-  mutable float m_base_mean;
-  mutable float m_base_rms;
-
-
-  /** Kernel PDF and evaluated values **/
-  //@{
-  mutable TF1*                            m_kernel;
-  mutable std::vector<float>              m_timekernel;
-  //@}
-  
-
-  /// Detector ID helpers
-  const VetoID* m_vetoID{nullptr};
-  const VetoNuID* m_vetoNuID{nullptr};
-  const TriggerID* m_triggerID{nullptr};
-  const PreshowerID* m_preshowerID{nullptr};
-
   /**
    * @name Digitisation tool
    */
+  //@{
   ToolHandle<IWaveformDigitisationTool> m_digiTool
     {this, "WaveformDigitisationTool", "WaveformDigitisationTool"};
+  //@}
 
   /**
    * @name Mapping tool
    */
+  //@{
   ToolHandle<IWaveformCableMappingTool> m_mappingTool
     {this, "WaveformCableMappingTool", "WaveformCableMappingTool"};
+  //@}
 
   /**
    * @name Digitization parameters tool
    */
+  //@{
   ToolHandle<IWaveformDigiConditionsTool> m_digiCondTool
     {this, "DigiConditionsTool", ""};
+  //@}
 
   /**
    * @name Input HITS using SG::ReadHandleKey
    */
   //@{
-
   SG::ReadHandleKey<ScintHitCollection> m_scintHitContainerKey 
   {this, "ScintHitContainerKey", ""};
-
   //@}
 
-
   /**
    * @name Output data using SG::WriteHandleKey
    */
@@ -119,6 +92,7 @@ class ScintWaveformDigiAlg : public AthReentrantAlgorithm {
     {this, "WaveformContainerKey", ""};
   //@}
 
+  mutable bool m_first {true};
 };
 
 
diff --git a/Simulation/G4Faser/G4FaserAlg/CMakeLists.txt b/Simulation/G4Faser/G4FaserAlg/CMakeLists.txt
index 979897a94c4b476433d0ef3fe2ceeb31105f9ef5..ec2babac5f7c92340ffff8b39f318e7e7013fde2 100644
--- a/Simulation/G4Faser/G4FaserAlg/CMakeLists.txt
+++ b/Simulation/G4Faser/G4FaserAlg/CMakeLists.txt
@@ -31,21 +31,32 @@ atlas_add_test( G4FaserAlgConfig_TestFaser
                 PROPERTIES TIMEOUT 300 
                 PROPERTIES WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
 
-atlas_add_test( G4FaserAlgConfig_TestFaserNu
-                SCRIPT python ${CMAKE_CURRENT_SOURCE_DIR}/test/G4FaserAlgConfigNew_Test.py GeoModel.FaserVersion="'FASERNU-03'" IOVDb.GlobalTag="'OFLCOND-FASER-02'" Output.HITSFileName='faserNu.HITS.pool.root'
+atlas_add_test( G4FaserAlgConfig_TestFaserNu03
+                SCRIPT python ${CMAKE_CURRENT_SOURCE_DIR}/test/G4FaserAlgConfigNew_Test.py GeoModel.FaserVersion="'FASERNU-03'" IOVDb.GlobalTag="'OFLCOND-FASER-02'" Output.HITSFileName='faserNu03.HITS.pool.root'
                 PROPERTIES TIMEOUT 300 
                 PROPERTIES WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
 
-atlas_add_test( G4FaserAlgConfig_TestFaserNu_NewField
-                SCRIPT python ${CMAKE_CURRENT_SOURCE_DIR}/test/G4FaserAlgConfigNew_Test.py GeoModel.FaserVersion="'FASERNU-03'" IOVDb.GlobalTag="'OFLCOND-FASER-03'" Output.HITSFileName='faserNu.HITS.pool.root'
+atlas_add_test( G4FaserAlgConfig_TestFaserNu03_NewField
+                SCRIPT python ${CMAKE_CURRENT_SOURCE_DIR}/test/G4FaserAlgConfigNew_Test.py GeoModel.FaserVersion="'FASERNU-03'" IOVDb.GlobalTag="'OFLCOND-FASER-03'" Output.HITSFileName='faserNu03_NewField.HITS.pool.root'
                 PROPERTIES TIMEOUT 300 
                 PROPERTIES WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
 
-atlas_add_test( G4FaserAlgConfig_TestTestbeam
-                SCRIPT python ${CMAKE_CURRENT_SOURCE_DIR}/test/G4FaserAlgConfigNew_Test.py GeoModel.FaserVersion="'FASER-TB00'" IOVDb.GlobalTag="'OFLCOND-FASER-TB00'" Output.HITSFileName='tb.HITS.pool.root'
+atlas_add_test( G4FaserAlgConfig_TestFaserNu04
+                SCRIPT python ${CMAKE_CURRENT_SOURCE_DIR}/test/G4FaserAlgConfigNew_Test.py GeoModel.FaserVersion="'FASERNU-04'" IOVDb.GlobalTag="'OFLCOND-FASER-03'" Output.HITSFileName='faserNu04.HITS.pool.root'
                 PROPERTIES TIMEOUT 300 
                 PROPERTIES WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
 
+atlas_add_test( G4FaserAlgConfig_TestTestbeam00
+                SCRIPT python ${CMAKE_CURRENT_SOURCE_DIR}/test/G4FaserAlgConfigNew_Test.py GeoModel.FaserVersion="'FASER-TB00'" IOVDb.GlobalTag="'OFLCOND-FASER-TB00'" Output.HITSFileName='tb00.HITS.pool.root'
+                PROPERTIES TIMEOUT 300 
+                PROPERTIES WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
+
+atlas_add_test( G4FaserAlgConfig_TestTestbeam01
+                SCRIPT python ${CMAKE_CURRENT_SOURCE_DIR}/test/G4FaserAlgConfigNew_Test.py GeoModel.FaserVersion="'FASER-TB01'" IOVDb.GlobalTag="'OFLCOND-FASER-TB00'" Output.HITSFileName='tb01.HITS.pool.root'
+                PROPERTIES TIMEOUT 300 
+                PROPERTIES WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
+
+
 # Install files from the package:
 atlas_install_python_modules( python/*.py )
 atlas_install_scripts( test/*.py )
diff --git a/Simulation/G4Faser/G4FaserAlg/test/G4FaserAlgConfigNew_Test.py b/Simulation/G4Faser/G4FaserAlg/test/G4FaserAlgConfigNew_Test.py
index 5ff7e6b96d1c04ce7869062feb8bea942e8f380e..fb07e943ab87584ec8990cf7e1dbdb2d75359795 100755
--- a/Simulation/G4Faser/G4FaserAlg/test/G4FaserAlgConfigNew_Test.py
+++ b/Simulation/G4Faser/G4FaserAlg/test/G4FaserAlgConfigNew_Test.py
@@ -48,7 +48,7 @@ if __name__ == '__main__':
     ConfigFlags.addFlag("Sim.Beam.xshift", 0)  # Potential beam shift
     ConfigFlags.addFlag("Sim.Beam.yshift", 0)        
 
-    ConfigFlags.GeoModel.FaserVersion = "FASERNU-03"             # Geometry set-up
+    ConfigFlags.GeoModel.FaserVersion = "FASERNU-04"             # Geometry set-up
     ConfigFlags.IOVDb.GlobalTag = "OFLCOND-FASER-03"             # Conditions set-up
     ConfigFlags.addFlag("Input.InitialTimeStamp", 0)             # To avoid autoconfig 
     ConfigFlags.GeoModel.Align.Dynamic = False
@@ -84,7 +84,7 @@ if __name__ == '__main__':
         detectors += ['Trigger', 'Dipole']
     if ConfigFlags.GeoModel.FaserVersion.count("FASERNU") > 0 :
         detectors += ['Emulsion']
-    if ConfigFlags.GeoModel.FaserVersion.count("FASERNU-03") > 0:
+    if ConfigFlags.GeoModel.FaserVersion.count("FASERNU-03") > 0 or ConfigFlags.GeoModel.FaserVersion.count("FASERNU-04") > 0:
         detectors += ['VetoNu', 'Trench']
 #
 # Setup detector flags
@@ -172,6 +172,11 @@ if __name__ == '__main__':
 
     #cfg.getEventAlgo("OutputStreamHITS").ItemList += ["McEventCollection#BeamTruthEvent_ATLASCoord"]    
 #
+# Uncomment to check volumes for overlap - will cause CTest to fail due to overwriting file
+#
+#    from G4DebuggingTools.G4DebuggingToolsConfigNew import VolumeDebugger
+#    cfg.merge(VolumeDebugger(ConfigFlags, name="G4UA::UserActionSvc", TargetVolume="", Verbose=True))
+#
 # Dump config
 #
     from AthenaConfiguration.ComponentFactory import CompFactory
diff --git a/Simulation/G4Faser/G4FaserTools/python/G4GeometryToolConfig.py b/Simulation/G4Faser/G4FaserTools/python/G4GeometryToolConfig.py
index 4e6f59490a97baee0020453bb9572fab2b090fbc..a98b46638f7595405208e4b8932295c606360fb0 100644
--- a/Simulation/G4Faser/G4FaserTools/python/G4GeometryToolConfig.py
+++ b/Simulation/G4Faser/G4FaserTools/python/G4GeometryToolConfig.py
@@ -180,9 +180,9 @@ def FASEREnvelopeCfg(ConfigFlags, name="Faser", **kwargs):
     kwargs.setdefault("OffsetX", 0.0 * mm)
     kwargs.setdefault("OffsetY", 0.0 * mm)
     kwargs.setdefault("OffsetZ", 0.0 * mm)
-    kwargs.setdefault("dX", 600.0 * mm) 
-    kwargs.setdefault("dY", 600.0 * mm) 
-    kwargs.setdefault("dZ", 4000.0 * mm) 
+    kwargs.setdefault("dX", 6000.0 * mm) 
+    kwargs.setdefault("dY", 2500.0 * mm) 
+    kwargs.setdefault("dZ", 12000.0 * mm) 
 
     kwargs.setdefault("DetectorName", "Faser")
     SubDetectorList = result.popToolsAndMerge(generateSubDetectorList(ConfigFlags))
diff --git a/Tracker/TrackerDetDescr/DipoleGeoModel/DipoleGeoModel/DipoleDataBase.h b/Tracker/TrackerDetDescr/DipoleGeoModel/DipoleGeoModel/DipoleDataBase.h
index 0e44163469241251bf38f77141c12350b87448d8..f49af0bf12e9d8d7d6f80d60b6daeea1f58c47a5 100644
--- a/Tracker/TrackerDetDescr/DipoleGeoModel/DipoleGeoModel/DipoleDataBase.h
+++ b/Tracker/TrackerDetDescr/DipoleGeoModel/DipoleGeoModel/DipoleDataBase.h
@@ -30,6 +30,7 @@ public:
   // const IRDBRecord* conditions() const;
 
   const IRDBRecord* dipoleGeneral() const;
+  const IRDBRecord* dipoleWrapping() const;
   // Return the Dipole version tag.
   const std::string & versionTag() const;
 
@@ -52,6 +53,7 @@ private:
   // IRDBRecordset_ptr m_conditions;
 
   IRDBRecordset_ptr m_dipoleGeneral;
+  IRDBRecordset_ptr m_dipoleWrapping;
 
 };
 
diff --git a/Tracker/TrackerDetDescr/DipoleGeoModel/DipoleGeoModel/DipoleWrappingParameters.h b/Tracker/TrackerDetDescr/DipoleGeoModel/DipoleGeoModel/DipoleWrappingParameters.h
new file mode 100644
index 0000000000000000000000000000000000000000..c6976f917aee37fe7a567a20fdebed87f149f31e
--- /dev/null
+++ b/Tracker/TrackerDetDescr/DipoleGeoModel/DipoleGeoModel/DipoleWrappingParameters.h
@@ -0,0 +1,40 @@
+/*
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef DipoleGeoModel_DipoleWrappingParameters_H
+#define DipoleGeoModel_DipoleWrappingParameters_H
+
+#include "GeoModelKernel/GeoDefinitions.h"
+
+#include <map>
+#include <string>
+
+class DipoleDataBase;
+
+class DipoleWrappingParameters {
+
+public:
+
+  DipoleWrappingParameters(DipoleDataBase* rdb);
+  ~DipoleWrappingParameters();
+  //Explicitly disallow copy, assignment to appease coverity
+  DipoleWrappingParameters(const DipoleWrappingParameters &) = delete;
+  DipoleWrappingParameters & operator=(const DipoleWrappingParameters &) = delete;
+
+  // General
+  double safety() const;
+
+  std::string material1() const;
+  std::string material2() const;
+  double      radius() const;
+  double      thickness1() const;
+  double      thickness2() const;
+private:
+
+  DipoleDataBase * m_rdb;
+    
+};
+
+
+#endif // DipoleGeoModel_DipoleWrappingParameters_H
diff --git a/Tracker/TrackerDetDescr/DipoleGeoModel/src/DipoleDataBase.cxx b/Tracker/TrackerDetDescr/DipoleGeoModel/src/DipoleDataBase.cxx
index 2feae9b62dfd0453c827ccbc58c8356b06937d25..cda5f7e9ee057a0b5382c6ee0921e23bc776c87d 100644
--- a/Tracker/TrackerDetDescr/DipoleGeoModel/src/DipoleDataBase.cxx
+++ b/Tracker/TrackerDetDescr/DipoleGeoModel/src/DipoleDataBase.cxx
@@ -77,6 +77,10 @@ DipoleDataBase::DipoleDataBase(const TrackerDD::AthenaComps * athenaComps)
   m_dipoleGeneral = rdbSvc->getRecordsetPtr("DipoleGeneral", versionTag, versionNode, "FASERDD");
   msg(MSG::DEBUG) << "Table DipoleGeneral Fetched" << endmsg;
 
+  // Dipole Wrapping
+  m_dipoleWrapping = rdbSvc->getRecordsetPtr("DipoleWrappingGeneral", versionTag, versionNode, "FASERDD");
+  msg(MSG::DEBUG) << "Table DipoleWrappingGeneral Fetched" << endmsg;
+
 }
 
 const TrackerDD::AthenaComps* DipoleDataBase::athenaComps() const { return m_athenaComps; }
@@ -92,6 +96,8 @@ IRDBRecordset_ptr DipoleDataBase::topLevelTable() const {return m_topLevel;}
 
 const IRDBRecord* DipoleDataBase::dipoleGeneral() const {return (*m_dipoleGeneral)[0];}
 
+const IRDBRecord* DipoleDataBase::dipoleWrapping() const {return (*m_dipoleWrapping)[0];}
+
 const std::string & DipoleDataBase::versionTag() const {
   return m_dipoleVersionTag;
 }
diff --git a/Tracker/TrackerDetDescr/DipoleGeoModel/src/DipoleFactory.cxx b/Tracker/TrackerDetDescr/DipoleGeoModel/src/DipoleFactory.cxx
index 44a3416863e0c3c2e07cbce0782cb867b7900854..ccfda716028494d56d7c2cac629c42113252b1cd 100644
--- a/Tracker/TrackerDetDescr/DipoleGeoModel/src/DipoleFactory.cxx
+++ b/Tracker/TrackerDetDescr/DipoleGeoModel/src/DipoleFactory.cxx
@@ -6,6 +6,7 @@
 
 #include "DipoleGeoModel/DipoleDataBase.h"
 #include "DipoleGeoModel/DipoleGeneralParameters.h"
+#include "DipoleGeoModel/DipoleWrappingParameters.h"
 
 // Extra material
 #include "TrackerGeoModelUtils/DistortedMaterialManager.h"
@@ -83,15 +84,40 @@ void DipoleFactory::create(GeoPhysVol *world )
 //   materialManager->addScalingTable(scalingTable);
 
   auto parameters = std::make_unique<DipoleGeneralParameters>(m_db);
+  auto wrappingParameters = std::make_unique<DipoleWrappingParameters>(m_db);
 
-//   const GeoMaterial* air = materialManager->getMaterial("std::Air");
+  const GeoMaterial* air = materialManager->getMaterial("std::Air");
   const GeoMaterial* NdFeB = materialManager->getMaterial(parameters->material());
+  const GeoMaterial* upstreamMaterial = materialManager->getMaterial(wrappingParameters->material1());
+  const GeoMaterial* downstreamMaterial = materialManager->getMaterial(wrappingParameters->material2());
+  double upstreamThickness = wrappingParameters->thickness1();
+  double downstreamThickness = wrappingParameters->thickness2();
+  double wrappingRadius = wrappingParameters->radius();
+  msg(MSG::ALWAYS) << "Upstream wrapping thickness: " << upstreamThickness << "; Downstream wrapping thickness: " << downstreamThickness << endmsg;
+  msg(MSG::ALWAYS) << "Upstream wrapping position: " << -(parameters->longLength() + upstreamThickness)/2 << "; Downstream wrapping position: " << (parameters->longLength() + downstreamThickness)/2 << endmsg;
 
   GeoTrf::Transform3D dipoleTransform = parameters->partTransform("Dipole");
   const GeoTube* shortShape = new GeoTube(parameters->innerRadius(), parameters->outerRadius(), parameters->shortLength()/2);
   GeoLogVol* shortLog = new GeoLogVol("ShortDipole", shortShape, NdFeB);
   const GeoTube* longShape = new GeoTube(parameters->innerRadius(), parameters->outerRadius(), parameters->longLength()/2);
   GeoLogVol* longLog = new GeoLogVol("LongDipole", longShape, NdFeB);
+  // const GeoTube* wrappedShape = new GeoTube(parameters->innerRadius(), std::max(parameters->outerRadius(), wrappingRadius), parameters->longLength()/2 + std::max(upstreamThickness, downstreamThickness));
+  const GeoTube* wrappedShape = new GeoTube(0.0, std::max(parameters->outerRadius(), wrappingRadius), parameters->longLength()/2 + std::max(upstreamThickness, downstreamThickness));
+  GeoLogVol* wrappedLog = new GeoLogVol("WrappedLongDipole", wrappedShape, air);
+  GeoPhysVol* wrappedPV = new GeoPhysVol(wrappedLog);
+  GeoPhysVol* longPV = new GeoPhysVol(longLog);
+  wrappedPV->add(longPV);
+  const GeoTube* upstreamShape = new GeoTube(0.0, wrappingRadius, upstreamThickness/2);
+  GeoLogVol* upstreamLog = new GeoLogVol("UpstreamWrapping", upstreamShape, upstreamMaterial);
+  GeoPhysVol* upstreamPV = new GeoPhysVol(upstreamLog);
+  wrappedPV->add(new GeoTransform(GeoTrf::Translate3D(0.0, 0.0, -(parameters->longLength() + upstreamThickness)/2)));
+  wrappedPV->add(upstreamPV);
+
+  const GeoTube* downstreamShape = new GeoTube(0.0, wrappingRadius, downstreamThickness/2);
+  GeoLogVol* downstreamLog = new GeoLogVol("DownstreamWrapping", downstreamShape, downstreamMaterial);
+  GeoPhysVol* downstreamPV = new GeoPhysVol(downstreamLog);
+  wrappedPV->add(new GeoTransform(GeoTrf::Translate3D(0.0, 0.0, (parameters->longLength() + downstreamThickness)/2)));
+  wrappedPV->add(downstreamPV);
 
   std::vector<std::string> partNames {"UpstreamDipole", "CentralDipole", "DownstreamDipole"};
   for (int station = 0; station < 3; station++)
@@ -105,7 +131,8 @@ void DipoleFactory::create(GeoPhysVol *world )
       GeoPhysVol* dipolePV {nullptr};
       if (station == 0)
       {
-        dipolePV = new GeoPhysVol(longLog);
+        // dipolePV = new GeoPhysVol(longLog);
+        dipolePV = wrappedPV;
       }
       else
       {
diff --git a/Tracker/TrackerDetDescr/DipoleGeoModel/src/DipoleWrappingParameters.cxx b/Tracker/TrackerDetDescr/DipoleGeoModel/src/DipoleWrappingParameters.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..4cf4eef59838585c4f685cf84ebe7b9613673304
--- /dev/null
+++ b/Tracker/TrackerDetDescr/DipoleGeoModel/src/DipoleWrappingParameters.cxx
@@ -0,0 +1,64 @@
+/*
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+*/
+
+#include "DipoleGeoModel/DipoleWrappingParameters.h"
+#include "DipoleGeoModel/DipoleDataBase.h"
+#include "RDBAccessSvc/IRDBRecord.h"
+#include "RDBAccessSvc/IRDBRecordset.h"
+#include "GaudiKernel/SystemOfUnits.h"
+#include "GeoModelKernel/GeoDefinitions.h"
+
+const double DIPOLE_SAFETY = 0.01 * Gaudi::Units::mm; // Used in some places to make envelopes slightly larger to ensure
+                                     // no overlaps due to rounding errors.
+
+
+DipoleWrappingParameters::DipoleWrappingParameters(DipoleDataBase* rdb)
+{
+  m_rdb = rdb;
+}
+
+
+DipoleWrappingParameters::~DipoleWrappingParameters()
+{ }
+
+//
+// General
+//
+double 
+DipoleWrappingParameters::safety() const
+{
+  return DIPOLE_SAFETY;
+}
+
+std::string
+DipoleWrappingParameters::material1() const
+{
+    return m_rdb->dipoleWrapping()->getString("MATERIAL1");
+}
+
+std::string
+DipoleWrappingParameters::material2() const
+{
+    return m_rdb->dipoleWrapping()->getString("MATERIAL2");
+}
+
+double
+DipoleWrappingParameters::radius() const
+{
+    return m_rdb->dipoleWrapping()->getDouble("RADIUS");
+}
+
+double
+DipoleWrappingParameters::thickness1() const
+{
+    return m_rdb->dipoleWrapping()->getDouble("THICKNESS1");
+}
+
+double
+DipoleWrappingParameters::thickness2() const
+{
+    return m_rdb->dipoleWrapping()->getDouble("THICKNESS2");
+}
+
+
diff --git a/Tracker/TrackerDetDescr/FaserSCT_GeoModel/src/SCT_DataBase.cxx b/Tracker/TrackerDetDescr/FaserSCT_GeoModel/src/SCT_DataBase.cxx
index 2333836f1dfd731b99d886ee9bedcd337499775b..f5b43930641141ea9361b5eca681bf691314ee4e 100644
--- a/Tracker/TrackerDetDescr/FaserSCT_GeoModel/src/SCT_DataBase.cxx
+++ b/Tracker/TrackerDetDescr/FaserSCT_GeoModel/src/SCT_DataBase.cxx
@@ -71,6 +71,9 @@ SCT_DataBase::SCT_DataBase(const SCT_GeoModelAthenaComps * athenaComps)
   m_frameShapeTable = rdbSvc->getRecordsetPtr("SctFrameShape", versionTag, versionNode, "FASERDD");
   msg(MSG::DEBUG) << "Table SctFrameShape Fetched" << endmsg;
 
+  m_wrappingGeneral = rdbSvc->getRecordsetPtr("SctWrappingGeneral", versionTag, versionNode, "FASERDD");
+  msg(MSG::DEBUG) << "Table SctWrappingGeneral Fetched" << endmsg;
+
   // // Default conditions
   // m_conditions = rdbSvc->getRecordsetPtr("SctConditions", versionTag, versionNode, "FASERDD");
   // msg(MSG::DEBUG) << "Table SctConditions Fetched" << endmsg;
@@ -111,6 +114,7 @@ const IRDBRecord* SCT_DataBase::brlModule() const {return (*m_brlModule)[0];}
 
 const IRDBRecord* SCT_DataBase::brlGeneral() const {return (*m_brlGeneral)[0];}
 const IRDBRecord* SCT_DataBase::frameGeneral() const {return (*m_frameGeneral)[0];}
+const IRDBRecord* SCT_DataBase::wrappingGeneral() const {return (*m_wrappingGeneral)[0];}
 
 const std::string & SCT_DataBase::versionTag() const {
   return m_sctVersionTag;
diff --git a/Tracker/TrackerDetDescr/FaserSCT_GeoModel/src/SCT_DataBase.h b/Tracker/TrackerDetDescr/FaserSCT_GeoModel/src/SCT_DataBase.h
index 192d9e20b419c2358158edc2b69c31cbebb7a73a..249be9ea76ea20fa6d61a0e55aebb312c69b7044 100644
--- a/Tracker/TrackerDetDescr/FaserSCT_GeoModel/src/SCT_DataBase.h
+++ b/Tracker/TrackerDetDescr/FaserSCT_GeoModel/src/SCT_DataBase.h
@@ -42,6 +42,7 @@ public:
   // const IRDBRecord* brlThermalShield() const;
   const IRDBRecord* brlGeneral() const;
   const IRDBRecord* frameGeneral() const;
+  const IRDBRecord* wrappingGeneral() const;
   // const IRDBRecord* brlFSI() const;
   // int brlFSISize() const;
   // const IRDBRecord* brlFSILocation(int i) const;
@@ -121,6 +122,7 @@ private:
   // IRDBRecordset_ptr m_brlThermalShield;
   IRDBRecordset_ptr m_brlGeneral;
   IRDBRecordset_ptr m_frameGeneral;
+  IRDBRecordset_ptr m_wrappingGeneral;
   // IRDBRecordset_ptr m_brlFSI;
   // IRDBRecordset_ptr m_brlFSILocation;
   // IRDBRecordset_ptr m_fwdSensor;
diff --git a/Tracker/TrackerDetDescr/FaserSCT_GeoModel/src/SCT_DetectorFactory.cxx b/Tracker/TrackerDetDescr/FaserSCT_GeoModel/src/SCT_DetectorFactory.cxx
index 63763a9aa5d9c7a2dd60cc5fdf5144d8f9078a4d..0ea340ffaa1f2a9b8ac93c75098521d10cfb6244 100644
--- a/Tracker/TrackerDetDescr/FaserSCT_GeoModel/src/SCT_DetectorFactory.cxx
+++ b/Tracker/TrackerDetDescr/FaserSCT_GeoModel/src/SCT_DetectorFactory.cxx
@@ -18,6 +18,7 @@
 #include "TrackerReadoutGeometry/SiCommonItems.h" 
 #include "TrackerReadoutGeometry/TrackerDD_Defs.h"
 #include "TrackerReadoutGeometry/SCT_ModuleSideDesign.h" 
+#include "SCT_Wrapping.h"
 
 // #include "SCT_Barrel.h"
 #include "SCT_Station.h"
@@ -142,7 +143,9 @@ void SCT_DetectorFactory::create(GeoPhysVol *world)
 
   GeoTrf::Transform3D sctTransform = sctGeneral->partTransform("SCT");
   // SCT_Barrel station("Station", m_detectorManager, m_geometryManager, m_materials);
-  SCT_Station station("Station", m_detectorManager, m_geometryManager, m_materials);
+  SCT_Wrapping wrapping("Wrapping", m_detectorManager, m_geometryManager, m_materials);
+  SCT_Station station("Station", &wrapping, m_detectorManager, m_geometryManager, m_materials);
+
 
   std::vector<std::string> partNames {"Interface", "StationA", "StationB", "StationC"};
   for (size_t iStation = 0; iStation < partNames.size(); iStation++)
diff --git a/Tracker/TrackerDetDescr/FaserSCT_GeoModel/src/SCT_GeometryManager.cxx b/Tracker/TrackerDetDescr/FaserSCT_GeoModel/src/SCT_GeometryManager.cxx
index 6c923d0d964e0d33247770453a98ac14871b6cdc..e66a5d690d2237b326c8fb2157d74272864b604b 100644
--- a/Tracker/TrackerDetDescr/FaserSCT_GeoModel/src/SCT_GeometryManager.cxx
+++ b/Tracker/TrackerDetDescr/FaserSCT_GeoModel/src/SCT_GeometryManager.cxx
@@ -9,6 +9,7 @@
 #include "TrackerReadoutGeometry/SiCommonItems.h"
 #include "SCT_BarrelParameters.h"
 #include "SCT_BarrelModuleParameters.h"
+#include "SCT_WrappingParameters.h"
 #include "SCT_DataBase.h"
 #include "SCT_GeneralParameters.h"
 #include "FaserSCT_GeoModel/SCT_GeoModelAthenaComps.h"
@@ -23,6 +24,7 @@ SCT_GeometryManager::SCT_GeometryManager(SCT_DataBase* rdb)
   m_barrelParameters = std::make_unique<SCT_BarrelParameters>(m_rdb);
   m_barrelModuleParameters = std::make_unique<SCT_BarrelModuleParameters>(m_rdb);
   m_generalParameters = std::make_unique<SCT_GeneralParameters>(m_rdb);
+  m_wrappingParameters = std::make_unique<SCT_WrappingParameters>(m_rdb);
   m_distortedMatManager = std::make_unique<TrackerDD::DistortedMaterialManager>();
 }
 
@@ -79,6 +81,13 @@ SCT_GeometryManager::generalParameters() const
   return m_generalParameters.get();
 }
 
+const SCT_WrappingParameters * 
+SCT_GeometryManager::wrappingParameters() const
+{    
+  return m_wrappingParameters.get();
+}
+
+
 const TrackerDD::DistortedMaterialManager * 
 SCT_GeometryManager::distortedMatManager() const
 {    
@@ -95,6 +104,7 @@ SCT_GeometryManager::operator=(const SCT_GeometryManager& right) {
     m_barrelParameters.reset(new SCT_BarrelParameters(m_rdb));
     m_barrelModuleParameters.reset(new SCT_BarrelModuleParameters(m_rdb));
     m_generalParameters.reset(new SCT_GeneralParameters(m_rdb));
+    m_wrappingParameters.reset(new SCT_WrappingParameters(m_rdb));
     m_distortedMatManager.reset(new TrackerDD::DistortedMaterialManager());
   }
   return *this;
@@ -108,5 +118,6 @@ SCT_GeometryManager::SCT_GeometryManager(const SCT_GeometryManager& right) {
   m_barrelParameters.reset(new SCT_BarrelParameters(m_rdb));
   m_barrelModuleParameters.reset(new SCT_BarrelModuleParameters(m_rdb));
   m_generalParameters.reset(new SCT_GeneralParameters(m_rdb));
+  m_wrappingParameters.reset(new SCT_WrappingParameters(m_rdb));
   m_distortedMatManager.reset(new TrackerDD::DistortedMaterialManager());
 }
diff --git a/Tracker/TrackerDetDescr/FaserSCT_GeoModel/src/SCT_GeometryManager.h b/Tracker/TrackerDetDescr/FaserSCT_GeoModel/src/SCT_GeometryManager.h
index a89e320796ac2db115da2986f92ffa0f42014223..c4853796fe8f5d0ab2b8f1c8fcc2d87afa971ffd 100644
--- a/Tracker/TrackerDetDescr/FaserSCT_GeoModel/src/SCT_GeometryManager.h
+++ b/Tracker/TrackerDetDescr/FaserSCT_GeoModel/src/SCT_GeometryManager.h
@@ -17,6 +17,7 @@ class SCT_BarrelParameters;
 class SCT_BarrelModuleParameters;
 class SCT_DataBase;
 class SCT_GeneralParameters;
+class SCT_WrappingParameters;
 class SCT_GeoModelAthenaComps;
 
 class SCT_GeometryManager {
@@ -42,6 +43,7 @@ public:
   const SCT_BarrelParameters          * barrelParameters() const;
   const SCT_BarrelModuleParameters    * barrelModuleParameters() const;
   const SCT_GeneralParameters         * generalParameters() const;
+  const SCT_WrappingParameters        * wrappingParameters() const;
   const TrackerDD::DistortedMaterialManager  * distortedMatManager() const;
 
   SCT_GeometryManager& operator=(const SCT_GeometryManager& right);
@@ -57,6 +59,7 @@ private:
   std::unique_ptr<SCT_BarrelParameters> m_barrelParameters;
   std::unique_ptr<SCT_BarrelModuleParameters> m_barrelModuleParameters;
   std::unique_ptr<SCT_GeneralParameters> m_generalParameters;
+  std::unique_ptr<SCT_WrappingParameters> m_wrappingParameters;
   std::unique_ptr<TrackerDD::DistortedMaterialManager> m_distortedMatManager;
 
 };
diff --git a/Tracker/TrackerDetDescr/FaserSCT_GeoModel/src/SCT_Station.cxx b/Tracker/TrackerDetDescr/FaserSCT_GeoModel/src/SCT_Station.cxx
index 4d9d129ff03b4de2d32b3fa19758942021cf5c69..4f685a38b7e3cdec7152578bb6bff3d72a8becae 100644
--- a/Tracker/TrackerDetDescr/FaserSCT_GeoModel/src/SCT_Station.cxx
+++ b/Tracker/TrackerDetDescr/FaserSCT_GeoModel/src/SCT_Station.cxx
@@ -12,6 +12,7 @@
 #include "SCT_Identifier.h"
 
 #include "SCT_Frame.h"
+#include "SCT_Wrapping.h"
 
 #include "TrackerReadoutGeometry/SCT_DetectorManager.h"
 
@@ -34,10 +35,12 @@
 #include <iostream>
 
 SCT_Station::SCT_Station(const std::string & name,
+                        SCT_Wrapping* wrapping,
                         TrackerDD::SCT_DetectorManager* detectorManager,
                         const SCT_GeometryManager* geometryManager,
                         SCT_MaterialManager* materials)
-  : SCT_UniqueComponentFactory(name, detectorManager, geometryManager, materials)
+  : SCT_UniqueComponentFactory(name, detectorManager, geometryManager, materials),
+  m_wrapping { wrapping }
 {
   getParameters();
   m_logVolume = preBuild();
@@ -71,7 +74,7 @@ SCT_Station::preBuild()
   m_centralPlane = new SCT_Frame("CentralPlane", m_detectorManager, m_geometryManager, m_materials);
   m_width = m_centralPlane->width() + m_safety;
   m_height = m_centralPlane->height() + m_safety;
-  m_thickness = m_centralPlane->thickness() + m_layerPitch * (m_numLayers - 1) + m_safety;
+  m_thickness = m_centralPlane->thickness() + m_layerPitch * (m_numLayers - 1) + 2 * m_wrapping->thickness() + m_safety;
 
   m_upstreamPlane = new SCT_Frame("UpstreamPlane", m_detectorManager, m_geometryManager, m_materials);
   m_downstreamPlane = new SCT_Frame("DownstreamPlane", m_detectorManager, m_geometryManager, m_materials);
@@ -91,6 +94,13 @@ SCT_Station::build(SCT_Identifier id)
   double activeDepth = m_thickness - m_safety;
 
   double layerThickness = m_centralPlane->thickness();
+  double wrappingThickness = m_wrapping->thickness();
+
+  station->add(new GeoNameTag("WrappingA"));
+  GeoTransform* wrappingTransformA = new GeoTransform(GeoTrf::Translate3D(0.0, 0.0, (wrappingThickness - activeDepth)/2));
+  station->add(wrappingTransformA);
+  station->add(m_wrapping->getVolume());
+
   for (int iLayer = 0; iLayer < m_numLayers; iLayer++) {
     // Create the layers
     station->add(new GeoNameTag("Plane#"+intToString(iLayer)));
@@ -98,7 +108,7 @@ SCT_Station::build(SCT_Identifier id)
     id.setLayer(iLayer); 
     GeoAlignableTransform* transform = new GeoAlignableTransform(GeoTrf::Translate3D(0.0, 
                                                                                      0.0 ,
-                                                                                     (layerThickness - activeDepth)/2 + iLayer * m_layerPitch) );
+                                                                                     wrappingThickness + (layerThickness - activeDepth)/2 + iLayer * m_layerPitch) );
     station->add(transform);
     SCT_Frame* thePlane {nullptr};
     switch (iLayer%3)
@@ -119,6 +129,11 @@ SCT_Station::build(SCT_Identifier id)
     // Store alignable transform
     m_detectorManager->addAlignableTransform(2, id.getWaferId(), transform, planePV);
   }
+  
+  station->add(new GeoNameTag("WrappingB"));
+  GeoTransform* wrappingTransformB = new GeoTransform(GeoTrf::Translate3D(0.0, 0.0, (activeDepth - wrappingThickness)/2));
+  station->add(wrappingTransformB);
+  station->add(m_wrapping->getVolume());
 
   // Extra Material
   // TrackerDD::ExtraMaterial xMat(m_geometryManager->distortedMatManager());
diff --git a/Tracker/TrackerDetDescr/FaserSCT_GeoModel/src/SCT_Station.h b/Tracker/TrackerDetDescr/FaserSCT_GeoModel/src/SCT_Station.h
index 499822f406545e3410f35bae8b01e42221ce2e52..e3175280c7bc7dd32efdc062070d282f596630af 100644
--- a/Tracker/TrackerDetDescr/FaserSCT_GeoModel/src/SCT_Station.h
+++ b/Tracker/TrackerDetDescr/FaserSCT_GeoModel/src/SCT_Station.h
@@ -13,12 +13,14 @@ class GeoLogVol;
 class SCT_Identifier;
 // class SCT_Plane;
 class SCT_Frame;
+class SCT_Wrapping;
 
 class SCT_Station : public SCT_UniqueComponentFactory
 {
 
 public:
   SCT_Station(const std::string & name,
+             SCT_Wrapping* wrapping,
              TrackerDD::SCT_DetectorManager* detectorManager,
              const SCT_GeometryManager* geometryManager,
              SCT_MaterialManager* materials);
@@ -32,6 +34,8 @@ public:
   double thickness()      const {return m_thickness;}
  
 private:
+  SCT_Wrapping* m_wrapping;
+
   void getParameters();
   virtual const GeoLogVol * preBuild();
 
diff --git a/Tracker/TrackerDetDescr/FaserSCT_GeoModel/src/SCT_Wrapping.cxx b/Tracker/TrackerDetDescr/FaserSCT_GeoModel/src/SCT_Wrapping.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..90bcf2b27395d02f847ed9a90977ce5787bf68f4
--- /dev/null
+++ b/Tracker/TrackerDetDescr/FaserSCT_GeoModel/src/SCT_Wrapping.cxx
@@ -0,0 +1,55 @@
+/*
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+*/
+
+#include "SCT_Wrapping.h"
+
+#include "SCT_MaterialManager.h"
+
+#include "SCT_GeometryManager.h"
+#include "SCT_GeneralParameters.h"
+#include "SCT_WrappingParameters.h"
+
+#include "GeoModelKernel/GeoBox.h"
+#include "GeoModelKernel/GeoLogVol.h"
+#include "GeoModelKernel/GeoPhysVol.h"
+#include "GeoModelKernel/GeoMaterial.h"
+
+SCT_Wrapping::SCT_Wrapping(const std::string & name,
+                            TrackerDD::SCT_DetectorManager* detectorManager,
+                            const SCT_GeometryManager* geometryManager,
+                            SCT_MaterialManager* materials)
+  : SCT_SharedComponentFactory(name, detectorManager, geometryManager, materials)
+{
+  getParameters();
+  m_physVolume = build();
+}
+
+void
+SCT_Wrapping::getParameters() 
+{
+  const SCT_WrappingParameters * parameters = m_geometryManager->wrappingParameters();
+  const SCT_GeneralParameters* generalParameters = m_geometryManager->generalParameters();
+
+  m_material  = m_materials->getMaterial(parameters->wrappingMaterial());
+  m_safety    = generalParameters->safety();
+  m_thickness = parameters->wrappingThickness();
+  m_width     = parameters->wrappingWidth();
+  m_length    = parameters->wrappingLength();
+}
+
+GeoVPhysVol * 
+SCT_Wrapping::build()
+{
+  // Just a simple box.
+  const GeoBox * simpleWrappingShape = new GeoBox(0.5*m_width,
+                                                  0.5*m_length,
+                                                  0.5*m_thickness);
+
+  const GeoLogVol * simpleWrappingLog = 
+    new GeoLogVol(getName(), simpleWrappingShape, m_material);
+
+  GeoPhysVol * simpleWrapping = new GeoPhysVol(simpleWrappingLog);
+
+  return simpleWrapping;
+}
diff --git a/Tracker/TrackerDetDescr/FaserSCT_GeoModel/src/SCT_Wrapping.h b/Tracker/TrackerDetDescr/FaserSCT_GeoModel/src/SCT_Wrapping.h
new file mode 100644
index 0000000000000000000000000000000000000000..f33049e1025b4492fdd45962ec6246bca4dac474
--- /dev/null
+++ b/Tracker/TrackerDetDescr/FaserSCT_GeoModel/src/SCT_Wrapping.h
@@ -0,0 +1,42 @@
+/*
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef SCT_GEOMODEL_SCT_WRAPPING_H
+#define SCT_GEOMODEL_SCT_WRAPPING_H
+
+#include "SCT_ComponentFactory.h"
+
+class GeoVPhysVol;
+class GeoFullPhysVol;
+class GeoLogVol;
+class GeoMaterial;
+
+class SCT_Wrapping : public SCT_SharedComponentFactory
+{
+
+public:
+  SCT_Wrapping(const std::string & name,
+               TrackerDD::SCT_DetectorManager* detectorManager,
+               const SCT_GeometryManager* geometryManager,
+               SCT_MaterialManager* materials);
+
+public:
+  const GeoMaterial * material() const {return m_material;}
+  double thickness()   const {return m_thickness;}
+  double width()       const {return m_width;}
+  double length()      const {return m_length;}
+ 
+private:
+  virtual GeoVPhysVol * build();
+  void getParameters();
+ 
+  const GeoMaterial * m_material;
+  double      m_thickness;
+  double      m_width;
+  double      m_length;
+
+  double      m_safety;
+};
+
+#endif // SCT_GEOMODEL_SCT_WRAPPING_H
diff --git a/Tracker/TrackerDetDescr/FaserSCT_GeoModel/src/SCT_WrappingParameters.cxx b/Tracker/TrackerDetDescr/FaserSCT_GeoModel/src/SCT_WrappingParameters.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..c92ed702a7a1efaaaffaed7d5840b09668c3a75e
--- /dev/null
+++ b/Tracker/TrackerDetDescr/FaserSCT_GeoModel/src/SCT_WrappingParameters.cxx
@@ -0,0 +1,46 @@
+/*
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+*/
+
+#include "SCT_WrappingParameters.h"
+#include "SCT_GeometryManager.h"
+
+#include "SCT_DataBase.h"
+
+#include "RDBAccessSvc/IRDBRecord.h"
+#include "GaudiKernel/SystemOfUnits.h"
+
+#include <cmath>
+
+
+SCT_WrappingParameters::SCT_WrappingParameters(SCT_DataBase* rdb)
+{
+  m_rdb = rdb;
+}
+
+//
+// Wrapping General
+//
+double 
+SCT_WrappingParameters::wrappingWidth() const
+{
+  return m_rdb->wrappingGeneral()->getDouble("WIDTH") * Gaudi::Units::mm; 
+}
+
+double 
+SCT_WrappingParameters::wrappingLength() const
+{
+  return m_rdb->wrappingGeneral()->getDouble("LENGTH") * Gaudi::Units::mm; 
+}
+
+double 
+SCT_WrappingParameters::wrappingThickness() const
+{
+  return m_rdb->wrappingGeneral()->getDouble("THICKNESS") * Gaudi::Units::mm; 
+}
+
+std::string SCT_WrappingParameters::wrappingMaterial() const
+{
+  return m_rdb->wrappingGeneral()->getString("MATERIAL");
+}
+
diff --git a/Tracker/TrackerDetDescr/FaserSCT_GeoModel/src/SCT_WrappingParameters.h b/Tracker/TrackerDetDescr/FaserSCT_GeoModel/src/SCT_WrappingParameters.h
new file mode 100644
index 0000000000000000000000000000000000000000..61b74e1caed43f6588419b0e92e2917436c9b505
--- /dev/null
+++ b/Tracker/TrackerDetDescr/FaserSCT_GeoModel/src/SCT_WrappingParameters.h
@@ -0,0 +1,31 @@
+/*
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef SCT_GeoModel_SCT_WrappingParameters_H
+#define SCT_GeoModel_SCT_WrappingParameters_H
+
+#include <string>
+
+class SCT_DataBase;
+
+class SCT_WrappingParameters {
+
+public:
+
+  // Constructor 
+  SCT_WrappingParameters(SCT_DataBase* rdb);
+
+  // Barrel General
+  double wrappingThickness() const;
+  double wrappingWidth() const;
+  double wrappingLength() const;
+  std::string wrappingMaterial() const;
+
+ private:
+  SCT_DataBase * m_rdb;
+
+};
+
+
+#endif // SCT_GeoModel_SCT_WrappingParameters_H
diff --git a/Tracking/Acts/FaserActsKalmanFilter/CMakeLists.txt b/Tracking/Acts/FaserActsKalmanFilter/CMakeLists.txt
index 874d604249142448e76634c8dac9a8d0ef1db8f5..143f819de580f72b2d390e78390a90e10bd28cb5 100755
--- a/Tracking/Acts/FaserActsKalmanFilter/CMakeLists.txt
+++ b/Tracking/Acts/FaserActsKalmanFilter/CMakeLists.txt
@@ -29,7 +29,7 @@ atlas_add_component(FaserActsKalmanFilter
     CircleFit.h
     CircleFitTrackSeedTool.h
     CKF2.h
-    CKF2Alignment.h
+    # CKF2Alignment.h
     CombinatorialKalmanFilterAlg.h
     EffPlotTool.h
     FASERSourceLink.h
@@ -74,7 +74,7 @@ atlas_add_component(FaserActsKalmanFilter
     src/CircleFit.cxx
     src/CircleFitTrackSeedTool.cxx
     src/CKF2.cxx
-    src/CKF2Alignment.cxx
+    # src/CKF2Alignment.cxx
     src/CreateTrkTrackTool.h
     src/CreateTrkTrackTool.cxx
 #    src/ClusterTrackSeedTool.cxx
diff --git a/Tracking/Acts/FaserActsKalmanFilter/FaserActsKalmanFilter/IFiducialParticleTool.h b/Tracking/Acts/FaserActsKalmanFilter/FaserActsKalmanFilter/IFiducialParticleTool.h
index 1df9aeab2ce991ee5d683d92fa5efb72eca7a5dd..081e6dc27913107fbd0cf4d4cb7a1646316eff49 100644
--- a/Tracking/Acts/FaserActsKalmanFilter/FaserActsKalmanFilter/IFiducialParticleTool.h
+++ b/Tracking/Acts/FaserActsKalmanFilter/FaserActsKalmanFilter/IFiducialParticleTool.h
@@ -23,6 +23,12 @@ public:
    */
   virtual std::array<HepGeom::Point3D<double>, 4>
   getTruthPositions(int barcode) const = 0;
+
+  /** Return average truth momentum in each station.
+   * @param barcode of a xAOD::TruthParticle
+   */
+  virtual std::array<HepGeom::Point3D<double>, 4>
+  getTruthMomenta(int barcode) const = 0;
 };
 
 #endif // FASERACTSKALMANFILTER_IFIDUCIALEVENTSELECTIONTOOL_H
diff --git a/Tracking/Acts/FaserActsKalmanFilter/FaserActsKalmanFilter/ITrackSeedTool.h b/Tracking/Acts/FaserActsKalmanFilter/FaserActsKalmanFilter/ITrackSeedTool.h
index 1ef1a7921bdaa55381ee9487c32b7f58bca3e05c..7a429b3e280d4ae811fcbbee416dc781fa386eb6 100644
--- a/Tracking/Acts/FaserActsKalmanFilter/FaserActsKalmanFilter/ITrackSeedTool.h
+++ b/Tracking/Acts/FaserActsKalmanFilter/FaserActsKalmanFilter/ITrackSeedTool.h
@@ -20,7 +20,7 @@ class ITrackSeedTool : virtual public IAlgTool {
 public:
   DeclareInterfaceID(ITrackSeedTool, 1, 0);
 
-  virtual StatusCode run(std::vector<int> maskedLayers = {}) = 0;
+  virtual StatusCode run(std::vector<int> maskedLayers = {}, bool backward = false) = 0;
   virtual const std::shared_ptr<std::vector<Acts::CurvilinearTrackParameters>> initialTrackParameters() const = 0;
   virtual const std::shared_ptr<const Acts::Surface> initialSurface() const = 0;
   virtual const std::shared_ptr<std::vector<IndexSourceLink>> sourceLinks() const = 0;
diff --git a/Tracking/Acts/FaserActsKalmanFilter/python/CKF2Config.py b/Tracking/Acts/FaserActsKalmanFilter/python/CKF2Config.py
index 5d6ed5c4f3170cfc57b058d6bc9432329c1da561..259a665572129d37b359bf51da6ce1ac584fdd28 100644
--- a/Tracking/Acts/FaserActsKalmanFilter/python/CKF2Config.py
+++ b/Tracking/Acts/FaserActsKalmanFilter/python/CKF2Config.py
@@ -60,16 +60,16 @@ def CKF2Cfg(flags, **kwargs):
     track_seed_tool.TrackCollection = "Segments"
 
     trajectory_states_writer_tool = CompFactory.RootTrajectoryStatesWriterTool()
-    trajectory_states_writer_tool.noDiagnostics = kwargs.pop("noDiagnostics", True)
+    trajectory_states_writer_tool.noDiagnostics = kwargs.get("noDiagnostics", True)
     trajectory_states_writer_tool1 = CompFactory.RootTrajectoryStatesWriterTool()
-    trajectory_states_writer_tool1.noDiagnostics = kwargs.pop("noDiagnostics", True)
+    trajectory_states_writer_tool1.noDiagnostics = kwargs.get("noDiagnostics", True)
     trajectory_states_writer_tool1.FilePath = "track_states_ckf1.root"
 
     trajectory_summary_writer_tool = CompFactory.RootTrajectorySummaryWriterTool()
-    trajectory_summary_writer_tool.noDiagnostics = kwargs.pop("noDiagnostics", True)
+    trajectory_summary_writer_tool.noDiagnostics = kwargs.get("noDiagnostics", True)
     trajectory_summary_writer_tool1 = CompFactory.RootTrajectorySummaryWriterTool()
     trajectory_summary_writer_tool1.FilePath = "track_summary_ckf1.root"
-    trajectory_summary_writer_tool1.noDiagnostics = kwargs.pop("noDiagnostics", True)
+    trajectory_summary_writer_tool1.noDiagnostics = kwargs.get("noDiagnostics", True)
 
     actsExtrapolationTool = CompFactory.FaserActsExtrapolationTool("FaserActsExtrapolationTool")
     actsExtrapolationTool.MaxSteps = 1000
@@ -81,11 +81,11 @@ def CKF2Cfg(flags, **kwargs):
 
     trajectory_performance_writer_tool = CompFactory.PerformanceWriterTool("PerformanceWriterTool")
     trajectory_performance_writer_tool.ExtrapolationTool = actsExtrapolationTool
-    trajectory_performance_writer_tool.noDiagnostics = kwargs.pop("noDiagnostics", True)
+    trajectory_performance_writer_tool.noDiagnostics = kwargs.get("noDiagnostics", True)
 
     ckf = CompFactory.CKF2(**kwargs)
     kalman_fitter1 = CompFactory.KalmanFitterTool(name="fitterTool1")
-    kalman_fitter1.noDiagnostics = kwargs.pop("noDiagnostics", True)
+    kalman_fitter1.noDiagnostics = kwargs.get("noDiagnostics", True)
     kalman_fitter1.ActsLogging = "INFO"
     kalman_fitter1.SummaryWriter = True
     kalman_fitter1.StatesWriter = False
@@ -102,6 +102,7 @@ def CKF2Cfg(flags, **kwargs):
     ckf.PerformanceWriterTool = trajectory_performance_writer_tool
     ckf.TrackingGeometryTool=actsTrackingGeometryTool
     ckf.isMC = flags.Input.isMC
+    ckf.noDiagnostics = kwargs.get("noDiagnostics", True)
     ckf.SummaryWriter = True
     ckf.StatesWriter = False
     ckf.PerformanceWriter = False
diff --git a/Tracking/Acts/FaserActsKalmanFilter/src/ActsTrackSeedTool.cxx b/Tracking/Acts/FaserActsKalmanFilter/src/ActsTrackSeedTool.cxx
index 817fcfea171e76d70d75f49a540e0604f2f52984..0f41f2d91b103980e77494e31d3a4c46530bf1d9 100644
--- a/Tracking/Acts/FaserActsKalmanFilter/src/ActsTrackSeedTool.cxx
+++ b/Tracking/Acts/FaserActsKalmanFilter/src/ActsTrackSeedTool.cxx
@@ -27,7 +27,7 @@ StatusCode ActsTrackSeedTool::initialize() {
 }
 
 
-StatusCode ActsTrackSeedTool::run(std::vector<int> /*maskedLayers*/) {
+StatusCode ActsTrackSeedTool::run(std::vector<int> /*maskedLayers*/, bool /*backward*/) {
   SG::ReadHandle<TrackCollection> trackCollection {m_trackCollection};
   ATH_CHECK(trackCollection.isValid());
 
diff --git a/Tracking/Acts/FaserActsKalmanFilter/src/ActsTrackSeedTool.h b/Tracking/Acts/FaserActsKalmanFilter/src/ActsTrackSeedTool.h
index 41aebd49ff0c7caf5f5615a47af1641b804b45fb..e957fa8f201ccc095ffed42b2fd78e5e0fb0fce2 100644
--- a/Tracking/Acts/FaserActsKalmanFilter/src/ActsTrackSeedTool.h
+++ b/Tracking/Acts/FaserActsKalmanFilter/src/ActsTrackSeedTool.h
@@ -18,7 +18,7 @@ public:
   virtual ~ActsTrackSeedTool() = default;
   virtual StatusCode initialize() override;
   virtual StatusCode finalize() override;
-  virtual StatusCode run(std::vector<int> /*maskedLayers*/) override;
+  virtual StatusCode run(std::vector<int> /*maskedLayers*/, bool /*backward*/) override;
 
   const std::shared_ptr<std::vector<Acts::CurvilinearTrackParameters>> initialTrackParameters() const override;
   const std::shared_ptr<const Acts::Surface> initialSurface() const override;
diff --git a/Tracking/Acts/FaserActsKalmanFilter/src/CKF2.cxx b/Tracking/Acts/FaserActsKalmanFilter/src/CKF2.cxx
index 14616c6f42dd0e60df67c5b73358da599093130c..87380dd7e41cb3d5b38d2f4b92ca784b95eca8b2 100644
--- a/Tracking/Acts/FaserActsKalmanFilter/src/CKF2.cxx
+++ b/Tracking/Acts/FaserActsKalmanFilter/src/CKF2.cxx
@@ -73,6 +73,7 @@ StatusCode CKF2::initialize() {
   } else {
     m_logger = Acts::getDefaultLogger("KalmanFitter", Acts::Logging::INFO);
   }
+
   return StatusCode::SUCCESS;
 }
 
@@ -97,7 +98,7 @@ StatusCode CKF2::execute() {
   Acts::MagneticFieldContext magFieldContext = getMagneticFieldContext(ctx);
   Acts::CalibrationContext calibContext;
 
-  CHECK(m_trackSeedTool->run(m_maskedLayers));
+  CHECK(m_trackSeedTool->run(m_maskedLayers, m_backwardPropagation));
   std::shared_ptr<const Acts::Surface> initialSurface =
       m_trackSeedTool->initialSurface();
   std::shared_ptr<std::vector<Acts::CurvilinearTrackParameters>> initialParameters =
@@ -117,6 +118,11 @@ StatusCode CKF2::execute() {
 
   Acts::PropagatorPlainOptions pOptions;
   pOptions.maxSteps = m_maxSteps;
+  if (m_backwardPropagation) {
+    pOptions.direction = Acts::backward;
+  } else {
+    pOptions.direction = Acts::forward;
+  }
 
   Acts::MeasurementSelector::Config measurementSelectorCfg = {
       {Acts::GeometryIdentifier(), {m_chi2Max, m_nMax}},
@@ -208,10 +214,10 @@ StatusCode CKF2::execute() {
   //   ATH_MSG_DEBUG("  position: " << params.position(gctx).transpose());
   //   ATH_MSG_DEBUG("  momentum: " << params.momentum().transpose());
   //   ATH_MSG_DEBUG("  charge:   " << params.charge());
-  //   std::unique_ptr<Trk::Track> track = m_createTrkTrackTool->createTrack(gctx, traj);
+  //   std::unique_ptr<Trk::Track> track = m_createTrkTrackTool->createTrack(gctx, traj, m_backwardPropagation);
   //   if (track != nullptr) {
   //     m_numberOfSelectedTracks++;
-  //     std::unique_ptr<Trk::Track> track2 = m_kalmanFitterTool1->fit(ctx, gctx, track.get(), Acts::BoundVector::Zero(), m_isMC, origin);
+  //     std::unique_ptr<Trk::Track> track2 = m_kalmanFitterTool1->fit(ctx, gctx, track.get(), Acts::BoundVector::Zero(), m_isMC);
   //     if (track2) {
   //       outputAllTracks->push_back(std::move(track2));
   //     } else {
@@ -239,10 +245,11 @@ StatusCode CKF2::execute() {
     ATH_MSG_DEBUG("  position: " << params.position(gctx).transpose());
     ATH_MSG_DEBUG("  momentum: " << params.momentum().transpose());
     ATH_MSG_DEBUG("  charge:   " << params.charge());
-    std::unique_ptr<Trk::Track> track = m_createTrkTrackTool->createTrack(gctx, traj);
+    std::unique_ptr<Trk::Track> track = m_createTrkTrackTool->createTrack(gctx, traj, m_backwardPropagation);
     if (track != nullptr) {
       m_numberOfSelectedTracks++;
-      std::unique_ptr<Trk::Track> track2 = m_kalmanFitterTool1->fit(ctx, gctx, track.get(), Acts::BoundVector::Zero(), m_isMC, origin);
+      std::unique_ptr<Trk::Track> track2 = m_kalmanFitterTool1->fit(
+        ctx, gctx, track.get(), Acts::BoundVector::Zero(), m_isMC);
       if (track2) {
         outputTracks->push_back(std::move(track2));
       } else {
@@ -273,6 +280,7 @@ StatusCode CKF2::execute() {
 
 StatusCode CKF2::finalize() {
   ATH_MSG_INFO("CombinatorialKalmanFilterAlg::finalize()");
+  ATH_MSG_INFO("BackwardPropagation: " << m_backwardPropagation);
   ATH_MSG_INFO(m_numberOfEvents << " events processed.");
   ATH_MSG_INFO(m_numberOfTrackSeeds << " seeds.");
   ATH_MSG_INFO(m_numberOfFittedTracks << " fitted tracks.");
diff --git a/Tracking/Acts/FaserActsKalmanFilter/src/CircleFitTrackSeedTool.cxx b/Tracking/Acts/FaserActsKalmanFilter/src/CircleFitTrackSeedTool.cxx
index bbae70e3b10be38ff5de9675796bbe509c8f2483..51703a125489ce3ad31ccab1fb8425b8c076c17d 100644
--- a/Tracking/Acts/FaserActsKalmanFilter/src/CircleFitTrackSeedTool.cxx
+++ b/Tracking/Acts/FaserActsKalmanFilter/src/CircleFitTrackSeedTool.cxx
@@ -34,7 +34,8 @@ StatusCode CircleFitTrackSeedTool::initialize() {
 }
 
 
-StatusCode CircleFitTrackSeedTool::run(std::vector<int> maskedLayers) {
+StatusCode CircleFitTrackSeedTool::run(std::vector<int> maskedLayers, bool backward) {
+
   SG::ReadHandle<Tracker::FaserSCT_ClusterContainer> clusterContainer {m_clusterContainerKey};
       ATH_CHECK(clusterContainer.isValid());
 
@@ -114,17 +115,17 @@ StatusCode CircleFitTrackSeedTool::run(std::vector<int> maskedLayers) {
   std::vector<Segment> combination {};
   std::vector<Seed> seeds {};
   // create seeds from four stations
-  go(segments, combination, seeds, 0, 4);
+  go(segments, combination, seeds, 0, 4, backward);
   if (seeds.size() < 2) {
     // create seeds from three stations
-    go(segments, combination, seeds, 0, 3);
+    go(segments, combination, seeds, 0, 3, backward);
   }
   // create seeds from two stations
   if (seeds.size() < 2) {
-    go(segments, combination, seeds, 0, 2);
+    go(segments, combination, seeds, 0, 2, backward);
   }
   if (seeds.size() < 2) {
-    go(segments, combination, seeds, 0, 1);
+    go(segments, combination, seeds, 0, 1, backward);
   }
 
   std::list<Seed> allSeeds;
@@ -163,17 +164,22 @@ StatusCode CircleFitTrackSeedTool::run(std::vector<int> maskedLayers) {
   cov(Acts::eBoundQOverP, Acts::eBoundQOverP) = m_covQOverP;
   cov(Acts::eBoundTime, Acts::eBoundTime) = m_covTime;
 
-  auto minSeed = std::min_element(
-      selectedSeeds.begin(), selectedSeeds.end(), [](const Seed &lhs, const Seed &rhs) {
-        return lhs.minZ < rhs.minZ;
-      });
-  double origin = !selectedSeeds.empty() ? minSeed->minZ - 10 : 0;
+  double origin;
+  if (!backward) {
+    auto minSeed = std::min_element(
+        selectedSeeds.begin(), selectedSeeds.end(), [](const Seed &lhs, const Seed &rhs) {
+          return lhs.minZ < rhs.minZ;
+        });
+    origin = !selectedSeeds.empty() ? minSeed->minZ - 10 : 0;
+  } else {
+    origin = 2470;
+  }
   m_targetZPosition = origin;
   std::vector<Acts::CurvilinearTrackParameters> initParams {};
   ATH_MSG_DEBUG("Sorted seed properties:");
   for (const Seed &seed : selectedSeeds) {
     ATH_MSG_DEBUG("seed size: " << seed.size << ", chi2: " << seed.chi2);
-    initParams.push_back(seed.get_params(origin, cov));
+    initParams.push_back(seed.get_params(origin, cov, backward));
   }
 
   m_initialTrackParameters = std::make_shared<std::vector<Acts::CurvilinearTrackParameters>>(initParams);
@@ -198,15 +204,16 @@ StatusCode CircleFitTrackSeedTool::finalize() {
 void CircleFitTrackSeedTool::go(const std::array<std::vector<Segment>, 4> &v,
                                 std::vector<Segment> &combination,
                                 std::vector<Seed> &seeds,
-                                int offset, int k) {
+                                int offset, int k,
+                                bool backward) {
   if (k == 0) {
-    seeds.push_back(Seed(combination));
+    seeds.push_back(Seed(combination, backward));
     return;
   }
   for (std::size_t i = offset; i < v.size() + 1 - k; ++i) {
     for (const auto& ve : v[i]) {
       combination.push_back(ve);
-      go(v, combination, seeds, i+1, k-1);
+      go(v, combination, seeds, i+1, k-1, backward);
       combination.pop_back();
     }
   }
@@ -242,7 +249,7 @@ CircleFitTrackSeedTool::Segment::Segment(const Trk::Track* track, const FaserSCT
   fakePositions.push_back(position + 30 * momentum.normalized());
 }
 
-CircleFitTrackSeedTool::Seed::Seed(const std::vector<Segment> &segments) :
+CircleFitTrackSeedTool::Seed::Seed(const std::vector<Segment> &segments, bool backward) :
     clusterSet(CircleFitTrackSeedTool::s_indexMap.size()) {
   for (const Segment &seg : segments) {
     clusters.insert(clusters.end(), seg.clusters.begin(), seg.clusters.end());
@@ -261,8 +268,11 @@ CircleFitTrackSeedTool::Seed::Seed(const std::vector<Segment> &segments) :
       } );
   minZ = (*minCluster)->globalPosition().z();
 
-  if (segments.size() > 1) {
+  if ((segments.size() > 1) && (!backward)) {
     direction = positions[1] - positions[0];
+  } else if ((segments.size() > 1) && (backward)) {
+    size_t size = segments.size();
+    direction = positions[size-1] - positions[size-2];
   } else {
     direction = segments[0].momentum;
   }
@@ -329,14 +339,21 @@ void CircleFitTrackSeedTool::Seed::getChi2() {
     chi2 += (m_dy * m_dy) / (m_sigma_y * m_sigma_y);
   }
 
-  for (const Acts::Vector3 &pos : positions) {
-    m_dx = pos.x() - getX(pos.x());
+  for (const Acts::Vector3 &pos : fakePositions) {
+    m_dx = pos.x() - getX(pos.z());
     chi2 += (m_dx * m_dx) / (m_sigma_x * m_sigma_x);
   }
 }
 
-Acts::CurvilinearTrackParameters CircleFitTrackSeedTool::Seed::get_params(double origin, Acts::BoundSymMatrix cov) const {
-  Acts::Vector3 pos = positions[0] - (positions[0].z() - origin)/direction.z() * direction;
-  Acts::Vector4 pos4 {pos.x(), pos.y(), pos.z(), 0};
-  return Acts::CurvilinearTrackParameters(pos4, direction.normalized(), momentum, charge, cov);
+Acts::CurvilinearTrackParameters CircleFitTrackSeedTool::Seed::get_params(double origin, Acts::BoundSymMatrix cov, bool backward) const {
+  if (!backward) {
+    Acts::Vector3 pos = positions[0] - (positions[0].z() - origin)/direction.z() * direction;
+    Acts::Vector4 pos4 {pos.x(), pos.y(), pos.z(), 0};
+    return Acts::CurvilinearTrackParameters(pos4, direction.normalized(), momentum, charge, cov);
+  } else {
+    size_t size = positions.size();
+    Acts::Vector3 pos = positions[size-1] + (origin - positions[size-1].z())/direction.z() * direction;
+    Acts::Vector4 pos4 {pos.x(), pos.y(), pos.z(), 0};
+    return Acts::CurvilinearTrackParameters(pos4, direction.normalized(), momentum, charge, cov);
+  }
 }
diff --git a/Tracking/Acts/FaserActsKalmanFilter/src/CircleFitTrackSeedTool.h b/Tracking/Acts/FaserActsKalmanFilter/src/CircleFitTrackSeedTool.h
index a4d53c629c24f53e1dfe4488ca7524755f117ad3..ea3d0263ac99cd2656c6c6c206de83a16d68b2d0 100644
--- a/Tracking/Acts/FaserActsKalmanFilter/src/CircleFitTrackSeedTool.h
+++ b/Tracking/Acts/FaserActsKalmanFilter/src/CircleFitTrackSeedTool.h
@@ -30,7 +30,7 @@ public:
   virtual ~CircleFitTrackSeedTool() = default;
   virtual StatusCode initialize() override;
   virtual StatusCode finalize() override;
-  virtual StatusCode run(std::vector<int> maskedLayers = {}) override;
+  virtual StatusCode run(std::vector<int> maskedLayers = {}, bool backward=false) override;
 
   const std::shared_ptr<std::vector<Acts::CurvilinearTrackParameters>> initialTrackParameters() const override;
   const std::shared_ptr<const Acts::Surface> initialSurface() const override;
@@ -56,7 +56,7 @@ private:
   };
 
   struct Seed {
-    Seed(const std::vector<Segment> &segments);
+    Seed(const std::vector<Segment> &segments, bool backward=false);
 
     ClusterSet clusterSet;
     std::vector<const Tracker::FaserSCT_Cluster*> clusters;
@@ -67,7 +67,7 @@ private:
     double c0, c1, cx, cy, r, chi2, momentum, charge, minZ;
     Acts::Vector3 direction;
     size_t size, stations, constraints;
-    Acts::CurvilinearTrackParameters get_params(double origin, Acts::BoundSymMatrix cov) const;
+    Acts::CurvilinearTrackParameters get_params(double origin, Acts::BoundSymMatrix cov, bool backward=false) const;
 
   private:
     void getChi2();
@@ -83,7 +83,7 @@ private:
   };
 
   void go(const std::array<std::vector<Segment>, 4> &v, std::vector<Segment> &combination,
-          std::vector<Seed> &seeds, int offset, int k);
+          std::vector<Seed> &seeds, int offset, int k, bool backward=false);
 
   static std::map<Identifier, Index> s_indexMap;
   static std::map<Identifier, const Tracker::FaserSCT_SpacePoint*> s_spacePointMap;
diff --git a/Tracking/Acts/FaserActsKalmanFilter/src/CreateTrkTrackTool.cxx b/Tracking/Acts/FaserActsKalmanFilter/src/CreateTrkTrackTool.cxx
index 994689010203a269946c3c88392004a61a42adf4..9a9bf115ca2db5ecd5e9a4b6f9a7e39a2a96ab11 100644
--- a/Tracking/Acts/FaserActsKalmanFilter/src/CreateTrkTrackTool.cxx
+++ b/Tracking/Acts/FaserActsKalmanFilter/src/CreateTrkTrackTool.cxx
@@ -17,7 +17,7 @@ StatusCode CreateTrkTrackTool::finalize() {
 }
 
 std::unique_ptr<Trk::Track>
-CreateTrkTrackTool::createTrack(const Acts::GeometryContext &gctx, const FaserActsRecMultiTrajectory &traj) const {
+CreateTrkTrackTool::createTrack(const Acts::GeometryContext &gctx, const FaserActsRecMultiTrajectory &traj, bool backwardPropagation) const {
   std::unique_ptr<Trk::Track> newtrack = nullptr;
   DataVector<const Trk::TrackStateOnSurface>* finalTrajectory = new DataVector<const Trk::TrackStateOnSurface>{};
   using ConstTrackStateProxy = Acts::detail_lt::TrackStateProxy<IndexSourceLink, 6, true>;
@@ -69,9 +69,10 @@ CreateTrkTrackTool::createTrack(const Acts::GeometryContext &gctx, const FaserAc
 									      quality,
 									      nullptr,
 									      typePattern);
-      if (perState)
-      {
+      if ((perState) && (!backwardPropagation)) {
 	        finalTrajectory->insert(finalTrajectory->begin(), perState);
+      } else if ((perState) && (backwardPropagation)) {
+	        finalTrajectory->push_back(perState);
       }
     }
     return;
diff --git a/Tracking/Acts/FaserActsKalmanFilter/src/CreateTrkTrackTool.h b/Tracking/Acts/FaserActsKalmanFilter/src/CreateTrkTrackTool.h
index d0edfd5cb9aedb78d7fde03104377f3ff9aa5d1f..5fcf1f8c47d0fa0b95044d8237362b6d11f2a2a1 100644
--- a/Tracking/Acts/FaserActsKalmanFilter/src/CreateTrkTrackTool.h
+++ b/Tracking/Acts/FaserActsKalmanFilter/src/CreateTrkTrackTool.h
@@ -18,7 +18,7 @@ public:
   virtual ~CreateTrkTrackTool() = default;
   virtual StatusCode initialize() override;
   virtual StatusCode finalize() override;
-  std::unique_ptr<Trk::Track> createTrack(const Acts::GeometryContext &gctx, const FaserActsRecMultiTrajectory &traj) const;
+  std::unique_ptr<Trk::Track> createTrack(const Acts::GeometryContext &gctx, const FaserActsRecMultiTrajectory &traj, bool backwardPropagation=false) const;
   const Trk::TrackParameters* ConvertActsTrackParameterToATLAS(const Acts::BoundTrackParameters &actsParameter, const Acts::GeometryContext& gctx) const;
 private:
   const FaserSCT_ID* m_idHelper {nullptr};
diff --git a/Tracking/Acts/FaserActsKalmanFilter/src/FiducialParticleTool.cxx b/Tracking/Acts/FaserActsKalmanFilter/src/FiducialParticleTool.cxx
index 101ddfdf99a645aaef69f6d824e782ff7525928f..71a469ba4cb1b20e682f610d0be13238394e9278 100644
--- a/Tracking/Acts/FaserActsKalmanFilter/src/FiducialParticleTool.cxx
+++ b/Tracking/Acts/FaserActsKalmanFilter/src/FiducialParticleTool.cxx
@@ -6,8 +6,7 @@
 
 constexpr float NaN = std::numeric_limits<double>::quiet_NaN();
 
-FiducialParticleTool::FiducialParticleTool(const std::string &type,
-                                           const std::string &name,
+FiducialParticleTool::FiducialParticleTool(const std::string &type, const std::string &name,
                                            const IInterface *parent)
     : base_class(type, name, parent) {}
 
@@ -32,23 +31,32 @@ bool FiducialParticleTool::isFiducial(int barcode) const {
   return isFiducial;
 }
 
-HepGeom::Point3D<double>
-FiducialParticleTool::getGlobalPosition(const FaserSiHit &hit) const {
-  Identifier waferId =
-      m_sctHelper->wafer_id(hit.getStation(), hit.getPlane(), hit.getRow(),
-                            hit.getModule(), hit.getSensor());
+HepGeom::Point3D<double> FiducialParticleTool::getGlobalPosition(const FaserSiHit &hit) const {
+  Identifier waferId = m_sctHelper->wafer_id(hit.getStation(), hit.getPlane(), hit.getRow(),
+                                             hit.getModule(), hit.getSensor());
   auto localStartPos = hit.localStartPosition();
   auto localEndPos = hit.localEndPosition();
   HepGeom::Point3D<double> localPos = 0.5 * (localEndPos + localStartPos);
-  const TrackerDD::SiDetectorElement *element =
-      m_detMgr->getDetectorElement(waferId);
-  auto globalPosition =
-      Amg::EigenTransformToCLHEP(element->transformHit()) * localPos;
+  const TrackerDD::SiDetectorElement *element = m_detMgr->getDetectorElement(waferId);
+  auto globalPosition = Amg::EigenTransformToCLHEP(element->transformHit()) * localPos;
   return globalPosition;
 }
 
-std::array<HepGeom::Point3D<double>, 4>
-FiducialParticleTool::getTruthPositions(int barcode) const {
+HepGeom::Point3D<double> FiducialParticleTool::getMomentum(const FaserSiHit &hit) const {
+  Identifier waferId = m_sctHelper->wafer_id(hit.getStation(), hit.getPlane(), hit.getRow(),
+                                             hit.getModule(), hit.getSensor());
+  auto localStartPos = hit.localStartPosition();
+  auto localEndPos = hit.localEndPosition();
+  const TrackerDD::SiDetectorElement *element = m_detMgr->getDetectorElement(waferId);
+  auto globalStartPosition = Amg::EigenTransformToCLHEP(element->transformHit()) * localStartPos;
+  auto globalEndPosition = Amg::EigenTransformToCLHEP(element->transformHit()) * localEndPos;
+  double p = hit.particleLink()->momentum().rho();
+  HepGeom::Point3D<double> globalDirection = globalEndPosition - globalStartPosition;
+  HepGeom::Point3D<double> momentum = globalDirection / globalDirection.mag() * p;
+  return momentum;
+}
+
+std::array<HepGeom::Point3D<double>, 4> FiducialParticleTool::getTruthPositions(int barcode) const {
   // initialize positions as NaN
   std::array<HepGeom::Point3D<double>, 4> positions{};
   for (auto &station : positions) {
@@ -89,3 +97,46 @@ FiducialParticleTool::getTruthPositions(int barcode) const {
   }
   return positions;
 }
+
+std::array<HepGeom::Point3D<double>, 4> FiducialParticleTool::getTruthMomenta(int barcode) const {
+  // initialize positions as NaN
+  std::array<HepGeom::Point3D<double>, 4> momenta{};
+  for (auto &station : momenta) {
+    station.setX(NaN);
+    station.setY(NaN);
+    station.setZ(NaN);
+  }
+
+  // get simulated hits
+  SG::ReadHandle<FaserSiHitCollection> siHitCollection(m_siHitCollectionKey);
+  if (!siHitCollection.isValid()) {
+    ATH_MSG_WARNING("FaserSiHitCollection not valid.");
+    return momenta;
+  }
+
+  // create map with truth momenta in each station
+  std::array<std::vector<HepGeom::Point3D<double>>, 4> hitMap{};
+  for (const FaserSiHit &hit : *siHitCollection) {
+    if (hit.trackNumber() == barcode) {
+      HepGeom::Point3D<double> momentum = getMomentum(hit);
+      hitMap[hit.getStation()].push_back(momentum);
+    }
+  }
+
+  // calculate average momentum in each station
+  for (int station = 0; station < 4; ++station) {
+    std::vector<HepGeom::Point3D<double>> &hits{hitMap[station]};
+    if (hits.empty()) {
+      continue;
+    } else {
+      // calculate average momentum of all FaserSiHits in a station
+      auto const count = static_cast<double>(hits.size());
+      HepGeom::Point3D<double> sums{};
+      for (const HepGeom::Point3D<double> &hit : hits) {
+        sums += hit;
+      }
+      momenta[station] = sums / count;
+    }
+  }
+  return momenta;
+}
diff --git a/Tracking/Acts/FaserActsKalmanFilter/src/FiducialParticleTool.h b/Tracking/Acts/FaserActsKalmanFilter/src/FiducialParticleTool.h
index 8d1435734c6982e9dcbd0abd52acb07003914366..ecba3a8318f3730127ddf8786722a3509b96b4ac 100644
--- a/Tracking/Acts/FaserActsKalmanFilter/src/FiducialParticleTool.h
+++ b/Tracking/Acts/FaserActsKalmanFilter/src/FiducialParticleTool.h
@@ -23,6 +23,10 @@ public:
 
   std::array<HepGeom::Point3D<double>, 4>
   getTruthPositions(int barcode) const override;
+  std::array<HepGeom::Point3D<double>, 4>
+  getTruthMomenta(int barcode) const override;
+  HepGeom::Point3D<double>
+  getMomentum(const FaserSiHit &hit) const;
 
 private:
   HepGeom::Point3D<double> getGlobalPosition(const FaserSiHit &hit) const;
diff --git a/Tracking/Acts/FaserActsKalmanFilter/src/KalmanFitterTool.cxx b/Tracking/Acts/FaserActsKalmanFilter/src/KalmanFitterTool.cxx
index c0d02183f5616df5b624152fee61d4c1bf6bba37..5315404c72051fcb3c78a36e262dd97f9e44fdee 100644
--- a/Tracking/Acts/FaserActsKalmanFilter/src/KalmanFitterTool.cxx
+++ b/Tracking/Acts/FaserActsKalmanFilter/src/KalmanFitterTool.cxx
@@ -45,7 +45,7 @@ StatusCode KalmanFitterTool::finalize() {
 std::vector<TSOS4Residual>
 KalmanFitterTool::getUnbiasedResidual(const EventContext &ctx, const Acts::GeometryContext &gctx,
                       Trk::Track* inputTrack, double clusz, const Acts::BoundVector& inputVector,
-                      bool isMC, double origin) const {
+                      bool /*isMC*/, double origin) const {
   std::vector<TSOS4Residual> resi;
   resi.clear();
   std::vector<FaserActsRecMultiTrajectory> myTrajectories;
@@ -126,14 +126,14 @@ KalmanFitterTool::getUnbiasedResidual(const EventContext &ctx, const Acts::Geome
 	    state.referenceSurface().getSharedPtr(),
 	    state.smoothed(),
 	    state.smoothedCovariance());
-	auto covariance = state.smoothedCovariance();
+	    // auto covariance = state.smoothedCovariance();
 	    auto H = state.effectiveProjector();
 	    auto residual = state.effectiveCalibrated() - H * state.smoothed();
 	    const Tracker::FaserSCT_Cluster* cluster = state.uncalibrated().hit();
-	    const auto& surface = state.referenceSurface();
+	    // const auto& surface = state.referenceSurface();
 	    Acts::BoundVector meas = state.projector().transpose() * state.calibrated();
 	    Acts::Vector2 local(meas[Acts::eBoundLoc0], meas[Acts::eBoundLoc1]);
-	    const Acts::Vector3 dir = Acts::makeDirectionUnitFromPhiTheta(meas[Acts::eBoundPhi], meas[Acts::eBoundTheta]);
+	    // const Acts::Vector3 dir = Acts::makeDirectionUnitFromPhiTheta(meas[Acts::eBoundPhi], meas[Acts::eBoundTheta]);
 	    resi.push_back({local.x(),local.y(),parameter.position(gctx).x(), parameter.position(gctx).y(), parameter.position(gctx).z(), cluster,residual(Acts::eBoundLoc0),parameter});
 	    ATH_MSG_DEBUG("  residual/global position:   " << residual(Acts::eBoundLoc0)<<" "<<parameter.position(gctx).x()<<" "<<parameter.position(gctx).y()<<" "<<parameter.position(gctx).z());
 	    }
@@ -155,8 +155,8 @@ KalmanFitterTool::getUnbiasedResidual(const EventContext &ctx, const Acts::Geome
 //
 std::vector<TSOS4Residual>
 KalmanFitterTool::getUnbiasedResidual(const EventContext &ctx, const Acts::GeometryContext &gctx,
-                      Trk::Track* inputTrack,  const Acts::BoundVector& inputVector,
-                      bool isMC, double origin, std::vector<const Tracker::FaserSCT_Cluster*>& clusters, const Acts::BoundTrackParameters ini_Param) const {
+                      Trk::Track* inputTrack,  const Acts::BoundVector& /*inputVector*/,
+                      bool /*isMC*/, double origin, std::vector<const Tracker::FaserSCT_Cluster*>& clusters, const Acts::BoundTrackParameters ini_Param) const {
   std::vector<TSOS4Residual> resi;
   resi.clear();
   std::vector<FaserActsRecMultiTrajectory> myTrajectories;
@@ -232,14 +232,14 @@ KalmanFitterTool::getUnbiasedResidual(const EventContext &ctx, const Acts::Geome
 	    state.referenceSurface().getSharedPtr(),
 	    state.smoothed(),
 	    state.smoothedCovariance());
-	auto covariance = state.smoothedCovariance();
+	    // auto covariance = state.smoothedCovariance();
 	    auto H = state.effectiveProjector();
 	    auto residual = state.effectiveCalibrated() - H * state.smoothed();
 	    const Tracker::FaserSCT_Cluster* cluster = state.uncalibrated().hit();
-	    const auto& surface = state.referenceSurface();
+	    // const auto& surface = state.referenceSurface();
 	    Acts::BoundVector meas = state.projector().transpose() * state.calibrated();
 	    Acts::Vector2 local(meas[Acts::eBoundLoc0], meas[Acts::eBoundLoc1]);
-	    const Acts::Vector3 dir = Acts::makeDirectionUnitFromPhiTheta(meas[Acts::eBoundPhi], meas[Acts::eBoundTheta]);
+	    // const Acts::Vector3 dir = Acts::makeDirectionUnitFromPhiTheta(meas[Acts::eBoundPhi], meas[Acts::eBoundTheta]);
 	    resi.push_back({local.x(),local.y(),parameter.position(gctx).x(), parameter.position(gctx).y(), parameter.position(gctx).z(), cluster,residual(Acts::eBoundLoc0),parameter});
 	    }
 	    return true;
@@ -261,7 +261,7 @@ KalmanFitterTool::getUnbiasedResidual(const EventContext &ctx, const Acts::Geome
 std::vector<TSOS4Residual>
 KalmanFitterTool::getUnbiasedResidual(const EventContext &ctx, const Acts::GeometryContext &gctx,
                       Trk::Track* inputTrack,  const Acts::BoundVector& inputVector,
-                      bool isMC, double origin) const {
+                      bool /*isMC*/, double origin) const {
   std::vector<TSOS4Residual> resi;
   resi.clear();
   std::vector<FaserActsRecMultiTrajectory> myTrajectories;
@@ -339,14 +339,14 @@ KalmanFitterTool::getUnbiasedResidual(const EventContext &ctx, const Acts::Geome
 	    state.referenceSurface().getSharedPtr(),
 	    state.smoothed(),
 	    state.smoothedCovariance());
-	auto covariance = state.smoothedCovariance();
+	    // auto covariance = state.smoothedCovariance();
 	    auto H = state.effectiveProjector();
 	    auto residual = state.effectiveCalibrated() - H * state.smoothed();
 	    const Tracker::FaserSCT_Cluster* cluster = state.uncalibrated().hit();
-	    const auto& surface = state.referenceSurface();
+	    // const auto& surface = state.referenceSurface();
 	    Acts::BoundVector meas = state.projector().transpose() * state.calibrated();
 	    Acts::Vector2 local(meas[Acts::eBoundLoc0], meas[Acts::eBoundLoc1]);
-	    const Acts::Vector3 dir = Acts::makeDirectionUnitFromPhiTheta(meas[Acts::eBoundPhi], meas[Acts::eBoundTheta]);
+	    // const Acts::Vector3 dir = Acts::makeDirectionUnitFromPhiTheta(meas[Acts::eBoundPhi], meas[Acts::eBoundTheta]);
 resi.push_back({local.x(),local.y(),parameter.position(gctx).x(), parameter.position(gctx).y(), parameter.position(gctx).z(), cluster,residual(Acts::eBoundLoc0),parameter});
 	    }
 	    return true;
@@ -365,7 +365,7 @@ resi.push_back({local.x(),local.y(),parameter.position(gctx).x(), parameter.posi
 std::unique_ptr<Trk::Track>
 KalmanFitterTool::fit(const EventContext &ctx, const Acts::GeometryContext &gctx,
                       Trk::Track* inputTrack, const Acts::BoundVector& inputVector,
-                      bool isMC, double origin) const {
+                      bool isMC) const {
   std::unique_ptr<Trk::Track> newTrack = nullptr;
   std::vector<FaserActsRecMultiTrajectory> myTrajectories;
 
@@ -380,6 +380,9 @@ KalmanFitterTool::fit(const EventContext &ctx, const Acts::GeometryContext &gctx
   }
 
 
+  // set the start position 5 mm in front of the first track measurement
+  double origin = inputTrack->trackParameters()->front()->position().z() - 10;
+
   auto pSurface = Acts::Surface::makeShared<Acts::PlaneSurface>(
       Acts::Vector3 {0, 0, origin}, Acts::Vector3{0, 0, -1});
 
@@ -544,7 +547,7 @@ KalmanFitterTool::getMeasurementsFromTrack(Trk::Track *track, std::vector<const
 }
 
 std::tuple<std::vector<IndexSourceLink>, std::vector<Measurement>>
-KalmanFitterTool::getMeasurementsFromTrack(Trk::Track *track, Identifier& wafer_id) const {
+KalmanFitterTool::getMeasurementsFromTrack(Trk::Track *track, Identifier& /*wafer_id*/) const {
   const int kSize = 1;
   std::array<Acts::BoundIndices, kSize> Indices = {Acts::eBoundLoc0};
   using ThisMeasurement = Acts::Measurement<IndexSourceLink, Acts::BoundIndices, kSize>;
diff --git a/Tracking/Acts/FaserActsKalmanFilter/src/KalmanFitterTool.h b/Tracking/Acts/FaserActsKalmanFilter/src/KalmanFitterTool.h
index 584cda2c98bf32d7050150a690a0926439e11f91..4901d324f9c7cb3ee1c3ecd8175130ffa82a694b 100644
--- a/Tracking/Acts/FaserActsKalmanFilter/src/KalmanFitterTool.h
+++ b/Tracking/Acts/FaserActsKalmanFilter/src/KalmanFitterTool.h
@@ -90,7 +90,7 @@ public:
   std::unique_ptr<Trk::Track> fit(const EventContext &ctx, const Acts::GeometryContext &gctx,
                                   Trk::Track *inputTrack,
                                   const Acts::BoundVector& inputVector = Acts::BoundVector::Zero(),
-                                  bool isMC=false, double origin=0) const;
+                                  bool isMC=false) const;
   std::vector<TSOS4Residual> getUnbiasedResidual(const EventContext &ctx, const Acts::GeometryContext &gctx,
                                   Trk::Track *inputTrack,
                                   const Acts::BoundVector& inputVector = Acts::BoundVector::Zero(),
diff --git a/Tracking/Acts/FaserActsKalmanFilter/src/MyTrackSeedTool.cxx b/Tracking/Acts/FaserActsKalmanFilter/src/MyTrackSeedTool.cxx
index b5a5e04895ed443cb4e868c4ce722ac45fe65f2f..4477735faf87c0132a1453430c1e35b9553bb81e 100644
--- a/Tracking/Acts/FaserActsKalmanFilter/src/MyTrackSeedTool.cxx
+++ b/Tracking/Acts/FaserActsKalmanFilter/src/MyTrackSeedTool.cxx
@@ -26,7 +26,7 @@ StatusCode MyTrackSeedTool::initialize() {
 }
 
 
-StatusCode MyTrackSeedTool::run(std::vector<int> /*maskedLayers*/) {
+StatusCode MyTrackSeedTool::run(std::vector<int> /*maskedLayers*/, bool /*backward*/) {
 
   // create track seeds for multiple tracks
   SG::ReadHandle<TrackCollection> trackCollection {m_trackCollection};
diff --git a/Tracking/Acts/FaserActsKalmanFilter/src/MyTrackSeedTool.h b/Tracking/Acts/FaserActsKalmanFilter/src/MyTrackSeedTool.h
index df545c34abfd37e8b778a0c0be5b23852dbb7b7b..26e857b7b48648a6cc5557c5d5001a3d059242cb 100644
--- a/Tracking/Acts/FaserActsKalmanFilter/src/MyTrackSeedTool.h
+++ b/Tracking/Acts/FaserActsKalmanFilter/src/MyTrackSeedTool.h
@@ -25,7 +25,7 @@ public:
   virtual ~MyTrackSeedTool() = default;
   virtual StatusCode initialize() override;
   virtual StatusCode finalize() override;
-  virtual StatusCode run(std::vector<int> /*maskedLayers*/) override;
+  virtual StatusCode run(std::vector<int> /*maskedLayers*/, bool /*backward*/) override;
 
   const std::shared_ptr<std::vector<Acts::CurvilinearTrackParameters>> initialTrackParameters() const override;
   const std::shared_ptr<const Acts::Surface> initialSurface() const override;
diff --git a/Tracking/Acts/FaserActsKalmanFilter/src/ThreeStationTrackSeedTool.cxx b/Tracking/Acts/FaserActsKalmanFilter/src/ThreeStationTrackSeedTool.cxx
index 15db300108f9090ba35c6b09ddc66a9b6cf7513a..65d15e723a54427eb35fdfbc330458cd29279cee 100644
--- a/Tracking/Acts/FaserActsKalmanFilter/src/ThreeStationTrackSeedTool.cxx
+++ b/Tracking/Acts/FaserActsKalmanFilter/src/ThreeStationTrackSeedTool.cxx
@@ -23,7 +23,7 @@ StatusCode ThreeStationTrackSeedTool::initialize() {
 }
 
 
-StatusCode ThreeStationTrackSeedTool::run(std::vector<int> /*maskedLayers*/) {
+StatusCode ThreeStationTrackSeedTool::run(std::vector<int> /*maskedLayers*/, bool /*backward*/) {
   // create track seeds for multiple tracks
   SG::ReadHandle<TrackCollection> trackCollection {m_trackCollection};
   ATH_CHECK(trackCollection.isValid());
diff --git a/Tracking/Acts/FaserActsKalmanFilter/src/ThreeStationTrackSeedTool.h b/Tracking/Acts/FaserActsKalmanFilter/src/ThreeStationTrackSeedTool.h
index deab07bb12c5b061376975ba5d984f95b15da71e..7c4c521b8eedd6bdd753b95e45ae98cde6176b73 100644
--- a/Tracking/Acts/FaserActsKalmanFilter/src/ThreeStationTrackSeedTool.h
+++ b/Tracking/Acts/FaserActsKalmanFilter/src/ThreeStationTrackSeedTool.h
@@ -23,7 +23,7 @@ public:
   virtual ~ThreeStationTrackSeedTool() = default;
   virtual StatusCode initialize() override;
   virtual StatusCode finalize() override;
-  virtual StatusCode run(std::vector<int> /*maskedLayers*/) override;
+  virtual StatusCode run(std::vector<int> /*maskedLayers*/, bool /*backward*/) override;
 
   const std::shared_ptr<std::vector<Acts::CurvilinearTrackParameters>> initialTrackParameters() const override;
   const std::shared_ptr<const Acts::Surface> initialSurface() const override;
diff --git a/Tracking/Acts/FaserActsKalmanFilter/src/components/FaserActsKalmanFilter_entries.cxx b/Tracking/Acts/FaserActsKalmanFilter/src/components/FaserActsKalmanFilter_entries.cxx
index be32f4959409c57903c674bf7fd5d28209ad295d..41fd700702bd99ab6bf8322e511ae86bbb9370ae 100755
--- a/Tracking/Acts/FaserActsKalmanFilter/src/components/FaserActsKalmanFilter_entries.cxx
+++ b/Tracking/Acts/FaserActsKalmanFilter/src/components/FaserActsKalmanFilter_entries.cxx
@@ -23,7 +23,7 @@
 #include "../TrackSeedWriterTool.h"
 #include "../ActsTrackSeedTool.h"
 #include "../CKF2.h"
-#include "../CKF2Alignment.h"
+// #include "../CKF2Alignment.h"
 #include "../KalmanFitterTool.h"
 #include "../MyTrackSeedTool.h"
 #include "../SeedingAlg.h"
@@ -54,7 +54,7 @@ DECLARE_COMPONENT(PerformanceWriterTool)
 DECLARE_COMPONENT(TrackSeedWriterTool)
 DECLARE_COMPONENT(ActsTrackSeedTool)
 DECLARE_COMPONENT(CKF2)
-DECLARE_COMPONENT(CKF2Alignment)
+// DECLARE_COMPONENT(CKF2Alignment)
 DECLARE_COMPONENT(KalmanFitterTool)
 DECLARE_COMPONENT(MyTrackSeedTool)
 DECLARE_COMPONENT(SeedingAlg)
diff --git a/Waveform/WaveDigiTools/CMakeLists.txt b/Waveform/WaveDigiTools/CMakeLists.txt
index d7e9fd857b273c764dad780aceebd0d3f58acc3a..64329d8fcc00e60316bdf97f76d7f1b2619bb2cd 100644
--- a/Waveform/WaveDigiTools/CMakeLists.txt
+++ b/Waveform/WaveDigiTools/CMakeLists.txt
@@ -13,12 +13,16 @@ atlas_add_library( WaveDigiToolsLib
                    WaveDigiTools/*.h src/*.cxx src/*.h
                    PUBLIC_HEADERS WaveDigiTools
                    PRIVATE_INCLUDE_DIRS ${ROOT_INCLUDE_DIRS}
-                   LINK_LIBRARIES AthenaBaseComps AthenaKernel GeoPrimitives WaveRawEvent Identifier 
+                   LINK_LIBRARIES AthenaBaseComps AthenaKernel GeoPrimitives 
+		   WaveRawEvent Identifier ScintSimEvent ScintReadoutGeometry
+		   FaserCaloSimEvent CaloReadoutGeometry
+		   WaveformConditionsToolsLib
                    PRIVATE_LINK_LIBRARIES ${ROOT_LIBRARIES}
 		   )
 
 atlas_add_component( WaveDigiTools
 		     src/components/*.cxx 
 		     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${ROOT_LIBRARIES} AthenaBaseComps GaudiKernel WaveDigiToolsLib)
+                     LINK_LIBRARIES ${ROOT_LIBRARIES} 
+		     AthenaBaseComps GaudiKernel WaveDigiToolsLib)
 
diff --git a/Waveform/WaveDigiTools/WaveDigiTools/IWaveformDigitisationTool.h b/Waveform/WaveDigiTools/WaveDigiTools/IWaveformDigitisationTool.h
index 37cb7af183c2d89b9ada3579f76820bfe6487c5c..765f7f0e85d18c69354eb910a9324da653d352aa 100644
--- a/Waveform/WaveDigiTools/WaveDigiTools/IWaveformDigitisationTool.h
+++ b/Waveform/WaveDigiTools/WaveDigiTools/IWaveformDigitisationTool.h
@@ -22,16 +22,23 @@
 
 #include "WaveRawEvent/RawWaveformContainer.h"
 #include "WaveRawEvent/RawWaveform.h"
+#include "ScintSimEvent/ScintHitCollection.h"
+#include "FaserCaloSimEvent/CaloHitCollection.h"
 
 #include "Identifier/Identifier.h"
 
 #include "TF1.h"
 #include "TRandom3.h"
+#include "TH1D.h"
 
 #include <utility>
 #include <map>
 #include <vector>
 
+// Forward declaration
+class IWaveformDigiConditionsTool;
+
+typedef std::map<Identifier, TH1D*> EvstHistMap;
 
 ///Interface for waveform digitisation tools
 class IWaveformDigitisationTool : virtual public IAlgTool 
@@ -47,25 +54,59 @@ public:
 
   virtual ~IWaveformDigitisationTool() = default;
 
-  /// Evaluate time kernel over time samples  
-  virtual std::vector<float> evaluate_timekernel(TF1* kernel) const = 0;
+  /// Create waveforms - old method
+  virtual std::map<Identifier, std::vector<uint16_t>>& generate_scint_waveforms(
+		const EventContext& ctx,
+	      	const ToolHandle<IWaveformDigiConditionsTool>& digiCondTool,
+		const ScintHitCollection* hitCollection) const = 0;
+
+  /// Create waveforms using hit timing
+  virtual std::map<Identifier, std::vector<uint16_t>>& generate_scint_timing_waveforms(
+		const EventContext& ctx,
+	      	const ToolHandle<IWaveformDigiConditionsTool>& digiCondTool,
+		const ScintHitCollection* hitCollection) const = 0;
+
+  /// Create waveforms - old method
+  virtual std::map<Identifier, std::vector<uint16_t>>& generate_calo_waveforms(
+		const EventContext& ctx,
+	      	const ToolHandle<IWaveformDigiConditionsTool>& digiCondTool,
+		const CaloHitCollection* hitCollection) const = 0;
+
+  /// Create waveforms using hit timing
+  virtual std::map<Identifier, std::vector<uint16_t>>& generate_calo_timing_waveforms(
+		const EventContext& ctx,
+	      	const ToolHandle<IWaveformDigiConditionsTool>& digiCondTool,
+		const CaloHitCollection* hitCollection) const = 0;
+
 
-  /// Generate random baseline 
-  virtual float generate_baseline(float mean, float rms) const = 0;
+  /* /// Evaluate time kernel over time samples   */
+  /* virtual std::vector<float> evaluate_timekernel(TF1* kernel) const = 0; */
+
+  /* /// Generate random baseline  */
+  /* virtual float generate_baseline(float mean, float rms) const = 0; */
  
-  /// Create structure to store pulse for each channel
+  /* /// Create structure to store pulse for each channel */
   template <class T> 
-  std::map<Identifier, std::vector<uint16_t>> create_waveform_map(const T* idHelper) const;
+  std::map<Identifier, std::vector<uint16_t>> create_waveform_map(const T* idHelper) const; 
 
   /// Number of time samples
-  unsigned int nsamples() const { return m_nsamples; }
+  virtual unsigned int digitizer_samples() const = 0;
+  virtual float digitizer_period() const = 0;  // in ns
+  virtual unsigned int over_samples() const = 0;
+  virtual unsigned int pre_samples() const = 0;
+
+  /// Fill histograms
+  //virtual void fill_evst_hist(EvstHistMap& map, const Identifier& id, float time, float energy) const = 0;
+
+  // Remove old histograms
+  //virtual void clear_evst_hist(EvstHistMap& map) const = 0;
 
 private:
   ServiceHandle<IMessageSvc>      m_msgSvc;
 
 protected:
   TRandom3*                       m_random;
-  unsigned int                    m_nsamples;
+
 };
 
 #include "WaveDigiTools/IWaveformDigitisationTool.icc"
diff --git a/Waveform/WaveDigiTools/WaveDigiTools/IWaveformDigitisationTool.icc b/Waveform/WaveDigiTools/WaveDigiTools/IWaveformDigitisationTool.icc
index 41b8c2650319a448df63d11e098fc8d0784dc056..140e4c5eb2bf30bcea84bc0bb763a61c98cc4517 100644
--- a/Waveform/WaveDigiTools/WaveDigiTools/IWaveformDigitisationTool.icc
+++ b/Waveform/WaveDigiTools/WaveDigiTools/IWaveformDigitisationTool.icc
@@ -10,8 +10,9 @@ std::map<Identifier, std::vector<uint16_t>>  IWaveformDigitisationTool::create_w
     const ExpandedIdentifier& extId = *itr;
     Identifier id = idHelper->pmt_id(extId);
     waveforms[id] = std::vector<uint16_t>();
-    waveforms[id].reserve(m_nsamples);
+    waveforms[id].reserve(digitizer_samples());
   }
 
   return waveforms;
 }
+
diff --git a/Waveform/WaveDigiTools/src/WaveformDigitisationTool.cxx b/Waveform/WaveDigiTools/src/WaveformDigitisationTool.cxx
index 3a48027d57e3710a2ec592aed6a9ed749b9f6848..965fa34bfbb7bd29be58c688774303e8853732d6 100644
--- a/Waveform/WaveDigiTools/src/WaveformDigitisationTool.cxx
+++ b/Waveform/WaveDigiTools/src/WaveformDigitisationTool.cxx
@@ -10,6 +10,9 @@
 
 #include "WaveformDigitisationTool.h"
 
+#include "ScintReadoutGeometry/ScintDetectorElement.h"
+#include "CaloReadoutGeometry/CaloDetectorElement.h"
+
 // Constructor
 WaveformDigitisationTool::WaveformDigitisationTool(const std::string& type, const std::string& name, const IInterface* parent) :
   base_class(type, name, parent)
@@ -21,21 +24,45 @@ StatusCode
 WaveformDigitisationTool::initialize() {
   ATH_MSG_INFO( name() << "::initalize()" );
 
-  m_nsamples = 600;
+  // Setup ID helpers
+  ATH_CHECK(detStore()->retrieve(m_vetoID, "VetoID"));
+  ATH_CHECK(detStore()->retrieve(m_vetoNuID, "VetoNuID"));
+  ATH_CHECK(detStore()->retrieve(m_triggerID, "TriggerID"));
+  ATH_CHECK(detStore()->retrieve(m_preshowerID, "PreshowerID"));
+  ATH_CHECK(detStore()->retrieve(m_ecalID, "EcalID"));
+
+  // Setup detector managers
+  // These don't necessarily all exist depending on the geometry
+  // so don't use ATH_CHECK
+  if (StatusCode::SUCCESS != detStore()->retrieve(m_vetoDetMan, "Veto"))
+    ATH_MSG_WARNING("Couldn't load Veto detector manager!");
+  if (StatusCode::SUCCESS != detStore()->retrieve(m_vetoNuDetMan, "VetoNu"))
+    ATH_MSG_WARNING("Couldn't load VetoNu detector manager!");
+  if (StatusCode::SUCCESS != detStore()->retrieve(m_triggerDetMan, "Trigger"))
+    ATH_MSG_WARNING("Couldn't load Trigger detector manager!");
+  if (StatusCode::SUCCESS != detStore()->retrieve(m_preshowerDetMan, "Preshower"))
+    ATH_MSG_WARNING("Couldn't load Preshower detector manager!");
+  if (StatusCode::SUCCESS != detStore()->retrieve(m_caloDetMan, "Ecal"))
+    ATH_MSG_WARNING("Couldn't load Calo detector manager!");
+
+  // Show our parameters (for debugging for now)
+  ATH_MSG_INFO(m_digitizerPeriod);
+  ATH_MSG_INFO(m_digitizerSamples);
+  ATH_MSG_INFO(m_overSamples);
+
   m_random = new TRandom3(0);
 
   return StatusCode::SUCCESS;
 }
 
-
 std::vector<float>
 WaveformDigitisationTool::evaluate_timekernel(TF1* kernel) const {
   
   std::vector<float> timekernel;
-  timekernel.reserve(m_nsamples);
+  timekernel.reserve(m_digitizerSamples);
   
-  for (unsigned int i=0; i<m_nsamples; i++) {
-    timekernel.push_back(kernel->Eval(2.*i));  
+  for (unsigned int i=0; int(i) < m_digitizerSamples; i++) {
+    timekernel.push_back(kernel->Eval(m_digitizerPeriod*i));  
   }
   
   return timekernel;
@@ -45,3 +72,563 @@ float
 WaveformDigitisationTool::generate_baseline(float mean, float rms) const {
   return m_random->Gaus(mean, rms);
 }
+
+
+/// Fill EvsT histograms
+/// Time should be in ns
+void 
+WaveformDigitisationTool::fill_evst_hist(EvstHistMap& map, const Identifier& id, float time, float energy) const {
+
+  if (map.find(id) == map.end()) {
+    ATH_MSG_DEBUG("Creating EvsT hist for channel" << id);
+    // Start histogram before zero to pick up any early arriving hits
+    map[id] = new TH1D("", "", m_overSamples * (m_digitizerSamples+m_preSamples), -m_digitizerPeriod*m_preSamples, m_digitizerPeriod*m_digitizerSamples);
+  }
+
+  if (time < (-m_digitizerPeriod*m_preSamples))
+    ATH_MSG_WARNING("ID " << id << " hit found with time " << time << " E " << energy << "!");
+
+  map[id]->Fill(time, energy);
+}
+
+/// Delete histograms and clear map
+void 
+WaveformDigitisationTool::clear_evst_hist(EvstHistMap& map) const {
+
+  // Delete histogram objects
+  for (auto& it : map)
+    delete it.second;
+
+  // Also remove map elements (now null pointers)
+  map.clear();
+}
+
+//template <class HitCollection>
+//std::map<Identifier, std::vector<uint16_t>>& 
+//WaveformDigitisationTool::generateWaveforms(
+//		const EventContext& ctx,
+//		const ToolHandle<IWaveformDigiConditionsTool>& digiCondTool,
+//		const HitCollection* hitCollection) const {
+
+//std::map<Identifier, std::vector<uint16_t>>&
+//WaveformDigitisationTool::test_context(const EventContext& ctx) const {
+//  static std::map<Identifier, std::vector<uint16_t>> waveforms;
+//  return waveforms;
+//}
+
+TF1*
+WaveformDigitisationTool::create_kernel(const EventContext& ctx, 
+					const ToolHandle<IWaveformDigiConditionsTool>& digiCondTool) const {
+
+  TF1* kernel = new TF1("PDF", "[4] * ROOT::Math::crystalball_pdf(x, [0],[1],[2],[3])", 0, 1200);
+
+  kernel->SetParameter(0, digiCondTool->cb_alpha(ctx));
+  kernel->SetParameter(1, digiCondTool->cb_n(ctx));
+  kernel->SetParameter(2, digiCondTool->cb_sigma(ctx));
+  kernel->SetParameter(3, digiCondTool->cb_mean(ctx));
+  kernel->SetParameter(4, digiCondTool->cb_norm(ctx));
+
+  return kernel;
+}
+
+std::map<Identifier, std::vector<uint16_t>>& 
+WaveformDigitisationTool::generate_scint_waveforms(
+		const EventContext& ctx,
+		const ToolHandle<IWaveformDigiConditionsTool>& digiCondTool,
+		const ScintHitCollection* hitCollection) const {
+
+  // Create digitization kernel
+  TF1* kernel = create_kernel(ctx, digiCondTool);
+
+  // Helpers, to be filled below as needed
+
+  // Create structure to store waveform for each channel
+  // We return a reference to this, so it must be static
+  static std::map<Identifier, std::vector<uint16_t>> waveforms;
+
+  // Make sure this is empty
+  waveforms.clear();
+
+  auto first = hitCollection->begin();
+
+  if (first->isVeto()) {
+    waveforms = create_waveform_map(m_vetoID);
+  } else if (first->isVetoNu()) {
+    waveforms = create_waveform_map(m_vetoNuID); 
+  } else if (first->isTrigger()) {
+    waveforms = create_waveform_map(m_triggerID);
+  } else if (first->isPreshower()) {
+    waveforms = create_waveform_map(m_preshowerID);
+  }
+
+  // Make energy sums
+  Identifier id;
+  std::map<Identifier, float> esum;
+
+  for (const auto& hit : *hitCollection) {
+
+    if (hit.isTrigger()) {
+      Identifier plate_id = m_triggerID->plate_id(hit.getIdentifier());      
+
+      id = m_triggerID->pmt_id(plate_id, 0); // ID for PMT 0
+      esum[id] += hit.energyLoss();
+
+      id = m_triggerID->pmt_id(plate_id, 1); // ID for PMT 1
+      esum[id] += hit.energyLoss();
+    } else {
+      id = hit.getIdentifier();
+      esum[id] += hit.energyLoss();
+    }
+  } // Done with loop over hits
+
+  // Now make waveforms
+  int value;
+  float signal, baseline;
+
+  for (const auto& w : waveforms) {
+
+    auto id = w.first;
+
+    // Now fill each entry with the sum of the kernel
+    // and some random background
+    for (unsigned int i=0; int(i) < m_digitizerSamples; i++) {
+      signal = kernel->Eval(m_digitizerPeriod * i) * esum[id];
+      baseline = generate_baseline(digiCondTool->base_mean(ctx),
+				   digiCondTool->base_rms(ctx));
+
+      // Waveform is some random baseline plus a negative signal
+      value = std::round(baseline - signal);
+
+      // Don't let value go below zero
+      if (value < 0) 
+	waveforms[id].push_back(0);
+      else
+	waveforms[id].push_back(value);
+
+    } // End of loop over bins
+
+  } // End of loop over channels
+
+  // Clean up after ourselves
+  delete kernel;
+
+  return waveforms;
+}
+
+std::map<Identifier, std::vector<uint16_t>>& 
+WaveformDigitisationTool::generate_scint_timing_waveforms(
+		const EventContext& ctx,
+		const ToolHandle<IWaveformDigiConditionsTool>& digiCondTool,
+		const ScintHitCollection* hitCollection) const {
+
+  // Create structure to store waveform for each channel
+  // We return a reference to this, so it must be static
+  static std::map<Identifier, std::vector<uint16_t>> waveforms;
+
+  // Make sure this is empty
+  waveforms.clear();
+
+  // Create TOF values
+  std::map<Identifier, float> time_of_flight;
+
+  auto first = hitCollection->begin();
+
+  if (first->isVeto()) {
+    waveforms = create_waveform_map(m_vetoID);
+    time_of_flight = create_tof_map(m_vetoID, m_vetoDetMan);
+  } else if (first->isVetoNu()) {
+    waveforms = create_waveform_map(m_vetoNuID); 
+    time_of_flight = create_tof_map(m_vetoNuID, m_vetoNuDetMan);
+  } else if (first->isTrigger()) {
+    waveforms = create_waveform_map(m_triggerID);
+    time_of_flight = create_tof_map(m_triggerID, m_triggerDetMan);
+  } else if (first->isPreshower()) {
+    waveforms = create_waveform_map(m_preshowerID);
+    time_of_flight = create_tof_map(m_preshowerID, m_preshowerDetMan);
+  }
+
+  // Make energy sums
+  Identifier id;
+
+  EvstHistMap evst_hist;
+
+  // Make sure we clear this
+  clear_evst_hist(evst_hist);
+
+  for (const auto& hit : *hitCollection) {
+
+    float dtime; // Time offset due to light propogation time in scintillator
+    float tof;   // Time offset due to detector z position
+
+    // Trigger plane, horizontal readout
+    if (hit.isTrigger()) {
+      Identifier plate_id = m_triggerID->plate_id(hit.getIdentifier());      
+
+      // Time delay based on horizontal distance
+      // Checked sign with Deion
+      dtime = digiCondTool->trigger_time_slope(ctx) * (hit.localStartPosition().x()+hit.localEndPosition().x()) / 2.;
+      id = m_triggerID->pmt_id(plate_id, 0); // ID for PMT 0
+      tof = time_of_flight[id];
+
+      // Fill our histogram for this channel
+      fill_evst_hist(evst_hist, id, hit.meanTime()-dtime-tof, hit.energyLoss());
+
+      id = m_triggerID->pmt_id(plate_id, 1); // ID for PMT 1
+      tof = time_of_flight[id];
+      fill_evst_hist(evst_hist, id, hit.meanTime()+dtime-tof, hit.energyLoss());
+
+      // Could also change amplitude based on distance to PMT, but not yet
+
+    } else {
+
+      // All others have only 1 PMT, use vertical position for dtime
+
+      id = hit.getIdentifier();
+      tof = time_of_flight[id];
+
+      // +y means shorter times, only apply to preshower
+      if (hit.isPreshower())
+	dtime = -digiCondTool->preshower_time_slope(ctx) * (hit.localStartPosition().y() + hit.localEndPosition().y()) / 2.;
+      else
+	dtime = 0.;
+	  
+      fill_evst_hist(evst_hist, id, hit.meanTime()+dtime-tof, hit.energyLoss());  
+    }
+
+    // Print out hit times
+    ATH_MSG_DEBUG("Scint Hit: " << id << " E: " << hit.energyLoss() 
+		  << " t: " << hit.meanTime()
+		  << " x: " << hit.localStartPosition().x()
+		  << " y: " << hit.localStartPosition().y()
+		  << " dt: " << dtime
+		  << " tof: " << tof
+		  );
+
+  } // Done with loop over hits
+
+  // Debugging printout 
+  for (auto it : evst_hist) {
+    ATH_MSG_DEBUG("Nonzero bins Evst hist id = " << it.first);
+    for (unsigned int ibin=0; int(ibin) <= it.second->GetNbinsX(); ibin++) {
+      if (it.second->GetBinContent(ibin) == 0) continue;
+      ATH_MSG_DEBUG(" bin: " << ibin << " t:" << it.second->GetBinCenter(ibin) << " val: " << it.second->GetBinContent(ibin));
+    }
+  }
+
+  // Now make waveforms
+  convolve_waveforms(ctx, digiCondTool, evst_hist, waveforms);
+
+  // Check what we have done
+  for (const auto& w : waveforms) {
+    ATH_MSG_DEBUG("Waveform for ID " << w.first);
+    for(unsigned int i=400; i<450; i++) 
+      ATH_MSG_DEBUG(digitizer_period()*i << "ns -> " << w.second[i]);
+  }
+
+  // Cleanup
+  clear_evst_hist(evst_hist);
+
+  return waveforms;
+}
+
+std::map<Identifier, std::vector<uint16_t>>& 
+WaveformDigitisationTool::generate_calo_waveforms(
+		const EventContext& ctx,
+		const ToolHandle<IWaveformDigiConditionsTool>& digiCondTool,
+		const CaloHitCollection* hitCollection) const {
+
+  // Create digitization kernel
+  TF1* kernel = create_kernel(ctx, digiCondTool);
+
+  // Helpers, to be filled below as needed
+
+  // Create structure to store waveform for each channel
+  // We return a reference to this, so it must be static
+  static std::map<Identifier, std::vector<uint16_t>> waveforms;
+
+  // Make sure this is empty
+  waveforms.clear();
+
+  waveforms = create_waveform_map(m_ecalID);
+
+  // Make energy sums
+  Identifier id;
+  std::map<Identifier, float> esum;
+
+  for (const auto& hit : *hitCollection) {
+    id = hit.getIdentifier();
+    esum[id] += hit.energyLoss();
+  } // Done with loop over hits
+
+  // Now make waveforms
+  int value;
+  float signal, baseline;
+
+  for (const auto& w : waveforms) {
+
+    auto id = w.first;
+
+    // Now fill each entry with the sum of the kernel
+    // and some random background
+    for (unsigned int i=0; int(i) < m_digitizerSamples; i++) {
+      signal = kernel->Eval(m_digitizerPeriod * i) * esum[id];
+      baseline = generate_baseline(digiCondTool->base_mean(ctx),
+				   digiCondTool->base_rms(ctx));
+
+      // Waveform is some random baseline plus a negative signal
+      value = std::round(baseline - signal);
+
+      // Don't let value go below zero
+      if (value < 0) 
+	waveforms[id].push_back(0);
+      else
+	waveforms[id].push_back(value);
+
+    } // End of loop over bins
+
+  } // End of loop over channels
+
+  // Clean up after ourselves
+  delete kernel;
+
+  return waveforms;
+}
+
+std::map<Identifier, std::vector<uint16_t>>& 
+WaveformDigitisationTool::generate_calo_timing_waveforms(
+		const EventContext& ctx,
+		const ToolHandle<IWaveformDigiConditionsTool>& digiCondTool,
+		const CaloHitCollection* hitCollection) const {
+
+  // Create structure to store waveform for each channel
+  // We return a reference to this, so it must be static
+  static std::map<Identifier, std::vector<uint16_t>> waveforms;
+
+  // Make sure this is empty
+  waveforms.clear();
+
+  // Create TOF values
+  std::map<Identifier, float> time_of_flight;
+
+  waveforms = create_waveform_map(m_ecalID);
+  time_of_flight = create_calo_tof_map(m_ecalID, m_caloDetMan);
+
+  // Make energy sums
+  Identifier id;
+
+  EvstHistMap evst_hist;
+
+  // Make sure we clear this
+  clear_evst_hist(evst_hist);
+
+  for (const auto& hit : *hitCollection) {
+
+    float tof;   // Time offset due to detector z position
+
+    id = hit.getIdentifier();
+    tof = time_of_flight[id];
+
+    fill_evst_hist(evst_hist, id, hit.meanTime()-tof, hit.energyLoss());  
+
+    // Print out hit times
+    ATH_MSG_DEBUG("Calo Hit: " << id << " E: " << hit.energyLoss() 
+		  << " t: " << hit.meanTime()
+		  << " x: " << hit.localStartPosition().x()
+		  << " y: " << hit.localStartPosition().y()
+		  << " z: " << hit.localStartPosition().z()
+		  << " tof: " << tof
+		  );
+
+  } // Done with loop over hits
+
+  // Debugging printout 
+  for (auto it : evst_hist) {
+    ATH_MSG_DEBUG("Nonzero bins Evst hist id = " << it.first);
+    for (unsigned int ibin=0; int(ibin) <= it.second->GetNbinsX(); ibin++) {
+      if (it.second->GetBinContent(ibin) == 0) continue;
+      ATH_MSG_DEBUG(" bin: " << ibin << " t:" << it.second->GetBinCenter(ibin) << " val: " << it.second->GetBinContent(ibin));
+    }
+  }
+
+  // Now make waveforms
+  convolve_waveforms(ctx, digiCondTool, evst_hist, waveforms);
+
+  // Check what we have done
+  for (const auto& w : waveforms) {
+    ATH_MSG_DEBUG("Waveform for ID " << w.first);
+    for(unsigned int i=400; i<450; i++) 
+      ATH_MSG_DEBUG(digitizer_period()*i << "ns -> " << w.second[i]);
+  }
+
+  // Cleanup
+  clear_evst_hist(evst_hist);
+
+  return waveforms;
+}
+
+
+template <class ID, class DM>
+std::map<Identifier, float> 
+WaveformDigitisationTool::create_tof_map(const ID* idHelper, const DM* detman) const {
+
+  std::map<Identifier, float> time_of_flight;
+  for (auto itr = idHelper->pmt_begin(); itr != idHelper->pmt_end(); ++itr) {
+    const ExpandedIdentifier& extId = *itr;
+    Identifier pmtid = idHelper->pmt_id(extId);
+
+    ScintDD::ScintDetectorElement* element = detman->getDetectorElement(pmtid);
+    time_of_flight[pmtid] = element->center().z() / CLHEP::c_light;
+
+    ATH_MSG_DEBUG("Found TOF for " << pmtid << " = " << time_of_flight[pmtid]);
+  }
+  return time_of_flight;  
+}
+
+std::map<Identifier, float> 
+WaveformDigitisationTool::create_calo_tof_map(const EcalID* idHelper, const CaloDD::EcalDetectorManager* detman) const {
+
+  std::map<Identifier, float> time_of_flight;
+  for (auto itr = idHelper->pmt_begin(); itr != idHelper->pmt_end(); ++itr) {
+    const ExpandedIdentifier& extId = *itr;
+    Identifier pmtid = idHelper->pmt_id(extId);
+
+    CaloDD::CaloDetectorElement* element = detman->getDetectorElement(pmtid);
+    time_of_flight[pmtid] = element->center().z() / CLHEP::c_light;
+
+    ATH_MSG_DEBUG("Found TOF for " << pmtid << " = " << time_of_flight[pmtid]);
+  }
+  return time_of_flight;  
+}
+
+void
+WaveformDigitisationTool::convolve_waveforms(
+    const EventContext& ctx,
+    const ToolHandle<IWaveformDigiConditionsTool>& digiCondTool,
+    const EvstHistMap& evst_hist,
+    std::map<Identifier, std::vector<uint16_t>>& waveforms
+					     ) const {
+
+  // Create digitization kernel
+  TF1* kernel = create_kernel(ctx, digiCondTool);
+
+  // Convolve Evst histogram vs. kernel for each waveform
+  for (const auto& w : waveforms) {
+
+    auto id = w.first;
+
+    // Convolve Evst histogram with time kernel
+
+    // Get the histogram
+    auto it = evst_hist.find(id);
+    if (it == evst_hist.end()) {
+      ATH_MSG_DEBUG("Didn't find EvsT hist for id " << id <<"!");
+
+      // Fill waveform with background only as Evst is empty
+      for (unsigned int i=0; i < digitizer_samples(); i++) {
+
+	float baseline = generate_baseline(digiCondTool->base_mean(ctx),
+					   digiCondTool->base_rms(ctx));
+
+	// Waveform is some random baseline
+	int ivalue = std::round(baseline);
+
+	// Don't let value go below zero
+	if (ivalue < 0) 
+	  waveforms[id].push_back(0);
+	else
+	  waveforms[id].push_back(ivalue);
+
+      } // End of loop over digitizer samples
+
+      // Done with this waveform
+      continue;
+    }
+
+    auto h = it->second;
+
+    // Use this vector to sum our values
+    // We will oversample by the same amount as the Evst histogram
+    std::vector<double> dwave(digitizer_samples() * over_samples());
+    // ATH_MSG_DEBUG("Creating dwave with length " << dwave.size());
+
+    // Convolute evst signals with the time kernel
+    for(unsigned int ih=1; int(ih) < h->GetNbinsX(); ih++) {
+
+      float value = h->GetBinContent(ih);
+
+      // If bin is empty, move on
+      if (value <= 0.) continue;
+
+      // Bin to write into in dwave
+      // Histogram doesn't start at t=0, so subtract pre_samples
+      int iw = ih - 1 - (pre_samples() * over_samples());
+
+      // Convolute the histogram with the time kernel
+      for (unsigned int ik=0; ik < dwave.size(); ik++) {
+	// Figure out destination bin first, skip if out of range
+	if ((iw + int(ik)) < 0) continue; // add int() to fix comp warnings
+	if ((iw + ik) >= dwave.size()) continue;
+
+	float ktime = ik * digitizer_period()/over_samples();
+	float kval = kernel->Eval(ktime) * value;
+	dwave[iw+ik] += kval;
+
+	// if (kval > 0.01)
+	//   ATH_MSG_DEBUG(" Bin " << ih << " kernel bin " << ik << " time " << ktime << " value " << kval);
+      }
+
+    } // Done with convolution
+
+    // Debug printout
+    // ATH_MSG_DEBUG("dwave array for " << id);
+    // unsigned int iw=0;
+    // for (auto v : dwave) {
+    //   iw++;
+    //   if (v <= 0.1) continue;
+    //   ATH_MSG_DEBUG(" bin "<< iw << " val " << v);
+    // }
+
+    // Need to down-sample dwave to fit waveform spacing
+    // Take average (or sum / over_sampling) to get amplitude correct
+    std::vector<double> dswave(digitizer_samples());
+    // ATH_MSG_DEBUG("Creating dswave with length " << dswave.size());
+
+    for (unsigned int i=0; i < dwave.size(); i++) {
+      dswave[i/over_samples()] += (dwave[i] / over_samples());
+    }
+
+    // Debug printout
+    // ATH_MSG_DEBUG("dswave array for " << id);
+    // iw=0;
+    // for (auto v : dswave) {
+    //   iw++;
+    //   if (v <= 0.1) continue;
+    //   ATH_MSG_DEBUG(" bin "<< iw << " val " << v);
+    // }
+
+    // Now fill each entry of the waveform with the down-sampled signal 
+    // and some random background
+    for (unsigned int i=0; i < digitizer_samples(); i++) {
+
+      float signal = dswave[i];
+      float baseline = generate_baseline(digiCondTool->base_mean(ctx),
+					 digiCondTool->base_rms(ctx));
+
+      // Waveform is some random baseline plus a negative signal
+      int ivalue = std::round(baseline - signal);
+
+      // Don't let value go below zero
+      if (ivalue < 0) 
+	waveforms[id].push_back(0);
+      else
+	waveforms[id].push_back(ivalue);
+
+    } // End of loop over dswave
+
+  } // End of loop over channels
+
+  // Clean up after ourselves
+  delete kernel;
+
+}
+
diff --git a/Waveform/WaveDigiTools/src/WaveformDigitisationTool.h b/Waveform/WaveDigiTools/src/WaveformDigitisationTool.h
index b6554c337830fbd2183752cc1b05123ea827b4f1..d71fa9ed6ef248fbb204a2200db5bb0daf4c1da4 100644
--- a/Waveform/WaveDigiTools/src/WaveformDigitisationTool.h
+++ b/Waveform/WaveDigiTools/src/WaveformDigitisationTool.h
@@ -12,9 +12,31 @@
 //Athena
 #include "AthenaBaseComps/AthAlgTool.h"
 #include "WaveDigiTools/IWaveformDigitisationTool.h"
+#include "WaveformConditionsTools/IWaveformDigiConditionsTool.h"
 
 //Gaudi
 #include "GaudiKernel/ToolHandle.h"
+#include "StoreGate/ReadHandleKey.h"
+
+// Data classes
+#include "ScintSimEvent/ScintHitCollection.h"
+
+// Helpers
+#include "ScintIdentifier/VetoID.h"
+#include "ScintIdentifier/VetoNuID.h"
+#include "ScintIdentifier/TriggerID.h"
+#include "ScintIdentifier/PreshowerID.h"
+#include "FaserCaloIdentifier/EcalID.h"
+
+// Detector Managers
+#include "ScintReadoutGeometry/VetoDetectorManager.h"
+#include "ScintReadoutGeometry/VetoNuDetectorManager.h"
+#include "ScintReadoutGeometry/TriggerDetectorManager.h"
+#include "ScintReadoutGeometry/PreshowerDetectorManager.h"
+#include "CaloReadoutGeometry/EcalDetectorManager.h"
+
+// ROOT
+#include "TF1.h"
 
 //STL
 
@@ -34,10 +56,94 @@ class WaveformDigitisationTool: public extends<AthAlgTool, IWaveformDigitisation
   /// Generate random baseline 
   float generate_baseline(float mean, float rms) const;
 
+  /// Fill EvsT histograms
+  void fill_evst_hist(EvstHistMap& map, const Identifier& id, float time, float energy) const;
+
+  void clear_evst_hist(EvstHistMap& map) const;
+
+  /// Waveform digitization parameters
+  FloatProperty m_digitizerPeriod { this, "DigitizerPeriod", 2.0, "Duration of one sample (in ns)" };
+  IntegerProperty m_digitizerSamples { this, "DigitizerSamples", 600, "Number of digitizer samples" };
+
+  /// This is used to set the time scale over which the hit energy 
+  /// is histogramed before convoluting with the time kernel
+  IntegerProperty m_overSamples { this, "OverSamples", 20, "Oversampling of hit times compared to digitizer period" };
+
+  /// Digitizer samples to start before t0 (time = preSamples * digiPeriod)
+  IntegerProperty  m_preSamples { this, "PreSamples", 10, "Presamples for energy histogram" };
+
+  /// Access functions for parameters
+  unsigned int digitizer_samples() const { return m_digitizerSamples; }
+  float digitizer_period() const { return m_digitizerPeriod; }
+  unsigned int over_samples() const { return m_overSamples; }
+  unsigned int pre_samples() const {return m_preSamples; }
+
+  ///
+  /// New functions to handle entire digitization process
+
+  //template <class HitCollection>
+  //std::map<Identifier, std::vector<uint16_t>>& generateWaveforms(
+  //		      const EventContext& ctx, 
+  //		      const ToolHandle<IWaveformDigiConditionsTool>&, 
+  //		      const HitCollection*) const;
+
+  /// Simple (old-style) digitization
+  std::map<Identifier, std::vector<uint16_t>>& generate_scint_waveforms(
+		      const EventContext& ctx, 
+		      const ToolHandle<IWaveformDigiConditionsTool>&, 
+		      const ScintHitCollection*) const;
+
+  /// Less simple (new-style) digitization with timing
+  std::map<Identifier, std::vector<uint16_t>>& generate_scint_timing_waveforms(
+		      const EventContext& ctx, 
+		      const ToolHandle<IWaveformDigiConditionsTool>&, 
+		      const ScintHitCollection*) const;
+
+  /// Simple (old-style) digitization
+  std::map<Identifier, std::vector<uint16_t>>& generate_calo_waveforms(
+		      const EventContext& ctx, 
+		      const ToolHandle<IWaveformDigiConditionsTool>&, 
+		      const CaloHitCollection*) const;
+
+  /// Less simple (new-style) digitization with timing
+  std::map<Identifier, std::vector<uint16_t>>& generate_calo_timing_waveforms(
+		      const EventContext& ctx, 
+		      const ToolHandle<IWaveformDigiConditionsTool>&, 
+		      const CaloHitCollection*) const;
 
  private:
-  // None
 
+  template <class ID, class DM>
+    std::map<Identifier, float> 
+    create_tof_map(const ID* idHelper, const DM* detman) const;
+
+  std::map<Identifier, float> 
+    create_calo_tof_map(const EcalID* idHelper, const CaloDD::EcalDetectorManager* detman) const;
+
+  TF1* create_kernel(const EventContext& ctx, 
+		     const ToolHandle<IWaveformDigiConditionsTool>& digiCondTool) const;
+
+  void convolve_waveforms(
+    const EventContext& ctx,
+    const ToolHandle<IWaveformDigiConditionsTool>& digiCondTool,
+    const EvstHistMap& evst_hist,
+    std::map<Identifier, std::vector<uint16_t>>& waveforms) const;
+
+ private:
+
+  /// ID helpers
+  const VetoID* m_vetoID{nullptr};
+  const VetoNuID* m_vetoNuID{nullptr};
+  const TriggerID* m_triggerID{nullptr};
+  const PreshowerID* m_preshowerID{nullptr};
+  const EcalID* m_ecalID{nullptr};
+
+  /// Detector manager helpers
+  const ScintDD::VetoDetectorManager* m_vetoDetMan{nullptr};
+  const ScintDD::VetoNuDetectorManager* m_vetoNuDetMan{nullptr};
+  const ScintDD::TriggerDetectorManager* m_triggerDetMan{nullptr};
+  const ScintDD::PreshowerDetectorManager* m_preshowerDetMan{nullptr};
+  const CaloDD::EcalDetectorManager* m_caloDetMan{nullptr};
 };
 
 #endif // WAVEDIGITOOLS_WAVEFORMDIGITISATIONTOOL_H
diff --git a/Waveform/WaveEventCnv/WaveByteStream/src/RawWaveformDecoderTool.cxx b/Waveform/WaveEventCnv/WaveByteStream/src/RawWaveformDecoderTool.cxx
index 852ae084edac08380e302ec3026548d667da70c2..d9728fa086b226b417d7af130431131f58d2d13b 100644
--- a/Waveform/WaveEventCnv/WaveByteStream/src/RawWaveformDecoderTool.cxx
+++ b/Waveform/WaveEventCnv/WaveByteStream/src/RawWaveformDecoderTool.cxx
@@ -61,34 +61,60 @@ RawWaveformDecoderTool::convert(const DAQFormats::EventFull* re,
 
   // Find the Waveform fragment
   const DigitizerDataFragment* digitizer = NULL;
+  const DigitizerDataFragment* digitizer0 = NULL;
+  const DigitizerDataFragment* digitizer1 = NULL;
   const DAQFormats::EventFragment* frag = NULL;
+  
+  // Dump all fragments for debugging
+  // for(const auto &id : re->getFragmentIDs()) {
+  //   frag=re->find_fragment(id);
+  //   ATH_MSG_DEBUG("Fragment:\n" << *frag);
+  // }
+  
   for(const auto &id : re->getFragmentIDs()) {
     frag=re->find_fragment(id);
 
     if ((frag->source_id()&0xFFFF0000) != DAQFormats::SourceIDs::PMTSourceID) continue;
-    ATH_MSG_DEBUG("Fragment:\n" << *frag);
-
-    digitizer = new DigitizerDataFragment(frag->payload<const uint32_t*>(), frag->payload_size()); 
-
-    break;
+    ATH_MSG_DEBUG("Found Fragment:\n" << *frag);
+
+    if ((frag->source_id()&0x03) == 0)
+      digitizer0 = new DigitizerDataFragment(frag->payload<const uint32_t*>(), frag->payload_size());
+    else if ((frag->source_id()&0x03) == 1)
+      digitizer1 = new DigitizerDataFragment(frag->payload<const uint32_t*>(), frag->payload_size());
+    else
+      ATH_MSG_WARNING("Couldn't match digitizer with fragment source id!");
   }
 
-  if (!digitizer) {
-    ATH_MSG_WARNING("Failed to find digitizer fragment in raw event!");
+  if (!digitizer0) {
+    ATH_MSG_WARNING("Failed to find digitizer0 fragment in raw event!");
     return StatusCode::SUCCESS;
-  }
-
+  } 
+    
   // Check validity here, try to continue, as perhaps not all channels are bad
-  if (!digitizer->valid()) {
-    ATH_MSG_WARNING("Found invalid digitizer fragment:\n" << *digitizer);
+  if (!digitizer0->valid()) {
+    ATH_MSG_WARNING("Found invalid digitizer0 fragment:\n" << *digitizer0);
   } else {
-    ATH_MSG_DEBUG("Found valid digitizer fragment");
+    ATH_MSG_DEBUG("Found valid digitizer0 fragment");
   }
 
+
+  if (!digitizer1) {
+    // Will happen in data before 2024
+    ATH_MSG_INFO("Failed to find digitizer1 fragment in raw event!");
+  } else {
+    if (!digitizer1->valid()) {
+      ATH_MSG_WARNING("Found invalid digitizer1 fragment:\n" << *digitizer1);
+    } else {
+      ATH_MSG_DEBUG("Found valid digitizer1 fragment");
+    }
+  }    
+
   // Detector type to match in first element of cable map
   std::string det_type;
   if (key == std::string("CaloWaveforms")) {
     det_type = std::string("calo");
+  } else if (key == std::string("Calo2Waveforms")) {
+    det_type = std::string("calo2");
   } else if (key == std::string("VetoWaveforms")) {
     det_type = std::string("veto");
   } else if (key == std::string("VetoNuWaveforms")) {
@@ -104,8 +130,8 @@ RawWaveformDecoderTool::convert(const DAQFormats::EventFull* re,
     return StatusCode::FAILURE;
   }
 
-  // Loop over 16 digitizer channels
-  std::vector<int> channelList(16);
+  // Loop over 32 digitizer channels
+  std::vector<int> channelList(32);
   std::iota (std::begin(channelList), std::end(channelList), 0);
 
   for (int channel: channelList) {
@@ -115,8 +141,15 @@ RawWaveformDecoderTool::convert(const DAQFormats::EventFull* re,
 
     ATH_MSG_DEBUG("Converting channel "+std::to_string(channel)+" for "+key);
 
+    int chan = channel;
+    digitizer = digitizer0;
+    if (channel > 15) {
+      chan = channel-16;
+      digitizer = digitizer1;
+    }
+    
     // Check if this has data
-    if (!digitizer->channel_has_data(channel)) {
+    if (!digitizer->channel_has_data(chan)) {
       ATH_MSG_DEBUG("Channel " << channel << " has no data - skipping!");
       continue;
     } 
@@ -124,7 +157,7 @@ RawWaveformDecoderTool::convert(const DAQFormats::EventFull* re,
     RawWaveform* wfm = new RawWaveform();
 
     try {
-      wfm->setWaveform( channel, digitizer->channel_adc_counts( channel ) );
+      wfm->setWaveform( channel, digitizer->channel_adc_counts( chan ) );
     } catch ( DigitizerData::DigitizerDataException& e ) {
       ATH_MSG_WARNING("RawWaveformDecoderTool:\n"
 		   <<e.what()
@@ -162,8 +195,10 @@ RawWaveformDecoderTool::convert(const DAQFormats::EventFull* re,
   }
 
   // Don't spring a leak
-  delete digitizer;
-
+  delete digitizer0;
+  if (digitizer1)
+    delete digitizer1;
+  
   ATH_MSG_DEBUG( "RawWaveformDecoderTool created container " << key 
 		 << " with size=" << container->size());
   return StatusCode::SUCCESS; 
diff --git a/Waveform/WaveRecAlgs/python/WaveRecAlgsConfig.py b/Waveform/WaveRecAlgs/python/WaveRecAlgsConfig.py
index 527c4e289eb1533e130301ee3a9c916d48d8e129..6af8ed0e1c78771a1121bce792b4d69105dc46e1 100644
--- a/Waveform/WaveRecAlgs/python/WaveRecAlgsConfig.py
+++ b/Waveform/WaveRecAlgs/python/WaveRecAlgsConfig.py
@@ -28,17 +28,14 @@ def WaveformReconstructionCfg(flags):
 
     else:
         acc.merge(WaveformHitRecCfg(flags, "CaloWaveformRecAlg", "Calo"))
+        acc.merge(WaveformHitRecCfg(flags, "Calo2WaveformRecAlg", "Calo2"))
 
+        # Make preshower window 200 ns wide (value in digitizer clock ticks)
         acc.merge(WaveformHitRecCfg(flags, "VetoWaveformRecAlg", "Veto", FitWindowWidth=100 ))
         acc.merge(WaveformHitRecCfg(flags, "PreshowerWaveformRecAlg", "Preshower", FitWindowWidth=100 ))
         acc.merge(WaveformHitRecCfg(flags, "TriggerWaveformRecAlg", "Trigger", FitWindowWidth=100))
         acc.merge(WaveformHitRecCfg(flags, "VetoNuWaveformRecAlg", "VetoNu", FitWindowWidth=100))
 
-    acc.merge(WaveformHitRecCfg(flags, "VetoWaveformRecAlg", "Veto", FitWindowWidth=100 ))
-    # Make preshower window 200 ns wide (value in digitizer clock ticks)
-    acc.merge(WaveformHitRecCfg(flags, "PreshowerWaveformRecAlg", "Preshower", FitWindowWidth=100 ))
-    acc.merge(WaveformHitRecCfg(flags, "CaloWaveformRecAlg", "Calo"))
-
     acc.merge(WaveformTimingCfg(flags))
 
     return acc
diff --git a/Waveform/WaveRecTools/src/WaveformReconstructionTool.cxx b/Waveform/WaveRecTools/src/WaveformReconstructionTool.cxx
index f7ef9339ae32919ef6600cf099da2d42c5eb4a69..1caf49d4a3be081da8c8b8339324125ee6df788b 100644
--- a/Waveform/WaveRecTools/src/WaveformReconstructionTool.cxx
+++ b/Waveform/WaveRecTools/src/WaveformReconstructionTool.cxx
@@ -96,6 +96,14 @@ WaveformReconstructionTool::reconstructPrimary(
   int lo_edge = int((trigger_time+offset)/2.) + m_windowStart;
   int hi_edge = int((trigger_time+offset)/2.) + m_windowStart + m_windowWidth;
 
+  if (hi_edge >= int(wave.size())) {
+    // This likely means we have the wrong digitizer range
+    ATH_MSG_WARNING("Found channel " << wave.channel() << " with low edge: " << lo_edge << " hi edge: " << hi_edge << " > wave.size() " << wave.size());
+    ATH_MSG_WARNING("  trigger_time + offset: " << (trigger_time+offset) << " => " << int((trigger_time+offset)/2.));
+    newhit->set_status_bit(xAOD::WaveformStatus::WAVEFORM_INVALID);
+    return StatusCode::SUCCESS;
+  }
+  
   // Fill raw hit values
   fillRawHitValues(wave, lo_edge, hi_edge, newhit);
 
@@ -367,7 +375,11 @@ WaveformReconstructionTool::fillRawHitValues(const RawWaveform& wave,
   // First, make sure we don't overflow the waveform range
   if (lo_edge < 0) lo_edge = 0;
   if (hi_edge >= int(wave.size())) hi_edge = wave.size() - 1;
-
+  if (hi_edge <= lo_edge) {
+    ATH_MSG_WARNING("Channel " << wave.channel() << " waveform with lo: " << lo_edge << " hi: " << hi_edge << "!");
+    return;
+  }
+  
   ATH_MSG_DEBUG("Fill channel " << wave.channel() 
 		<< " waveform from sample " << lo_edge << " to " << hi_edge);
 
diff --git a/Waveform/WaveformConditions/WaveCondUtils/scripts/makeTimingDB.py b/Waveform/WaveformConditions/WaveCondUtils/scripts/makeTimingDB.py
index 57c3390c087b7f41850716d6ec24aa7d7e7044f6..0074c2b69906eda40667defdebd2596ff96d8652 100755
--- a/Waveform/WaveformConditions/WaveCondUtils/scripts/makeTimingDB.py
+++ b/Waveform/WaveformConditions/WaveCondUtils/scripts/makeTimingDB.py
@@ -15,7 +15,7 @@ nominal_data = {
     6525: 820.
 }
 
-offset_channels = 16
+# offset_channels = 20
 
 # Run 
 # 0 - initial data
@@ -53,7 +53,10 @@ offset_data = {
   5042: ehn1_offsets,
   5050: ti12_offsets,
 # IFT and VetoNu installed
-  6525: [ -10., -10., -10., -10., -25., -25., 0., 0., 0., 0., 0., 0., 18., 18., 0., 0. ]
+  6525: [ -10., -10., -10., -10., -25., -25., 0., 0., 0., 0., 0., 0., 18., 18., 0., 0. ],
+# 2024, add 2nd digitizer
+  13847: [ -10., -10., -10., -10., -25., -25., 0., 0., 0., 0., 0., 0., 18., 18., 0., 0., -10., -10., -10., -10. ]
+    
 }
 
 attr_list_desc = '<timeStamp>run-lumi</timeStamp><addrHeader><address_header service_type="71" clid="40774348" /></addrHeader><typeName>AthenaAttributeList</typeName>'
@@ -82,13 +85,12 @@ for run, data in offset_data.items():
     assert run > lastRun, 'Run numbers out of order'
     assert run <= maxInt32, 'Run number out of range'
     lastRun = run
-    assert len(data) == offset_channels, 'Offset data does not have '+str(offset_channels)+' entries'
-    for i in range(offset_channels):
+    #assert len(data) == offset_channels, 'Offset data does not have '+str(offset_channels)+' entries'
+    for i in range(len(data)):
         assert isinstance(data[i], float), 'Offset time is not float'
 
 # Data looks OK
 
-
 from PyCool import cool
 from CoolConvUtilities.AtlCoolLib import indirectOpen
 
@@ -135,7 +137,7 @@ offsetFolder = db.createFolder('/WAVE/DAQ/TimingOffset', offsetFolderSpec, cond_
 lastValid = cool.ValidityKeyMax
 for firstValidRun, offset_list in reversed(offset_data.items()):
     firstValid = (firstValidRun << 32)
-    for channel in range(offset_channels):
+    for channel in range(len(offset_list)):
         offsetRecord = cool.Record(offsetSpec)
         offsetRecord[ 'TriggerOffset' ] = float(offset_list[channel])
         offsetFolder.storeObject( firstValid, lastValid, offsetRecord, cool.ChannelId(channel) )
@@ -154,8 +156,9 @@ nominal_data = {
     0: 820.
 }
 # No offsets by default
+# Expand this to 20 channels for 2024 data
 offset_data = {
-  0: [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]
+  0: [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]
 }
 
 # Validate again just in case
@@ -176,8 +179,8 @@ for run, data in offset_data.items():
     assert run > lastRun, 'Run numbers out of order'
     assert run <= maxInt32, 'Run number out of range'
     lastRun = run
-    assert len(data) == offset_channels, 'Offset data does not have '+str(offset_channels)+' entries'
-    for i in range(offset_channels):
+    #assert len(data) == offset_channels, 'Offset data does not have '+str(offset_channels)+' entries'
+    for i in range(len(data)):
         assert isinstance(data[i], float), 'Offset time is not float'
 
 # Data looks OK
@@ -224,7 +227,7 @@ offsetFolder = db.createFolder('/WAVE/DAQ/TimingOffset', offsetFolderSpec, cond_
 lastValid = cool.ValidityKeyMax
 for firstValidRun, offset_list in reversed(offset_data.items()):
     firstValid = (firstValidRun << 32)
-    for channel in range(offset_channels):
+    for channel in range(len(offset_list)):
         offsetRecord = cool.Record(offsetSpec)
         offsetRecord[ 'TriggerOffset' ] = float(offset_list[channel])
         offsetFolder.storeObject( firstValid, lastValid, offsetRecord, cool.ChannelId(channel) )
diff --git a/Waveform/WaveformConditions/WaveformConditionsTools/WaveformConditionsTools/IWaveformDigiConditionsTool.h b/Waveform/WaveformConditions/WaveformConditionsTools/WaveformConditionsTools/IWaveformDigiConditionsTool.h
index 1bfaf0dd9b4c83030c89f02d0c957a9a03735b97..69d32c4292d7a85e2ca9c7513de73cafdfcb38e3 100644
--- a/Waveform/WaveformConditions/WaveformConditionsTools/WaveformConditionsTools/IWaveformDigiConditionsTool.h
+++ b/Waveform/WaveformConditions/WaveformConditionsTools/WaveformConditionsTools/IWaveformDigiConditionsTool.h
@@ -57,6 +57,14 @@ class IWaveformDigiConditionsTool: virtual public IAlgTool {
 
   virtual float cb_n(void) const = 0;
   virtual float cb_n(const EventContext& ctx) const = 0;
+
+  // Time dependence parameters
+  virtual float preshower_time_slope(void) const = 0;
+  virtual float preshower_time_slope(const EventContext& ctx) const = 0;
+
+  virtual float trigger_time_slope(void) const = 0;
+  virtual float trigger_time_slope(const EventContext& ctx) const = 0;
+
 };
 
 //---------------------------------------------------------------------- 
diff --git a/Waveform/WaveformConditions/WaveformConditionsTools/src/WaveformCableMappingTool.cxx b/Waveform/WaveformConditions/WaveformConditionsTools/src/WaveformCableMappingTool.cxx
index 3922d0605339fce204cff01c9dbd69d3c6f21a97..2828113ed35bf6d24c19ccc31ca3470fd0a39d98 100644
--- a/Waveform/WaveformConditions/WaveformConditionsTools/src/WaveformCableMappingTool.cxx
+++ b/Waveform/WaveformConditions/WaveformConditionsTools/src/WaveformCableMappingTool.cxx
@@ -94,7 +94,17 @@ WaveformCableMappingTool::getCableMapping(const EventContext& ctx) const {
       // Ugh, cant use switch statement with strings
       // Must do this using an if ladder
       if (det_type == "calo") {
-	identifier = m_ecalID->pmt_id(rowVal, moduleVal, pmtVal);
+	// Do checks of PMT identifier
+	identifier = m_ecalID->pmt_id(rowVal, moduleVal, pmtVal, true);
+	// Test a few things
+	ATH_MSG_DEBUG("Calo  ID:" << identifier);
+	ATH_MSG_DEBUG("PMT:" << m_ecalID->pmt(identifier) << " PMT Max:" << m_ecalID->pmt_max(identifier));
+      }
+      else if (det_type == "calo2") {
+	// Do checks of PMT identifier
+	identifier = m_ecalID->pmt_id(rowVal, moduleVal, pmtVal, true);
+	ATH_MSG_DEBUG("Calo2 ID:" << identifier);
+	ATH_MSG_DEBUG("PMT:" << m_ecalID->pmt(identifier) << " PMT Max:" << m_ecalID->pmt_max(identifier));
       }
       else if (det_type == "veto") {
 	identifier = m_vetoID->pmt_id(stationVal, plateVal, pmtVal);
@@ -186,6 +196,9 @@ WaveformCableMappingTool::getChannelMapping(const EventContext& ctx, const Ident
       if (det_type == "calo") {
 	identifier = m_ecalID->pmt_id(rowVal, moduleVal, pmtVal);
       }
+      else if (det_type == "calo2") {
+	identifier = m_ecalID->pmt_id(rowVal, moduleVal, pmtVal);
+      }
       else if (det_type == "veto") {
 	identifier = m_vetoID->pmt_id(stationVal, plateVal, pmtVal);
       }
diff --git a/Waveform/WaveformConditions/WaveformConditionsTools/src/WaveformDigiConditionsTool.cxx b/Waveform/WaveformConditions/WaveformConditionsTools/src/WaveformDigiConditionsTool.cxx
index 4e2fedd972d06d923b6a0a175e32349ab6b9ecbb..7da740c2d296e3ece6719bb664bb465ac3db64a3 100644
--- a/Waveform/WaveformConditions/WaveformConditionsTools/src/WaveformDigiConditionsTool.cxx
+++ b/Waveform/WaveformConditions/WaveformConditionsTools/src/WaveformDigiConditionsTool.cxx
@@ -93,6 +93,16 @@ WaveformDigiConditionsTool::cb_n(const EventContext& ctx) const {
   return get_value(ctx, "cb_n");
 }
 
+float
+WaveformDigiConditionsTool::preshower_time_slope(const EventContext& ctx) const {
+  return 1/230.; // 23 cm/ns
+}
+
+float
+WaveformDigiConditionsTool::trigger_time_slope(const EventContext& ctx) const {
+  return 1/130.; // 13 cm/ns
+}
+
 //----------------------------------------------------------------------
 float
 WaveformDigiConditionsTool::base_mean(void) const {
@@ -136,6 +146,17 @@ WaveformDigiConditionsTool::cb_n(void) const {
   return cb_n(ctx);
 }
 
+float
+WaveformDigiConditionsTool::preshower_time_slope(void) const {
+  const EventContext& ctx(Gaudi::Hive::currentContext());
+  return preshower_time_slope(ctx);
+}
+
+float
+WaveformDigiConditionsTool::trigger_time_slope(void) const {
+  const EventContext& ctx(Gaudi::Hive::currentContext());
+  return trigger_time_slope(ctx);
+}
 
 //----------------------------------------------------------------------
 float 
@@ -156,7 +177,7 @@ WaveformDigiConditionsTool::get_value(const EventContext& ctx, std::string arg)
 
   if (payload.exists(arg) and not payload[arg].isNull()) {
     val = payload[arg].data<float>();
-    ATH_MSG_DEBUG("Found digi COOL channel " << m_cool_channel << " " << arg << " as " << val);
+    // ATH_MSG_DEBUG("Found digi COOL channel " << m_cool_channel << " " << arg << " as " << val);
   } else {
     ATH_MSG_WARNING("No valid " << arg << " value found for digi COOL channel "<< m_cool_channel<<"!");
   }
diff --git a/Waveform/WaveformConditions/WaveformConditionsTools/src/WaveformDigiConditionsTool.h b/Waveform/WaveformConditions/WaveformConditionsTools/src/WaveformDigiConditionsTool.h
index e5e8232085e3df7ebfeccc9235dbd26b3b5ba8af..258d9453d12784084cfc44825caf022bcea57c14 100644
--- a/Waveform/WaveformConditions/WaveformConditionsTools/src/WaveformDigiConditionsTool.h
+++ b/Waveform/WaveformConditions/WaveformConditionsTools/src/WaveformDigiConditionsTool.h
@@ -67,6 +67,12 @@ class WaveformDigiConditionsTool: public extends<AthAlgTool, IWaveformDigiCondit
   virtual float cb_n(void) const override;
   virtual float cb_n(const EventContext& ctx) const override;
 
+  // Time dependence parameters (probably should do this differently)
+  virtual float preshower_time_slope(void) const override;
+  virtual float preshower_time_slope(const EventContext& ctx) const override;
+
+  virtual float trigger_time_slope(void) const override;
+  virtual float trigger_time_slope(const EventContext& ctx) const override;
 
  private:
 
diff --git a/faser-common b/faser-common
index 89ce6a07128eb2ebc367b6b68f29c9c88220e3e6..0a1e6ca7be9dbc17b0692f998e36c87541ca8be3 160000
--- a/faser-common
+++ b/faser-common
@@ -1 +1 @@
-Subproject commit 89ce6a07128eb2ebc367b6b68f29c9c88220e3e6
+Subproject commit 0a1e6ca7be9dbc17b0692f998e36c87541ca8be3
diff --git a/graphics/VTI12/VTI12Systems/VTI12GeometrySystems/src/VisAttributes.cxx b/graphics/VTI12/VTI12Systems/VTI12GeometrySystems/src/VisAttributes.cxx
index 27fd3362c4a18bfa999517529fc925951fbff20c..2365c79892a913def2fcbfdb1b74067eb5d96f0f 100644
--- a/graphics/VTI12/VTI12Systems/VTI12GeometrySystems/src/VisAttributes.cxx
+++ b/graphics/VTI12/VTI12Systems/VTI12GeometrySystems/src/VisAttributes.cxx
@@ -375,7 +375,6 @@ MatVisAttributes::MatVisAttributes() {
     add("Polystyrene",material);
   }
 
-
   {
     // C02:
     SoMaterial *m = new SoMaterial;
@@ -926,6 +925,7 @@ MatVisAttributes::MatVisAttributes() {
     m->emissiveColor.setValue (0.028, 0.028, 0.028);
     m->shininess.setValue(.60);
     add("Glass",m);
+    add("CFRP", m);
   }
 
   {