diff --git a/InnerDetector/InDetDetDescr/InDetIdDictFiles/cmt/requirements b/InnerDetector/InDetDetDescr/InDetIdDictFiles/cmt/requirements
new file mode 100644
index 0000000000000000000000000000000000000000..a6f64aaafce5873c5df3a1ba2e265d8aaf9ed33e
--- /dev/null
+++ b/InnerDetector/InDetDetDescr/InDetIdDictFiles/cmt/requirements
@@ -0,0 +1,9 @@
+package InDetIdDictFiles
+
+author Grant.Gofine<Grant.Gorfine@cern.ch>
+
+use AtlasPolicy		       AtlasPolicy-*
+
+# have all xml files installed
+apply_pattern declare_xmls
+
diff --git a/InnerDetector/InDetDetDescr/InDetIdDictFiles/data/IdDictInnerDetector_IBL-01.xml b/InnerDetector/InDetDetDescr/InDetIdDictFiles/data/IdDictInnerDetector_IBL-01.xml
new file mode 100755
index 0000000000000000000000000000000000000000..dab7a578d3439237c67d35ca97b9a9766b460e43
--- /dev/null
+++ b/InnerDetector/InDetDetDescr/InDetIdDictFiles/data/IdDictInnerDetector_IBL-01.xml
@@ -0,0 +1,492 @@
+
+
+<!--
+
+   The InnerDetector identifier is arranged as follows
+
+   InnerDetector
+     part=Pixel
+       side=barrel
+         layer phi_module eta_module phi_index eta_index 
+       side=endcap
+         disk phi_module eta_module phi_index eta_index 
+
+     part=SCT
+       side=barrel
+         layer phi_module eta_module side strip
+       side=endcap
+         disk phi_module eta_module side strip
+
+     part=TRT
+       side=barrel
+         layer phi_module straw_layer straw
+       side=endcap
+         wheel phi_module straw_layer straw
+
+
+  -->
+
+<IdDictionary name="InnerDetector" version="IBL" >
+
+  <!--
+     Start by defining some symbolic labels used for some fields
+     (other fields will be specified by numeric ranges)
+   -->
+  <field name="part" >
+    <label name="Pixel" value="1" />
+    <label name="SCT"   value="2" />
+    <label name="TRT"   value="3" />
+
+  </field>
+
+  <field name="barrel_endcap">
+    <label name="negative_endcap" value="-2" />
+    <label name="negative_barrel" value="-1" />
+    <label name="barrel"          value="0" />
+    <label name="positive_barrel" value="+1"  />
+    <label name="positive_endcap" value="+2"  />
+  </field>
+
+  <!--
+
+      Pixel
+
+    -->
+ <!-- Dummy region: This forces the bit packing to be the same for all layouts -->
+
+  <region group="pixel" name = "dummy">
+    <range field="part" value="Pixel" />
+    <range field="barrel_endcap" values="negative_endcap barrel positive_endcap"/>
+    <range field="layer" minvalue="0" maxvalue="3"/>
+    <range field="phi_module" minvalue="0" maxvalue="63" />
+    <range field="eta_module" minvalue="-8" maxvalue="+7" />
+    <range field="phi_index" minvalue="0" maxvalue="376" />
+    <range field="eta_index" minvalue="0" maxvalue="243" />
+  </region>
+
+
+  <!--
+      Define few subregions which are re-used in several id-ranges.
+   -->
+
+  <subregion name="pixel_barrel">
+    <range field="part" value="Pixel" />
+    <range field="barrel_endcap" value="barrel" />
+  </subregion>
+
+  <subregion name="pixel_endcap">
+    <range field="part" value="Pixel" />
+    <range field="barrel_endcap" values="negative_endcap positive_endcap" />
+  </subregion>
+
+  <subregion name="pixel_default_eta_module">
+    <range field="phi_index" minvalue="0" maxvalue="327" />
+    <range field="eta_index" minvalue="0" maxvalue="143" />
+  </subregion>
+
+  <subregion name="pixel_phi_barrel_module">
+    <range field="eta_module" minvalue="-6" maxvalue="+6" />
+    <reference subregion="pixel_default_eta_module" />
+  </subregion>
+
+  <subregion name="pixel_phi_endcap_module">
+    <range field="eta_module" value="0" />
+    <reference subregion="pixel_default_eta_module" />
+  </subregion>
+
+  <!--
+    Then enumerate all the possible regions of the Pixel subdetector.
+    Each region corresponds to an identifier range.
+    -->
+
+  <!--
+    The follow region is the pixel b-layer. Normally, the correct
+    phi_index max should be 319, but we set it to 327 as for the other
+    layers to allow to calculate the pixel_id from SiDigit, i.e. using
+    the G3 numbering which is not completely correct. This should be a
+    temporary fix. Correct specif:
+    <range field="phi_index" minvalue="0" maxvalue="319" />
+    -->
+  <region group="pixel" >
+      <reference subregion="pixel_barrel" />
+      <range field="layer" value="0" />
+      <range field="phi_module" minvalue="0" maxvalue="13" wraparound="TRUE" />
+      <range field="eta_module" minvalue="-8" maxvalue="+7" />
+      <range field="phi_index" minvalue="0" maxvalue="376" />
+      <range field="eta_index" minvalue="0" maxvalue="243" />
+  </region>
+
+    <region group="pixel" >
+      <reference subregion="pixel_barrel" />
+      <range field="layer" value="1" />
+      <range field="phi_module" minvalue="0" maxvalue="21" wraparound="TRUE" />
+      <reference subregion="pixel_phi_barrel_module" />
+    </region>
+
+  <region group="pixel" >
+    <reference subregion="pixel_barrel" />
+    <range field="layer" value="2" />
+    <range field="phi_module" minvalue="0" maxvalue="37" wraparound="TRUE" />
+    <reference subregion="pixel_phi_barrel_module" />
+  </region>
+
+  <region group="pixel" >
+    <reference subregion="pixel_barrel" />
+    <range field="layer" value="3" />
+    <range field="phi_module" minvalue="0" maxvalue="51" wraparound="TRUE" />
+    <reference subregion="pixel_phi_barrel_module" />
+  </region>
+
+
+
+
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" minvalue="0" maxvalue="2" />
+    <range field="phi_module" minvalue="0" maxvalue="47" wraparound="TRUE" />
+    <reference subregion="pixel_phi_endcap_module" />
+  </region>
+
+
+
+ 
+  <!--
+ 
+       SCT
+ 
+     -->
+ 
+ 
+   <subregion name="SCT_barrel">
+     <range field="part" value="SCT" />
+     <range field="barrel_endcap" value="barrel" />
+   </subregion>
+ 
+   <subregion name="SCT_endcap">
+     <range field="part" value="SCT" />
+     <range field="barrel_endcap" values="negative_endcap positive_endcap" />
+   </subregion>
+ 
+   <subregion name="SCT_eta_module">
+     <range field="side" minvalue="0" maxvalue="1" />
+     <range field="strip" minvalue="0" maxvalue="767" />
+   </subregion>
+ 
+ 
+ 
+ 
+   <subregion name="SCT_phi_negative_barrel_module">
+     <range field="eta_module" minvalue="-6" maxvalue="-1" next_value="1" />
+     <reference subregion="SCT_eta_module" />
+   </subregion>
+ 
+   <region group="sct" >
+     <reference subregion="SCT_barrel" />
+     <range field="layer" value="0" />
+     <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+     <reference subregion="SCT_phi_negative_barrel_module" />
+   </region>
+ 
+   <region group="sct" >
+     <reference subregion="SCT_barrel" />
+     <range field="layer" value="1" />
+     <range field="phi_module" minvalue="0" maxvalue="39" wraparound="TRUE" />
+     <reference subregion="SCT_phi_negative_barrel_module" />
+   </region>
+ 
+   <region group="sct" >
+     <reference subregion="SCT_barrel" />
+     <range field="layer" value="2" />
+     <range field="phi_module" minvalue="0" maxvalue="47" wraparound="TRUE" />
+     <reference subregion="SCT_phi_negative_barrel_module" />
+   </region>
+ 
+   <region group="sct" >
+     <reference subregion="SCT_barrel" />
+     <range field="layer" value="3" />
+     <range field="phi_module" minvalue="0" maxvalue="55"  wraparound="TRUE"/>
+     <reference subregion="SCT_phi_negative_barrel_module" />
+   </region>
+ 
+ 
+ 
+ 
+ 
+   <subregion name="SCT_phi_positive_barrel_module">
+     <range field="eta_module" minvalue="+1" maxvalue="+6" prev_value="-1" />
+     <reference subregion="SCT_eta_module" />
+   </subregion>
+ 
+   <region group="sct" >
+     <reference subregion="SCT_barrel" />
+     <range field="layer" value="0" />
+     <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+     <reference subregion="SCT_phi_positive_barrel_module" />
+   </region>
+ 
+   <region group="sct" >
+     <reference subregion="SCT_barrel" />
+     <range field="layer" value="1" />
+     <range field="phi_module" minvalue="0" maxvalue="39" wraparound="TRUE" />
+     <reference subregion="SCT_phi_positive_barrel_module" />
+   </region>
+ 
+   <region group="sct" >
+     <reference subregion="SCT_barrel" />
+     <range field="layer" value="2" />
+     <range field="phi_module" minvalue="0" maxvalue="47" wraparound="TRUE" />
+     <reference subregion="SCT_phi_positive_barrel_module" />
+   </region>
+ 
+   <region group="sct" >
+     <reference subregion="SCT_barrel" />
+     <range field="layer" value="3" />
+     <range field="phi_module" minvalue="0" maxvalue="55" wraparound="TRUE" />
+     <reference subregion="SCT_phi_positive_barrel_module" />
+   </region>
+ 
+   <subregion name="SCT_ring_0">
+     <range field="phi_module" minvalue="0" maxvalue="51" wraparound="TRUE" />
+     <range field="eta_module" value="0" />
+     <reference subregion="SCT_eta_module" />
+   </subregion>
+ 
+   <subregion name="SCT_ring_1">
+     <range field="phi_module" minvalue="0" maxvalue="39" wraparound="TRUE" />
+     <range field="eta_module" value="1" />
+     <reference subregion="SCT_eta_module" />
+   </subregion>
+ 
+   <subregion name="SCT_ring_1_2">
+     <range field="phi_module" minvalue="0" maxvalue="39" wraparound="TRUE" />
+     <range field="eta_module" minvalue="1" maxvalue="2" />
+     <reference subregion="SCT_eta_module" />
+   </subregion>
+ 
+    <region group="sct"  name="SCT_endcap_ring0_disks08">
+     <reference subregion="SCT_endcap" />
+     <range field="disk" minvalue="0" maxvalue="8" />
+     <reference subregion="SCT_ring_0" />
+   </region>
+ 
+ 
+   <region group="sct"  name="SCT_endcap_ring1_disk0">
+     <reference subregion="SCT_endcap" />
+     <range field="disk" value="0" />
+     <reference subregion="SCT_ring_1" />
+   </region>
+ 
+   <region group="sct"  name="SCT_endcap_rings12_disks15">
+     <reference subregion="SCT_endcap" />
+     <range field="disk" minvalue="1" maxvalue="5" />
+     <reference subregion="SCT_ring_1_2" />
+   </region>
+ 
+   <region group="sct"  name="SCT_endcap_ring1_disks67">
+     <reference subregion="SCT_endcap" />
+     <range field="disk" minvalue="6" maxvalue="7" />
+     <reference subregion="SCT_ring_1" />
+   </region>
+   <!--
+ 
+       TRT
+ 
+     -->
+ 
+   <subregion name="TRT_barrel">
+     <range field="part" value="TRT" />
+     <range field="barrel_endcap" values="negative_barrel positive_barrel" />
+   </subregion>
+ 
+   <subregion name="TRT_endcap">
+     <range field="part" value="TRT" />
+     <range field="barrel_endcap" values="negative_endcap positive_endcap" />
+   </subregion>
+ 
+ 
+ 
+   <subregion name="TRT_layer_0">
+     <reference subregion="TRT_barrel" />
+     <range field="phi_sector" minvalue="0" maxvalue="31" wraparound="TRUE" />
+     <range field="layer_or_wheel" value="0" />
+   </subregion>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_0" />
+     <range field="straw_layer" value="0" />
+     <range field="straw" minvalue="0" maxvalue="14" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_0" />
+     <range field="straw_layer" minvalue="1" maxvalue="4" />
+     <range field="straw" minvalue="0" maxvalue="15" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_0" />
+     <range field="straw_layer" minvalue="5" maxvalue="9" />
+     <range field="straw" minvalue="0" maxvalue="16" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_0" />
+     <range field="straw_layer" minvalue="10" maxvalue="14" />
+     <range field="straw" minvalue="0" maxvalue="17" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_0" />
+     <range field="straw_layer" minvalue="15" maxvalue="17" />
+     <range field="straw" minvalue="0" maxvalue="18" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_0" />
+     <range field="straw_layer" value="18" />
+     <range field="straw" minvalue="0" maxvalue="17" />
+   </region>
+ 
+ 
+ 
+ 
+ 
+   <subregion name="TRT_layer_1">
+     <reference subregion="TRT_barrel" />
+     <range field="phi_sector" minvalue="0" maxvalue="31" wraparound="TRUE" />
+     <range field="layer_or_wheel" value="1" />
+   </subregion>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_1" />
+     <range field="straw_layer" value="0" />
+     <range field="straw" minvalue="0" maxvalue="18" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_1" />
+     <range field="straw_layer" minvalue="1" maxvalue="5" />
+     <range field="straw" minvalue="0" maxvalue="19" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_1" />
+     <range field="straw_layer" minvalue="6" maxvalue="10" />
+     <range field="straw" minvalue="0" maxvalue="20" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_1" />
+     <range field="straw_layer" minvalue="11" maxvalue="15" />
+     <range field="straw" minvalue="0" maxvalue="21" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_1" />
+     <range field="straw_layer" minvalue="16" maxvalue="20" />
+     <range field="straw" minvalue="0" maxvalue="22" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_1" />
+     <range field="straw_layer" minvalue="21" maxvalue="22" />
+     <range field="straw" minvalue="0" maxvalue="23" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_1" />
+     <range field="straw_layer" value="23" />
+     <range field="straw" minvalue="0" maxvalue="22" />
+   </region>
+ 
+ 
+ 
+ 
+ 
+   <subregion name="TRT_layer_2">
+     <reference subregion="TRT_barrel" />
+     <range field="phi_sector" minvalue="0" maxvalue="31" wraparound="TRUE" />
+     <range field="layer_or_wheel" value="2" />
+   </subregion>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_2" />
+     <range field="straw_layer" value="0" />
+     <range field="straw" minvalue="0" maxvalue="22" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_2" />
+     <range field="straw_layer" minvalue="1" maxvalue="4" />
+     <range field="straw" minvalue="0" maxvalue="23" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_2" />
+     <range field="straw_layer" minvalue="5" maxvalue="9" />
+     <range field="straw" minvalue="0" maxvalue="24" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_2" />
+     <range field="straw_layer" minvalue="10" maxvalue="14" />
+     <range field="straw" minvalue="0" maxvalue="25" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_2" />
+     <range field="straw_layer" minvalue="15" maxvalue="19" />
+     <range field="straw" minvalue="0" maxvalue="26" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_2" />
+     <range field="straw_layer" minvalue="20" maxvalue="24" />
+     <range field="straw" minvalue="0" maxvalue="27" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_2" />
+     <range field="straw_layer" minvalue="25" maxvalue="28" />
+     <range field="straw" minvalue="0" maxvalue="28" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_2" />
+     <range field="straw_layer" value="29" />
+     <range field="straw" minvalue="0" maxvalue="27" />
+   </region>
+ 
+ 
+ 
+ 
+   <region group="trt" >
+     <reference subregion="TRT_endcap" />
+     <range field="phi_sector" minvalue="0" maxvalue="31" wraparound="TRUE" />
+     <range field="layer_or_wheel" minvalue="0" maxvalue="5" />
+     <range field="straw_layer" minvalue="0" maxvalue="15" />
+     <range field="straw" minvalue="0" maxvalue="23" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_endcap" />
+     <range field="phi_sector" minvalue="0" maxvalue="31" wraparound="TRUE" />
+     <range field="layer_or_wheel" minvalue="6" maxvalue="13" />
+     <range field="straw_layer" minvalue="0" maxvalue="7" />
+     <range field="straw" minvalue="0" maxvalue="23" />
+   </region>
+ 
+   <!-- Dummy region: This forces the bit packing to be the same for all layouts -->
+ 
+   <region group="trt" name = "dummy">
+     <range field="part" value="TRT" />
+     <range field="barrel_endcap" values="negative_endcap negative_barrel positive_barrel positive_endcap"/>
+     <range field="phi_sector" minvalue="0" maxvalue="31" />
+     <range field="layer_or_wheel" minvalue="0" maxvalue="17" />
+     <range field="straw_layer" minvalue="0" maxvalue="29" />
+     <range field="straw" minvalue="0" maxvalue="28" />
+   </region>
+
+
+</IdDictionary>
+
diff --git a/InnerDetector/InDetDetDescr/InDetIdDictFiles/data/IdDictInnerDetector_IBL-02.xml b/InnerDetector/InDetDetDescr/InDetIdDictFiles/data/IdDictInnerDetector_IBL-02.xml
new file mode 100755
index 0000000000000000000000000000000000000000..807d7c7066e2922f3d32a9ac21e1c2d9499734df
--- /dev/null
+++ b/InnerDetector/InDetDetDescr/InDetIdDictFiles/data/IdDictInnerDetector_IBL-02.xml
@@ -0,0 +1,510 @@
+
+
+<!--
+
+   The InnerDetector identifier is arranged as follows
+
+   InnerDetector
+     part=Pixel
+       side=barrel
+         layer phi_module eta_module phi_index eta_index 
+       side=endcap
+         disk phi_module eta_module phi_index eta_index 
+
+     part=SCT
+       side=barrel
+         layer phi_module eta_module side strip
+       side=endcap
+         disk phi_module eta_module side strip
+
+     part=TRT
+       side=barrel
+         layer phi_module straw_layer straw
+       side=endcap
+         wheel phi_module straw_layer straw
+
+
+  -->
+
+<IdDictionary name="InnerDetector" version="IBL" >
+
+  <!--
+     Start by defining some symbolic labels used for some fields
+     (other fields will be specified by numeric ranges)
+   -->
+  <field name="part" >
+    <label name="Pixel" value="1" />
+    <label name="SCT"   value="2" />
+    <label name="TRT"   value="3" />
+
+  </field>
+
+  <field name="barrel_endcap">
+    <label name="negative_endcap" value="-2" />
+    <label name="negative_barrel" value="-1" />
+    <label name="barrel"          value="0" />
+    <label name="positive_barrel" value="+1"  />
+    <label name="positive_endcap" value="+2"  />
+    <label name="negative_dbm" value="-4"  />
+    <label name="positive_dbm" value="+4"  />
+  </field>
+
+  <!--
+
+      Pixel
+
+    -->
+ <!-- Dummy region: This forces the bit packing to be the same for all layouts -->
+
+  <region group="pixel" name = "dummy">
+    <range field="part" value="Pixel" />
+    <range field="barrel_endcap" values="negative_dbm negative_endcap barrel positive_endcap positive_dbm"/>
+    <range field="layer" minvalue="0" maxvalue="3"/>
+    <range field="phi_module" minvalue="0" maxvalue="63" />
+    <range field="eta_module" minvalue="-8" maxvalue="+7" />
+    <range field="phi_index" minvalue="0" maxvalue="376" />
+    <range field="eta_index" minvalue="0" maxvalue="243" />
+  </region>
+
+
+  <!--
+      Define few subregions which are re-used in several id-ranges.
+   -->
+
+  <subregion name="pixel_barrel">
+    <range field="part" value="Pixel" />
+    <range field="barrel_endcap" value="barrel" />
+  </subregion>
+
+  <subregion name="pixel_endcap">
+    <range field="part" value="Pixel" />
+    <range field="barrel_endcap" values="negative_endcap positive_endcap" />
+  </subregion>
+
+  <subregion name="pixel_dbm">
+     <range field="part" value="Pixel" />
+     <range field="barrel_endcap" values="negative_dbm positive_dbm" />
+   </subregion>
+
+  <subregion name="pixel_default_eta_module">
+    <range field="phi_index" minvalue="0" maxvalue="327" />
+    <range field="eta_index" minvalue="0" maxvalue="143" />
+  </subregion>
+
+  <subregion name="pixel_phi_barrel_module">
+    <range field="eta_module" minvalue="-6" maxvalue="+6" />
+    <reference subregion="pixel_default_eta_module" />
+  </subregion>
+
+  <subregion name="pixel_phi_endcap_module">
+    <range field="eta_module" value="0" />
+    <reference subregion="pixel_default_eta_module" />
+  </subregion>
+
+  <subregion name="pixel_phi_dbm_module">
+    <range field="eta_module" value="0" />
+    <reference subregion="pixel_default_eta_module" />
+  </subregion>
+ 
+
+  <!--
+    Then enumerate all the possible regions of the Pixel subdetector.
+    Each region corresponds to an identifier range.
+    -->
+
+  <!--
+    The follow region is the pixel b-layer. Normally, the correct
+    phi_index max should be 319, but we set it to 327 as for the other
+    layers to allow to calculate the pixel_id from SiDigit, i.e. using
+    the G3 numbering which is not completely correct. This should be a
+    temporary fix. Correct specif:
+    <range field="phi_index" minvalue="0" maxvalue="319" />
+    -->
+  <region group="pixel" >
+      <reference subregion="pixel_barrel" />
+      <range field="layer" value="0" />
+      <range field="phi_module" minvalue="0" maxvalue="13" wraparound="TRUE" />
+      <range field="eta_module" minvalue="-8" maxvalue="+7" />
+      <range field="phi_index" minvalue="0" maxvalue="376" />
+      <range field="eta_index" minvalue="0" maxvalue="243" />
+  </region>
+
+    <region group="pixel" >
+      <reference subregion="pixel_barrel" />
+      <range field="layer" value="1" />
+      <range field="phi_module" minvalue="0" maxvalue="21" wraparound="TRUE" />
+      <reference subregion="pixel_phi_barrel_module" />
+    </region>
+
+  <region group="pixel" >
+    <reference subregion="pixel_barrel" />
+    <range field="layer" value="2" />
+    <range field="phi_module" minvalue="0" maxvalue="37" wraparound="TRUE" />
+    <reference subregion="pixel_phi_barrel_module" />
+  </region>
+
+  <region group="pixel" >
+    <reference subregion="pixel_barrel" />
+    <range field="layer" value="3" />
+    <range field="phi_module" minvalue="0" maxvalue="51" wraparound="TRUE" />
+    <reference subregion="pixel_phi_barrel_module" />
+  </region>
+
+
+
+
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" minvalue="0" maxvalue="2" />
+    <range field="phi_module" minvalue="0" maxvalue="47" wraparound="TRUE" />
+    <reference subregion="pixel_phi_endcap_module" />
+  </region>
+
+  <region group="pixel" >
+    <reference subregion="pixel_dbm" />
+    <range field="disk" minvalue="0" maxvalue="2" />
+    <range field="phi_module" minvalue="0" maxvalue="3" wraparound="TRUE" />
+    <reference subregion="pixel_phi_dbm_module" />
+  </region>
+
+ 
+  <!--
+ 
+       SCT
+ 
+     -->
+ 
+ 
+   <subregion name="SCT_barrel">
+     <range field="part" value="SCT" />
+     <range field="barrel_endcap" value="barrel" />
+   </subregion>
+ 
+   <subregion name="SCT_endcap">
+     <range field="part" value="SCT" />
+     <range field="barrel_endcap" values="negative_endcap positive_endcap" />
+   </subregion>
+ 
+   <subregion name="SCT_eta_module">
+     <range field="side" minvalue="0" maxvalue="1" />
+     <range field="strip" minvalue="0" maxvalue="767" />
+   </subregion>
+ 
+ 
+ 
+ 
+   <subregion name="SCT_phi_negative_barrel_module">
+     <range field="eta_module" minvalue="-6" maxvalue="-1" next_value="1" />
+     <reference subregion="SCT_eta_module" />
+   </subregion>
+ 
+   <region group="sct" >
+     <reference subregion="SCT_barrel" />
+     <range field="layer" value="0" />
+     <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+     <reference subregion="SCT_phi_negative_barrel_module" />
+   </region>
+ 
+   <region group="sct" >
+     <reference subregion="SCT_barrel" />
+     <range field="layer" value="1" />
+     <range field="phi_module" minvalue="0" maxvalue="39" wraparound="TRUE" />
+     <reference subregion="SCT_phi_negative_barrel_module" />
+   </region>
+ 
+   <region group="sct" >
+     <reference subregion="SCT_barrel" />
+     <range field="layer" value="2" />
+     <range field="phi_module" minvalue="0" maxvalue="47" wraparound="TRUE" />
+     <reference subregion="SCT_phi_negative_barrel_module" />
+   </region>
+ 
+   <region group="sct" >
+     <reference subregion="SCT_barrel" />
+     <range field="layer" value="3" />
+     <range field="phi_module" minvalue="0" maxvalue="55"  wraparound="TRUE"/>
+     <reference subregion="SCT_phi_negative_barrel_module" />
+   </region>
+ 
+ 
+ 
+ 
+ 
+   <subregion name="SCT_phi_positive_barrel_module">
+     <range field="eta_module" minvalue="+1" maxvalue="+6" prev_value="-1" />
+     <reference subregion="SCT_eta_module" />
+   </subregion>
+ 
+   <region group="sct" >
+     <reference subregion="SCT_barrel" />
+     <range field="layer" value="0" />
+     <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+     <reference subregion="SCT_phi_positive_barrel_module" />
+   </region>
+ 
+   <region group="sct" >
+     <reference subregion="SCT_barrel" />
+     <range field="layer" value="1" />
+     <range field="phi_module" minvalue="0" maxvalue="39" wraparound="TRUE" />
+     <reference subregion="SCT_phi_positive_barrel_module" />
+   </region>
+ 
+   <region group="sct" >
+     <reference subregion="SCT_barrel" />
+     <range field="layer" value="2" />
+     <range field="phi_module" minvalue="0" maxvalue="47" wraparound="TRUE" />
+     <reference subregion="SCT_phi_positive_barrel_module" />
+   </region>
+ 
+   <region group="sct" >
+     <reference subregion="SCT_barrel" />
+     <range field="layer" value="3" />
+     <range field="phi_module" minvalue="0" maxvalue="55" wraparound="TRUE" />
+     <reference subregion="SCT_phi_positive_barrel_module" />
+   </region>
+ 
+   <subregion name="SCT_ring_0">
+     <range field="phi_module" minvalue="0" maxvalue="51" wraparound="TRUE" />
+     <range field="eta_module" value="0" />
+     <reference subregion="SCT_eta_module" />
+   </subregion>
+ 
+   <subregion name="SCT_ring_1">
+     <range field="phi_module" minvalue="0" maxvalue="39" wraparound="TRUE" />
+     <range field="eta_module" value="1" />
+     <reference subregion="SCT_eta_module" />
+   </subregion>
+ 
+   <subregion name="SCT_ring_1_2">
+     <range field="phi_module" minvalue="0" maxvalue="39" wraparound="TRUE" />
+     <range field="eta_module" minvalue="1" maxvalue="2" />
+     <reference subregion="SCT_eta_module" />
+   </subregion>
+ 
+    <region group="sct"  name="SCT_endcap_ring0_disks08">
+     <reference subregion="SCT_endcap" />
+     <range field="disk" minvalue="0" maxvalue="8" />
+     <reference subregion="SCT_ring_0" />
+   </region>
+ 
+ 
+   <region group="sct"  name="SCT_endcap_ring1_disk0">
+     <reference subregion="SCT_endcap" />
+     <range field="disk" value="0" />
+     <reference subregion="SCT_ring_1" />
+   </region>
+ 
+   <region group="sct"  name="SCT_endcap_rings12_disks15">
+     <reference subregion="SCT_endcap" />
+     <range field="disk" minvalue="1" maxvalue="5" />
+     <reference subregion="SCT_ring_1_2" />
+   </region>
+ 
+   <region group="sct"  name="SCT_endcap_ring1_disks67">
+     <reference subregion="SCT_endcap" />
+     <range field="disk" minvalue="6" maxvalue="7" />
+     <reference subregion="SCT_ring_1" />
+   </region>
+   <!--
+ 
+       TRT
+ 
+     -->
+ 
+   <subregion name="TRT_barrel">
+     <range field="part" value="TRT" />
+     <range field="barrel_endcap" values="negative_barrel positive_barrel" />
+   </subregion>
+ 
+   <subregion name="TRT_endcap">
+     <range field="part" value="TRT" />
+     <range field="barrel_endcap" values="negative_endcap positive_endcap" />
+   </subregion>
+ 
+ 
+ 
+   <subregion name="TRT_layer_0">
+     <reference subregion="TRT_barrel" />
+     <range field="phi_sector" minvalue="0" maxvalue="31" wraparound="TRUE" />
+     <range field="layer_or_wheel" value="0" />
+   </subregion>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_0" />
+     <range field="straw_layer" value="0" />
+     <range field="straw" minvalue="0" maxvalue="14" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_0" />
+     <range field="straw_layer" minvalue="1" maxvalue="4" />
+     <range field="straw" minvalue="0" maxvalue="15" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_0" />
+     <range field="straw_layer" minvalue="5" maxvalue="9" />
+     <range field="straw" minvalue="0" maxvalue="16" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_0" />
+     <range field="straw_layer" minvalue="10" maxvalue="14" />
+     <range field="straw" minvalue="0" maxvalue="17" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_0" />
+     <range field="straw_layer" minvalue="15" maxvalue="17" />
+     <range field="straw" minvalue="0" maxvalue="18" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_0" />
+     <range field="straw_layer" value="18" />
+     <range field="straw" minvalue="0" maxvalue="17" />
+   </region>
+ 
+ 
+ 
+ 
+ 
+   <subregion name="TRT_layer_1">
+     <reference subregion="TRT_barrel" />
+     <range field="phi_sector" minvalue="0" maxvalue="31" wraparound="TRUE" />
+     <range field="layer_or_wheel" value="1" />
+   </subregion>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_1" />
+     <range field="straw_layer" value="0" />
+     <range field="straw" minvalue="0" maxvalue="18" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_1" />
+     <range field="straw_layer" minvalue="1" maxvalue="5" />
+     <range field="straw" minvalue="0" maxvalue="19" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_1" />
+     <range field="straw_layer" minvalue="6" maxvalue="10" />
+     <range field="straw" minvalue="0" maxvalue="20" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_1" />
+     <range field="straw_layer" minvalue="11" maxvalue="15" />
+     <range field="straw" minvalue="0" maxvalue="21" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_1" />
+     <range field="straw_layer" minvalue="16" maxvalue="20" />
+     <range field="straw" minvalue="0" maxvalue="22" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_1" />
+     <range field="straw_layer" minvalue="21" maxvalue="22" />
+     <range field="straw" minvalue="0" maxvalue="23" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_1" />
+     <range field="straw_layer" value="23" />
+     <range field="straw" minvalue="0" maxvalue="22" />
+   </region>
+ 
+ 
+ 
+ 
+ 
+   <subregion name="TRT_layer_2">
+     <reference subregion="TRT_barrel" />
+     <range field="phi_sector" minvalue="0" maxvalue="31" wraparound="TRUE" />
+     <range field="layer_or_wheel" value="2" />
+   </subregion>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_2" />
+     <range field="straw_layer" value="0" />
+     <range field="straw" minvalue="0" maxvalue="22" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_2" />
+     <range field="straw_layer" minvalue="1" maxvalue="4" />
+     <range field="straw" minvalue="0" maxvalue="23" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_2" />
+     <range field="straw_layer" minvalue="5" maxvalue="9" />
+     <range field="straw" minvalue="0" maxvalue="24" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_2" />
+     <range field="straw_layer" minvalue="10" maxvalue="14" />
+     <range field="straw" minvalue="0" maxvalue="25" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_2" />
+     <range field="straw_layer" minvalue="15" maxvalue="19" />
+     <range field="straw" minvalue="0" maxvalue="26" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_2" />
+     <range field="straw_layer" minvalue="20" maxvalue="24" />
+     <range field="straw" minvalue="0" maxvalue="27" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_2" />
+     <range field="straw_layer" minvalue="25" maxvalue="28" />
+     <range field="straw" minvalue="0" maxvalue="28" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_2" />
+     <range field="straw_layer" value="29" />
+     <range field="straw" minvalue="0" maxvalue="27" />
+   </region>
+ 
+ 
+ 
+ 
+   <region group="trt" >
+     <reference subregion="TRT_endcap" />
+     <range field="phi_sector" minvalue="0" maxvalue="31" wraparound="TRUE" />
+     <range field="layer_or_wheel" minvalue="0" maxvalue="5" />
+     <range field="straw_layer" minvalue="0" maxvalue="15" />
+     <range field="straw" minvalue="0" maxvalue="23" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_endcap" />
+     <range field="phi_sector" minvalue="0" maxvalue="31" wraparound="TRUE" />
+     <range field="layer_or_wheel" minvalue="6" maxvalue="13" />
+     <range field="straw_layer" minvalue="0" maxvalue="7" />
+     <range field="straw" minvalue="0" maxvalue="23" />
+   </region>
+ 
+   <!-- Dummy region: This forces the bit packing to be the same for all layouts -->
+ 
+   <region group="trt" name = "dummy">
+     <range field="part" value="TRT" />
+     <range field="barrel_endcap" values="negative_endcap negative_barrel positive_barrel positive_endcap"/>
+     <range field="phi_sector" minvalue="0" maxvalue="31" />
+     <range field="layer_or_wheel" minvalue="0" maxvalue="17" />
+     <range field="straw_layer" minvalue="0" maxvalue="29" />
+     <range field="straw" minvalue="0" maxvalue="28" />
+   </region>
+
+
+</IdDictionary>
+
diff --git a/InnerDetector/InDetDetDescr/InDetIdDictFiles/data/IdDictInnerDetector_IBL-03.xml b/InnerDetector/InDetDetDescr/InDetIdDictFiles/data/IdDictInnerDetector_IBL-03.xml
new file mode 100644
index 0000000000000000000000000000000000000000..ea3655f8d6a95627054761fc0e966be71c4ee667
--- /dev/null
+++ b/InnerDetector/InDetDetDescr/InDetIdDictFiles/data/IdDictInnerDetector_IBL-03.xml
@@ -0,0 +1,515 @@
+
+
+<!--
+
+   The InnerDetector identifier is arranged as follows
+
+   InnerDetector
+     part=Pixel
+       side=barrel
+         layer phi_module eta_module phi_index eta_index 
+       side=endcap
+         disk phi_module eta_module phi_index eta_index 
+
+     part=SCT
+       side=barrel
+         layer phi_module eta_module side strip
+       side=endcap
+         disk phi_module eta_module side strip
+
+     part=TRT
+       side=barrel
+         layer phi_module straw_layer straw
+       side=endcap
+         wheel phi_module straw_layer straw
+
+
+  -->
+
+<IdDictionary name="InnerDetector" version="IBL-DBM" >
+
+  <!--
+     Start by defining some symbolic labels used for some fields
+     (other fields will be specified by numeric ranges)
+   -->
+  <field name="part" >
+    <label name="Pixel" value="1" />
+    <label name="SCT"   value="2" />
+    <label name="TRT"   value="3" />
+
+  </field>
+
+  <field name="barrel_endcap">
+    <label name="negative_endcap" value="-2" />
+    <label name="negative_barrel" value="-1" />
+    <label name="barrel"          value="0" />
+    <label name="positive_barrel" value="+1"  />
+    <label name="positive_endcap" value="+2"  />
+    <label name="negative_dbm" value="-4"  />
+    <label name="positive_dbm" value="+4"  />
+  </field>
+
+  <!--
+
+      Pixel
+
+    -->
+ <!-- Dummy region: This forces the bit packing to be the same for all layouts -->
+
+  <region group="pixel" name = "dummy">
+    <range field="part" value="Pixel" />
+    <range field="barrel_endcap" values="negative_dbm negative_endcap barrel positive_endcap positive_dbm"/>
+    <range field="layer" minvalue="0" maxvalue="3"/>
+    <range field="phi_module" minvalue="0" maxvalue="63" />
+    <range field="eta_module" minvalue="-8" maxvalue="+7" />
+    <range field="phi_index" minvalue="0" maxvalue="376" />
+    <range field="eta_index" minvalue="0" maxvalue="335" />
+  </region>
+
+
+  <!--
+      Define few subregions which are re-used in several id-ranges.
+   -->
+
+  <subregion name="pixel_barrel">
+    <range field="part" value="Pixel" />
+    <range field="barrel_endcap" value="barrel" />
+  </subregion>
+
+  <subregion name="pixel_endcap">
+    <range field="part" value="Pixel" />
+    <range field="barrel_endcap" values="negative_endcap positive_endcap" />
+  </subregion>
+
+  <subregion name="pixel_dbm">
+     <range field="part" value="Pixel" />
+     <range field="barrel_endcap" values="negative_dbm positive_dbm" />
+   </subregion>
+
+  <subregion name="pixel_default_eta_module">
+    <range field="phi_index" minvalue="0" maxvalue="327" />
+    <range field="eta_index" minvalue="0" maxvalue="143" />
+  </subregion>
+
+  <subregion name="pixel_dbm_eta_module">
+    <range field="phi_index" minvalue="0" maxvalue="79" />
+    <range field="eta_index" minvalue="0" maxvalue="335" />
+  </subregion>
+
+  <subregion name="pixel_phi_barrel_module">
+    <range field="eta_module" minvalue="-6" maxvalue="+6" />
+    <reference subregion="pixel_default_eta_module" />
+  </subregion>
+
+  <subregion name="pixel_phi_endcap_module">
+    <range field="eta_module" value="0" />
+    <reference subregion="pixel_default_eta_module" />
+  </subregion>
+
+  <subregion name="pixel_phi_dbm_module">
+    <range field="eta_module" value="0" />
+    <reference subregion="pixel_dbm_eta_module" />
+  </subregion>
+ 
+
+  <!--
+    Then enumerate all the possible regions of the Pixel subdetector.
+    Each region corresponds to an identifier range.
+    -->
+
+  <!--
+    The follow region is the pixel b-layer. Normally, the correct
+    phi_index max should be 319, but we set it to 327 as for the other
+    layers to allow to calculate the pixel_id from SiDigit, i.e. using
+    the G3 numbering which is not completely correct. This should be a
+    temporary fix. Correct specif:
+    <range field="phi_index" minvalue="0" maxvalue="319" />
+    -->
+
+  <region group="pixel" >
+      <reference subregion="pixel_barrel" />
+      <range field="layer" value="0" />
+      <range field="phi_module" minvalue="0" maxvalue="13" wraparound="TRUE" />
+      <range field="eta_module" minvalue="-8" maxvalue="+7" />
+      <range field="phi_index" minvalue="0" maxvalue="376" />
+      <range field="eta_index" minvalue="0" maxvalue="243" />
+  </region>
+
+  <region group="pixel" >
+      <reference subregion="pixel_barrel" />
+      <range field="layer" value="1" />
+      <range field="phi_module" minvalue="0" maxvalue="21" wraparound="TRUE" />
+      <reference subregion="pixel_phi_barrel_module" />
+  </region>
+
+  <region group="pixel" >
+    <reference subregion="pixel_barrel" />
+    <range field="layer" value="2" />
+    <range field="phi_module" minvalue="0" maxvalue="37" wraparound="TRUE" />
+    <reference subregion="pixel_phi_barrel_module" />
+  </region>
+
+  <region group="pixel" >
+    <reference subregion="pixel_barrel" />
+    <range field="layer" value="3" />
+    <range field="phi_module" minvalue="0" maxvalue="51" wraparound="TRUE" />
+    <reference subregion="pixel_phi_barrel_module" />
+  </region>
+
+
+
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" minvalue="0" maxvalue="2" />
+    <range field="phi_module" minvalue="0" maxvalue="47" wraparound="TRUE" />
+    <reference subregion="pixel_phi_endcap_module" />
+  </region>
+
+  <region group="pixel" >
+    <reference subregion="pixel_dbm" />
+    <range field="disk" minvalue="0" maxvalue="2" />
+    <range field="phi_module" minvalue="0" maxvalue="3" wraparound="TRUE" />
+    <reference subregion="pixel_phi_dbm_module" />
+  </region>
+
+ 
+  <!--
+ 
+       SCT
+ 
+     -->
+ 
+ 
+   <subregion name="SCT_barrel">
+     <range field="part" value="SCT" />
+     <range field="barrel_endcap" value="barrel" />
+   </subregion>
+ 
+   <subregion name="SCT_endcap">
+     <range field="part" value="SCT" />
+     <range field="barrel_endcap" values="negative_endcap positive_endcap" />
+   </subregion>
+ 
+   <subregion name="SCT_eta_module">
+     <range field="side" minvalue="0" maxvalue="1" />
+     <range field="strip" minvalue="0" maxvalue="767" />
+   </subregion>
+ 
+ 
+ 
+ 
+   <subregion name="SCT_phi_negative_barrel_module">
+     <range field="eta_module" minvalue="-6" maxvalue="-1" next_value="1" />
+     <reference subregion="SCT_eta_module" />
+   </subregion>
+ 
+   <region group="sct" >
+     <reference subregion="SCT_barrel" />
+     <range field="layer" value="0" />
+     <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+     <reference subregion="SCT_phi_negative_barrel_module" />
+   </region>
+ 
+   <region group="sct" >
+     <reference subregion="SCT_barrel" />
+     <range field="layer" value="1" />
+     <range field="phi_module" minvalue="0" maxvalue="39" wraparound="TRUE" />
+     <reference subregion="SCT_phi_negative_barrel_module" />
+   </region>
+ 
+   <region group="sct" >
+     <reference subregion="SCT_barrel" />
+     <range field="layer" value="2" />
+     <range field="phi_module" minvalue="0" maxvalue="47" wraparound="TRUE" />
+     <reference subregion="SCT_phi_negative_barrel_module" />
+   </region>
+ 
+   <region group="sct" >
+     <reference subregion="SCT_barrel" />
+     <range field="layer" value="3" />
+     <range field="phi_module" minvalue="0" maxvalue="55"  wraparound="TRUE"/>
+     <reference subregion="SCT_phi_negative_barrel_module" />
+   </region>
+ 
+ 
+ 
+ 
+ 
+   <subregion name="SCT_phi_positive_barrel_module">
+     <range field="eta_module" minvalue="+1" maxvalue="+6" prev_value="-1" />
+     <reference subregion="SCT_eta_module" />
+   </subregion>
+ 
+   <region group="sct" >
+     <reference subregion="SCT_barrel" />
+     <range field="layer" value="0" />
+     <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+     <reference subregion="SCT_phi_positive_barrel_module" />
+   </region>
+ 
+   <region group="sct" >
+     <reference subregion="SCT_barrel" />
+     <range field="layer" value="1" />
+     <range field="phi_module" minvalue="0" maxvalue="39" wraparound="TRUE" />
+     <reference subregion="SCT_phi_positive_barrel_module" />
+   </region>
+ 
+   <region group="sct" >
+     <reference subregion="SCT_barrel" />
+     <range field="layer" value="2" />
+     <range field="phi_module" minvalue="0" maxvalue="47" wraparound="TRUE" />
+     <reference subregion="SCT_phi_positive_barrel_module" />
+   </region>
+ 
+   <region group="sct" >
+     <reference subregion="SCT_barrel" />
+     <range field="layer" value="3" />
+     <range field="phi_module" minvalue="0" maxvalue="55" wraparound="TRUE" />
+     <reference subregion="SCT_phi_positive_barrel_module" />
+   </region>
+ 
+   <subregion name="SCT_ring_0">
+     <range field="phi_module" minvalue="0" maxvalue="51" wraparound="TRUE" />
+     <range field="eta_module" value="0" />
+     <reference subregion="SCT_eta_module" />
+   </subregion>
+ 
+   <subregion name="SCT_ring_1">
+     <range field="phi_module" minvalue="0" maxvalue="39" wraparound="TRUE" />
+     <range field="eta_module" value="1" />
+     <reference subregion="SCT_eta_module" />
+   </subregion>
+ 
+   <subregion name="SCT_ring_1_2">
+     <range field="phi_module" minvalue="0" maxvalue="39" wraparound="TRUE" />
+     <range field="eta_module" minvalue="1" maxvalue="2" />
+     <reference subregion="SCT_eta_module" />
+   </subregion>
+ 
+    <region group="sct"  name="SCT_endcap_ring0_disks08">
+     <reference subregion="SCT_endcap" />
+     <range field="disk" minvalue="0" maxvalue="8" />
+     <reference subregion="SCT_ring_0" />
+   </region>
+ 
+ 
+   <region group="sct"  name="SCT_endcap_ring1_disk0">
+     <reference subregion="SCT_endcap" />
+     <range field="disk" value="0" />
+     <reference subregion="SCT_ring_1" />
+   </region>
+ 
+   <region group="sct"  name="SCT_endcap_rings12_disks15">
+     <reference subregion="SCT_endcap" />
+     <range field="disk" minvalue="1" maxvalue="5" />
+     <reference subregion="SCT_ring_1_2" />
+   </region>
+ 
+   <region group="sct"  name="SCT_endcap_ring1_disks67">
+     <reference subregion="SCT_endcap" />
+     <range field="disk" minvalue="6" maxvalue="7" />
+     <reference subregion="SCT_ring_1" />
+   </region>
+   <!--
+ 
+       TRT
+ 
+     -->
+ 
+   <subregion name="TRT_barrel">
+     <range field="part" value="TRT" />
+     <range field="barrel_endcap" values="negative_barrel positive_barrel" />
+   </subregion>
+ 
+   <subregion name="TRT_endcap">
+     <range field="part" value="TRT" />
+     <range field="barrel_endcap" values="negative_endcap positive_endcap" />
+   </subregion>
+ 
+ 
+ 
+   <subregion name="TRT_layer_0">
+     <reference subregion="TRT_barrel" />
+     <range field="phi_sector" minvalue="0" maxvalue="31" wraparound="TRUE" />
+     <range field="layer_or_wheel" value="0" />
+   </subregion>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_0" />
+     <range field="straw_layer" value="0" />
+     <range field="straw" minvalue="0" maxvalue="14" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_0" />
+     <range field="straw_layer" minvalue="1" maxvalue="4" />
+     <range field="straw" minvalue="0" maxvalue="15" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_0" />
+     <range field="straw_layer" minvalue="5" maxvalue="9" />
+     <range field="straw" minvalue="0" maxvalue="16" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_0" />
+     <range field="straw_layer" minvalue="10" maxvalue="14" />
+     <range field="straw" minvalue="0" maxvalue="17" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_0" />
+     <range field="straw_layer" minvalue="15" maxvalue="17" />
+     <range field="straw" minvalue="0" maxvalue="18" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_0" />
+     <range field="straw_layer" value="18" />
+     <range field="straw" minvalue="0" maxvalue="17" />
+   </region>
+ 
+ 
+ 
+ 
+ 
+   <subregion name="TRT_layer_1">
+     <reference subregion="TRT_barrel" />
+     <range field="phi_sector" minvalue="0" maxvalue="31" wraparound="TRUE" />
+     <range field="layer_or_wheel" value="1" />
+   </subregion>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_1" />
+     <range field="straw_layer" value="0" />
+     <range field="straw" minvalue="0" maxvalue="18" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_1" />
+     <range field="straw_layer" minvalue="1" maxvalue="5" />
+     <range field="straw" minvalue="0" maxvalue="19" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_1" />
+     <range field="straw_layer" minvalue="6" maxvalue="10" />
+     <range field="straw" minvalue="0" maxvalue="20" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_1" />
+     <range field="straw_layer" minvalue="11" maxvalue="15" />
+     <range field="straw" minvalue="0" maxvalue="21" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_1" />
+     <range field="straw_layer" minvalue="16" maxvalue="20" />
+     <range field="straw" minvalue="0" maxvalue="22" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_1" />
+     <range field="straw_layer" minvalue="21" maxvalue="22" />
+     <range field="straw" minvalue="0" maxvalue="23" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_1" />
+     <range field="straw_layer" value="23" />
+     <range field="straw" minvalue="0" maxvalue="22" />
+   </region>
+ 
+ 
+ 
+ 
+ 
+   <subregion name="TRT_layer_2">
+     <reference subregion="TRT_barrel" />
+     <range field="phi_sector" minvalue="0" maxvalue="31" wraparound="TRUE" />
+     <range field="layer_or_wheel" value="2" />
+   </subregion>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_2" />
+     <range field="straw_layer" value="0" />
+     <range field="straw" minvalue="0" maxvalue="22" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_2" />
+     <range field="straw_layer" minvalue="1" maxvalue="4" />
+     <range field="straw" minvalue="0" maxvalue="23" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_2" />
+     <range field="straw_layer" minvalue="5" maxvalue="9" />
+     <range field="straw" minvalue="0" maxvalue="24" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_2" />
+     <range field="straw_layer" minvalue="10" maxvalue="14" />
+     <range field="straw" minvalue="0" maxvalue="25" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_2" />
+     <range field="straw_layer" minvalue="15" maxvalue="19" />
+     <range field="straw" minvalue="0" maxvalue="26" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_2" />
+     <range field="straw_layer" minvalue="20" maxvalue="24" />
+     <range field="straw" minvalue="0" maxvalue="27" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_2" />
+     <range field="straw_layer" minvalue="25" maxvalue="28" />
+     <range field="straw" minvalue="0" maxvalue="28" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_2" />
+     <range field="straw_layer" value="29" />
+     <range field="straw" minvalue="0" maxvalue="27" />
+   </region>
+ 
+ 
+ 
+ 
+   <region group="trt" >
+     <reference subregion="TRT_endcap" />
+     <range field="phi_sector" minvalue="0" maxvalue="31" wraparound="TRUE" />
+     <range field="layer_or_wheel" minvalue="0" maxvalue="5" />
+     <range field="straw_layer" minvalue="0" maxvalue="15" />
+     <range field="straw" minvalue="0" maxvalue="23" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_endcap" />
+     <range field="phi_sector" minvalue="0" maxvalue="31" wraparound="TRUE" />
+     <range field="layer_or_wheel" minvalue="6" maxvalue="13" />
+     <range field="straw_layer" minvalue="0" maxvalue="7" />
+     <range field="straw" minvalue="0" maxvalue="23" />
+   </region>
+ 
+   <!-- Dummy region: This forces the bit packing to be the same for all layouts -->
+ 
+   <region group="trt" name = "dummy">
+     <range field="part" value="TRT" />
+     <range field="barrel_endcap" values="negative_endcap negative_barrel positive_barrel positive_endcap"/>
+     <range field="phi_sector" minvalue="0" maxvalue="31" />
+     <range field="layer_or_wheel" minvalue="0" maxvalue="17" />
+     <range field="straw_layer" minvalue="0" maxvalue="29" />
+     <range field="straw" minvalue="0" maxvalue="28" />
+   </region>
+
+
+</IdDictionary>
+
diff --git a/InnerDetector/InDetDetDescr/InDetIdDictFiles/data/IdDictInnerDetector_IBL3D25-01.xml b/InnerDetector/InDetDetDescr/InDetIdDictFiles/data/IdDictInnerDetector_IBL3D25-01.xml
new file mode 100755
index 0000000000000000000000000000000000000000..5cd8175a3d59f5b1318ad029068039805c2c1a02
--- /dev/null
+++ b/InnerDetector/InDetDetDescr/InDetIdDictFiles/data/IdDictInnerDetector_IBL3D25-01.xml
@@ -0,0 +1,492 @@
+
+
+<!--
+
+   The InnerDetector identifier is arranged as follows
+
+   InnerDetector
+     part=Pixel
+       side=barrel
+         layer phi_module eta_module phi_index eta_index 
+       side=endcap
+         disk phi_module eta_module phi_index eta_index 
+
+     part=SCT
+       side=barrel
+         layer phi_module eta_module side strip
+       side=endcap
+         disk phi_module eta_module side strip
+
+     part=TRT
+       side=barrel
+         layer phi_module straw_layer straw
+       side=endcap
+         wheel phi_module straw_layer straw
+
+
+  -->
+
+<IdDictionary name="InnerDetector" version="IBL" >
+
+  <!--
+     Start by defining some symbolic labels used for some fields
+     (other fields will be specified by numeric ranges)
+   -->
+  <field name="part" >
+    <label name="Pixel" value="1" />
+    <label name="SCT"   value="2" />
+    <label name="TRT"   value="3" />
+
+  </field>
+
+  <field name="barrel_endcap">
+    <label name="negative_endcap" value="-2" />
+    <label name="negative_barrel" value="-1" />
+    <label name="barrel"          value="0" />
+    <label name="positive_barrel" value="+1"  />
+    <label name="positive_endcap" value="+2"  />
+  </field>
+
+  <!--
+
+      Pixel
+
+    -->
+ <!-- Dummy region: This forces the bit packing to be the same for all layouts -->
+
+  <region group="pixel" name = "dummy">
+    <range field="part" value="Pixel" />
+    <range field="barrel_endcap" values="negative_endcap barrel positive_endcap"/>
+    <range field="layer" minvalue="0" maxvalue="3"/>
+    <range field="phi_module" minvalue="0" maxvalue="63" />
+    <range field="eta_module" minvalue="-8" maxvalue="+7" />
+    <range field="phi_index" minvalue="0" maxvalue="376" />
+    <range field="eta_index" minvalue="0" maxvalue="243" />
+  </region>
+
+
+  <!--
+      Define few subregions which are re-used in several id-ranges.
+   -->
+
+  <subregion name="pixel_barrel">
+    <range field="part" value="Pixel" />
+    <range field="barrel_endcap" value="barrel" />
+  </subregion>
+
+  <subregion name="pixel_endcap">
+    <range field="part" value="Pixel" />
+    <range field="barrel_endcap" values="negative_endcap positive_endcap" />
+  </subregion>
+
+  <subregion name="pixel_default_eta_module">
+    <range field="phi_index" minvalue="0" maxvalue="327" />
+    <range field="eta_index" minvalue="0" maxvalue="143" />
+  </subregion>
+
+  <subregion name="pixel_phi_barrel_module">
+    <range field="eta_module" minvalue="-6" maxvalue="+6" />
+    <reference subregion="pixel_default_eta_module" />
+  </subregion>
+
+  <subregion name="pixel_phi_endcap_module">
+    <range field="eta_module" value="0" />
+    <reference subregion="pixel_default_eta_module" />
+  </subregion>
+
+  <!--
+    Then enumerate all the possible regions of the Pixel subdetector.
+    Each region corresponds to an identifier range.
+    -->
+
+  <!--
+    The follow region is the pixel b-layer. Normally, the correct
+    phi_index max should be 319, but we set it to 327 as for the other
+    layers to allow to calculate the pixel_id from SiDigit, i.e. using
+    the G3 numbering which is not completely correct. This should be a
+    temporary fix. Correct specif:
+    <range field="phi_index" minvalue="0" maxvalue="319" />
+    -->
+  <region group="pixel" >
+      <reference subregion="pixel_barrel" />
+      <range field="layer" value="0" />
+      <range field="phi_module" minvalue="0" maxvalue="13" wraparound="TRUE" />
+      <range field="eta_module" minvalue="-10" maxvalue="+9" />
+      <range field="phi_index" minvalue="0" maxvalue="376" />
+      <range field="eta_index" minvalue="0" maxvalue="243" />
+  </region>
+
+    <region group="pixel" >
+      <reference subregion="pixel_barrel" />
+      <range field="layer" value="1" />
+      <range field="phi_module" minvalue="0" maxvalue="21" wraparound="TRUE" />
+      <reference subregion="pixel_phi_barrel_module" />
+    </region>
+
+  <region group="pixel" >
+    <reference subregion="pixel_barrel" />
+    <range field="layer" value="2" />
+    <range field="phi_module" minvalue="0" maxvalue="37" wraparound="TRUE" />
+    <reference subregion="pixel_phi_barrel_module" />
+  </region>
+
+  <region group="pixel" >
+    <reference subregion="pixel_barrel" />
+    <range field="layer" value="3" />
+    <range field="phi_module" minvalue="0" maxvalue="51" wraparound="TRUE" />
+    <reference subregion="pixel_phi_barrel_module" />
+  </region>
+
+
+
+
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" minvalue="0" maxvalue="2" />
+    <range field="phi_module" minvalue="0" maxvalue="47" wraparound="TRUE" />
+    <reference subregion="pixel_phi_endcap_module" />
+  </region>
+
+
+
+ 
+  <!--
+ 
+       SCT
+ 
+     -->
+ 
+ 
+   <subregion name="SCT_barrel">
+     <range field="part" value="SCT" />
+     <range field="barrel_endcap" value="barrel" />
+   </subregion>
+ 
+   <subregion name="SCT_endcap">
+     <range field="part" value="SCT" />
+     <range field="barrel_endcap" values="negative_endcap positive_endcap" />
+   </subregion>
+ 
+   <subregion name="SCT_eta_module">
+     <range field="side" minvalue="0" maxvalue="1" />
+     <range field="strip" minvalue="0" maxvalue="767" />
+   </subregion>
+ 
+ 
+ 
+ 
+   <subregion name="SCT_phi_negative_barrel_module">
+     <range field="eta_module" minvalue="-6" maxvalue="-1" next_value="1" />
+     <reference subregion="SCT_eta_module" />
+   </subregion>
+ 
+   <region group="sct" >
+     <reference subregion="SCT_barrel" />
+     <range field="layer" value="0" />
+     <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+     <reference subregion="SCT_phi_negative_barrel_module" />
+   </region>
+ 
+   <region group="sct" >
+     <reference subregion="SCT_barrel" />
+     <range field="layer" value="1" />
+     <range field="phi_module" minvalue="0" maxvalue="39" wraparound="TRUE" />
+     <reference subregion="SCT_phi_negative_barrel_module" />
+   </region>
+ 
+   <region group="sct" >
+     <reference subregion="SCT_barrel" />
+     <range field="layer" value="2" />
+     <range field="phi_module" minvalue="0" maxvalue="47" wraparound="TRUE" />
+     <reference subregion="SCT_phi_negative_barrel_module" />
+   </region>
+ 
+   <region group="sct" >
+     <reference subregion="SCT_barrel" />
+     <range field="layer" value="3" />
+     <range field="phi_module" minvalue="0" maxvalue="55"  wraparound="TRUE"/>
+     <reference subregion="SCT_phi_negative_barrel_module" />
+   </region>
+ 
+ 
+ 
+ 
+ 
+   <subregion name="SCT_phi_positive_barrel_module">
+     <range field="eta_module" minvalue="+1" maxvalue="+6" prev_value="-1" />
+     <reference subregion="SCT_eta_module" />
+   </subregion>
+ 
+   <region group="sct" >
+     <reference subregion="SCT_barrel" />
+     <range field="layer" value="0" />
+     <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+     <reference subregion="SCT_phi_positive_barrel_module" />
+   </region>
+ 
+   <region group="sct" >
+     <reference subregion="SCT_barrel" />
+     <range field="layer" value="1" />
+     <range field="phi_module" minvalue="0" maxvalue="39" wraparound="TRUE" />
+     <reference subregion="SCT_phi_positive_barrel_module" />
+   </region>
+ 
+   <region group="sct" >
+     <reference subregion="SCT_barrel" />
+     <range field="layer" value="2" />
+     <range field="phi_module" minvalue="0" maxvalue="47" wraparound="TRUE" />
+     <reference subregion="SCT_phi_positive_barrel_module" />
+   </region>
+ 
+   <region group="sct" >
+     <reference subregion="SCT_barrel" />
+     <range field="layer" value="3" />
+     <range field="phi_module" minvalue="0" maxvalue="55" wraparound="TRUE" />
+     <reference subregion="SCT_phi_positive_barrel_module" />
+   </region>
+ 
+   <subregion name="SCT_ring_0">
+     <range field="phi_module" minvalue="0" maxvalue="51" wraparound="TRUE" />
+     <range field="eta_module" value="0" />
+     <reference subregion="SCT_eta_module" />
+   </subregion>
+ 
+   <subregion name="SCT_ring_1">
+     <range field="phi_module" minvalue="0" maxvalue="39" wraparound="TRUE" />
+     <range field="eta_module" value="1" />
+     <reference subregion="SCT_eta_module" />
+   </subregion>
+ 
+   <subregion name="SCT_ring_1_2">
+     <range field="phi_module" minvalue="0" maxvalue="39" wraparound="TRUE" />
+     <range field="eta_module" minvalue="1" maxvalue="2" />
+     <reference subregion="SCT_eta_module" />
+   </subregion>
+ 
+    <region group="sct"  name="SCT_endcap_ring0_disks08">
+     <reference subregion="SCT_endcap" />
+     <range field="disk" minvalue="0" maxvalue="8" />
+     <reference subregion="SCT_ring_0" />
+   </region>
+ 
+ 
+   <region group="sct"  name="SCT_endcap_ring1_disk0">
+     <reference subregion="SCT_endcap" />
+     <range field="disk" value="0" />
+     <reference subregion="SCT_ring_1" />
+   </region>
+ 
+   <region group="sct"  name="SCT_endcap_rings12_disks15">
+     <reference subregion="SCT_endcap" />
+     <range field="disk" minvalue="1" maxvalue="5" />
+     <reference subregion="SCT_ring_1_2" />
+   </region>
+ 
+   <region group="sct"  name="SCT_endcap_ring1_disks67">
+     <reference subregion="SCT_endcap" />
+     <range field="disk" minvalue="6" maxvalue="7" />
+     <reference subregion="SCT_ring_1" />
+   </region>
+   <!--
+ 
+       TRT
+ 
+     -->
+ 
+   <subregion name="TRT_barrel">
+     <range field="part" value="TRT" />
+     <range field="barrel_endcap" values="negative_barrel positive_barrel" />
+   </subregion>
+ 
+   <subregion name="TRT_endcap">
+     <range field="part" value="TRT" />
+     <range field="barrel_endcap" values="negative_endcap positive_endcap" />
+   </subregion>
+ 
+ 
+ 
+   <subregion name="TRT_layer_0">
+     <reference subregion="TRT_barrel" />
+     <range field="phi_sector" minvalue="0" maxvalue="31" wraparound="TRUE" />
+     <range field="layer_or_wheel" value="0" />
+   </subregion>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_0" />
+     <range field="straw_layer" value="0" />
+     <range field="straw" minvalue="0" maxvalue="14" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_0" />
+     <range field="straw_layer" minvalue="1" maxvalue="4" />
+     <range field="straw" minvalue="0" maxvalue="15" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_0" />
+     <range field="straw_layer" minvalue="5" maxvalue="9" />
+     <range field="straw" minvalue="0" maxvalue="16" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_0" />
+     <range field="straw_layer" minvalue="10" maxvalue="14" />
+     <range field="straw" minvalue="0" maxvalue="17" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_0" />
+     <range field="straw_layer" minvalue="15" maxvalue="17" />
+     <range field="straw" minvalue="0" maxvalue="18" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_0" />
+     <range field="straw_layer" value="18" />
+     <range field="straw" minvalue="0" maxvalue="17" />
+   </region>
+ 
+ 
+ 
+ 
+ 
+   <subregion name="TRT_layer_1">
+     <reference subregion="TRT_barrel" />
+     <range field="phi_sector" minvalue="0" maxvalue="31" wraparound="TRUE" />
+     <range field="layer_or_wheel" value="1" />
+   </subregion>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_1" />
+     <range field="straw_layer" value="0" />
+     <range field="straw" minvalue="0" maxvalue="18" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_1" />
+     <range field="straw_layer" minvalue="1" maxvalue="5" />
+     <range field="straw" minvalue="0" maxvalue="19" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_1" />
+     <range field="straw_layer" minvalue="6" maxvalue="10" />
+     <range field="straw" minvalue="0" maxvalue="20" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_1" />
+     <range field="straw_layer" minvalue="11" maxvalue="15" />
+     <range field="straw" minvalue="0" maxvalue="21" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_1" />
+     <range field="straw_layer" minvalue="16" maxvalue="20" />
+     <range field="straw" minvalue="0" maxvalue="22" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_1" />
+     <range field="straw_layer" minvalue="21" maxvalue="22" />
+     <range field="straw" minvalue="0" maxvalue="23" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_1" />
+     <range field="straw_layer" value="23" />
+     <range field="straw" minvalue="0" maxvalue="22" />
+   </region>
+ 
+ 
+ 
+ 
+ 
+   <subregion name="TRT_layer_2">
+     <reference subregion="TRT_barrel" />
+     <range field="phi_sector" minvalue="0" maxvalue="31" wraparound="TRUE" />
+     <range field="layer_or_wheel" value="2" />
+   </subregion>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_2" />
+     <range field="straw_layer" value="0" />
+     <range field="straw" minvalue="0" maxvalue="22" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_2" />
+     <range field="straw_layer" minvalue="1" maxvalue="4" />
+     <range field="straw" minvalue="0" maxvalue="23" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_2" />
+     <range field="straw_layer" minvalue="5" maxvalue="9" />
+     <range field="straw" minvalue="0" maxvalue="24" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_2" />
+     <range field="straw_layer" minvalue="10" maxvalue="14" />
+     <range field="straw" minvalue="0" maxvalue="25" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_2" />
+     <range field="straw_layer" minvalue="15" maxvalue="19" />
+     <range field="straw" minvalue="0" maxvalue="26" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_2" />
+     <range field="straw_layer" minvalue="20" maxvalue="24" />
+     <range field="straw" minvalue="0" maxvalue="27" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_2" />
+     <range field="straw_layer" minvalue="25" maxvalue="28" />
+     <range field="straw" minvalue="0" maxvalue="28" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_2" />
+     <range field="straw_layer" value="29" />
+     <range field="straw" minvalue="0" maxvalue="27" />
+   </region>
+ 
+ 
+ 
+ 
+   <region group="trt" >
+     <reference subregion="TRT_endcap" />
+     <range field="phi_sector" minvalue="0" maxvalue="31" wraparound="TRUE" />
+     <range field="layer_or_wheel" minvalue="0" maxvalue="5" />
+     <range field="straw_layer" minvalue="0" maxvalue="15" />
+     <range field="straw" minvalue="0" maxvalue="23" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_endcap" />
+     <range field="phi_sector" minvalue="0" maxvalue="31" wraparound="TRUE" />
+     <range field="layer_or_wheel" minvalue="6" maxvalue="13" />
+     <range field="straw_layer" minvalue="0" maxvalue="7" />
+     <range field="straw" minvalue="0" maxvalue="23" />
+   </region>
+ 
+   <!-- Dummy region: This forces the bit packing to be the same for all layouts -->
+ 
+   <region group="trt" name = "dummy">
+     <range field="part" value="TRT" />
+     <range field="barrel_endcap" values="negative_endcap negative_barrel positive_barrel positive_endcap"/>
+     <range field="phi_sector" minvalue="0" maxvalue="31" />
+     <range field="layer_or_wheel" minvalue="0" maxvalue="17" />
+     <range field="straw_layer" minvalue="0" maxvalue="29" />
+     <range field="straw" minvalue="0" maxvalue="28" />
+   </region>
+
+
+</IdDictionary>
+
diff --git a/InnerDetector/InDetDetDescr/InDetIdDictFiles/data/IdDictInnerDetector_IBL3D25-02.xml b/InnerDetector/InDetDetDescr/InDetIdDictFiles/data/IdDictInnerDetector_IBL3D25-02.xml
new file mode 100755
index 0000000000000000000000000000000000000000..e5bfccd449b350e7e482902acd486b3d6e80a29c
--- /dev/null
+++ b/InnerDetector/InDetDetDescr/InDetIdDictFiles/data/IdDictInnerDetector_IBL3D25-02.xml
@@ -0,0 +1,510 @@
+
+
+<!--
+
+   The InnerDetector identifier is arranged as follows
+
+   InnerDetector
+     part=Pixel
+       side=barrel
+         layer phi_module eta_module phi_index eta_index 
+       side=endcap
+         disk phi_module eta_module phi_index eta_index 
+
+     part=SCT
+       side=barrel
+         layer phi_module eta_module side strip
+       side=endcap
+         disk phi_module eta_module side strip
+
+     part=TRT
+       side=barrel
+         layer phi_module straw_layer straw
+       side=endcap
+         wheel phi_module straw_layer straw
+
+
+  -->
+
+<IdDictionary name="InnerDetector" version="IBL" >
+
+  <!--
+     Start by defining some symbolic labels used for some fields
+     (other fields will be specified by numeric ranges)
+   -->
+  <field name="part" >
+    <label name="Pixel" value="1" />
+    <label name="SCT"   value="2" />
+    <label name="TRT"   value="3" />
+
+  </field>
+
+  <field name="barrel_endcap">
+    <label name="negative_endcap" value="-2" />
+    <label name="negative_barrel" value="-1" />
+    <label name="barrel"          value="0" />
+    <label name="positive_barrel" value="+1"  />
+    <label name="positive_endcap" value="+2"  />
+    <label name="negative_dbm" value="-4"  />
+    <label name="positive_dbm" value="+4"  />
+  </field>
+
+  <!--
+
+      Pixel
+
+    -->
+ <!-- Dummy region: This forces the bit packing to be the same for all layouts -->
+
+  <region group="pixel" name = "dummy">
+    <range field="part" value="Pixel" />
+    <range field="barrel_endcap" values="negative_dbm negative_endcap barrel positive_endcap positive_dbm"/>
+    <range field="layer" minvalue="0" maxvalue="3"/>
+    <range field="phi_module" minvalue="0" maxvalue="63" />
+    <range field="eta_module" minvalue="-8" maxvalue="+7" />
+    <range field="phi_index" minvalue="0" maxvalue="376" />
+    <range field="eta_index" minvalue="0" maxvalue="243" />
+  </region>
+
+
+  <!--
+      Define few subregions which are re-used in several id-ranges.
+   -->
+
+  <subregion name="pixel_barrel">
+    <range field="part" value="Pixel" />
+    <range field="barrel_endcap" value="barrel" />
+  </subregion>
+
+  <subregion name="pixel_endcap">
+    <range field="part" value="Pixel" />
+    <range field="barrel_endcap" values="negative_endcap positive_endcap" />
+  </subregion>
+
+  <subregion name="pixel_dbm">
+     <range field="part" value="Pixel" />
+     <range field="barrel_endcap" values="negative_dbm positive_dbm" />
+   </subregion>
+
+  <subregion name="pixel_default_eta_module">
+    <range field="phi_index" minvalue="0" maxvalue="327" />
+    <range field="eta_index" minvalue="0" maxvalue="143" />
+  </subregion>
+
+  <subregion name="pixel_phi_barrel_module">
+    <range field="eta_module" minvalue="-6" maxvalue="+6" />
+    <reference subregion="pixel_default_eta_module" />
+  </subregion>
+
+  <subregion name="pixel_phi_endcap_module">
+    <range field="eta_module" value="0" />
+    <reference subregion="pixel_default_eta_module" />
+  </subregion>
+
+  <subregion name="pixel_phi_dbm_module">
+    <range field="eta_module" value="0" />
+    <reference subregion="pixel_default_eta_module" />
+  </subregion>
+ 
+  <!--
+    Then enumerate all the possible regions of the Pixel subdetector.
+    Each region corresponds to an identifier range.
+    -->
+
+  <!--
+    The follow region is the pixel b-layer. Normally, the correct
+    phi_index max should be 319, but we set it to 327 as for the other
+    layers to allow to calculate the pixel_id from SiDigit, i.e. using
+    the G3 numbering which is not completely correct. This should be a
+    temporary fix. Correct specif:
+    <range field="phi_index" minvalue="0" maxvalue="319" />
+    -->
+  <region group="pixel" >
+      <reference subregion="pixel_barrel" />
+      <range field="layer" value="0" />
+      <range field="phi_module" minvalue="0" maxvalue="13" wraparound="TRUE" />
+      <range field="eta_module" minvalue="-10" maxvalue="+9" />
+      <range field="phi_index" minvalue="0" maxvalue="376" />
+      <range field="eta_index" minvalue="0" maxvalue="243" />
+  </region>
+
+    <region group="pixel" >
+      <reference subregion="pixel_barrel" />
+      <range field="layer" value="1" />
+      <range field="phi_module" minvalue="0" maxvalue="21" wraparound="TRUE" />
+      <reference subregion="pixel_phi_barrel_module" />
+    </region>
+
+  <region group="pixel" >
+    <reference subregion="pixel_barrel" />
+    <range field="layer" value="2" />
+    <range field="phi_module" minvalue="0" maxvalue="37" wraparound="TRUE" />
+    <reference subregion="pixel_phi_barrel_module" />
+  </region>
+
+  <region group="pixel" >
+    <reference subregion="pixel_barrel" />
+    <range field="layer" value="3" />
+    <range field="phi_module" minvalue="0" maxvalue="51" wraparound="TRUE" />
+    <reference subregion="pixel_phi_barrel_module" />
+  </region>
+
+
+
+
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" minvalue="0" maxvalue="2" />
+    <range field="phi_module" minvalue="0" maxvalue="47" wraparound="TRUE" />
+    <reference subregion="pixel_phi_endcap_module" />
+  </region>
+
+  <region group="pixel" >
+    <reference subregion="pixel_dbm" />
+    <range field="disk" minvalue="0" maxvalue="2" />
+    <range field="phi_module" minvalue="0" maxvalue="3" wraparound="TRUE" />
+    <reference subregion="pixel_phi_dbm_module" />
+  </region>
+
+
+ 
+  <!--
+ 
+       SCT
+ 
+     -->
+ 
+ 
+   <subregion name="SCT_barrel">
+     <range field="part" value="SCT" />
+     <range field="barrel_endcap" value="barrel" />
+   </subregion>
+ 
+   <subregion name="SCT_endcap">
+     <range field="part" value="SCT" />
+     <range field="barrel_endcap" values="negative_endcap positive_endcap" />
+   </subregion>
+ 
+   <subregion name="SCT_eta_module">
+     <range field="side" minvalue="0" maxvalue="1" />
+     <range field="strip" minvalue="0" maxvalue="767" />
+   </subregion>
+ 
+ 
+ 
+ 
+   <subregion name="SCT_phi_negative_barrel_module">
+     <range field="eta_module" minvalue="-6" maxvalue="-1" next_value="1" />
+     <reference subregion="SCT_eta_module" />
+   </subregion>
+ 
+   <region group="sct" >
+     <reference subregion="SCT_barrel" />
+     <range field="layer" value="0" />
+     <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+     <reference subregion="SCT_phi_negative_barrel_module" />
+   </region>
+ 
+   <region group="sct" >
+     <reference subregion="SCT_barrel" />
+     <range field="layer" value="1" />
+     <range field="phi_module" minvalue="0" maxvalue="39" wraparound="TRUE" />
+     <reference subregion="SCT_phi_negative_barrel_module" />
+   </region>
+ 
+   <region group="sct" >
+     <reference subregion="SCT_barrel" />
+     <range field="layer" value="2" />
+     <range field="phi_module" minvalue="0" maxvalue="47" wraparound="TRUE" />
+     <reference subregion="SCT_phi_negative_barrel_module" />
+   </region>
+ 
+   <region group="sct" >
+     <reference subregion="SCT_barrel" />
+     <range field="layer" value="3" />
+     <range field="phi_module" minvalue="0" maxvalue="55"  wraparound="TRUE"/>
+     <reference subregion="SCT_phi_negative_barrel_module" />
+   </region>
+ 
+ 
+ 
+ 
+ 
+   <subregion name="SCT_phi_positive_barrel_module">
+     <range field="eta_module" minvalue="+1" maxvalue="+6" prev_value="-1" />
+     <reference subregion="SCT_eta_module" />
+   </subregion>
+ 
+   <region group="sct" >
+     <reference subregion="SCT_barrel" />
+     <range field="layer" value="0" />
+     <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+     <reference subregion="SCT_phi_positive_barrel_module" />
+   </region>
+ 
+   <region group="sct" >
+     <reference subregion="SCT_barrel" />
+     <range field="layer" value="1" />
+     <range field="phi_module" minvalue="0" maxvalue="39" wraparound="TRUE" />
+     <reference subregion="SCT_phi_positive_barrel_module" />
+   </region>
+ 
+   <region group="sct" >
+     <reference subregion="SCT_barrel" />
+     <range field="layer" value="2" />
+     <range field="phi_module" minvalue="0" maxvalue="47" wraparound="TRUE" />
+     <reference subregion="SCT_phi_positive_barrel_module" />
+   </region>
+ 
+   <region group="sct" >
+     <reference subregion="SCT_barrel" />
+     <range field="layer" value="3" />
+     <range field="phi_module" minvalue="0" maxvalue="55" wraparound="TRUE" />
+     <reference subregion="SCT_phi_positive_barrel_module" />
+   </region>
+ 
+   <subregion name="SCT_ring_0">
+     <range field="phi_module" minvalue="0" maxvalue="51" wraparound="TRUE" />
+     <range field="eta_module" value="0" />
+     <reference subregion="SCT_eta_module" />
+   </subregion>
+ 
+   <subregion name="SCT_ring_1">
+     <range field="phi_module" minvalue="0" maxvalue="39" wraparound="TRUE" />
+     <range field="eta_module" value="1" />
+     <reference subregion="SCT_eta_module" />
+   </subregion>
+ 
+   <subregion name="SCT_ring_1_2">
+     <range field="phi_module" minvalue="0" maxvalue="39" wraparound="TRUE" />
+     <range field="eta_module" minvalue="1" maxvalue="2" />
+     <reference subregion="SCT_eta_module" />
+   </subregion>
+ 
+    <region group="sct"  name="SCT_endcap_ring0_disks08">
+     <reference subregion="SCT_endcap" />
+     <range field="disk" minvalue="0" maxvalue="8" />
+     <reference subregion="SCT_ring_0" />
+   </region>
+ 
+ 
+   <region group="sct"  name="SCT_endcap_ring1_disk0">
+     <reference subregion="SCT_endcap" />
+     <range field="disk" value="0" />
+     <reference subregion="SCT_ring_1" />
+   </region>
+ 
+   <region group="sct"  name="SCT_endcap_rings12_disks15">
+     <reference subregion="SCT_endcap" />
+     <range field="disk" minvalue="1" maxvalue="5" />
+     <reference subregion="SCT_ring_1_2" />
+   </region>
+ 
+   <region group="sct"  name="SCT_endcap_ring1_disks67">
+     <reference subregion="SCT_endcap" />
+     <range field="disk" minvalue="6" maxvalue="7" />
+     <reference subregion="SCT_ring_1" />
+   </region>
+   <!--
+ 
+       TRT
+ 
+     -->
+ 
+   <subregion name="TRT_barrel">
+     <range field="part" value="TRT" />
+     <range field="barrel_endcap" values="negative_barrel positive_barrel" />
+   </subregion>
+ 
+   <subregion name="TRT_endcap">
+     <range field="part" value="TRT" />
+     <range field="barrel_endcap" values="negative_endcap positive_endcap" />
+   </subregion>
+ 
+ 
+ 
+   <subregion name="TRT_layer_0">
+     <reference subregion="TRT_barrel" />
+     <range field="phi_sector" minvalue="0" maxvalue="31" wraparound="TRUE" />
+     <range field="layer_or_wheel" value="0" />
+   </subregion>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_0" />
+     <range field="straw_layer" value="0" />
+     <range field="straw" minvalue="0" maxvalue="14" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_0" />
+     <range field="straw_layer" minvalue="1" maxvalue="4" />
+     <range field="straw" minvalue="0" maxvalue="15" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_0" />
+     <range field="straw_layer" minvalue="5" maxvalue="9" />
+     <range field="straw" minvalue="0" maxvalue="16" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_0" />
+     <range field="straw_layer" minvalue="10" maxvalue="14" />
+     <range field="straw" minvalue="0" maxvalue="17" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_0" />
+     <range field="straw_layer" minvalue="15" maxvalue="17" />
+     <range field="straw" minvalue="0" maxvalue="18" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_0" />
+     <range field="straw_layer" value="18" />
+     <range field="straw" minvalue="0" maxvalue="17" />
+   </region>
+ 
+ 
+ 
+ 
+ 
+   <subregion name="TRT_layer_1">
+     <reference subregion="TRT_barrel" />
+     <range field="phi_sector" minvalue="0" maxvalue="31" wraparound="TRUE" />
+     <range field="layer_or_wheel" value="1" />
+   </subregion>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_1" />
+     <range field="straw_layer" value="0" />
+     <range field="straw" minvalue="0" maxvalue="18" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_1" />
+     <range field="straw_layer" minvalue="1" maxvalue="5" />
+     <range field="straw" minvalue="0" maxvalue="19" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_1" />
+     <range field="straw_layer" minvalue="6" maxvalue="10" />
+     <range field="straw" minvalue="0" maxvalue="20" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_1" />
+     <range field="straw_layer" minvalue="11" maxvalue="15" />
+     <range field="straw" minvalue="0" maxvalue="21" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_1" />
+     <range field="straw_layer" minvalue="16" maxvalue="20" />
+     <range field="straw" minvalue="0" maxvalue="22" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_1" />
+     <range field="straw_layer" minvalue="21" maxvalue="22" />
+     <range field="straw" minvalue="0" maxvalue="23" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_1" />
+     <range field="straw_layer" value="23" />
+     <range field="straw" minvalue="0" maxvalue="22" />
+   </region>
+ 
+ 
+ 
+ 
+ 
+   <subregion name="TRT_layer_2">
+     <reference subregion="TRT_barrel" />
+     <range field="phi_sector" minvalue="0" maxvalue="31" wraparound="TRUE" />
+     <range field="layer_or_wheel" value="2" />
+   </subregion>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_2" />
+     <range field="straw_layer" value="0" />
+     <range field="straw" minvalue="0" maxvalue="22" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_2" />
+     <range field="straw_layer" minvalue="1" maxvalue="4" />
+     <range field="straw" minvalue="0" maxvalue="23" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_2" />
+     <range field="straw_layer" minvalue="5" maxvalue="9" />
+     <range field="straw" minvalue="0" maxvalue="24" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_2" />
+     <range field="straw_layer" minvalue="10" maxvalue="14" />
+     <range field="straw" minvalue="0" maxvalue="25" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_2" />
+     <range field="straw_layer" minvalue="15" maxvalue="19" />
+     <range field="straw" minvalue="0" maxvalue="26" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_2" />
+     <range field="straw_layer" minvalue="20" maxvalue="24" />
+     <range field="straw" minvalue="0" maxvalue="27" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_2" />
+     <range field="straw_layer" minvalue="25" maxvalue="28" />
+     <range field="straw" minvalue="0" maxvalue="28" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_2" />
+     <range field="straw_layer" value="29" />
+     <range field="straw" minvalue="0" maxvalue="27" />
+   </region>
+ 
+ 
+ 
+ 
+   <region group="trt" >
+     <reference subregion="TRT_endcap" />
+     <range field="phi_sector" minvalue="0" maxvalue="31" wraparound="TRUE" />
+     <range field="layer_or_wheel" minvalue="0" maxvalue="5" />
+     <range field="straw_layer" minvalue="0" maxvalue="15" />
+     <range field="straw" minvalue="0" maxvalue="23" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_endcap" />
+     <range field="phi_sector" minvalue="0" maxvalue="31" wraparound="TRUE" />
+     <range field="layer_or_wheel" minvalue="6" maxvalue="13" />
+     <range field="straw_layer" minvalue="0" maxvalue="7" />
+     <range field="straw" minvalue="0" maxvalue="23" />
+   </region>
+ 
+   <!-- Dummy region: This forces the bit packing to be the same for all layouts -->
+ 
+   <region group="trt" name = "dummy">
+     <range field="part" value="TRT" />
+     <range field="barrel_endcap" values="negative_endcap negative_barrel positive_barrel positive_endcap"/>
+     <range field="phi_sector" minvalue="0" maxvalue="31" />
+     <range field="layer_or_wheel" minvalue="0" maxvalue="17" />
+     <range field="straw_layer" minvalue="0" maxvalue="29" />
+     <range field="straw" minvalue="0" maxvalue="28" />
+   </region>
+
+
+</IdDictionary>
+
diff --git a/InnerDetector/InDetDetDescr/InDetIdDictFiles/data/IdDictInnerDetector_IBL3D25-03.xml b/InnerDetector/InDetDetDescr/InDetIdDictFiles/data/IdDictInnerDetector_IBL3D25-03.xml
new file mode 100644
index 0000000000000000000000000000000000000000..f20cf0ccff4c5c02d362c67e6dfc793e5bbab301
--- /dev/null
+++ b/InnerDetector/InDetDetDescr/InDetIdDictFiles/data/IdDictInnerDetector_IBL3D25-03.xml
@@ -0,0 +1,515 @@
+
+
+<!--
+
+   The InnerDetector identifier is arranged as follows
+
+   InnerDetector
+     part=Pixel
+       side=barrel
+         layer phi_module eta_module phi_index eta_index 
+       side=endcap
+         disk phi_module eta_module phi_index eta_index 
+
+     part=SCT
+       side=barrel
+         layer phi_module eta_module side strip
+       side=endcap
+         disk phi_module eta_module side strip
+
+     part=TRT
+       side=barrel
+         layer phi_module straw_layer straw
+       side=endcap
+         wheel phi_module straw_layer straw
+
+
+  -->
+
+<IdDictionary name="InnerDetector" version="IBL-DBM" >
+
+  <!--
+     Start by defining some symbolic labels used for some fields
+     (other fields will be specified by numeric ranges)
+   -->
+  <field name="part" >
+    <label name="Pixel" value="1" />
+    <label name="SCT"   value="2" />
+    <label name="TRT"   value="3" />
+
+  </field>
+
+  <field name="barrel_endcap">
+    <label name="negative_endcap" value="-2" />
+    <label name="negative_barrel" value="-1" />
+    <label name="barrel"          value="0" />
+    <label name="positive_barrel" value="+1"  />
+    <label name="positive_endcap" value="+2"  />
+    <label name="negative_dbm" value="-4"  />
+    <label name="positive_dbm" value="+4"  />
+  </field>
+
+  <!--
+
+      Pixel
+
+    -->
+ <!-- Dummy region: This forces the bit packing to be the same for all layouts -->
+
+  <region group="pixel" name = "dummy">
+    <range field="part" value="Pixel" />
+    <range field="barrel_endcap" values="negative_dbm negative_endcap barrel positive_endcap positive_dbm"/>
+    <range field="layer" minvalue="0" maxvalue="3"/>
+    <range field="phi_module" minvalue="0" maxvalue="63" />
+    <range field="eta_module" minvalue="-8" maxvalue="+7" />
+    <range field="phi_index" minvalue="0" maxvalue="376" />
+    <range field="eta_index" minvalue="0" maxvalue="335" />
+  </region>
+
+
+  <!--
+      Define few subregions which are re-used in several id-ranges.
+   -->
+
+  <subregion name="pixel_barrel">
+    <range field="part" value="Pixel" />
+    <range field="barrel_endcap" value="barrel" />
+  </subregion>
+
+  <subregion name="pixel_endcap">
+    <range field="part" value="Pixel" />
+    <range field="barrel_endcap" values="negative_endcap positive_endcap" />
+  </subregion>
+
+  <subregion name="pixel_dbm">
+     <range field="part" value="Pixel" />
+     <range field="barrel_endcap" values="negative_dbm positive_dbm" />
+   </subregion>
+
+  <subregion name="pixel_default_eta_module">
+    <range field="phi_index" minvalue="0" maxvalue="327" />
+    <range field="eta_index" minvalue="0" maxvalue="143" />
+  </subregion>
+
+  <subregion name="pixel_dbm_eta_module">
+    <range field="phi_index" minvalue="0" maxvalue="79" />
+    <range field="eta_index" minvalue="0" maxvalue="335" />
+  </subregion>
+
+  <subregion name="pixel_phi_barrel_module">
+    <range field="eta_module" minvalue="-6" maxvalue="+6" />
+    <reference subregion="pixel_default_eta_module" />
+  </subregion>
+
+  <subregion name="pixel_phi_endcap_module">
+    <range field="eta_module" value="0" />
+    <reference subregion="pixel_default_eta_module" />
+  </subregion>
+
+  <subregion name="pixel_phi_dbm_module">
+    <range field="eta_module" value="0" />
+    <reference subregion="pixel_dbm_eta_module" />
+  </subregion>
+ 
+  <!--
+    Then enumerate all the possible regions of the Pixel subdetector.
+    Each region corresponds to an identifier range.
+    -->
+
+  <!--
+    The follow region is the pixel b-layer. Normally, the correct
+    phi_index max should be 319, but we set it to 327 as for the other
+    layers to allow to calculate the pixel_id from SiDigit, i.e. using
+    the G3 numbering which is not completely correct. This should be a
+    temporary fix. Correct specif:
+    <range field="phi_index" minvalue="0" maxvalue="319" />
+    -->
+  <region group="pixel" >
+      <reference subregion="pixel_barrel" />
+      <range field="layer" value="0" />
+      <range field="phi_module" minvalue="0" maxvalue="13" wraparound="TRUE" />
+      <range field="eta_module" minvalue="-10" maxvalue="+9" />
+      <range field="phi_index" minvalue="0" maxvalue="376" />
+      <range field="eta_index" minvalue="0" maxvalue="243" />
+  </region>
+
+  <region group="pixel" >
+      <reference subregion="pixel_barrel" />
+      <range field="layer" value="1" />
+      <range field="phi_module" minvalue="0" maxvalue="21" wraparound="TRUE" />
+      <reference subregion="pixel_phi_barrel_module" />
+  </region>
+
+  <region group="pixel" >
+    <reference subregion="pixel_barrel" />
+    <range field="layer" value="2" />
+    <range field="phi_module" minvalue="0" maxvalue="37" wraparound="TRUE" />
+    <reference subregion="pixel_phi_barrel_module" />
+  </region>
+
+  <region group="pixel" >
+    <reference subregion="pixel_barrel" />
+    <range field="layer" value="3" />
+    <range field="phi_module" minvalue="0" maxvalue="51" wraparound="TRUE" />
+    <reference subregion="pixel_phi_barrel_module" />
+  </region>
+
+
+
+
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" minvalue="0" maxvalue="2" />
+    <range field="phi_module" minvalue="0" maxvalue="47" wraparound="TRUE" />
+    <reference subregion="pixel_phi_endcap_module" />
+  </region>
+
+  <region group="pixel" >
+    <reference subregion="pixel_dbm" />
+    <range field="disk" minvalue="0" maxvalue="2" />
+    <range field="phi_module" minvalue="0" maxvalue="3" wraparound="TRUE" />
+    <reference subregion="pixel_phi_dbm_module" />
+  </region>
+
+
+ 
+  <!--
+ 
+       SCT
+ 
+     -->
+ 
+ 
+   <subregion name="SCT_barrel">
+     <range field="part" value="SCT" />
+     <range field="barrel_endcap" value="barrel" />
+   </subregion>
+ 
+   <subregion name="SCT_endcap">
+     <range field="part" value="SCT" />
+     <range field="barrel_endcap" values="negative_endcap positive_endcap" />
+   </subregion>
+ 
+   <subregion name="SCT_eta_module">
+     <range field="side" minvalue="0" maxvalue="1" />
+     <range field="strip" minvalue="0" maxvalue="767" />
+   </subregion>
+ 
+ 
+ 
+ 
+   <subregion name="SCT_phi_negative_barrel_module">
+     <range field="eta_module" minvalue="-6" maxvalue="-1" next_value="1" />
+     <reference subregion="SCT_eta_module" />
+   </subregion>
+ 
+   <region group="sct" >
+     <reference subregion="SCT_barrel" />
+     <range field="layer" value="0" />
+     <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+     <reference subregion="SCT_phi_negative_barrel_module" />
+   </region>
+ 
+   <region group="sct" >
+     <reference subregion="SCT_barrel" />
+     <range field="layer" value="1" />
+     <range field="phi_module" minvalue="0" maxvalue="39" wraparound="TRUE" />
+     <reference subregion="SCT_phi_negative_barrel_module" />
+   </region>
+ 
+   <region group="sct" >
+     <reference subregion="SCT_barrel" />
+     <range field="layer" value="2" />
+     <range field="phi_module" minvalue="0" maxvalue="47" wraparound="TRUE" />
+     <reference subregion="SCT_phi_negative_barrel_module" />
+   </region>
+ 
+   <region group="sct" >
+     <reference subregion="SCT_barrel" />
+     <range field="layer" value="3" />
+     <range field="phi_module" minvalue="0" maxvalue="55"  wraparound="TRUE"/>
+     <reference subregion="SCT_phi_negative_barrel_module" />
+   </region>
+ 
+ 
+ 
+ 
+ 
+   <subregion name="SCT_phi_positive_barrel_module">
+     <range field="eta_module" minvalue="+1" maxvalue="+6" prev_value="-1" />
+     <reference subregion="SCT_eta_module" />
+   </subregion>
+ 
+   <region group="sct" >
+     <reference subregion="SCT_barrel" />
+     <range field="layer" value="0" />
+     <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+     <reference subregion="SCT_phi_positive_barrel_module" />
+   </region>
+ 
+   <region group="sct" >
+     <reference subregion="SCT_barrel" />
+     <range field="layer" value="1" />
+     <range field="phi_module" minvalue="0" maxvalue="39" wraparound="TRUE" />
+     <reference subregion="SCT_phi_positive_barrel_module" />
+   </region>
+ 
+   <region group="sct" >
+     <reference subregion="SCT_barrel" />
+     <range field="layer" value="2" />
+     <range field="phi_module" minvalue="0" maxvalue="47" wraparound="TRUE" />
+     <reference subregion="SCT_phi_positive_barrel_module" />
+   </region>
+ 
+   <region group="sct" >
+     <reference subregion="SCT_barrel" />
+     <range field="layer" value="3" />
+     <range field="phi_module" minvalue="0" maxvalue="55" wraparound="TRUE" />
+     <reference subregion="SCT_phi_positive_barrel_module" />
+   </region>
+ 
+   <subregion name="SCT_ring_0">
+     <range field="phi_module" minvalue="0" maxvalue="51" wraparound="TRUE" />
+     <range field="eta_module" value="0" />
+     <reference subregion="SCT_eta_module" />
+   </subregion>
+ 
+   <subregion name="SCT_ring_1">
+     <range field="phi_module" minvalue="0" maxvalue="39" wraparound="TRUE" />
+     <range field="eta_module" value="1" />
+     <reference subregion="SCT_eta_module" />
+   </subregion>
+ 
+   <subregion name="SCT_ring_1_2">
+     <range field="phi_module" minvalue="0" maxvalue="39" wraparound="TRUE" />
+     <range field="eta_module" minvalue="1" maxvalue="2" />
+     <reference subregion="SCT_eta_module" />
+   </subregion>
+ 
+    <region group="sct"  name="SCT_endcap_ring0_disks08">
+     <reference subregion="SCT_endcap" />
+     <range field="disk" minvalue="0" maxvalue="8" />
+     <reference subregion="SCT_ring_0" />
+   </region>
+ 
+ 
+   <region group="sct"  name="SCT_endcap_ring1_disk0">
+     <reference subregion="SCT_endcap" />
+     <range field="disk" value="0" />
+     <reference subregion="SCT_ring_1" />
+   </region>
+ 
+   <region group="sct"  name="SCT_endcap_rings12_disks15">
+     <reference subregion="SCT_endcap" />
+     <range field="disk" minvalue="1" maxvalue="5" />
+     <reference subregion="SCT_ring_1_2" />
+   </region>
+ 
+   <region group="sct"  name="SCT_endcap_ring1_disks67">
+     <reference subregion="SCT_endcap" />
+     <range field="disk" minvalue="6" maxvalue="7" />
+     <reference subregion="SCT_ring_1" />
+   </region>
+   <!--
+ 
+       TRT
+ 
+     -->
+ 
+   <subregion name="TRT_barrel">
+     <range field="part" value="TRT" />
+     <range field="barrel_endcap" values="negative_barrel positive_barrel" />
+   </subregion>
+ 
+   <subregion name="TRT_endcap">
+     <range field="part" value="TRT" />
+     <range field="barrel_endcap" values="negative_endcap positive_endcap" />
+   </subregion>
+ 
+ 
+ 
+   <subregion name="TRT_layer_0">
+     <reference subregion="TRT_barrel" />
+     <range field="phi_sector" minvalue="0" maxvalue="31" wraparound="TRUE" />
+     <range field="layer_or_wheel" value="0" />
+   </subregion>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_0" />
+     <range field="straw_layer" value="0" />
+     <range field="straw" minvalue="0" maxvalue="14" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_0" />
+     <range field="straw_layer" minvalue="1" maxvalue="4" />
+     <range field="straw" minvalue="0" maxvalue="15" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_0" />
+     <range field="straw_layer" minvalue="5" maxvalue="9" />
+     <range field="straw" minvalue="0" maxvalue="16" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_0" />
+     <range field="straw_layer" minvalue="10" maxvalue="14" />
+     <range field="straw" minvalue="0" maxvalue="17" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_0" />
+     <range field="straw_layer" minvalue="15" maxvalue="17" />
+     <range field="straw" minvalue="0" maxvalue="18" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_0" />
+     <range field="straw_layer" value="18" />
+     <range field="straw" minvalue="0" maxvalue="17" />
+   </region>
+ 
+ 
+ 
+ 
+ 
+   <subregion name="TRT_layer_1">
+     <reference subregion="TRT_barrel" />
+     <range field="phi_sector" minvalue="0" maxvalue="31" wraparound="TRUE" />
+     <range field="layer_or_wheel" value="1" />
+   </subregion>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_1" />
+     <range field="straw_layer" value="0" />
+     <range field="straw" minvalue="0" maxvalue="18" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_1" />
+     <range field="straw_layer" minvalue="1" maxvalue="5" />
+     <range field="straw" minvalue="0" maxvalue="19" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_1" />
+     <range field="straw_layer" minvalue="6" maxvalue="10" />
+     <range field="straw" minvalue="0" maxvalue="20" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_1" />
+     <range field="straw_layer" minvalue="11" maxvalue="15" />
+     <range field="straw" minvalue="0" maxvalue="21" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_1" />
+     <range field="straw_layer" minvalue="16" maxvalue="20" />
+     <range field="straw" minvalue="0" maxvalue="22" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_1" />
+     <range field="straw_layer" minvalue="21" maxvalue="22" />
+     <range field="straw" minvalue="0" maxvalue="23" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_1" />
+     <range field="straw_layer" value="23" />
+     <range field="straw" minvalue="0" maxvalue="22" />
+   </region>
+ 
+ 
+ 
+ 
+ 
+   <subregion name="TRT_layer_2">
+     <reference subregion="TRT_barrel" />
+     <range field="phi_sector" minvalue="0" maxvalue="31" wraparound="TRUE" />
+     <range field="layer_or_wheel" value="2" />
+   </subregion>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_2" />
+     <range field="straw_layer" value="0" />
+     <range field="straw" minvalue="0" maxvalue="22" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_2" />
+     <range field="straw_layer" minvalue="1" maxvalue="4" />
+     <range field="straw" minvalue="0" maxvalue="23" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_2" />
+     <range field="straw_layer" minvalue="5" maxvalue="9" />
+     <range field="straw" minvalue="0" maxvalue="24" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_2" />
+     <range field="straw_layer" minvalue="10" maxvalue="14" />
+     <range field="straw" minvalue="0" maxvalue="25" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_2" />
+     <range field="straw_layer" minvalue="15" maxvalue="19" />
+     <range field="straw" minvalue="0" maxvalue="26" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_2" />
+     <range field="straw_layer" minvalue="20" maxvalue="24" />
+     <range field="straw" minvalue="0" maxvalue="27" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_2" />
+     <range field="straw_layer" minvalue="25" maxvalue="28" />
+     <range field="straw" minvalue="0" maxvalue="28" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_2" />
+     <range field="straw_layer" value="29" />
+     <range field="straw" minvalue="0" maxvalue="27" />
+   </region>
+ 
+ 
+ 
+ 
+   <region group="trt" >
+     <reference subregion="TRT_endcap" />
+     <range field="phi_sector" minvalue="0" maxvalue="31" wraparound="TRUE" />
+     <range field="layer_or_wheel" minvalue="0" maxvalue="5" />
+     <range field="straw_layer" minvalue="0" maxvalue="15" />
+     <range field="straw" minvalue="0" maxvalue="23" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_endcap" />
+     <range field="phi_sector" minvalue="0" maxvalue="31" wraparound="TRUE" />
+     <range field="layer_or_wheel" minvalue="6" maxvalue="13" />
+     <range field="straw_layer" minvalue="0" maxvalue="7" />
+     <range field="straw" minvalue="0" maxvalue="23" />
+   </region>
+ 
+   <!-- Dummy region: This forces the bit packing to be the same for all layouts -->
+ 
+   <region group="trt" name = "dummy">
+     <range field="part" value="TRT" />
+     <range field="barrel_endcap" values="negative_endcap negative_barrel positive_barrel positive_endcap"/>
+     <range field="phi_sector" minvalue="0" maxvalue="31" />
+     <range field="layer_or_wheel" minvalue="0" maxvalue="17" />
+     <range field="straw_layer" minvalue="0" maxvalue="29" />
+     <range field="straw" minvalue="0" maxvalue="28" />
+   </region>
+
+
+</IdDictionary>
+
diff --git a/InnerDetector/InDetDetDescr/InDetIdDictFiles/data/IdDictInnerDetector_IBL3D50-01.xml b/InnerDetector/InDetDetDescr/InDetIdDictFiles/data/IdDictInnerDetector_IBL3D50-01.xml
new file mode 100644
index 0000000000000000000000000000000000000000..6466db088ada56a307b6e095950c23c2837478ce
--- /dev/null
+++ b/InnerDetector/InDetDetDescr/InDetIdDictFiles/data/IdDictInnerDetector_IBL3D50-01.xml
@@ -0,0 +1,492 @@
+
+
+<!--
+
+   The InnerDetector identifier is arranged as follows
+
+   InnerDetector
+     part=Pixel
+       side=barrel
+         layer phi_module eta_module phi_index eta_index 
+       side=endcap
+         disk phi_module eta_module phi_index eta_index 
+
+     part=SCT
+       side=barrel
+         layer phi_module eta_module side strip
+       side=endcap
+         disk phi_module eta_module side strip
+
+     part=TRT
+       side=barrel
+         layer phi_module straw_layer straw
+       side=endcap
+         wheel phi_module straw_layer straw
+
+
+  -->
+
+<IdDictionary name="InnerDetector" version="IBL" >
+
+  <!--
+     Start by defining some symbolic labels used for some fields
+     (other fields will be specified by numeric ranges)
+   -->
+  <field name="part" >
+    <label name="Pixel" value="1" />
+    <label name="SCT"   value="2" />
+    <label name="TRT"   value="3" />
+
+  </field>
+
+  <field name="barrel_endcap">
+    <label name="negative_endcap" value="-2" />
+    <label name="negative_barrel" value="-1" />
+    <label name="barrel"          value="0" />
+    <label name="positive_barrel" value="+1"  />
+    <label name="positive_endcap" value="+2"  />
+  </field>
+
+  <!--
+
+      Pixel
+
+    -->
+ <!-- Dummy region: This forces the bit packing to be the same for all layouts -->
+
+  <region group="pixel" name = "dummy">
+    <range field="part" value="Pixel" />
+    <range field="barrel_endcap" values="negative_endcap barrel positive_endcap"/>
+    <range field="layer" minvalue="0" maxvalue="3"/>
+    <range field="phi_module" minvalue="0" maxvalue="63" />
+    <range field="eta_module" minvalue="-8" maxvalue="+7" />
+    <range field="phi_index" minvalue="0" maxvalue="376" />
+    <range field="eta_index" minvalue="0" maxvalue="243" />
+  </region>
+
+
+  <!--
+      Define few subregions which are re-used in several id-ranges.
+   -->
+
+  <subregion name="pixel_barrel">
+    <range field="part" value="Pixel" />
+    <range field="barrel_endcap" value="barrel" />
+  </subregion>
+
+  <subregion name="pixel_endcap">
+    <range field="part" value="Pixel" />
+    <range field="barrel_endcap" values="negative_endcap positive_endcap" />
+  </subregion>
+
+  <subregion name="pixel_default_eta_module">
+    <range field="phi_index" minvalue="0" maxvalue="327" />
+    <range field="eta_index" minvalue="0" maxvalue="143" />
+  </subregion>
+
+  <subregion name="pixel_phi_barrel_module">
+    <range field="eta_module" minvalue="-6" maxvalue="+6" />
+    <reference subregion="pixel_default_eta_module" />
+  </subregion>
+
+  <subregion name="pixel_phi_endcap_module">
+    <range field="eta_module" value="0" />
+    <reference subregion="pixel_default_eta_module" />
+  </subregion>
+
+  <!--
+    Then enumerate all the possible regions of the Pixel subdetector.
+    Each region corresponds to an identifier range.
+    -->
+
+  <!--
+    The follow region is the pixel b-layer. Normally, the correct
+    phi_index max should be 319, but we set it to 327 as for the other
+    layers to allow to calculate the pixel_id from SiDigit, i.e. using
+    the G3 numbering which is not completely correct. This should be a
+    temporary fix. Correct specif:
+    <range field="phi_index" minvalue="0" maxvalue="319" />
+    -->
+  <region group="pixel" >
+      <reference subregion="pixel_barrel" />
+      <range field="layer" value="0" />
+      <range field="phi_module" minvalue="0" maxvalue="13" wraparound="TRUE" />
+      <range field="eta_module" minvalue="-12" maxvalue="+11" />
+      <range field="phi_index" minvalue="0" maxvalue="376" />
+      <range field="eta_index" minvalue="0" maxvalue="243" />
+  </region>
+
+    <region group="pixel" >
+      <reference subregion="pixel_barrel" />
+      <range field="layer" value="1" />
+      <range field="phi_module" minvalue="0" maxvalue="21" wraparound="TRUE" />
+      <reference subregion="pixel_phi_barrel_module" />
+    </region>
+
+  <region group="pixel" >
+    <reference subregion="pixel_barrel" />
+    <range field="layer" value="2" />
+    <range field="phi_module" minvalue="0" maxvalue="37" wraparound="TRUE" />
+    <reference subregion="pixel_phi_barrel_module" />
+  </region>
+
+  <region group="pixel" >
+    <reference subregion="pixel_barrel" />
+    <range field="layer" value="3" />
+    <range field="phi_module" minvalue="0" maxvalue="51" wraparound="TRUE" />
+    <reference subregion="pixel_phi_barrel_module" />
+  </region>
+
+
+
+
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" minvalue="0" maxvalue="2" />
+    <range field="phi_module" minvalue="0" maxvalue="47" wraparound="TRUE" />
+    <reference subregion="pixel_phi_endcap_module" />
+  </region>
+
+
+
+ 
+  <!--
+ 
+       SCT
+ 
+     -->
+ 
+ 
+   <subregion name="SCT_barrel">
+     <range field="part" value="SCT" />
+     <range field="barrel_endcap" value="barrel" />
+   </subregion>
+ 
+   <subregion name="SCT_endcap">
+     <range field="part" value="SCT" />
+     <range field="barrel_endcap" values="negative_endcap positive_endcap" />
+   </subregion>
+ 
+   <subregion name="SCT_eta_module">
+     <range field="side" minvalue="0" maxvalue="1" />
+     <range field="strip" minvalue="0" maxvalue="767" />
+   </subregion>
+ 
+ 
+ 
+ 
+   <subregion name="SCT_phi_negative_barrel_module">
+     <range field="eta_module" minvalue="-6" maxvalue="-1" next_value="1" />
+     <reference subregion="SCT_eta_module" />
+   </subregion>
+ 
+   <region group="sct" >
+     <reference subregion="SCT_barrel" />
+     <range field="layer" value="0" />
+     <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+     <reference subregion="SCT_phi_negative_barrel_module" />
+   </region>
+ 
+   <region group="sct" >
+     <reference subregion="SCT_barrel" />
+     <range field="layer" value="1" />
+     <range field="phi_module" minvalue="0" maxvalue="39" wraparound="TRUE" />
+     <reference subregion="SCT_phi_negative_barrel_module" />
+   </region>
+ 
+   <region group="sct" >
+     <reference subregion="SCT_barrel" />
+     <range field="layer" value="2" />
+     <range field="phi_module" minvalue="0" maxvalue="47" wraparound="TRUE" />
+     <reference subregion="SCT_phi_negative_barrel_module" />
+   </region>
+ 
+   <region group="sct" >
+     <reference subregion="SCT_barrel" />
+     <range field="layer" value="3" />
+     <range field="phi_module" minvalue="0" maxvalue="55"  wraparound="TRUE"/>
+     <reference subregion="SCT_phi_negative_barrel_module" />
+   </region>
+ 
+ 
+ 
+ 
+ 
+   <subregion name="SCT_phi_positive_barrel_module">
+     <range field="eta_module" minvalue="+1" maxvalue="+6" prev_value="-1" />
+     <reference subregion="SCT_eta_module" />
+   </subregion>
+ 
+   <region group="sct" >
+     <reference subregion="SCT_barrel" />
+     <range field="layer" value="0" />
+     <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+     <reference subregion="SCT_phi_positive_barrel_module" />
+   </region>
+ 
+   <region group="sct" >
+     <reference subregion="SCT_barrel" />
+     <range field="layer" value="1" />
+     <range field="phi_module" minvalue="0" maxvalue="39" wraparound="TRUE" />
+     <reference subregion="SCT_phi_positive_barrel_module" />
+   </region>
+ 
+   <region group="sct" >
+     <reference subregion="SCT_barrel" />
+     <range field="layer" value="2" />
+     <range field="phi_module" minvalue="0" maxvalue="47" wraparound="TRUE" />
+     <reference subregion="SCT_phi_positive_barrel_module" />
+   </region>
+ 
+   <region group="sct" >
+     <reference subregion="SCT_barrel" />
+     <range field="layer" value="3" />
+     <range field="phi_module" minvalue="0" maxvalue="55" wraparound="TRUE" />
+     <reference subregion="SCT_phi_positive_barrel_module" />
+   </region>
+ 
+   <subregion name="SCT_ring_0">
+     <range field="phi_module" minvalue="0" maxvalue="51" wraparound="TRUE" />
+     <range field="eta_module" value="0" />
+     <reference subregion="SCT_eta_module" />
+   </subregion>
+ 
+   <subregion name="SCT_ring_1">
+     <range field="phi_module" minvalue="0" maxvalue="39" wraparound="TRUE" />
+     <range field="eta_module" value="1" />
+     <reference subregion="SCT_eta_module" />
+   </subregion>
+ 
+   <subregion name="SCT_ring_1_2">
+     <range field="phi_module" minvalue="0" maxvalue="39" wraparound="TRUE" />
+     <range field="eta_module" minvalue="1" maxvalue="2" />
+     <reference subregion="SCT_eta_module" />
+   </subregion>
+ 
+    <region group="sct"  name="SCT_endcap_ring0_disks08">
+     <reference subregion="SCT_endcap" />
+     <range field="disk" minvalue="0" maxvalue="8" />
+     <reference subregion="SCT_ring_0" />
+   </region>
+ 
+ 
+   <region group="sct"  name="SCT_endcap_ring1_disk0">
+     <reference subregion="SCT_endcap" />
+     <range field="disk" value="0" />
+     <reference subregion="SCT_ring_1" />
+   </region>
+ 
+   <region group="sct"  name="SCT_endcap_rings12_disks15">
+     <reference subregion="SCT_endcap" />
+     <range field="disk" minvalue="1" maxvalue="5" />
+     <reference subregion="SCT_ring_1_2" />
+   </region>
+ 
+   <region group="sct"  name="SCT_endcap_ring1_disks67">
+     <reference subregion="SCT_endcap" />
+     <range field="disk" minvalue="6" maxvalue="7" />
+     <reference subregion="SCT_ring_1" />
+   </region>
+   <!--
+ 
+       TRT
+ 
+     -->
+ 
+   <subregion name="TRT_barrel">
+     <range field="part" value="TRT" />
+     <range field="barrel_endcap" values="negative_barrel positive_barrel" />
+   </subregion>
+ 
+   <subregion name="TRT_endcap">
+     <range field="part" value="TRT" />
+     <range field="barrel_endcap" values="negative_endcap positive_endcap" />
+   </subregion>
+ 
+ 
+ 
+   <subregion name="TRT_layer_0">
+     <reference subregion="TRT_barrel" />
+     <range field="phi_sector" minvalue="0" maxvalue="31" wraparound="TRUE" />
+     <range field="layer_or_wheel" value="0" />
+   </subregion>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_0" />
+     <range field="straw_layer" value="0" />
+     <range field="straw" minvalue="0" maxvalue="14" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_0" />
+     <range field="straw_layer" minvalue="1" maxvalue="4" />
+     <range field="straw" minvalue="0" maxvalue="15" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_0" />
+     <range field="straw_layer" minvalue="5" maxvalue="9" />
+     <range field="straw" minvalue="0" maxvalue="16" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_0" />
+     <range field="straw_layer" minvalue="10" maxvalue="14" />
+     <range field="straw" minvalue="0" maxvalue="17" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_0" />
+     <range field="straw_layer" minvalue="15" maxvalue="17" />
+     <range field="straw" minvalue="0" maxvalue="18" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_0" />
+     <range field="straw_layer" value="18" />
+     <range field="straw" minvalue="0" maxvalue="17" />
+   </region>
+ 
+ 
+ 
+ 
+ 
+   <subregion name="TRT_layer_1">
+     <reference subregion="TRT_barrel" />
+     <range field="phi_sector" minvalue="0" maxvalue="31" wraparound="TRUE" />
+     <range field="layer_or_wheel" value="1" />
+   </subregion>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_1" />
+     <range field="straw_layer" value="0" />
+     <range field="straw" minvalue="0" maxvalue="18" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_1" />
+     <range field="straw_layer" minvalue="1" maxvalue="5" />
+     <range field="straw" minvalue="0" maxvalue="19" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_1" />
+     <range field="straw_layer" minvalue="6" maxvalue="10" />
+     <range field="straw" minvalue="0" maxvalue="20" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_1" />
+     <range field="straw_layer" minvalue="11" maxvalue="15" />
+     <range field="straw" minvalue="0" maxvalue="21" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_1" />
+     <range field="straw_layer" minvalue="16" maxvalue="20" />
+     <range field="straw" minvalue="0" maxvalue="22" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_1" />
+     <range field="straw_layer" minvalue="21" maxvalue="22" />
+     <range field="straw" minvalue="0" maxvalue="23" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_1" />
+     <range field="straw_layer" value="23" />
+     <range field="straw" minvalue="0" maxvalue="22" />
+   </region>
+ 
+ 
+ 
+ 
+ 
+   <subregion name="TRT_layer_2">
+     <reference subregion="TRT_barrel" />
+     <range field="phi_sector" minvalue="0" maxvalue="31" wraparound="TRUE" />
+     <range field="layer_or_wheel" value="2" />
+   </subregion>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_2" />
+     <range field="straw_layer" value="0" />
+     <range field="straw" minvalue="0" maxvalue="22" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_2" />
+     <range field="straw_layer" minvalue="1" maxvalue="4" />
+     <range field="straw" minvalue="0" maxvalue="23" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_2" />
+     <range field="straw_layer" minvalue="5" maxvalue="9" />
+     <range field="straw" minvalue="0" maxvalue="24" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_2" />
+     <range field="straw_layer" minvalue="10" maxvalue="14" />
+     <range field="straw" minvalue="0" maxvalue="25" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_2" />
+     <range field="straw_layer" minvalue="15" maxvalue="19" />
+     <range field="straw" minvalue="0" maxvalue="26" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_2" />
+     <range field="straw_layer" minvalue="20" maxvalue="24" />
+     <range field="straw" minvalue="0" maxvalue="27" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_2" />
+     <range field="straw_layer" minvalue="25" maxvalue="28" />
+     <range field="straw" minvalue="0" maxvalue="28" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_layer_2" />
+     <range field="straw_layer" value="29" />
+     <range field="straw" minvalue="0" maxvalue="27" />
+   </region>
+ 
+ 
+ 
+ 
+   <region group="trt" >
+     <reference subregion="TRT_endcap" />
+     <range field="phi_sector" minvalue="0" maxvalue="31" wraparound="TRUE" />
+     <range field="layer_or_wheel" minvalue="0" maxvalue="5" />
+     <range field="straw_layer" minvalue="0" maxvalue="15" />
+     <range field="straw" minvalue="0" maxvalue="23" />
+   </region>
+ 
+   <region group="trt" >
+     <reference subregion="TRT_endcap" />
+     <range field="phi_sector" minvalue="0" maxvalue="31" wraparound="TRUE" />
+     <range field="layer_or_wheel" minvalue="6" maxvalue="13" />
+     <range field="straw_layer" minvalue="0" maxvalue="7" />
+     <range field="straw" minvalue="0" maxvalue="23" />
+   </region>
+ 
+   <!-- Dummy region: This forces the bit packing to be the same for all layouts -->
+ 
+   <region group="trt" name = "dummy">
+     <range field="part" value="TRT" />
+     <range field="barrel_endcap" values="negative_endcap negative_barrel positive_barrel positive_endcap"/>
+     <range field="phi_sector" minvalue="0" maxvalue="31" />
+     <range field="layer_or_wheel" minvalue="0" maxvalue="17" />
+     <range field="straw_layer" minvalue="0" maxvalue="29" />
+     <range field="straw" minvalue="0" maxvalue="28" />
+   </region>
+
+
+</IdDictionary>
+
diff --git a/InnerDetector/InDetDetDescr/InDetIdDictFiles/data/IdDictInnerDetector_SLHC-19-20.xml b/InnerDetector/InDetDetDescr/InDetIdDictFiles/data/IdDictInnerDetector_SLHC-19-20.xml
new file mode 100644
index 0000000000000000000000000000000000000000..29197a5b5f9f955058a486401060da65022a2194
--- /dev/null
+++ b/InnerDetector/InDetDetDescr/InDetIdDictFiles/data/IdDictInnerDetector_SLHC-19-20.xml
@@ -0,0 +1,782 @@
+
+
+<!--
+
+   The InnerDetector identifier is arranged as follows
+
+   InnerDetector
+     part=Pixel
+       side=barrel
+         layer phi_module eta_module phi_index eta_index 
+       side=endcap
+         disk phi_module eta_module phi_index eta_index 
+
+     part=SCT
+       side=barrel
+         layer phi_module eta_module side strip
+       side=endcap
+         disk phi_module eta_module side strip
+
+     part=TRT
+       side=barrel
+         layer phi_module straw_layer straw
+       side=endcap
+         wheel phi_module straw_layer straw
+
+
+  -->
+
+<IdDictionary name="InnerDetector" version="SLHC">
+
+  <!--
+     Start by defining some symbolic labels used for some fields
+     (other fields will be specified by numeric ranges)
+   -->
+
+  <field name="part" >
+    <label name="Pixel"              value="1" />
+    <label name="SCT"                value="2" />
+  </field>
+
+  <field name="barrel_endcap">
+    <label name="negative_endcap" value="-2" />
+    <label name="negative_barrel" value="-1" />
+    <label name="barrel"          value="0" />
+    <label name="positive_barrel" value="+1"  />
+    <label name="positive_endcap" value="+2"  />
+  </field>
+
+  <!--
+
+      Pixel
+
+    -->
+
+  <!-- Dummy region: This forces the bit packing to be the same for all layouts -->
+
+  <region group="pixel" name = "dummy">
+    <range field="part" value="Pixel" />
+    <range field="barrel_endcap" values="negative_endcap barrel positive_endcap"/>
+    <range field="layer" minvalue="0" maxvalue="3"/>
+    <range field="phi_module" minvalue="0" maxvalue="47" />
+    <range field="eta_module" minvalue="-26" maxvalue="+26" />
+    <range field="phi_index" minvalue="0" maxvalue="677" />
+    <range field="eta_index" minvalue="0" maxvalue="159" />
+  </region>
+
+
+  <!--
+      Define few subregions which are re-used in several id-ranges.
+   -->
+
+  <subregion name="pixel_barrel">
+    <range field="part" value="Pixel" />
+    <range field="barrel_endcap" value="barrel" />
+  </subregion>
+
+  <subregion name="pixel_endcap">
+    <range field="part" value="Pixel" />
+    <range field="barrel_endcap" values="negative_endcap positive_endcap" />
+  </subregion>
+
+  <subregion name="pixel_eta_module_inner">
+    <range field="phi_index" minvalue="0" maxvalue="335" />
+    <range field="eta_index" minvalue="0" maxvalue="79" />
+  </subregion>
+
+  <subregion name="pixel_eta_module_default">
+    <range field="phi_index" minvalue="0" maxvalue="677" />
+    <range field="eta_index" minvalue="0" maxvalue="159" />
+  </subregion>
+
+  <!-- Define negative and positive part separately since no eta=0 module -->
+  <subregion name="pixel_phi_barrel_module_negative_inner">
+    <range field="eta_module" minvalue="-15" maxvalue="-1" next_value="1" />
+    <reference subregion="pixel_eta_module_inner" />
+  </subregion>
+
+  <subregion name="pixel_phi_barrel_module_positive_inner">
+    <range field="eta_module" minvalue="1" maxvalue="15" prev_value="-1"/>
+    <reference subregion="pixel_eta_module_inner" />
+  </subregion>
+
+  <subregion name="pixel_phi_barrel_module_negative_intermediate">
+    <range field="eta_module" minvalue="-26" maxvalue="-1" next_value="1" />
+    <reference subregion="pixel_eta_module_inner" />
+  </subregion>
+
+  <subregion name="pixel_phi_barrel_module_positive_intermediate">
+    <range field="eta_module" minvalue="1" maxvalue="26" prev_value="-1"/>
+    <reference subregion="pixel_eta_module_inner" />
+  </subregion>
+
+  <subregion name="pixel_phi_barrel_module_negative_outer">
+    <range field="eta_module" minvalue="-16" maxvalue="-1" next_value="1" />
+    <reference subregion="pixel_eta_module_default" />
+  </subregion>
+
+  <subregion name="pixel_phi_barrel_module_positive_outer">
+    <range field="eta_module" minvalue="1" maxvalue="16" prev_value="-1"/>
+    <reference subregion="pixel_eta_module_default" />
+  </subregion>
+
+  <!--subregion name="pixel_phi_endcap_module">
+    <range field="eta_module" value="0" />
+    <reference subregion="pixel_eta_module_default" />
+  </subregion-->
+
+  <!--
+    Then enumerate all the possible regions of the Pixel subdetector.
+    Each region corresponds to an identifier range.
+    -->
+
+  <!--
+    The follow region is the pixel b-layer. Normally, the correct
+    phi_index max should be 319, but we set it to 327 as for the other
+    layers to allow to calculate the pixel_id from SiDigit, i.e. using
+    the G3 numbering which is not completely correct. This should be a
+    temporary fix. Correct specif:
+    <range field="phi_index" minvalue="0" maxvalue="319" />
+    -->
+
+  <subregion name="pixel_layer0">
+    <range field="layer" value="0" />
+    <range field="phi_module" minvalue="0" maxvalue="15" wraparound="TRUE" />
+  </subregion>
+
+  <subregion name="pixel_layer1">
+    <range field="layer" value="1" />
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+  </subregion>
+
+  <subregion name="pixel_layer2">
+    <range field="layer" value="2" />
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+  </subregion>
+
+  <subregion name="pixel_layer3">
+    <range field="layer" value="3" />
+    <range field="phi_module" minvalue="0" maxvalue="39" wraparound="TRUE" />
+  </subregion>
+
+  <region group="pixel" >
+    <reference subregion="pixel_barrel" />
+    <reference subregion="pixel_layer0" />
+    <reference subregion="pixel_phi_barrel_module_negative_inner" />
+  </region>
+
+  <region group="pixel" >
+    <reference subregion="pixel_barrel" />
+    <reference subregion="pixel_layer0" />
+    <reference subregion="pixel_phi_barrel_module_positive_inner" />
+  </region>
+
+  <region group="pixel" >
+    <reference subregion="pixel_barrel" />
+    <reference subregion="pixel_layer1" />
+    <reference subregion="pixel_phi_barrel_module_negative_intermediate" />
+  </region>
+
+  <region group="pixel" >
+    <reference subregion="pixel_barrel" />
+    <reference subregion="pixel_layer1" />
+    <reference subregion="pixel_phi_barrel_module_positive_intermediate" />
+  </region>
+
+  <region group="pixel" >
+    <reference subregion="pixel_barrel" />
+    <reference subregion="pixel_layer2" />
+    <reference subregion="pixel_phi_barrel_module_negative_outer" />
+  </region>
+
+  <region group="pixel" >
+    <reference subregion="pixel_barrel" />
+    <reference subregion="pixel_layer2" />
+    <reference subregion="pixel_phi_barrel_module_positive_outer" />
+  </region>
+
+  <region group="pixel" >
+    <reference subregion="pixel_barrel" />
+    <reference subregion="pixel_layer3" />
+    <reference subregion="pixel_phi_barrel_module_negative_outer" />
+  </region>
+
+  <region group="pixel" >
+    <reference subregion="pixel_barrel" />
+    <reference subregion="pixel_layer3" />
+    <reference subregion="pixel_phi_barrel_module_positive_outer" />
+  </region>
+
+  <!-- ==============   PIXEL ENDCAPS  ============
+       NOTE: For endcaps, one should think of eta_modules as the RINGS in each disk.
+       By convention, ring indices (hence eta_modules) increase from inner to outer,
+       therefore in opposite direction as the physics |eta|.
+    -->
+
+  <subregion name="pixel_ringType0">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+  </subregion>
+
+  <subregion name="pixel_ringType1">
+    <range field="phi_module" minvalue="0" maxvalue="39" wraparound="TRUE" />
+  </subregion>
+
+  <subregion name="pixel_ringType2">
+    <range field="phi_module" minvalue="0" maxvalue="47" wraparound="TRUE" />
+  </subregion>
+
+  <subregion name="pixel_ringType3">
+    <range field="phi_module" minvalue="0" maxvalue="55" wraparound="TRUE" />
+  </subregion>
+
+
+  <subregion name="pixel_ring0">
+    <range field="eta_module" value="0" />
+    <reference subregion="pixel_eta_module_default" />
+  </subregion>
+  <subregion name="pixel_ring1">
+    <range field="eta_module" value="1" />
+    <reference subregion="pixel_eta_module_default" />
+  </subregion>
+  <subregion name="pixel_ring2">
+    <range field="eta_module" value="2" />
+    <reference subregion="pixel_eta_module_default" />
+  </subregion>
+  <subregion name="pixel_ring3">
+    <range field="eta_module" value="3" />
+    <reference subregion="pixel_eta_module_default" />
+  </subregion>
+
+  <!-- here for pixel disks -->
+
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="0" />
+    <reference subregion="pixel_ringType0" />
+    <reference subregion="pixel_ring0" />
+  </region>
+
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="0" />
+    <reference subregion="pixel_ringType1" />
+    <reference subregion="pixel_ring1" />
+  </region>
+
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="0" />
+    <reference subregion="pixel_ringType2" />
+    <reference subregion="pixel_ring2" />
+  </region>
+
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="0" />
+    <reference subregion="pixel_ringType3" />
+    <reference subregion="pixel_ring3" />
+  </region>
+
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="1" />
+    <reference subregion="pixel_ringType0" />
+    <reference subregion="pixel_ring0" />
+  </region>
+
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="1" />
+     <reference subregion="pixel_ringType1" />
+    <reference subregion="pixel_ring1" />
+  </region>
+
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="1" />
+    <reference subregion="pixel_ringType2" />
+    <reference subregion="pixel_ring2" />
+  </region>
+
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="2" />
+    <reference subregion="pixel_ringType1" />
+    <reference subregion="pixel_ring0" />
+  </region>
+
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="3" />
+    <reference subregion="pixel_ringType1" />
+    <reference subregion="pixel_ring0" />
+  </region>
+
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="3" />
+    <reference subregion="pixel_ringType2" />
+    <reference subregion="pixel_ring1" />
+  </region>
+
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="3" />
+    <reference subregion="pixel_ringType3" />
+    <reference subregion="pixel_ring2" />
+  </region>
+
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="4" />
+    <reference subregion="pixel_ringType1" />
+    <reference subregion="pixel_ring0" />
+  </region>
+
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="4" />
+    <reference subregion="pixel_ringType2" />
+    <reference subregion="pixel_ring1" />
+  </region>
+
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="4" />
+    <reference subregion="pixel_ringType3" />
+    <reference subregion="pixel_ring2" />
+  </region>
+
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="5" />
+    <reference subregion="pixel_ringType2" />
+    <reference subregion="pixel_ring0" />
+  </region>
+
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="5" />
+    <reference subregion="pixel_ringType3" />
+    <reference subregion="pixel_ring1" />
+  </region>
+
+
+  <!--
+
+      SCT
+
+    -->
+
+  <!-- dummy -->
+  <region group="sct" name="dummy">
+    <range field="part" value="SCT" />
+    <range field="barrel_endcap" values="negative_endcap barrel positive_endcap" />
+    <range field="layer" minvalue="0" maxvalue="12" />
+    <range field="phi_module" minvalue="0" maxvalue="71" />
+    <range field="eta_module" minvalue="-48" maxvalue="-1" />
+    <range field="side" minvalue="0" maxvalue="1" />
+    <range field="strip" minvalue="0" maxvalue="1279" />
+  </region>
+
+
+  <subregion name="SCT_barrel">
+    <range field="part" value="SCT" />
+    <range field="barrel_endcap" value="barrel" />
+  </subregion>
+
+  <subregion name="SCT_endcap">
+    <range field="part" value="SCT" />
+    <range field="barrel_endcap" values="negative_endcap positive_endcap" />
+  </subregion>
+
+ <subregion name="SCT_eta_module_intermediate">
+    <range field="side" minvalue="0" maxvalue="1" />
+    <range field="strip" minvalue="0" maxvalue="1279" />
+ </subregion>
+
+ <subregion name="SCT_eta_module_outer">
+    <range field="side" minvalue="0" maxvalue="1" />
+    <range field="strip" minvalue="0" maxvalue="1279" />
+ </subregion>
+
+<!-- SCT Negative Side -->
+  <subregion name="SCT_phi_negative_barrel_module_intermediate">
+    <range field="eta_module" minvalue="-48" maxvalue="-1" next_value="1" /> 
+    <reference subregion="SCT_eta_module_intermediate" />
+  </subregion>
+
+  <subregion name="SCT_phi_negative_barrel_module_outer">
+    <range field="eta_module" minvalue="-12" maxvalue="-1" next_value="1" />
+    <reference subregion="SCT_eta_module_outer" />
+  </subregion>
+
+
+<!-- SCT Intermediate layers -->
+  <region>
+    <reference subregion="SCT_barrel" />
+    <range field="layer" value="0" />
+    <range field="phi_module" minvalue="0" maxvalue="27" wraparound="TRUE" />
+    <reference subregion="SCT_phi_negative_barrel_module_intermediate" />
+  </region>
+  <region>
+    <reference subregion="SCT_barrel" />
+    <range field="layer" value="1" />
+    <range field="phi_module" minvalue="0" maxvalue="35" wraparound="TRUE" />
+    <reference subregion="SCT_phi_negative_barrel_module_intermediate" />
+  </region>
+  <region>
+    <reference subregion="SCT_barrel" />
+    <range field="layer" value="2" />
+    <range field="phi_module" minvalue="0" maxvalue="43" wraparound="TRUE" />
+    <reference subregion="SCT_phi_negative_barrel_module_intermediate" />
+  </region>
+  <region>
+<!-- SCT outer layers -->
+    <reference subregion="SCT_barrel" />
+    <range field="layer" value="3" />
+    <range field="phi_module" minvalue="0" maxvalue="51" wraparound="TRUE" />
+    <reference subregion="SCT_phi_negative_barrel_module_outer" />
+  </region>
+  <region>
+    <reference subregion="SCT_barrel" />
+    <range field="layer" value="4" />
+    <range field="phi_module" minvalue="0" maxvalue="71" wraparound="TRUE" />
+    <reference subregion="SCT_phi_negative_barrel_module_outer" />
+  </region>
+
+
+<!-- SCT Positive Side -->
+  <subregion name="SCT_phi_positive_barrel_module_intermediate">
+    <range field="eta_module" minvalue="+1" maxvalue="+48" prev_value="-1" /> 
+    <reference subregion="SCT_eta_module_intermediate" />
+  </subregion>
+
+  <subregion name="SCT_phi_positive_barrel_module_outer">
+    <range field="eta_module" minvalue="+1" maxvalue="+12" prev_value="-1" />
+    <reference subregion="SCT_eta_module_outer" />
+  </subregion>
+
+
+<!-- SCT Intermediate layers -->
+  <region>
+    <reference subregion="SCT_barrel" />
+    <range field="layer" value="0" />
+    <range field="phi_module" minvalue="0" maxvalue="27" wraparound="TRUE" />
+    <reference subregion="SCT_phi_positive_barrel_module_intermediate" />
+  </region>
+  <region>
+    <reference subregion="SCT_barrel" />
+    <range field="layer" value="1" />
+    <range field="phi_module" minvalue="0" maxvalue="35" wraparound="TRUE" />
+    <reference subregion="SCT_phi_positive_barrel_module_intermediate" />
+  </region>
+  <region>
+    <reference subregion="SCT_barrel" />
+    <range field="layer" value="2" />
+    <range field="phi_module" minvalue="0" maxvalue="43" wraparound="TRUE" />
+    <reference subregion="SCT_phi_positive_barrel_module_intermediate" />
+  </region>
+  <region>
+<!-- SCT outer layers -->
+    <reference subregion="SCT_barrel" />
+    <range field="layer" value="3" />
+    <range field="phi_module" minvalue="0" maxvalue="51" wraparound="TRUE" />
+    <reference subregion="SCT_phi_positive_barrel_module_outer" />
+  </region>
+  <region>
+    <reference subregion="SCT_barrel" />
+    <range field="layer" value="4" />
+    <range field="phi_module" minvalue="0" maxvalue="71" wraparound="TRUE" />
+    <reference subregion="SCT_phi_positive_barrel_module_outer" />
+  </region>
+
+
+
+
+<!-- rings modules defintion -->
+ <subregion name="SCT_ring_module_0">
+    <range field="side" minvalue="0" maxvalue="1" />
+    <range field="strip" minvalue="0" maxvalue="767" />
+  </subregion>
+ <subregion name="SCT_ring_module_1">
+    <range field="side" minvalue="0" maxvalue="1" />
+    <range field="strip" minvalue="0" maxvalue="1023" />
+  </subregion>
+ <subregion name="SCT_ring_module_2">
+    <range field="side" minvalue="0" maxvalue="1" />
+    <range field="strip" minvalue="0" maxvalue="1279" />
+  </subregion>
+
+<!--rings defintion -->
+<!--first, rings entring the first 2 disks: same length barrel: the first two disks are similar the the 3rd disk -->
+<!--Disk 0 -->
+
+  <subregion name="SCT_disk0_ring0">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="0" maxvalue="3" />
+    <reference subregion="SCT_ring_module_0" />
+  </subregion>
+  <subregion name="SCT_disk0_ring1">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="4" maxvalue="6" />
+    <reference subregion="SCT_ring_module_1" />
+  </subregion>
+  <subregion name="SCT_disk0_ring2">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="7" maxvalue="8" />
+    <reference subregion="SCT_ring_module_2" />
+  </subregion>
+  <subregion name="SCT_disk0_ring3">
+    <range field="phi_module" minvalue="0" maxvalue="63" wraparound="TRUE" />
+    <range field="eta_module" minvalue="9" maxvalue="12" />
+    <reference subregion="SCT_ring_module_0" />
+  </subregion>
+  <subregion name="SCT_disk0_ring4">
+    <range field="phi_module" minvalue="0" maxvalue="63" wraparound="TRUE" />
+    <range field="eta_module" minvalue="13" maxvalue="15" />
+    <reference subregion="SCT_ring_module_1" />
+  </subregion>
+<!--Disk 1 -->
+
+  <subregion name="SCT_disk1_ring0">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="0" maxvalue="3" />
+    <reference subregion="SCT_ring_module_0" />
+  </subregion>
+  <subregion name="SCT_disk1_ring1">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="4" maxvalue="6" />
+    <reference subregion="SCT_ring_module_1" />
+  </subregion>
+  <subregion name="SCT_disk1_ring2">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="7" maxvalue="8" />
+    <reference subregion="SCT_ring_module_2" />
+  </subregion>
+  <subregion name="SCT_disk1_ring3">
+    <range field="phi_module" minvalue="0" maxvalue="63" wraparound="TRUE" />
+    <range field="eta_module" minvalue="9" maxvalue="12" />
+    <reference subregion="SCT_ring_module_0" />
+  </subregion>
+  <subregion name="SCT_disk1_ring4">
+    <range field="phi_module" minvalue="0" maxvalue="63" wraparound="TRUE" />
+    <range field="eta_module" minvalue="13" maxvalue="15" />
+    <reference subregion="SCT_ring_module_1" />
+  </subregion>
+<!--second, rings entring the rest 3 disks -->
+<!--disk2 -->
+  <subregion name="SCT_disk2_ring0">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="0" maxvalue="3" />
+    <reference subregion="SCT_ring_module_0" />
+  </subregion>
+  <subregion name="SCT_disk2_ring1">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="4" maxvalue="6" />
+    <reference subregion="SCT_ring_module_1" />
+  </subregion>
+  <subregion name="SCT_disk2_ring2">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="7" maxvalue="8" />
+    <reference subregion="SCT_ring_module_2" />
+  </subregion>
+  <subregion name="SCT_disk2_ring3">
+    <range field="phi_module" minvalue="0" maxvalue="63" wraparound="TRUE" />
+    <range field="eta_module" minvalue="9" maxvalue="12" />
+    <reference subregion="SCT_ring_module_0" />
+  </subregion>
+  <subregion name="SCT_disk2_ring4">
+    <range field="phi_module" minvalue="0" maxvalue="63" wraparound="TRUE" />
+    <range field="eta_module" minvalue="13" maxvalue="15" />
+    <reference subregion="SCT_ring_module_1" />
+  </subregion>
+<!--disk3 -->
+  <subregion name="SCT_disk3_ring0">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="0" maxvalue="3" />
+    <reference subregion="SCT_ring_module_0" />
+  </subregion>
+  <subregion name="SCT_disk3_ring1">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="4" maxvalue="6" />
+    <reference subregion="SCT_ring_module_1" />
+  </subregion>
+  <subregion name="SCT_disk3_ring2">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="7" maxvalue="8" />
+    <reference subregion="SCT_ring_module_2" />
+  </subregion>
+  <subregion name="SCT_disk3_ring3">
+    <range field="phi_module" minvalue="0" maxvalue="63" wraparound="TRUE" />
+    <range field="eta_module" minvalue="9" maxvalue="12" />
+    <reference subregion="SCT_ring_module_0" />
+  </subregion>
+  <subregion name="SCT_disk3_ring4">
+    <range field="phi_module" minvalue="0" maxvalue="63" wraparound="TRUE" />
+    <range field="eta_module" minvalue="13" maxvalue="15" />
+    <reference subregion="SCT_ring_module_1" />
+  </subregion>
+<!--disk4 -->
+  <subregion name="SCT_disk4_ring0">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="0" maxvalue="3" />
+    <reference subregion="SCT_ring_module_0" />
+  </subregion>
+  <subregion name="SCT_disk4_ring1">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="4" maxvalue="6" />
+    <reference subregion="SCT_ring_module_1" />
+  </subregion>
+  <subregion name="SCT_disk4_ring2">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="7" maxvalue="8" />
+    <reference subregion="SCT_ring_module_2" />
+  </subregion>
+  <subregion name="SCT_disk4_ring3">
+    <range field="phi_module" minvalue="0" maxvalue="63" wraparound="TRUE" />
+    <range field="eta_module" minvalue="9" maxvalue="12" />
+    <reference subregion="SCT_ring_module_0" />
+  </subregion>
+  <subregion name="SCT_disk4_ring4">
+    <range field="phi_module" minvalue="0" maxvalue="63" wraparound="TRUE" />
+    <range field="eta_module" minvalue="13" maxvalue="15" />
+    <reference subregion="SCT_ring_module_1" />
+  </subregion>
+
+<!-- Disks definition-->
+<!-- first, the first 2 disks-->
+<!-- disk 0 -->
+   <region group="SCT_endcap"  name="SCT_endcap_disk0_ring0">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="0" />
+    <reference subregion="SCT_disk0_ring0" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk0_ring1">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="0" />
+    <reference subregion="SCT_disk0_ring1" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk0_ring2">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="0" />
+    <reference subregion="SCT_disk0_ring2" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk0_ring3">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="0" />
+    <reference subregion="SCT_disk0_ring3" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk0_ring4">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="0" />
+    <reference subregion="SCT_disk0_ring4" />
+  </region>
+<!-- disk 1 -->
+   <region group="SCT_endcap"  name="SCT_endcap_disk1_ring0">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="1" />
+    <reference subregion="SCT_disk1_ring0" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk1_ring1">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="1" />
+    <reference subregion="SCT_disk1_ring1" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk1_ring2">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="1" />
+    <reference subregion="SCT_disk1_ring2" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk1_ring3">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="1" />
+    <reference subregion="SCT_disk1_ring3" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk1_ring4">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="1" />
+    <reference subregion="SCT_disk1_ring4" />
+  </region>
+
+<!--second, the rest 3 disks -->
+<!-- disk 2 -->
+   <region group="SCT_endcap"  name="SCT_endcap_disk2_ring0">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="2" />
+    <reference subregion="SCT_disk2_ring0" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk2_ring1">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="2" />
+    <reference subregion="SCT_disk2_ring1" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk2_ring2">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="2" />
+    <reference subregion="SCT_disk2_ring2" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk2_ring3">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="2" />
+    <reference subregion="SCT_disk2_ring3" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk2_ring4">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="2" />
+    <reference subregion="SCT_disk2_ring4" />
+  </region>
+<!-- disk 3 -->
+   <region group="SCT_endcap"  name="SCT_endcap_disk3_ring0">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="3" />
+    <reference subregion="SCT_disk3_ring0" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk3_ring1">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="3" />
+    <reference subregion="SCT_disk3_ring1" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk3_ring2">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="3" />
+    <reference subregion="SCT_disk3_ring2" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk3_ring3">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="3" />
+    <reference subregion="SCT_disk3_ring3" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk3_ring4">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="3" />
+    <reference subregion="SCT_disk3_ring4" />
+  </region>
+<!-- disk 4 -->
+   <region group="SCT_endcap"  name="SCT_endcap_disk4_ring0">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="4" />
+    <reference subregion="SCT_disk4_ring0" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk4_ring1">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="4" />
+    <reference subregion="SCT_disk4_ring1" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk4_ring2">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="4" />
+    <reference subregion="SCT_disk4_ring2" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk4_ring3">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="4" />
+    <reference subregion="SCT_disk4_ring3" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk4_ring4">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="4" />
+    <reference subregion="SCT_disk4_ring4" />
+  </region>
+</IdDictionary>
+
diff --git a/InnerDetector/InDetDetDescr/InDetIdDictFiles/data/IdDictInnerDetector_SLHC-23-24-dev9.xml b/InnerDetector/InDetDetDescr/InDetIdDictFiles/data/IdDictInnerDetector_SLHC-23-24-dev9.xml
new file mode 100644
index 0000000000000000000000000000000000000000..57dd01d252f567c642d291e7ba292dc1939999f0
--- /dev/null
+++ b/InnerDetector/InDetDetDescr/InDetIdDictFiles/data/IdDictInnerDetector_SLHC-23-24-dev9.xml
@@ -0,0 +1,1263 @@
+
+
+<!--
+
+   The InnerDetector identifier is arranged as follows
+
+   InnerDetector
+     part=Pixel
+       side=barrel
+         layer phi_module eta_module phi_index eta_index 
+       side=endcap
+         disk phi_module eta_module phi_index eta_index 
+
+     part=SCT
+       side=barrel
+         layer phi_module eta_module side strip
+       side=endcap
+         disk phi_module eta_module side strip
+
+     part=TRT
+       side=barrel
+         layer phi_module straw_layer straw
+       side=endcap
+         wheel phi_module straw_layer straw
+
+
+  -->
+
+<IdDictionary name="InnerDetector" version="SLHC">
+
+  <!--
+     Start by defining some symbolic labels used for some fields
+     (other fields will be specified by numeric ranges)
+   -->
+
+  <field name="part" >
+    <label name="Pixel"              value="1" />
+    <label name="SCT"                value="2" />
+  </field>
+
+  <field name="barrel_endcap">
+    <label name="negative_endcap" value="-2" />
+    <label name="negative_barrel" value="-1" />
+    <label name="barrel"          value="0" />
+    <label name="positive_barrel" value="+1"  />
+    <label name="positive_endcap" value="+2"  />
+  </field>
+
+  <!--
+
+      Pixel
+
+    -->
+
+  <!-- Dummy region: This forces the bit packing to be the same for all layouts -->
+
+  <region group="pixel" name = "dummy">
+    <range field="part" value="Pixel" />
+    <range field="barrel_endcap" values="negative_endcap barrel positive_endcap"/>
+    <range field="layer" minvalue="0" maxvalue="3"/>
+    <range field="phi_module" minvalue="0" maxvalue="59" />
+    <range field="eta_module" minvalue="-26" maxvalue="+26" />
+    <range field="phi_index" minvalue="0" maxvalue="1356" />
+    <range field="eta_index" minvalue="0" maxvalue="267" />
+  </region>
+
+
+  <!--
+      Define few subregions which are re-used in several id-ranges.
+   -->
+
+  <subregion name="pixel_barrel">
+    <range field="part" value="Pixel" />
+    <range field="barrel_endcap" value="barrel" />
+  </subregion>
+
+  <subregion name="pixel_endcap">
+    <range field="part" value="Pixel" />
+    <range field="barrel_endcap" values="negative_endcap positive_endcap" />
+  </subregion>
+
+  <subregion name="pixel_eta_module_inner">
+    <range field="phi_index" minvalue="0" maxvalue="683" />
+    <range field="eta_index" minvalue="0" maxvalue="267" />
+  </subregion>
+
+  <subregion name="pixel_eta_module_intermediate">
+    <range field="phi_index" minvalue="0" maxvalue="1356" />
+    <range field="eta_index" minvalue="0" maxvalue="267" />
+  </subregion>
+
+  <subregion name="pixel_eta_module_default">
+    <range field="phi_index" minvalue="0" maxvalue="677" />
+    <range field="eta_index" minvalue="0" maxvalue="159" />
+  </subregion>
+
+  <subregion name="pixel_eta_module_HEX">
+    <range field="phi_index" minvalue="0" maxvalue="677" />
+    <range field="eta_index" minvalue="0" maxvalue="239" />
+  </subregion>
+
+  <!-- Define negative and positive part separately since no eta=0 module -->
+  <subregion name="pixel_phi_barrel_module_negative_inner">
+    <range field="eta_module" minvalue="-11" maxvalue="-1" next_value="1" />
+    <reference subregion="pixel_eta_module_inner" />
+  </subregion>
+
+  <subregion name="pixel_phi_barrel_module_positive_inner">
+    <range field="eta_module" minvalue="1" maxvalue="11" prev_value="-1"/>
+    <reference subregion="pixel_eta_module_inner" />
+  </subregion>
+
+  <subregion name="pixel_phi_barrel_module_negative_intermediate">
+    <range field="eta_module" minvalue="-18" maxvalue="-1" next_value="1" />
+    <reference subregion="pixel_eta_module_intermediate" />
+  </subregion>
+
+  <subregion name="pixel_phi_barrel_module_positive_intermediate">
+    <range field="eta_module" minvalue="1" maxvalue="18" prev_value="-1"/>
+    <reference subregion="pixel_eta_module_intermediate" />
+  </subregion>
+
+  <subregion name="pixel_phi_barrel_module_outer">
+    <range field="eta_module" minvalue="-17" maxvalue="17" />
+    <reference subregion="pixel_eta_module_default" />
+  </subregion>
+
+<!--   <subregion name="pixel_phi_barrel_module_positive_outer"> -->
+<!--     <range field="eta_module" minvalue="1" maxvalue="17" /> -->
+<!--     <reference subregion="pixel_eta_module_default" /> -->
+<!--   </subregion> -->
+
+<!--   <subregion name="pixel_phi_barrel_module_negative_outer1"> -->
+<!--     <range field="eta_module" minvalue="-17" maxvalue="-1" /> -->
+<!--     <reference subregion="pixel_eta_module_default" /> -->
+<!--   </subregion> -->
+
+  <subregion name="pixel_phi_barrel_module_outer1">
+    <range field="eta_module" minvalue="-17" maxvalue="17" />
+    <reference subregion="pixel_eta_module_default" />
+  </subregion>
+
+  <!--subregion name="pixel_phi_endcap_module">
+    <range field="eta_module" value="0" />
+    <reference subregion="pixel_eta_module_default" />
+  </subregion-->
+
+  <!--
+    Then enumerate all the possible regions of the Pixel subdetector.
+    Each region corresponds to an identifier range.
+    -->
+
+  <!--
+    The follow region is the pixel b-layer. Normally, the correct
+    phi_index max should be 319, but we set it to 327 as for the other
+    layers to allow to calculate the pixel_id from SiDigit, i.e. using
+    the G3 numbering which is not completely correct. This should be a
+    temporary fix. Correct specif:
+    <range field="phi_index" minvalue="0" maxvalue="319" />
+    -->
+
+  <subregion name="pixel_layer0">
+    <range field="layer" value="0" />
+    <!-- <range field="phi_module" minvalue="0" maxvalue="15" wraparound="TRUE" /> -->
+    <range field="phi_module" minvalue="0" maxvalue="15" wraparound="TRUE" />
+  </subregion>
+
+  <subregion name="pixel_layer1">
+    <range field="layer" value="1" />
+    <range field="phi_module" minvalue="0" maxvalue="15" wraparound="TRUE" />
+  </subregion>
+
+  <subregion name="pixel_layer2">
+    <range field="layer" value="2" />
+    <!-- <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" /> -->
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+  </subregion>
+
+  <subregion name="pixel_layer3">
+    <range field="layer" value="3" />
+    <!-- <range field="phi_module" minvalue="0" maxvalue="39" wraparound="TRUE" /> -->
+    <range field="phi_module" minvalue="0" maxvalue="51" wraparound="TRUE" />
+  </subregion>
+
+  <region group="pixel" >
+    <reference subregion="pixel_barrel" />
+    <reference subregion="pixel_layer0" />
+    <reference subregion="pixel_phi_barrel_module_negative_inner" />
+  </region>
+
+  <region group="pixel" >
+    <reference subregion="pixel_barrel" />
+    <reference subregion="pixel_layer0" />
+    <reference subregion="pixel_phi_barrel_module_positive_inner" />
+  </region>
+
+  <region group="pixel" >
+    <reference subregion="pixel_barrel" />
+    <reference subregion="pixel_layer1" />
+    <reference subregion="pixel_phi_barrel_module_negative_intermediate" />
+  </region>
+
+  <region group="pixel" >
+    <reference subregion="pixel_barrel" />
+    <reference subregion="pixel_layer1" />
+    <reference subregion="pixel_phi_barrel_module_positive_intermediate" />
+  </region>
+
+  <region group="pixel" >
+    <reference subregion="pixel_barrel" />
+    <reference subregion="pixel_layer2" />
+    <reference subregion="pixel_phi_barrel_module_outer" />
+  </region>
+
+<!--   <region group="pixel" > -->
+<!--     <reference subregion="pixel_barrel" /> -->
+<!--     <reference subregion="pixel_layer2" /> -->
+<!--     <reference subregion="pixel_phi_barrel_module_positive_outer" /> -->
+<!--   </region> -->
+<!--   <region group="pixel" > -->
+<!--     <reference subregion="pixel_barrel" /> -->
+<!--     <reference subregion="pixel_layer3" /> -->
+<!--     <reference subregion="pixel_phi_barrel_module_negative_outer1" /> -->
+<!--   </region> -->
+
+  <region group="pixel" >
+    <reference subregion="pixel_barrel" />
+    <reference subregion="pixel_layer3" />
+    <reference subregion="pixel_phi_barrel_module_outer1" />
+  </region>
+
+  <!-- ==============   PIXEL ENDCAPS  ============
+       NOTE: For endcaps, one should think of eta_modules as the RINGS in each disk.
+       By convention, ring indices (hence eta_modules) increase from inner to outer,
+       therefore in opposite direction as the physics |eta|.
+    -->
+
+  <subregion name="pixel_ringType0">
+    <range field="phi_module" minvalue="0" maxvalue="59" wraparound="TRUE" />
+  </subregion>
+
+  <subregion name="pixel_ringType1">
+    <range field="phi_module" minvalue="0" maxvalue="47" wraparound="TRUE" />
+  </subregion>
+
+  <subregion name="pixel_ringType2">
+    <range field="phi_module" minvalue="0" maxvalue="35" wraparound="TRUE" />
+  </subregion>
+
+  <subregion name="pixel_ringType3">
+    <range field="phi_module" minvalue="0" maxvalue="47" wraparound="TRUE" />
+  </subregion>
+
+  <subregion name="pixel_ringType4">
+    <range field="phi_module" minvalue="0" maxvalue="39" wraparound="TRUE" />
+  </subregion>
+
+  <subregion name="pixel_ring0">
+    <range field="eta_module" value="0" />
+    <reference subregion="pixel_eta_module_HEX" />
+  </subregion>
+  <subregion name="pixel_ring1">
+    <range field="eta_module" value="1" />
+    <reference subregion="pixel_eta_module_HEX" />
+  </subregion>
+  <subregion name="pixel_ring2">
+    <range field="eta_module" value="2" />
+    <reference subregion="pixel_eta_module_default" />
+  </subregion>
+  <subregion name="pixel_ring3">
+    <range field="eta_module" value="1" />
+    <reference subregion="pixel_eta_module_default" />
+  </subregion>
+  <subregion name="pixel_ring4">
+    <range field="eta_module" value="2" />
+    <reference subregion="pixel_eta_module_default" />
+  </subregion>
+
+  <!-- here for pixel disks -->
+
+  <!-- ==== Disk 0-->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="0" />
+    <reference subregion="pixel_ringType0" />
+    <reference subregion="pixel_ring0" />
+  </region>
+
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="0" />
+    <reference subregion="pixel_ringType1" />
+    <reference subregion="pixel_ring1" />
+  </region>
+
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="0" />
+    <reference subregion="pixel_ringType2" />
+    <reference subregion="pixel_ring2" />
+  </region>
+
+<!--   <region group="pixel" > -->
+<!--     <reference subregion="pixel_endcap" /> -->
+<!--     <range field="disk" value="0" /> -->
+<!--     <reference subregion="pixel_ringType3" /> -->
+<!--     <reference subregion="pixel_ring3" /> -->
+<!--   </region> -->
+
+<!--   <region group="pixel" > -->
+<!--     <reference subregion="pixel_endcap" /> -->
+<!--     <range field="disk" value="0" /> -->
+<!--     <reference subregion="pixel_ringType4" /> -->
+<!--     <reference subregion="pixel_ring4" /> -->
+<!--   </region> -->
+  
+  <!-- ==== Disk 1-->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="1" />
+    <reference subregion="pixel_ringType0" />
+    <reference subregion="pixel_ring0" />
+  </region>
+
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="1" />
+     <reference subregion="pixel_ringType1" />
+    <reference subregion="pixel_ring1" />
+  </region>
+
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="1" />
+    <reference subregion="pixel_ringType2" />
+    <reference subregion="pixel_ring2" />
+  </region>
+
+<!--   <region group="pixel" > -->
+<!--     <reference subregion="pixel_endcap" /> -->
+<!--     <range field="disk" value="1" /> -->
+<!--     <reference subregion="pixel_ringType3" /> -->
+<!--     <reference subregion="pixel_ring3" /> -->
+<!--   </region> -->
+
+<!--   <region group="pixel" > -->
+<!--     <reference subregion="pixel_endcap" /> -->
+<!--     <range field="disk" value="1" /> -->
+<!--     <reference subregion="pixel_ringType4" /> -->
+<!--     <reference subregion="pixel_ring4" /> -->
+<!--   </region> -->
+  <!-- ==== -->
+  
+  <!-- ==== Disk 2-->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="2" />
+    <reference subregion="pixel_ringType0" />
+    <reference subregion="pixel_ring0" />
+  </region>
+
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="2" />
+     <reference subregion="pixel_ringType1" />
+    <reference subregion="pixel_ring1" />
+  </region>
+
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="2" />
+    <reference subregion="pixel_ringType2" />
+    <reference subregion="pixel_ring2" />
+  </region>
+
+<!--   <region group="pixel" > -->
+<!--     <reference subregion="pixel_endcap" /> -->
+<!--     <range field="disk" value="2" /> -->
+<!--     <reference subregion="pixel_ringType3" /> -->
+<!--     <reference subregion="pixel_ring3" /> -->
+<!--   </region> -->
+
+<!--   <region group="pixel" > -->
+<!--     <reference subregion="pixel_endcap" /> -->
+<!--     <range field="disk" value="2" /> -->
+<!--     <reference subregion="pixel_ringType4" /> -->
+<!--     <reference subregion="pixel_ring4" /> -->
+<!--   </region> -->
+
+  <!-- ==== -->
+
+  <!-- ==== Disk 3-->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="3" />
+    <reference subregion="pixel_ringType0" />
+    <reference subregion="pixel_ring0" />
+  </region>
+
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="3" />
+     <reference subregion="pixel_ringType1" />
+    <reference subregion="pixel_ring1" />
+  </region>
+
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="3" />
+    <reference subregion="pixel_ringType2" />
+    <reference subregion="pixel_ring2" />
+  </region>
+
+<!--   <region group="pixel" > -->
+<!--     <reference subregion="pixel_endcap" /> -->
+<!--     <range field="disk" value="3" /> -->
+<!--     <reference subregion="pixel_ringType3" /> -->
+<!--     <reference subregion="pixel_ring3" /> -->
+<!--   </region> -->
+
+<!--   <region group="pixel" > -->
+<!--     <reference subregion="pixel_endcap" /> -->
+<!--     <range field="disk" value="3" /> -->
+<!--     <reference subregion="pixel_ringType4" /> -->
+<!--     <reference subregion="pixel_ring4" /> -->
+<!--   </region> -->
+  <!-- ==== -->
+
+ <!-- ==== Disk 4-->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="4" />
+    <reference subregion="pixel_ringType0" />
+    <reference subregion="pixel_ring0" />
+  </region>
+
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="4" />
+     <reference subregion="pixel_ringType3" />
+    <reference subregion="pixel_ring3" />
+  </region>
+
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="4" />
+    <reference subregion="pixel_ringType4" />
+    <reference subregion="pixel_ring4" />
+  </region>
+
+<!--   <region group="pixel" > -->
+<!--     <reference subregion="pixel_endcap" /> -->
+<!--     <range field="disk" value="4" /> -->
+<!--     <reference subregion="pixel_ringType4" /> -->
+<!--     <reference subregion="pixel_ring3" /> -->
+<!--   </region> -->
+  <!-- ==== -->
+
+  <!-- ==== Disk 5-->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="5" />
+    <reference subregion="pixel_ringType0" />
+    <reference subregion="pixel_ring0" />
+  </region>
+
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="5" />
+     <reference subregion="pixel_ringType3" />
+    <reference subregion="pixel_ring3" />
+  </region>
+
+<!--   <region group="pixel" > -->
+<!--     <reference subregion="pixel_endcap" /> -->
+<!--     <range field="disk" value="5" /> -->
+<!--      <reference subregion="pixel_ringType4" /> -->
+<!--     <reference subregion="pixel_ring2" /> -->
+<!--   </region> -->
+  
+  <!-- ==== -->
+
+
+
+  <!--
+
+      SCT
+
+    -->
+
+  <!-- dummy -->
+  <region group="sct" name="dummy">
+    <range field="part" value="SCT" />
+    <range field="barrel_endcap" values="negative_endcap barrel positive_endcap" />
+    <range field="layer" minvalue="0" maxvalue="12" />
+    <range field="phi_module" minvalue="0" maxvalue="71" />
+    <range field="eta_module" minvalue="-52" maxvalue="-1" />
+    <range field="side" minvalue="0" maxvalue="1" />
+    <range field="strip" minvalue="0" maxvalue="1537" />
+  </region>
+
+
+  <subregion name="SCT_barrel">
+    <range field="part" value="SCT" />
+    <range field="barrel_endcap" value="barrel" />
+  </subregion>
+
+  <subregion name="SCT_endcap">
+    <range field="part" value="SCT" />
+    <range field="barrel_endcap" values="negative_endcap positive_endcap" />
+  </subregion>
+
+ <subregion name="SCT_eta_module_intermediate">
+    <range field="side" minvalue="0" maxvalue="1" />
+    <range field="strip" minvalue="0" maxvalue="1279" />
+ </subregion>
+
+ <subregion name="SCT_eta_module_outer">
+    <range field="side" minvalue="0" maxvalue="1" />
+    <range field="strip" minvalue="0" maxvalue="1279" />
+ </subregion>
+
+<!-- SCT Negative Side -->
+  <subregion name="SCT_phi_negative_barrel_module_intermediate">
+    <range field="eta_module" minvalue="-52" maxvalue="-1" next_value="1" /> 
+    <reference subregion="SCT_eta_module_intermediate" />
+  </subregion>
+
+  <subregion name="SCT_phi_negative_barrel_module_outer">
+    <range field="eta_module" minvalue="-26" maxvalue="-1" next_value="1" />
+    <reference subregion="SCT_eta_module_outer" />
+  </subregion>
+
+ <subregion name="SCT_phi_negative_barrel_module_stub">
+    <range field="eta_module" minvalue="-4" maxvalue="-1" next_value="1" />
+    <reference subregion="SCT_eta_module_outer" />
+  </subregion>
+
+
+<!-- SCT Intermediate layers -->
+  <region>
+    <reference subregion="SCT_barrel" />
+    <range field="layer" value="0" />
+    <range field="phi_module" minvalue="0" maxvalue="27" wraparound="TRUE" />
+    <reference subregion="SCT_phi_negative_barrel_module_intermediate" />
+  </region>
+  <region>
+    <reference subregion="SCT_barrel" />
+    <range field="layer" value="1" />
+    <range field="phi_module" minvalue="0" maxvalue="35" wraparound="TRUE" />
+    <reference subregion="SCT_phi_negative_barrel_module_intermediate" />
+  </region>
+  <region>
+    <reference subregion="SCT_barrel" />
+    <range field="layer" value="2" />
+    <range field="phi_module" minvalue="0" maxvalue="43" wraparound="TRUE" />
+    <reference subregion="SCT_phi_negative_barrel_module_intermediate" />
+  </region>
+  <region>
+<!-- SCT outer layers -->
+    <reference subregion="SCT_barrel" />
+    <range field="layer" value="3" />
+    <range field="phi_module" minvalue="0" maxvalue="55" wraparound="TRUE" />
+    <reference subregion="SCT_phi_negative_barrel_module_outer" />
+  </region>
+  <region>
+   <reference subregion="SCT_barrel" />
+    <range field="layer" value="4" />
+    <range field="phi_module" minvalue="0" maxvalue="63" wraparound="TRUE" />
+    <reference subregion="SCT_phi_negative_barrel_module_stub" />
+  </region>
+  <region>
+    <reference subregion="SCT_barrel" />
+    <range field="layer" value="5" />
+    <range field="phi_module" minvalue="0" maxvalue="71" wraparound="TRUE" />
+    <reference subregion="SCT_phi_negative_barrel_module_outer" />
+  </region>
+
+
+<!-- SCT Positive Side -->
+  <subregion name="SCT_phi_positive_barrel_module_intermediate">
+    <range field="eta_module" minvalue="+1" maxvalue="+52" prev_value="-1" /> 
+    <reference subregion="SCT_eta_module_intermediate" />
+  </subregion>
+
+  <subregion name="SCT_phi_positive_barrel_module_outer">
+    <range field="eta_module" minvalue="+1" maxvalue="+26" prev_value="-1" />
+    <reference subregion="SCT_eta_module_outer" />
+  </subregion>
+
+ <subregion name="SCT_phi_positive_barrel_module_stub">
+    <range field="eta_module" minvalue="+1" maxvalue="+4" prev_value="-1" />
+    <reference subregion="SCT_eta_module_outer" />
+  </subregion>
+<!-- SCT Intermediate layers -->
+  <region>
+    <reference subregion="SCT_barrel" />
+    <range field="layer" value="0" />
+    <range field="phi_module" minvalue="0" maxvalue="27" wraparound="TRUE" />
+    <reference subregion="SCT_phi_positive_barrel_module_intermediate" />
+  </region>
+  <region>
+    <reference subregion="SCT_barrel" />
+    <range field="layer" value="1" />
+    <range field="phi_module" minvalue="0" maxvalue="35" wraparound="TRUE" />
+    <reference subregion="SCT_phi_positive_barrel_module_intermediate" />
+  </region>
+  <region>
+    <reference subregion="SCT_barrel" />
+    <range field="layer" value="2" />
+    <range field="phi_module" minvalue="0" maxvalue="43" wraparound="TRUE" />
+    <reference subregion="SCT_phi_positive_barrel_module_intermediate" />
+  </region>
+  <region>
+<!-- SCT outer layers -->
+    <reference subregion="SCT_barrel" />
+    <range field="layer" value="3" />
+    <range field="phi_module" minvalue="0" maxvalue="55" wraparound="TRUE" />
+    <reference subregion="SCT_phi_positive_barrel_module_outer" />
+  </region>
+  <region> 
+    <reference subregion="SCT_barrel" />
+    <range field="layer" value="4" />
+    <range field="phi_module" minvalue="0" maxvalue="63" wraparound="TRUE" />
+    <reference subregion="SCT_phi_positive_barrel_module_stub" />
+  </region>
+  <region>
+    <reference subregion="SCT_barrel" />
+    <range field="layer" value="5" />
+    <range field="phi_module" minvalue="0" maxvalue="71" wraparound="TRUE" />
+    <reference subregion="SCT_phi_positive_barrel_module_outer" />
+  </region>
+
+
+
+
+<!-- rings modules defintion -->
+ <subregion name="SCT_ring_module_0">
+    <range field="side" minvalue="0" maxvalue="1" />
+    <range field="strip" minvalue="0" maxvalue="1025" />
+  </subregion>
+ <subregion name="SCT_ring_module_1">
+    <range field="side" minvalue="0" maxvalue="1" />
+    <range field="strip" minvalue="0" maxvalue="1153" />
+  </subregion>
+ <subregion name="SCT_ring_module_2">
+    <range field="side" minvalue="0" maxvalue="1" />
+    <range field="strip" minvalue="0" maxvalue="1281" />
+  </subregion>
+<subregion name="SCT_ring_module_3">
+    <range field="side" minvalue="0" maxvalue="1" />
+    <range field="strip" minvalue="0" maxvalue="1409" />
+  </subregion>
+<subregion name="SCT_ring_module_4">
+    <range field="side" minvalue="0" maxvalue="1" />
+    <range field="strip" minvalue="0" maxvalue="1537" />
+  </subregion>
+<subregion name="SCT_ring_module_5">
+    <range field="side" minvalue="0" maxvalue="1" />
+    <range field="strip" minvalue="0" maxvalue="897" />
+  </subregion>
+
+<!--rings defintion -->
+<!--first, rings entring the first 2 disks: same length barrel: the first two disks are similar the the 3rd disk -->
+<!--Disk 0 -->
+
+  <subregion name="SCT_disk0_ring0">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="0" maxvalue="1" />
+    <reference subregion="SCT_ring_module_0" />
+  </subregion>
+  <subregion name="SCT_disk0_ring1">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="2" maxvalue="5" />
+    <reference subregion="SCT_ring_module_1" />
+  </subregion>
+  <subregion name="SCT_disk0_ring2">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="6" maxvalue="7" />
+    <reference subregion="SCT_ring_module_2" />
+  </subregion>
+  <subregion name="SCT_disk0_ring3">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="8" maxvalue="11" />
+    <reference subregion="SCT_ring_module_3" />
+  </subregion>
+<subregion name="SCT_disk0_ring4">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="12" maxvalue="13" />
+    <reference subregion="SCT_ring_module_4" />
+  </subregion>
+  <subregion name="SCT_disk0_ring5">
+    <range field="phi_module" minvalue="0" maxvalue="63" wraparound="TRUE" />
+    <range field="eta_module" minvalue="14" maxvalue="15" />
+    <reference subregion="SCT_ring_module_5" />
+  </subregion>
+<subregion name="SCT_disk0_ring6">
+    <range field="phi_module" minvalue="0" maxvalue="63" wraparound="TRUE" />
+    <range field="eta_module" minvalue="16" maxvalue="17" />
+    <reference subregion="SCT_ring_module_0" />
+  </subregion>
+  <subregion name="SCT_disk0_ring7">
+    <range field="phi_module" minvalue="0" maxvalue="63" wraparound="TRUE" />
+    <range field="eta_module" minvalue="18" maxvalue="19" />
+    <reference subregion="SCT_ring_module_1" />
+  </subregion>
+
+
+<!--Disk 1 -->
+
+ <subregion name="SCT_disk1_ring0">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="0" maxvalue="1" />
+    <reference subregion="SCT_ring_module_0" />
+  </subregion>
+  <subregion name="SCT_disk1_ring1">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="2" maxvalue="5" />
+    <reference subregion="SCT_ring_module_1" />
+  </subregion>
+  <subregion name="SCT_disk1_ring2">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="6" maxvalue="7" />
+    <reference subregion="SCT_ring_module_2" />
+  </subregion>
+  <subregion name="SCT_disk1_ring3">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="8" maxvalue="11" />
+    <reference subregion="SCT_ring_module_3" />
+  </subregion>
+<subregion name="SCT_disk1_ring4">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="12" maxvalue="13" />
+    <reference subregion="SCT_ring_module_4" />
+  </subregion>
+  <subregion name="SCT_disk1_ring5">
+    <range field="phi_module" minvalue="0" maxvalue="63" wraparound="TRUE" />
+    <range field="eta_module" minvalue="14" maxvalue="15" />
+    <reference subregion="SCT_ring_module_5" />
+  </subregion>
+<subregion name="SCT_disk1_ring6">
+    <range field="phi_module" minvalue="0" maxvalue="63" wraparound="TRUE" />
+    <range field="eta_module" minvalue="16" maxvalue="17" />
+    <reference subregion="SCT_ring_module_0" />
+  </subregion>
+  <subregion name="SCT_disk1_ring7">
+    <range field="phi_module" minvalue="0" maxvalue="63" wraparound="TRUE" />
+    <range field="eta_module" minvalue="18" maxvalue="19" />
+    <reference subregion="SCT_ring_module_1" />
+  </subregion>
+
+
+<!--second, rings entring the rest 3 disks -->
+<!--disk2 -->
+ 
+  <subregion name="SCT_disk2_ring0">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="0" maxvalue="1" />
+    <reference subregion="SCT_ring_module_0" />
+  </subregion>
+  <subregion name="SCT_disk2_ring1">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="2" maxvalue="5" />
+    <reference subregion="SCT_ring_module_1" />
+  </subregion>
+  <subregion name="SCT_disk2_ring2">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="6" maxvalue="7" />
+    <reference subregion="SCT_ring_module_2" />
+  </subregion>
+  <subregion name="SCT_disk2_ring3">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="8" maxvalue="11" />
+    <reference subregion="SCT_ring_module_3" />
+  </subregion>
+<subregion name="SCT_disk2_ring4">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="12" maxvalue="13" />
+    <reference subregion="SCT_ring_module_4" />
+  </subregion>
+  <subregion name="SCT_disk2_ring5">
+    <range field="phi_module" minvalue="0" maxvalue="63" wraparound="TRUE" />
+    <range field="eta_module" minvalue="14" maxvalue="15" />
+    <reference subregion="SCT_ring_module_5" />
+  </subregion>
+<subregion name="SCT_disk2_ring6">
+    <range field="phi_module" minvalue="0" maxvalue="63" wraparound="TRUE" />
+    <range field="eta_module" minvalue="16" maxvalue="17" />
+    <reference subregion="SCT_ring_module_0" />
+  </subregion>
+  <subregion name="SCT_disk2_ring7">
+    <range field="phi_module" minvalue="0" maxvalue="63" wraparound="TRUE" />
+    <range field="eta_module" minvalue="18" maxvalue="19" />
+    <reference subregion="SCT_ring_module_1" />
+  </subregion>
+
+<!--disk3 -->
+
+ <subregion name="SCT_disk3_ring0">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="0" maxvalue="1" />
+    <reference subregion="SCT_ring_module_0" />
+  </subregion>
+  <subregion name="SCT_disk3_ring1">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="2" maxvalue="5" />
+    <reference subregion="SCT_ring_module_1" />
+  </subregion>
+  <subregion name="SCT_disk3_ring2">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="6" maxvalue="7" />
+    <reference subregion="SCT_ring_module_2" />
+  </subregion>
+  <subregion name="SCT_disk3_ring3">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="8" maxvalue="11" />
+    <reference subregion="SCT_ring_module_3" />
+  </subregion>
+<subregion name="SCT_disk3_ring4">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="12" maxvalue="13" />
+    <reference subregion="SCT_ring_module_4" />
+  </subregion>
+  <subregion name="SCT_disk3_ring5">
+    <range field="phi_module" minvalue="0" maxvalue="63" wraparound="TRUE" />
+    <range field="eta_module" minvalue="14" maxvalue="15" />
+    <reference subregion="SCT_ring_module_5" />
+  </subregion>
+<subregion name="SCT_disk3_ring6">
+    <range field="phi_module" minvalue="0" maxvalue="63" wraparound="TRUE" />
+    <range field="eta_module" minvalue="16" maxvalue="17" />
+    <reference subregion="SCT_ring_module_0" />
+  </subregion>
+  <subregion name="SCT_disk3_ring7">
+    <range field="phi_module" minvalue="0" maxvalue="63" wraparound="TRUE" />
+    <range field="eta_module" minvalue="18" maxvalue="19" />
+    <reference subregion="SCT_ring_module_1" />
+  </subregion>
+
+
+<!--disk4 -->
+ 
+ <subregion name="SCT_disk4_ring0">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="0" maxvalue="1" />
+    <reference subregion="SCT_ring_module_0" />
+  </subregion>
+  <subregion name="SCT_disk4_ring1">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="2" maxvalue="5" />
+    <reference subregion="SCT_ring_module_1" />
+  </subregion>
+  <subregion name="SCT_disk4_ring2">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="6" maxvalue="7" />
+    <reference subregion="SCT_ring_module_2" />
+  </subregion>
+  <subregion name="SCT_disk4_ring3">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="8" maxvalue="11" />
+    <reference subregion="SCT_ring_module_3" />
+  </subregion>
+<subregion name="SCT_disk4_ring4">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="12" maxvalue="13" />
+    <reference subregion="SCT_ring_module_4" />
+  </subregion>
+  <subregion name="SCT_disk4_ring5">
+    <range field="phi_module" minvalue="0" maxvalue="63" wraparound="TRUE" />
+    <range field="eta_module" minvalue="14" maxvalue="15" />
+    <reference subregion="SCT_ring_module_5" />
+  </subregion>
+<subregion name="SCT_disk4_ring6">
+    <range field="phi_module" minvalue="0" maxvalue="63" wraparound="TRUE" />
+    <range field="eta_module" minvalue="16" maxvalue="17" />
+    <reference subregion="SCT_ring_module_0" />
+  </subregion>
+  <subregion name="SCT_disk4_ring7">
+    <range field="phi_module" minvalue="0" maxvalue="63" wraparound="TRUE" />
+    <range field="eta_module" minvalue="18" maxvalue="19" />
+    <reference subregion="SCT_ring_module_1" />
+  </subregion>
+ 
+<!--disk5 -->
+
+ <subregion name="SCT_disk5_ring0">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="0" maxvalue="1" />
+    <reference subregion="SCT_ring_module_0" />
+  </subregion>
+  <subregion name="SCT_disk5_ring1">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="2" maxvalue="5" />
+    <reference subregion="SCT_ring_module_1" />
+  </subregion>
+  <subregion name="SCT_disk5_ring2">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="6" maxvalue="7" />
+    <reference subregion="SCT_ring_module_2" />
+  </subregion>
+  <subregion name="SCT_disk5_ring3">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="8" maxvalue="11" />
+    <reference subregion="SCT_ring_module_3" />
+  </subregion>
+<subregion name="SCT_disk5_ring4">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="12" maxvalue="13" />
+    <reference subregion="SCT_ring_module_4" />
+  </subregion>
+  <subregion name="SCT_disk5_ring5">
+    <range field="phi_module" minvalue="0" maxvalue="63" wraparound="TRUE" />
+    <range field="eta_module" minvalue="14" maxvalue="15" />
+    <reference subregion="SCT_ring_module_5" />
+  </subregion>
+<subregion name="SCT_disk5_ring6">
+    <range field="phi_module" minvalue="0" maxvalue="63" wraparound="TRUE" />
+    <range field="eta_module" minvalue="16" maxvalue="17" />
+    <reference subregion="SCT_ring_module_0" />
+  </subregion>
+  <subregion name="SCT_disk5_ring7">
+    <range field="phi_module" minvalue="0" maxvalue="63" wraparound="TRUE" />
+    <range field="eta_module" minvalue="18" maxvalue="19" />
+    <reference subregion="SCT_ring_module_1" />
+  </subregion>
+
+<!--disk6 -->
+
+ <subregion name="SCT_disk6_ring0">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="0" maxvalue="1" />
+    <reference subregion="SCT_ring_module_0" />
+  </subregion>
+  <subregion name="SCT_disk6_ring1">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="2" maxvalue="5" />
+    <reference subregion="SCT_ring_module_1" />
+  </subregion>
+  <subregion name="SCT_disk6_ring2">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="6" maxvalue="7" />
+    <reference subregion="SCT_ring_module_2" />
+  </subregion>
+  <subregion name="SCT_disk6_ring3">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="8" maxvalue="11" />
+    <reference subregion="SCT_ring_module_3" />
+  </subregion>
+<subregion name="SCT_disk6_ring4">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="12" maxvalue="13" />
+    <reference subregion="SCT_ring_module_4" />
+  </subregion>
+  <subregion name="SCT_disk6_ring5">
+    <range field="phi_module" minvalue="0" maxvalue="63" wraparound="TRUE" />
+    <range field="eta_module" minvalue="14" maxvalue="15" />
+    <reference subregion="SCT_ring_module_5" />
+  </subregion>
+<subregion name="SCT_disk6_ring6">
+    <range field="phi_module" minvalue="0" maxvalue="63" wraparound="TRUE" />
+    <range field="eta_module" minvalue="16" maxvalue="17" />
+    <reference subregion="SCT_ring_module_0" />
+  </subregion>
+  <subregion name="SCT_disk6_ring7">
+    <range field="phi_module" minvalue="0" maxvalue="63" wraparound="TRUE" />
+    <range field="eta_module" minvalue="18" maxvalue="19" />
+    <reference subregion="SCT_ring_module_1" />
+  </subregion>
+
+<!-- Disks definition-->
+<!-- first, the first 2 disks-->
+<!-- disk 0 -->
+   <region group="SCT_endcap"  name="SCT_endcap_disk0_ring0">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="0" />
+    <reference subregion="SCT_disk0_ring0" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk0_ring1">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="0" />
+    <reference subregion="SCT_disk0_ring1" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk0_ring2">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="0" />
+    <reference subregion="SCT_disk0_ring2" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk0_ring3">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="0" />
+    <reference subregion="SCT_disk0_ring3" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk0_ring4">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="0" />
+    <reference subregion="SCT_disk0_ring4" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk0_ring5">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="0" />
+    <reference subregion="SCT_disk0_ring5" />
+  </region>
+<region group="SCT_endcap"  name="SCT_endcap_disk0_ring6">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="0" />
+    <reference subregion="SCT_disk0_ring6" />
+  </region>
+<region group="SCT_endcap"  name="SCT_endcap_disk0_ring7">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="0" />
+    <reference subregion="SCT_disk0_ring7" />
+  </region>  
+
+<!-- disk 1 -->
+   <region group="SCT_endcap"  name="SCT_endcap_disk1_ring0">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="1" />
+    <reference subregion="SCT_disk1_ring0" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk1_ring1">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="1" />
+    <reference subregion="SCT_disk1_ring1" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk1_ring2">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="1" />
+    <reference subregion="SCT_disk1_ring2" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk1_ring3">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="1" />
+    <reference subregion="SCT_disk1_ring3" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk1_ring4">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="1" />
+    <reference subregion="SCT_disk1_ring4" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk1_ring5">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="1" />
+    <reference subregion="SCT_disk1_ring5" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk1_ring6">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="1" />
+    <reference subregion="SCT_disk1_ring6" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk1_ring7">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="1" />
+    <reference subregion="SCT_disk1_ring7" />
+  </region>
+<!--second, the rest 3 disks -->
+<!-- disk 2 -->
+   <region group="SCT_endcap"  name="SCT_endcap_disk2_ring0">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="2" />
+    <reference subregion="SCT_disk2_ring0" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk2_ring1">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="2" />
+    <reference subregion="SCT_disk2_ring1" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk2_ring2">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="2" />
+    <reference subregion="SCT_disk2_ring2" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk2_ring3">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="2" />
+    <reference subregion="SCT_disk2_ring3" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk2_ring4">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="2" />
+    <reference subregion="SCT_disk2_ring4" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk2_ring5">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="2" />
+    <reference subregion="SCT_disk2_ring5" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk2_ring6">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="2" />
+    <reference subregion="SCT_disk2_ring6" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk2_ring7">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="2" />
+    <reference subregion="SCT_disk2_ring7" />
+  </region>
+
+<!-- disk 3 -->
+   <region group="SCT_endcap"  name="SCT_endcap_disk3_ring0">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="3" />
+    <reference subregion="SCT_disk3_ring0" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk3_ring1">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="3" />
+    <reference subregion="SCT_disk3_ring1" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk3_ring2">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="3" />
+    <reference subregion="SCT_disk3_ring2" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk3_ring3">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="3" />
+    <reference subregion="SCT_disk3_ring3" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk3_ring4">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="3" />
+    <reference subregion="SCT_disk3_ring4" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk3_ring5">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="3" />
+    <reference subregion="SCT_disk3_ring5" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk3_ring6">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="3" />
+    <reference subregion="SCT_disk3_ring6" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk3_ring7">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="3" />
+    <reference subregion="SCT_disk3_ring7" />
+  </region>
+<!-- disk 4 -->
+   <region group="SCT_endcap"  name="SCT_endcap_disk4_ring0">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="4" />
+    <reference subregion="SCT_disk4_ring0" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk4_ring1">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="4" />
+    <reference subregion="SCT_disk4_ring1" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk4_ring2">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="4" />
+    <reference subregion="SCT_disk4_ring2" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk4_ring3">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="4" />
+    <reference subregion="SCT_disk4_ring3" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk4_ring4">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="4" />
+    <reference subregion="SCT_disk4_ring4" />
+  </region>
+ <region group="SCT_endcap"  name="SCT_endcap_disk4_ring5">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="4" />
+    <reference subregion="SCT_disk4_ring5" />
+  </region>
+ <region group="SCT_endcap"  name="SCT_endcap_disk4_ring6">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="4" />
+    <reference subregion="SCT_disk4_ring6" />
+  </region>
+ <region group="SCT_endcap"  name="SCT_endcap_disk4_ring7">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="4" />
+    <reference subregion="SCT_disk4_ring7" />
+  </region>
+<!-- disk 5 -->
+   <region group="SCT_endcap"  name="SCT_endcap_disk5_ring0">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="5" />
+    <reference subregion="SCT_disk5_ring0" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk5_ring1">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="5" />
+    <reference subregion="SCT_disk5_ring1" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk5_ring2">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="5" />
+    <reference subregion="SCT_disk5_ring2" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk5_ring3">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="5" />
+    <reference subregion="SCT_disk5_ring3" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk5_ring4">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="5" />
+    <reference subregion="SCT_disk5_ring4" />
+  </region>
+ <region group="SCT_endcap"  name="SCT_endcap_disk5_ring5">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="5" />
+    <reference subregion="SCT_disk5_ring5" />
+  </region>
+ <region group="SCT_endcap"  name="SCT_endcap_disk5_ring6">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="5" />
+    <reference subregion="SCT_disk5_ring6" />
+  </region>
+ <region group="SCT_endcap"  name="SCT_endcap_disk5_ring7">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="5" />
+    <reference subregion="SCT_disk5_ring7" />
+  </region>
+<!-- disk 6 -->
+   <region group="SCT_endcap"  name="SCT_endcap_disk6_ring0">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="6" />
+    <reference subregion="SCT_disk6_ring0" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk6_ring1">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="6" />
+    <reference subregion="SCT_disk6_ring1" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk6_ring2">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="6" />
+    <reference subregion="SCT_disk6_ring2" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk6_ring3">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="6" />
+    <reference subregion="SCT_disk6_ring3" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk6_ring4">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="6" />
+    <reference subregion="SCT_disk6_ring4" />
+  </region>
+ <region group="SCT_endcap"  name="SCT_endcap_disk6_ring5">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="6" />
+    <reference subregion="SCT_disk6_ring5" />
+  </region>
+ <region group="SCT_endcap"  name="SCT_endcap_disk6_ring6">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="6" />
+    <reference subregion="SCT_disk6_ring6" />
+  </region>
+ <region group="SCT_endcap"  name="SCT_endcap_disk6_ring7">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="6" />
+    <reference subregion="SCT_disk6_ring7" />
+  </region>
+</IdDictionary>
+
diff --git a/InnerDetector/InDetDetDescr/InDetIdDictFiles/data/IdDictInnerDetector_SLHC-24-24-dev4.xml b/InnerDetector/InDetDetDescr/InDetIdDictFiles/data/IdDictInnerDetector_SLHC-24-24-dev4.xml
new file mode 100644
index 0000000000000000000000000000000000000000..94b0a1b2f27270595e37052f484bc17e6b8f6786
--- /dev/null
+++ b/InnerDetector/InDetDetDescr/InDetIdDictFiles/data/IdDictInnerDetector_SLHC-24-24-dev4.xml
@@ -0,0 +1,1776 @@
+
+
+<!--
+
+   The InnerDetector identifier is arranged as follows
+
+   InnerDetector
+     part=Pixel
+       side=barrel
+         layer phi_module eta_module phi_index eta_index 
+       side=endcap
+         disk phi_module eta_module phi_index eta_index 
+
+     part=SCT
+       side=barrel
+         layer phi_module eta_module side strip
+       side=endcap
+         disk phi_module eta_module side strip
+
+     part=TRT
+       side=barrel
+         layer phi_module straw_layer straw
+       side=endcap
+         wheel phi_module straw_layer straw
+
+
+  -->
+
+<IdDictionary name="InnerDetector" version="SLHC">
+
+  <!--
+     Start by defining some symbolic labels used for some fields
+     (other fields will be specified by numeric ranges)
+   -->
+
+  <field name="part" >
+    <label name="Pixel"              value="1" />
+    <label name="SCT"                value="2" />
+  </field>
+
+  <field name="barrel_endcap">
+    <label name="negative_endcap" value="-2" />
+    <label name="negative_barrel" value="-1" />
+    <label name="barrel"          value="0" />
+    <label name="positive_barrel" value="+1"  />
+    <label name="positive_endcap" value="+2"  />
+  </field>
+
+  <!--
+
+      Pixel
+
+    -->
+
+  <!-- Dummy region: This forces the bit packing to be the same for all layouts -->
+
+  <region group="pixel" name = "dummy">
+    <range field="part" value="Pixel" />
+    <range field="barrel_endcap" values="negative_endcap barrel positive_endcap"/>
+    <range field="layer" minvalue="0" maxvalue="11"/>
+    <range field="phi_module" minvalue="0" maxvalue="59" />
+    <range field="eta_module" minvalue="-26" maxvalue="+26" />
+    <range field="phi_index" minvalue="0" maxvalue="1356" />
+    <!-- <range field="eta_index" minvalue="0" maxvalue="267" /> -->
+    <range field="eta_index" minvalue="0" maxvalue="1223" />
+  </region>
+
+  <!--
+      Define few subregions which are re-used in several id-ranges.
+   -->
+
+  <subregion name="pixel_barrel">
+    <range field="part" value="Pixel" />
+    <range field="barrel_endcap" value="barrel" />
+  </subregion>
+
+  <subregion name="pixel_endcap">
+    <range field="part" value="Pixel" />
+    <range field="barrel_endcap" values="negative_endcap positive_endcap" />
+  </subregion>
+
+  <subregion name="pixel_eta_module_inner">
+    <range field="phi_index" minvalue="0" maxvalue="683" />
+    <range field="eta_index" minvalue="0" maxvalue="267" />
+  </subregion>
+
+  <subregion name="pixel_eta_module_intermediate">
+    <range field="phi_index" minvalue="0" maxvalue="1356" />
+    <range field="eta_index" minvalue="0" maxvalue="267" />
+  </subregion>
+
+  <subregion name="pixel_eta_module_default">
+    <range field="phi_index" minvalue="0" maxvalue="677" />
+    <range field="eta_index" minvalue="0" maxvalue="159" />
+  </subregion>
+
+  <subregion name="pixel_eta_module_default_endcap">
+    <range field="phi_index" minvalue="0" maxvalue="335" />
+    <range field="eta_index" minvalue="0" maxvalue="408" />
+  </subregion>
+
+  <subregion name="pixel_eta_module_finedefault">
+    <range field="phi_index" minvalue="0" maxvalue="677" />
+    <range field="eta_index" minvalue="0" maxvalue="809" />
+  </subregion>
+  
+  <subregion name="pixel_eta_module_HEX">
+    <!-- <range field="phi_index" minvalue="0" maxvalue="677" /> -->
+    <!-- <range field="eta_index" minvalue="0" maxvalue="1226" /> -->
+    <range field="phi_index" minvalue="0" maxvalue="677" />
+    <range field="eta_index" minvalue="0" maxvalue="1223" />
+  </subregion>
+
+  <!-- Define negative and positive part separately since no eta=0 module -->
+  <subregion name="pixel_phi_barrel_module_negative_inner">
+    <range field="eta_module" minvalue="-11" maxvalue="-1" next_value="1" />
+    <reference subregion="pixel_eta_module_inner" />
+  </subregion>
+
+  <subregion name="pixel_phi_barrel_module_positive_inner">
+    <range field="eta_module" minvalue="1" maxvalue="11" prev_value="-1"/>
+    <reference subregion="pixel_eta_module_inner" />
+  </subregion>
+
+  <subregion name="pixel_phi_barrel_module_negative_intermediate">
+    <range field="eta_module" minvalue="-18" maxvalue="-1" next_value="1" />
+    <reference subregion="pixel_eta_module_intermediate" />
+  </subregion>
+
+  <subregion name="pixel_phi_barrel_module_positive_intermediate">
+    <range field="eta_module" minvalue="1" maxvalue="18" prev_value="-1"/>
+    <reference subregion="pixel_eta_module_intermediate" />
+  </subregion>
+
+  <subregion name="pixel_phi_barrel_module_outer">
+    <range field="eta_module" minvalue="-17" maxvalue="17" />
+    <reference subregion="pixel_eta_module_default" />
+  </subregion>
+
+<!--   <subregion name="pixel_phi_barrel_module_positive_outer"> -->
+<!--     <range field="eta_module" minvalue="1" maxvalue="17" /> -->
+<!--     <reference subregion="pixel_eta_module_default" /> -->
+<!--   </subregion> -->
+
+<!--   <subregion name="pixel_phi_barrel_module_negative_outer1"> -->
+<!--     <range field="eta_module" minvalue="-17" maxvalue="-1" /> -->
+<!--     <reference subregion="pixel_eta_module_default" /> -->
+<!--   </subregion> -->
+
+  <subregion name="pixel_phi_barrel_module_outer1">
+    <range field="eta_module" minvalue="-17" maxvalue="17" />
+    <reference subregion="pixel_eta_module_default" />
+  </subregion>
+
+  <!--subregion name="pixel_phi_endcap_module">
+    <range field="eta_module" value="0" />
+    <reference subregion="pixel_eta_module_default" />
+  </subregion-->
+
+  <!--
+    Then enumerate all the possible regions of the Pixel subdetector.
+    Each region corresponds to an identifier range.
+    -->
+
+  <!--
+    The follow region is the pixel b-layer. Normally, the correct
+    phi_index max should be 319, but we set it to 327 as for the other
+    layers to allow to calculate the pixel_id from SiDigit, i.e. using
+    the G3 numbering which is not completely correct. This should be a
+    temporary fix. Correct specif:
+    <range field="phi_index" minvalue="0" maxvalue="319" />
+    -->
+
+  <subregion name="pixel_layer0">
+    <range field="layer" value="0" />
+    <!-- <range field="phi_module" minvalue="0" maxvalue="15" wraparound="TRUE" /> -->
+    <range field="phi_module" minvalue="0" maxvalue="15" wraparound="TRUE" />
+  </subregion>
+
+  <subregion name="pixel_layer1">
+    <range field="layer" value="1" />
+    <range field="phi_module" minvalue="0" maxvalue="15" wraparound="TRUE" />
+  </subregion>
+
+  <subregion name="pixel_layer2">
+    <range field="layer" value="2" />
+    <!-- <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" /> -->
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+  </subregion>
+
+  <subregion name="pixel_layer3">
+    <range field="layer" value="3" />
+    <!-- <range field="phi_module" minvalue="0" maxvalue="39" wraparound="TRUE" /> -->
+    <range field="phi_module" minvalue="0" maxvalue="51" wraparound="TRUE" />
+  </subregion>
+
+  <region group="pixel" >
+    <reference subregion="pixel_barrel" />
+    <reference subregion="pixel_layer0" />
+    <reference subregion="pixel_phi_barrel_module_negative_inner" />
+  </region>
+
+  <region group="pixel" >
+    <reference subregion="pixel_barrel" />
+    <reference subregion="pixel_layer0" />
+    <reference subregion="pixel_phi_barrel_module_positive_inner" />
+  </region>
+
+  <region group="pixel" >
+    <reference subregion="pixel_barrel" />
+    <reference subregion="pixel_layer1" />
+    <reference subregion="pixel_phi_barrel_module_negative_intermediate" />
+  </region>
+
+  <region group="pixel" >
+    <reference subregion="pixel_barrel" />
+    <reference subregion="pixel_layer1" />
+    <reference subregion="pixel_phi_barrel_module_positive_intermediate" />
+  </region>
+
+  <region group="pixel" >
+    <reference subregion="pixel_barrel" />
+    <reference subregion="pixel_layer2" />
+    <reference subregion="pixel_phi_barrel_module_outer" />
+  </region>
+
+<!--   <region group="pixel" > -->
+<!--     <reference subregion="pixel_barrel" /> -->
+<!--     <reference subregion="pixel_layer2" /> -->
+<!--     <reference subregion="pixel_phi_barrel_module_positive_outer" /> -->
+<!--   </region> -->
+<!--   <region group="pixel" > -->
+<!--     <reference subregion="pixel_barrel" /> -->
+<!--     <reference subregion="pixel_layer3" /> -->
+<!--     <reference subregion="pixel_phi_barrel_module_negative_outer1" /> -->
+<!--   </region> -->
+
+  <region group="pixel" >
+    <reference subregion="pixel_barrel" />
+    <reference subregion="pixel_layer3" />
+    <reference subregion="pixel_phi_barrel_module_outer1" />
+  </region>
+
+  <!-- ==============   PIXEL ENDCAPS  ============
+       NOTE: For endcaps, one should think of eta_modules as the RINGS in each disk.
+       By convention, ring indices (hence eta_modules) increase from inner to outer,
+       therefore in opposite direction as the physics |eta|.
+    -->
+
+  <!-- Minus4, single 50*50 -->
+  <subregion name="pixel_ringType0">
+    <range field="phi_module" minvalue="0" maxvalue="21" wraparound="TRUE" />
+  </subregion>
+
+  <!-- Minus3, single 50*50 -->
+  <subregion name="pixel_ringType1">
+    <range field="phi_module" minvalue="0" maxvalue="29" wraparound="TRUE" />
+  </subregion>
+
+  <!-- Minus2, single 50*50 -->
+  <subregion name="pixel_ringType2">
+    <range field="phi_module" minvalue="0" maxvalue="37" wraparound="TRUE" />
+  </subregion>
+
+  <!-- Minus1, quad 50*50 -->
+  <subregion name="pixel_ringType3">
+    <range field="phi_module" minvalue="0" maxvalue="25" wraparound="TRUE" />
+  </subregion>
+
+  <!-- LoIInner, quad 50*50 -->
+  <subregion name="pixel_ringType4">
+    <range field="phi_module" minvalue="0" maxvalue="35" wraparound="TRUE" />
+  </subregion>
+
+  <!-- LoIMiddle, hex 50*50 -->
+  <subregion name="pixel_ringType5">
+    <range field="phi_module" minvalue="0" maxvalue="47" wraparound="TRUE" />
+  </subregion>
+
+  <!-- LoIOuter, hex 50*50 -->
+  <subregion name="pixel_ringType6">
+    <range field="phi_module" minvalue="0" maxvalue="59" wraparound="TRUE" />
+  </subregion>
+
+  <subregion name="pixel_ring0">
+    <range field="eta_module" value="0" />
+    <reference subregion="pixel_eta_module_default_endcap" />
+  </subregion>
+  <subregion name="pixel_ring1">
+    <range field="eta_module" value="1" />
+    <reference subregion="pixel_eta_module_default_endcap" />
+  </subregion>
+  <subregion name="pixel_ring2">
+    <range field="eta_module" value="2" />
+    <reference subregion="pixel_eta_module_default_endcap" />
+  </subregion>
+  <subregion name="pixel_ring3">
+    <range field="eta_module" value="3" />
+    <reference subregion="pixel_eta_module_finedefault" />
+  </subregion>
+  <subregion name="pixel_ring4">
+    <range field="eta_module" value="4" />
+    <reference subregion="pixel_eta_module_finedefault" />
+  </subregion>
+  <subregion name="pixel_ring5">
+    <range field="eta_module" value="5" />
+    <reference subregion="pixel_eta_module_HEX" />
+  </subregion>
+  <subregion name="pixel_ring6">
+    <range field="eta_module" value="6" />
+    <reference subregion="pixel_eta_module_HEX" />
+  </subregion>
+
+  <subregion name="pixel_ring7">
+    <range field="eta_module" value="0" />
+    <reference subregion="pixel_eta_module_default_endcap" />
+  </subregion>
+  <subregion name="pixel_ring8">
+    <range field="eta_module" value="1" />
+    <reference subregion="pixel_eta_module_default_endcap" />
+  </subregion>
+  <subregion name="pixel_ring9">
+    <range field="eta_module" value="2" />
+    <reference subregion="pixel_eta_module_finedefault" />
+  </subregion>
+  <subregion name="pixel_ring10">
+    <range field="eta_module" value="3" />
+    <reference subregion="pixel_eta_module_finedefault" />
+  </subregion>
+  <subregion name="pixel_ring11">
+    <range field="eta_module" value="4" />
+    <reference subregion="pixel_eta_module_HEX" />
+  </subregion>
+  <subregion name="pixel_ring12">
+    <range field="eta_module" value="5" />
+    <reference subregion="pixel_eta_module_HEX" />
+  </subregion>
+  
+  <!-- here for pixel disks -->
+
+  <!-- ==== Disk 0-->
+  <!-- Minus4, single 50*50 --> 
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="0" />
+    <reference subregion="pixel_ringType0" />
+    <reference subregion="pixel_ring0" />
+  </region>
+
+  <!-- Minus3, single 50*50 -->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="0" />
+    <reference subregion="pixel_ringType1" />
+    <reference subregion="pixel_ring1" />
+  </region>
+
+  <!-- Minus2, single 50*50 -->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="0" />
+    <reference subregion="pixel_ringType2" />
+    <reference subregion="pixel_ring2" />
+  </region>
+
+  <!-- Minus1, single 50*50 -->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="0" />
+    <reference subregion="pixel_ringType3" />
+    <reference subregion="pixel_ring3" />
+  </region>
+
+  <!-- LoIInner, quad 50*50 -->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="0" />
+    <reference subregion="pixel_ringType4" />
+    <reference subregion="pixel_ring4" />
+  </region>
+
+  <!-- LoIMiddle, hex 50*50 -->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="0" />
+    <reference subregion="pixel_ringType5" />
+    <reference subregion="pixel_ring5" />
+  </region>
+
+  <!-- LoIOuter, hex 50*50 -->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="0" />
+    <reference subregion="pixel_ringType6" />
+    <reference subregion="pixel_ring6" />
+  </region>
+
+  
+  <!-- ==== Disk 1-->
+   <!-- Minus4, single 50*50 --> 
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="1" />
+    <reference subregion="pixel_ringType0" />
+    <reference subregion="pixel_ring0" />
+  </region>
+
+  <!-- Minus3, single 50*50 -->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="1" />
+    <reference subregion="pixel_ringType1" />
+    <reference subregion="pixel_ring1" />
+  </region>
+
+  <!-- Minus2, single 50*50 -->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="1" />
+    <reference subregion="pixel_ringType2" />
+    <reference subregion="pixel_ring2" />
+  </region>
+
+  <!-- Minus1, single 50*50 -->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="1" />
+    <reference subregion="pixel_ringType3" />
+    <reference subregion="pixel_ring3" />
+  </region>
+
+  <!-- LoIInner, quad 50*50 -->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="1" />
+    <reference subregion="pixel_ringType4" />
+    <reference subregion="pixel_ring4" />
+  </region>
+
+  <!-- LoIMiddle, hex 50*50 -->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="1" />
+    <reference subregion="pixel_ringType5" />
+    <reference subregion="pixel_ring5" />
+  </region>
+
+  <!-- LoIOuter, hex 50*50 -->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="1" />
+    <reference subregion="pixel_ringType6" />
+    <reference subregion="pixel_ring6" />
+  </region>
+  
+  <!-- ==== Disk 2-->
+   <!-- Minus4, single 50*50 --> 
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="2" />
+    <reference subregion="pixel_ringType0" />
+    <reference subregion="pixel_ring0" />
+  </region>
+
+  <!-- Minus3, single 50*50 -->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="2" />
+    <reference subregion="pixel_ringType1" />
+    <reference subregion="pixel_ring1" />
+  </region>
+
+  <!-- Minus2, single 50*50 -->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="2" />
+    <reference subregion="pixel_ringType2" />
+    <reference subregion="pixel_ring2" />
+  </region>
+
+  <!-- Minus1, single 50*50 -->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="2" />
+    <reference subregion="pixel_ringType3" />
+    <reference subregion="pixel_ring3" />
+  </region>
+
+  <!-- LoIInner, quad 50*50 -->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="2" />
+    <reference subregion="pixel_ringType4" />
+    <reference subregion="pixel_ring4" />
+  </region>
+
+  <!-- LoIMiddle, hex 50*50 -->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="2" />
+    <reference subregion="pixel_ringType5" />
+    <reference subregion="pixel_ring5" />
+  </region>
+
+  <!-- LoIOuter, hex 50*50 -->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="2" />
+    <reference subregion="pixel_ringType6" />
+    <reference subregion="pixel_ring6" />
+  </region>
+
+  <!-- ==== Disk 3-->
+   <!-- Minus4, single 50*50 --> 
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="3" />
+    <reference subregion="pixel_ringType0" />
+    <reference subregion="pixel_ring0" />
+  </region>
+
+  <!-- Minus3, single 50*50 -->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="3" />
+    <reference subregion="pixel_ringType1" />
+    <reference subregion="pixel_ring1" />
+  </region>
+
+  <!-- Minus2, single 50*50 -->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="3" />
+    <reference subregion="pixel_ringType2" />
+    <reference subregion="pixel_ring2" />
+  </region>
+
+  <!-- Minus1, single 50*50 -->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="3" />
+    <reference subregion="pixel_ringType3" />
+    <reference subregion="pixel_ring3" />
+  </region>
+
+  <!-- LoIInner, quad 50*50 -->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="3" />
+    <reference subregion="pixel_ringType4" />
+    <reference subregion="pixel_ring4" />
+  </region>
+
+  <!-- LoIMiddle, hex 50*50 -->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="3" />
+    <reference subregion="pixel_ringType5" />
+    <reference subregion="pixel_ring5" />
+  </region>
+
+  <!-- LoIOuter, hex 50*50 -->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="3" />
+    <reference subregion="pixel_ringType6" />
+    <reference subregion="pixel_ring6" />
+  </region>
+  
+ <!-- ==== Disk 4-->
+   <!-- Minus4, single 50*50 --> 
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="4" />
+    <reference subregion="pixel_ringType0" />
+    <reference subregion="pixel_ring0" />
+  </region>
+
+  <!-- Minus3, single 50*50 -->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="4" />
+    <reference subregion="pixel_ringType1" />
+    <reference subregion="pixel_ring1" />
+  </region>
+
+  <!-- Minus2, single 50*50 -->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="4" />
+    <reference subregion="pixel_ringType2" />
+    <reference subregion="pixel_ring2" />
+  </region>
+
+  <!-- Minus1, single 50*50 -->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="4" />
+    <reference subregion="pixel_ringType3" />
+    <reference subregion="pixel_ring3" />
+  </region>
+
+  <!-- LoIInner, quad 50*50 -->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="4" />
+    <reference subregion="pixel_ringType4" />
+    <reference subregion="pixel_ring4" />
+  </region>
+
+  <!-- LoIMiddle, hex 50*50 -->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="4" />
+    <reference subregion="pixel_ringType5" />
+    <reference subregion="pixel_ring5" />
+  </region>
+
+  <!-- LoIOuter, hex 50*50 -->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="4" />
+    <reference subregion="pixel_ringType6" />
+    <reference subregion="pixel_ring6" />
+  </region>
+
+  <!-- ==== Disk 5-->
+  <!-- Minus4, single 50*50 --> 
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="5" />
+    <reference subregion="pixel_ringType0" />
+    <reference subregion="pixel_ring0" />
+  </region>
+
+  <!-- Minus3, single 50*50 -->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="5" />
+    <reference subregion="pixel_ringType1" />
+    <reference subregion="pixel_ring1" />
+  </region>
+
+  <!-- Minus2, single 50*50 -->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="5" />
+    <reference subregion="pixel_ringType2" />
+    <reference subregion="pixel_ring2" />
+  </region>
+
+  <!-- Minus1, single 50*50 -->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="5" />
+    <reference subregion="pixel_ringType3" />
+    <reference subregion="pixel_ring3" />
+  </region>
+
+  <!-- LoIInner, quad 50*50 -->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="5" />
+    <reference subregion="pixel_ringType4" />
+    <reference subregion="pixel_ring4" />
+  </region>
+
+  <!-- LoIMiddle, hex 50*50 -->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="5" />
+    <reference subregion="pixel_ringType5" />
+    <reference subregion="pixel_ring5" />
+  </region>
+
+  <!-- LoIOuter, hex 50*50 -->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="5" />
+    <reference subregion="pixel_ringType6" />
+    <reference subregion="pixel_ring6" />
+  </region>
+
+  <!-- ==== Disk 6-->
+  <!-- Minus4, single 50*50 --> 
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="6" />
+    <reference subregion="pixel_ringType0" />
+    <reference subregion="pixel_ring0" />
+  </region>
+
+  <!-- Minus3, single 50*50 -->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="6" />
+    <reference subregion="pixel_ringType1" />
+    <reference subregion="pixel_ring1" />
+  </region>
+
+  <!-- Minus2, single 50*50 -->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="6" />
+    <reference subregion="pixel_ringType2" />
+    <reference subregion="pixel_ring2" />
+  </region>
+
+  <!-- Minus1, single 50*50 -->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="6" />
+    <reference subregion="pixel_ringType3" />
+    <reference subregion="pixel_ring3" />
+  </region>
+
+  <!-- LoIInner, quad 50*50 -->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="6" />
+    <reference subregion="pixel_ringType4" />
+    <reference subregion="pixel_ring4" />
+  </region>
+
+  <!-- LoIMiddle, hex 50*50 -->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="6" />
+    <reference subregion="pixel_ringType5" />
+    <reference subregion="pixel_ring5" />
+  </region>
+
+  <!-- LoIOuter, hex 50*50 -->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="6" />
+    <reference subregion="pixel_ringType6" />
+    <reference subregion="pixel_ring6" />
+  </region>
+
+   <!-- ==== Disk 7-->
+   <!-- Minus4, single 50*50 --> 
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="7" />
+    <reference subregion="pixel_ringType0" />
+    <reference subregion="pixel_ring0" />
+  </region>
+
+  <!-- Minus3, single 50*50 -->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="7" />
+    <reference subregion="pixel_ringType1" />
+    <reference subregion="pixel_ring1" />
+  </region>
+
+  <!-- Minus2, single 50*50 -->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="7" />
+    <reference subregion="pixel_ringType2" />
+    <reference subregion="pixel_ring2" />
+  </region>
+
+  <!-- Minus1, single 50*50 -->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="7" />
+    <reference subregion="pixel_ringType3" />
+    <reference subregion="pixel_ring3" />
+  </region>
+
+  <!-- LoIInner, quad 50*50 -->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="7" />
+    <reference subregion="pixel_ringType4" />
+    <reference subregion="pixel_ring4" />
+  </region>
+
+  <!-- LoIMiddle, hex 50*50 -->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="7" />
+    <reference subregion="pixel_ringType5" />
+    <reference subregion="pixel_ring5" />
+  </region>
+
+  <!-- LoIOuter, hex 50*50 -->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="7" />
+    <reference subregion="pixel_ringType6" />
+    <reference subregion="pixel_ring6" />
+  </region>
+
+  <!-- ==== Disk 8-->
+  <!-- Minus3, single 50*50 -->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="8" />
+    <reference subregion="pixel_ringType1" />
+    <reference subregion="pixel_ring7" />
+  </region>
+
+  <!-- Minus2, single 50*50 -->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="8" />
+    <reference subregion="pixel_ringType2" />
+    <reference subregion="pixel_ring8" />
+  </region>
+
+  <!-- Minus1, single 50*50 -->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="8" />
+    <reference subregion="pixel_ringType3" />
+    <reference subregion="pixel_ring9" />
+  </region>
+
+  <!-- LoIInner, quad 50*50 -->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="8" />
+    <reference subregion="pixel_ringType4" />
+    <reference subregion="pixel_ring10" />
+  </region>
+
+  <!-- LoIMiddle, hex 50*50 -->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="8" />
+    <reference subregion="pixel_ringType5" />
+    <reference subregion="pixel_ring11" />
+  </region>
+
+  <!-- LoIOuter, hex 50*50 -->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="8" />
+    <reference subregion="pixel_ringType6" />
+    <reference subregion="pixel_ring12" />
+  </region>
+
+  <!-- ==== Disk 9-->
+  <!-- Minus3, single 50*50 -->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="9" />
+    <reference subregion="pixel_ringType1" />
+    <reference subregion="pixel_ring7" />
+  </region>
+
+  <!-- Minus2, single 50*50 -->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="9" />
+    <reference subregion="pixel_ringType2" />
+    <reference subregion="pixel_ring8" />
+  </region>
+
+  <!-- Minus1, single 50*50 -->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="9" />
+    <reference subregion="pixel_ringType3" />
+    <reference subregion="pixel_ring9" />
+  </region>
+
+  <!-- LoIInner, quad 50*50 -->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="9" />
+    <reference subregion="pixel_ringType4" />
+    <reference subregion="pixel_ring10" />
+  </region>
+
+  <!-- LoIMiddle, hex 50*50 -->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="9" />
+    <reference subregion="pixel_ringType5" />
+    <reference subregion="pixel_ring11" />
+  </region>
+
+  <!-- LoIOuter, hex 50*50 -->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="9" />
+    <reference subregion="pixel_ringType6" />
+    <reference subregion="pixel_ring12" />
+  </region>
+
+  <!-- ==== Disk 10 -->
+  <!-- Minus3, single 50*50 -->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="10" />
+    <reference subregion="pixel_ringType1" />
+    <reference subregion="pixel_ring7" />
+  </region>
+
+  <!-- Minus2, single 50*50 -->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="10" />
+    <reference subregion="pixel_ringType2" />
+    <reference subregion="pixel_ring8" />
+  </region>
+
+  <!-- Minus1, single 50*50 -->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="10" />
+    <reference subregion="pixel_ringType3" />
+    <reference subregion="pixel_ring9" />
+  </region>
+
+  <!-- LoIInner, quad 50*50 -->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="10" />
+    <reference subregion="pixel_ringType4" />
+    <reference subregion="pixel_ring10" />
+  </region>
+
+  <!-- LoIMiddle, hex 50*50 -->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="10" />
+    <reference subregion="pixel_ringType5" />
+    <reference subregion="pixel_ring11" />
+  </region>
+
+  <!-- LoIOuter, hex 50*50 -->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="10" />
+    <reference subregion="pixel_ringType6" />
+    <reference subregion="pixel_ring12" />
+  </region>
+
+
+  <!-- ==== Disk 11-->
+  <!-- Minus3, single 50*50 -->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="11" />
+    <reference subregion="pixel_ringType1" />
+    <reference subregion="pixel_ring7" />
+  </region>
+
+  <!-- Minus2, single 50*50 -->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="11" />
+    <reference subregion="pixel_ringType2" />
+    <reference subregion="pixel_ring8" />
+  </region>
+
+  <!-- Minus1, single 50*50 -->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="11" />
+    <reference subregion="pixel_ringType3" />
+    <reference subregion="pixel_ring9" />
+  </region>
+
+  <!-- LoIInner, quad 50*50 -->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="11" />
+    <reference subregion="pixel_ringType4" />
+    <reference subregion="pixel_ring10" />
+  </region>
+
+  <!-- LoIMiddle, hex 50*50 -->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="11" />
+    <reference subregion="pixel_ringType5" />
+    <reference subregion="pixel_ring11" />
+  </region>
+
+  <!-- LoIOuter, hex 50*50 -->
+  <region group="pixel" >
+    <reference subregion="pixel_endcap" />
+    <range field="disk" value="11" />
+    <reference subregion="pixel_ringType6" />
+    <reference subregion="pixel_ring12" />
+  </region>
+
+ 
+
+  
+  <!--
+
+      SCT
+
+    -->
+
+  <!-- dummy -->
+  <region group="sct" name="dummy">
+    <range field="part" value="SCT" />
+    <range field="barrel_endcap" values="negative_endcap barrel positive_endcap" />
+    <range field="layer" minvalue="0" maxvalue="12" />
+    <range field="phi_module" minvalue="0" maxvalue="71" />
+    <range field="eta_module" minvalue="-52" maxvalue="-1" />
+    <range field="side" minvalue="0" maxvalue="1" />
+    <range field="strip" minvalue="0" maxvalue="1537" />
+  </region>
+
+
+  <subregion name="SCT_barrel">
+    <range field="part" value="SCT" />
+    <range field="barrel_endcap" value="barrel" />
+  </subregion>
+
+  <subregion name="SCT_endcap">
+    <range field="part" value="SCT" />
+    <range field="barrel_endcap" values="negative_endcap positive_endcap" />
+  </subregion>
+
+ <subregion name="SCT_eta_module_intermediate">
+    <range field="side" minvalue="0" maxvalue="1" />
+    <range field="strip" minvalue="0" maxvalue="1279" />
+ </subregion>
+
+ <subregion name="SCT_eta_module_outer">
+    <range field="side" minvalue="0" maxvalue="1" />
+    <range field="strip" minvalue="0" maxvalue="1279" />
+ </subregion>
+
+<!-- SCT Negative Side -->
+  <subregion name="SCT_phi_negative_barrel_module_intermediate">
+    <range field="eta_module" minvalue="-52" maxvalue="-1" next_value="1" /> 
+    <reference subregion="SCT_eta_module_intermediate" />
+  </subregion>
+
+  <subregion name="SCT_phi_negative_barrel_module_outer">
+    <range field="eta_module" minvalue="-26" maxvalue="-1" next_value="1" />
+    <reference subregion="SCT_eta_module_outer" />
+  </subregion>
+
+ <subregion name="SCT_phi_negative_barrel_module_stub">
+    <range field="eta_module" minvalue="-4" maxvalue="-1" next_value="1" />
+    <reference subregion="SCT_eta_module_outer" />
+  </subregion>
+
+
+<!-- SCT Intermediate layers -->
+  <region>
+    <reference subregion="SCT_barrel" />
+    <range field="layer" value="0" />
+    <range field="phi_module" minvalue="0" maxvalue="27" wraparound="TRUE" />
+    <reference subregion="SCT_phi_negative_barrel_module_intermediate" />
+  </region>
+  <region>
+    <reference subregion="SCT_barrel" />
+    <range field="layer" value="1" />
+    <range field="phi_module" minvalue="0" maxvalue="35" wraparound="TRUE" />
+    <reference subregion="SCT_phi_negative_barrel_module_intermediate" />
+  </region>
+  <region>
+    <reference subregion="SCT_barrel" />
+    <range field="layer" value="2" />
+    <range field="phi_module" minvalue="0" maxvalue="43" wraparound="TRUE" />
+    <reference subregion="SCT_phi_negative_barrel_module_intermediate" />
+  </region>
+  <region>
+<!-- SCT outer layers -->
+    <reference subregion="SCT_barrel" />
+    <range field="layer" value="3" />
+    <range field="phi_module" minvalue="0" maxvalue="55" wraparound="TRUE" />
+    <reference subregion="SCT_phi_negative_barrel_module_outer" />
+  </region>
+  <region>
+   <reference subregion="SCT_barrel" />
+    <range field="layer" value="4" />
+    <range field="phi_module" minvalue="0" maxvalue="63" wraparound="TRUE" />
+    <reference subregion="SCT_phi_negative_barrel_module_stub" />
+  </region>
+  <region>
+    <reference subregion="SCT_barrel" />
+    <range field="layer" value="5" />
+    <range field="phi_module" minvalue="0" maxvalue="71" wraparound="TRUE" />
+    <reference subregion="SCT_phi_negative_barrel_module_outer" />
+  </region>
+
+
+<!-- SCT Positive Side -->
+  <subregion name="SCT_phi_positive_barrel_module_intermediate">
+    <range field="eta_module" minvalue="+1" maxvalue="+52" prev_value="-1" /> 
+    <reference subregion="SCT_eta_module_intermediate" />
+  </subregion>
+
+  <subregion name="SCT_phi_positive_barrel_module_outer">
+    <range field="eta_module" minvalue="+1" maxvalue="+26" prev_value="-1" />
+    <reference subregion="SCT_eta_module_outer" />
+  </subregion>
+
+ <subregion name="SCT_phi_positive_barrel_module_stub">
+    <range field="eta_module" minvalue="+1" maxvalue="+4" prev_value="-1" />
+    <reference subregion="SCT_eta_module_outer" />
+  </subregion>
+<!-- SCT Intermediate layers -->
+  <region>
+    <reference subregion="SCT_barrel" />
+    <range field="layer" value="0" />
+    <range field="phi_module" minvalue="0" maxvalue="27" wraparound="TRUE" />
+    <reference subregion="SCT_phi_positive_barrel_module_intermediate" />
+  </region>
+  <region>
+    <reference subregion="SCT_barrel" />
+    <range field="layer" value="1" />
+    <range field="phi_module" minvalue="0" maxvalue="35" wraparound="TRUE" />
+    <reference subregion="SCT_phi_positive_barrel_module_intermediate" />
+  </region>
+  <region>
+    <reference subregion="SCT_barrel" />
+    <range field="layer" value="2" />
+    <range field="phi_module" minvalue="0" maxvalue="43" wraparound="TRUE" />
+    <reference subregion="SCT_phi_positive_barrel_module_intermediate" />
+  </region>
+  <region>
+<!-- SCT outer layers -->
+    <reference subregion="SCT_barrel" />
+    <range field="layer" value="3" />
+    <range field="phi_module" minvalue="0" maxvalue="55" wraparound="TRUE" />
+    <reference subregion="SCT_phi_positive_barrel_module_outer" />
+  </region>
+  <region> 
+    <reference subregion="SCT_barrel" />
+    <range field="layer" value="4" />
+    <range field="phi_module" minvalue="0" maxvalue="63" wraparound="TRUE" />
+    <reference subregion="SCT_phi_positive_barrel_module_stub" />
+  </region>
+  <region>
+    <reference subregion="SCT_barrel" />
+    <range field="layer" value="5" />
+    <range field="phi_module" minvalue="0" maxvalue="71" wraparound="TRUE" />
+    <reference subregion="SCT_phi_positive_barrel_module_outer" />
+  </region>
+
+
+
+
+<!-- rings modules defintion -->
+ <subregion name="SCT_ring_module_0">
+    <range field="side" minvalue="0" maxvalue="1" />
+    <range field="strip" minvalue="0" maxvalue="1025" />
+  </subregion>
+ <subregion name="SCT_ring_module_1">
+    <range field="side" minvalue="0" maxvalue="1" />
+    <range field="strip" minvalue="0" maxvalue="1153" />
+  </subregion>
+ <subregion name="SCT_ring_module_2">
+    <range field="side" minvalue="0" maxvalue="1" />
+    <range field="strip" minvalue="0" maxvalue="1281" />
+  </subregion>
+<subregion name="SCT_ring_module_3">
+    <range field="side" minvalue="0" maxvalue="1" />
+    <range field="strip" minvalue="0" maxvalue="1409" />
+  </subregion>
+<subregion name="SCT_ring_module_4">
+    <range field="side" minvalue="0" maxvalue="1" />
+    <range field="strip" minvalue="0" maxvalue="1537" />
+  </subregion>
+<subregion name="SCT_ring_module_5">
+    <range field="side" minvalue="0" maxvalue="1" />
+    <range field="strip" minvalue="0" maxvalue="897" />
+  </subregion>
+
+<!--rings defintion -->
+<!--first, rings entring the first 2 disks: same length barrel: the first two disks are similar the the 3rd disk -->
+<!--Disk 0 -->
+
+  <subregion name="SCT_disk0_ring0">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="0" maxvalue="1" />
+    <reference subregion="SCT_ring_module_0" />
+  </subregion>
+  <subregion name="SCT_disk0_ring1">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="2" maxvalue="5" />
+    <reference subregion="SCT_ring_module_1" />
+  </subregion>
+  <subregion name="SCT_disk0_ring2">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="6" maxvalue="7" />
+    <reference subregion="SCT_ring_module_2" />
+  </subregion>
+  <subregion name="SCT_disk0_ring3">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="8" maxvalue="11" />
+    <reference subregion="SCT_ring_module_3" />
+  </subregion>
+<subregion name="SCT_disk0_ring4">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="12" maxvalue="13" />
+    <reference subregion="SCT_ring_module_4" />
+  </subregion>
+  <subregion name="SCT_disk0_ring5">
+    <range field="phi_module" minvalue="0" maxvalue="63" wraparound="TRUE" />
+    <range field="eta_module" minvalue="14" maxvalue="15" />
+    <reference subregion="SCT_ring_module_5" />
+  </subregion>
+<subregion name="SCT_disk0_ring6">
+    <range field="phi_module" minvalue="0" maxvalue="63" wraparound="TRUE" />
+    <range field="eta_module" minvalue="16" maxvalue="17" />
+    <reference subregion="SCT_ring_module_0" />
+  </subregion>
+  <subregion name="SCT_disk0_ring7">
+    <range field="phi_module" minvalue="0" maxvalue="63" wraparound="TRUE" />
+    <range field="eta_module" minvalue="18" maxvalue="19" />
+    <reference subregion="SCT_ring_module_1" />
+  </subregion>
+
+
+<!--Disk 1 -->
+
+ <subregion name="SCT_disk1_ring0">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="0" maxvalue="1" />
+    <reference subregion="SCT_ring_module_0" />
+  </subregion>
+  <subregion name="SCT_disk1_ring1">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="2" maxvalue="5" />
+    <reference subregion="SCT_ring_module_1" />
+  </subregion>
+  <subregion name="SCT_disk1_ring2">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="6" maxvalue="7" />
+    <reference subregion="SCT_ring_module_2" />
+  </subregion>
+  <subregion name="SCT_disk1_ring3">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="8" maxvalue="11" />
+    <reference subregion="SCT_ring_module_3" />
+  </subregion>
+<subregion name="SCT_disk1_ring4">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="12" maxvalue="13" />
+    <reference subregion="SCT_ring_module_4" />
+  </subregion>
+  <subregion name="SCT_disk1_ring5">
+    <range field="phi_module" minvalue="0" maxvalue="63" wraparound="TRUE" />
+    <range field="eta_module" minvalue="14" maxvalue="15" />
+    <reference subregion="SCT_ring_module_5" />
+  </subregion>
+<subregion name="SCT_disk1_ring6">
+    <range field="phi_module" minvalue="0" maxvalue="63" wraparound="TRUE" />
+    <range field="eta_module" minvalue="16" maxvalue="17" />
+    <reference subregion="SCT_ring_module_0" />
+  </subregion>
+  <subregion name="SCT_disk1_ring7">
+    <range field="phi_module" minvalue="0" maxvalue="63" wraparound="TRUE" />
+    <range field="eta_module" minvalue="18" maxvalue="19" />
+    <reference subregion="SCT_ring_module_1" />
+  </subregion>
+
+
+<!--second, rings entring the rest 3 disks -->
+<!--disk2 -->
+ 
+  <subregion name="SCT_disk2_ring0">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="0" maxvalue="1" />
+    <reference subregion="SCT_ring_module_0" />
+  </subregion>
+  <subregion name="SCT_disk2_ring1">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="2" maxvalue="5" />
+    <reference subregion="SCT_ring_module_1" />
+  </subregion>
+  <subregion name="SCT_disk2_ring2">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="6" maxvalue="7" />
+    <reference subregion="SCT_ring_module_2" />
+  </subregion>
+  <subregion name="SCT_disk2_ring3">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="8" maxvalue="11" />
+    <reference subregion="SCT_ring_module_3" />
+  </subregion>
+<subregion name="SCT_disk2_ring4">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="12" maxvalue="13" />
+    <reference subregion="SCT_ring_module_4" />
+  </subregion>
+  <subregion name="SCT_disk2_ring5">
+    <range field="phi_module" minvalue="0" maxvalue="63" wraparound="TRUE" />
+    <range field="eta_module" minvalue="14" maxvalue="15" />
+    <reference subregion="SCT_ring_module_5" />
+  </subregion>
+<subregion name="SCT_disk2_ring6">
+    <range field="phi_module" minvalue="0" maxvalue="63" wraparound="TRUE" />
+    <range field="eta_module" minvalue="16" maxvalue="17" />
+    <reference subregion="SCT_ring_module_0" />
+  </subregion>
+  <subregion name="SCT_disk2_ring7">
+    <range field="phi_module" minvalue="0" maxvalue="63" wraparound="TRUE" />
+    <range field="eta_module" minvalue="18" maxvalue="19" />
+    <reference subregion="SCT_ring_module_1" />
+  </subregion>
+
+<!--disk3 -->
+
+ <subregion name="SCT_disk3_ring0">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="0" maxvalue="1" />
+    <reference subregion="SCT_ring_module_0" />
+  </subregion>
+  <subregion name="SCT_disk3_ring1">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="2" maxvalue="5" />
+    <reference subregion="SCT_ring_module_1" />
+  </subregion>
+  <subregion name="SCT_disk3_ring2">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="6" maxvalue="7" />
+    <reference subregion="SCT_ring_module_2" />
+  </subregion>
+  <subregion name="SCT_disk3_ring3">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="8" maxvalue="11" />
+    <reference subregion="SCT_ring_module_3" />
+  </subregion>
+<subregion name="SCT_disk3_ring4">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="12" maxvalue="13" />
+    <reference subregion="SCT_ring_module_4" />
+  </subregion>
+  <subregion name="SCT_disk3_ring5">
+    <range field="phi_module" minvalue="0" maxvalue="63" wraparound="TRUE" />
+    <range field="eta_module" minvalue="14" maxvalue="15" />
+    <reference subregion="SCT_ring_module_5" />
+  </subregion>
+<subregion name="SCT_disk3_ring6">
+    <range field="phi_module" minvalue="0" maxvalue="63" wraparound="TRUE" />
+    <range field="eta_module" minvalue="16" maxvalue="17" />
+    <reference subregion="SCT_ring_module_0" />
+  </subregion>
+  <subregion name="SCT_disk3_ring7">
+    <range field="phi_module" minvalue="0" maxvalue="63" wraparound="TRUE" />
+    <range field="eta_module" minvalue="18" maxvalue="19" />
+    <reference subregion="SCT_ring_module_1" />
+  </subregion>
+
+
+<!--disk4 -->
+ 
+ <subregion name="SCT_disk4_ring0">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="0" maxvalue="1" />
+    <reference subregion="SCT_ring_module_0" />
+  </subregion>
+  <subregion name="SCT_disk4_ring1">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="2" maxvalue="5" />
+    <reference subregion="SCT_ring_module_1" />
+  </subregion>
+  <subregion name="SCT_disk4_ring2">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="6" maxvalue="7" />
+    <reference subregion="SCT_ring_module_2" />
+  </subregion>
+  <subregion name="SCT_disk4_ring3">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="8" maxvalue="11" />
+    <reference subregion="SCT_ring_module_3" />
+  </subregion>
+<subregion name="SCT_disk4_ring4">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="12" maxvalue="13" />
+    <reference subregion="SCT_ring_module_4" />
+  </subregion>
+  <subregion name="SCT_disk4_ring5">
+    <range field="phi_module" minvalue="0" maxvalue="63" wraparound="TRUE" />
+    <range field="eta_module" minvalue="14" maxvalue="15" />
+    <reference subregion="SCT_ring_module_5" />
+  </subregion>
+<subregion name="SCT_disk4_ring6">
+    <range field="phi_module" minvalue="0" maxvalue="63" wraparound="TRUE" />
+    <range field="eta_module" minvalue="16" maxvalue="17" />
+    <reference subregion="SCT_ring_module_0" />
+  </subregion>
+  <subregion name="SCT_disk4_ring7">
+    <range field="phi_module" minvalue="0" maxvalue="63" wraparound="TRUE" />
+    <range field="eta_module" minvalue="18" maxvalue="19" />
+    <reference subregion="SCT_ring_module_1" />
+  </subregion>
+ 
+<!--disk5 -->
+
+ <subregion name="SCT_disk5_ring0">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="0" maxvalue="1" />
+    <reference subregion="SCT_ring_module_0" />
+  </subregion>
+  <subregion name="SCT_disk5_ring1">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="2" maxvalue="5" />
+    <reference subregion="SCT_ring_module_1" />
+  </subregion>
+  <subregion name="SCT_disk5_ring2">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="6" maxvalue="7" />
+    <reference subregion="SCT_ring_module_2" />
+  </subregion>
+  <subregion name="SCT_disk5_ring3">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="8" maxvalue="11" />
+    <reference subregion="SCT_ring_module_3" />
+  </subregion>
+<subregion name="SCT_disk5_ring4">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="12" maxvalue="13" />
+    <reference subregion="SCT_ring_module_4" />
+  </subregion>
+  <subregion name="SCT_disk5_ring5">
+    <range field="phi_module" minvalue="0" maxvalue="63" wraparound="TRUE" />
+    <range field="eta_module" minvalue="14" maxvalue="15" />
+    <reference subregion="SCT_ring_module_5" />
+  </subregion>
+<subregion name="SCT_disk5_ring6">
+    <range field="phi_module" minvalue="0" maxvalue="63" wraparound="TRUE" />
+    <range field="eta_module" minvalue="16" maxvalue="17" />
+    <reference subregion="SCT_ring_module_0" />
+  </subregion>
+  <subregion name="SCT_disk5_ring7">
+    <range field="phi_module" minvalue="0" maxvalue="63" wraparound="TRUE" />
+    <range field="eta_module" minvalue="18" maxvalue="19" />
+    <reference subregion="SCT_ring_module_1" />
+  </subregion>
+
+<!--disk6 -->
+
+ <subregion name="SCT_disk6_ring0">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="0" maxvalue="1" />
+    <reference subregion="SCT_ring_module_0" />
+  </subregion>
+  <subregion name="SCT_disk6_ring1">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="2" maxvalue="5" />
+    <reference subregion="SCT_ring_module_1" />
+  </subregion>
+  <subregion name="SCT_disk6_ring2">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="6" maxvalue="7" />
+    <reference subregion="SCT_ring_module_2" />
+  </subregion>
+  <subregion name="SCT_disk6_ring3">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="8" maxvalue="11" />
+    <reference subregion="SCT_ring_module_3" />
+  </subregion>
+<subregion name="SCT_disk6_ring4">
+    <range field="phi_module" minvalue="0" maxvalue="31" wraparound="TRUE" />
+    <range field="eta_module" minvalue="12" maxvalue="13" />
+    <reference subregion="SCT_ring_module_4" />
+  </subregion>
+  <subregion name="SCT_disk6_ring5">
+    <range field="phi_module" minvalue="0" maxvalue="63" wraparound="TRUE" />
+    <range field="eta_module" minvalue="14" maxvalue="15" />
+    <reference subregion="SCT_ring_module_5" />
+  </subregion>
+<subregion name="SCT_disk6_ring6">
+    <range field="phi_module" minvalue="0" maxvalue="63" wraparound="TRUE" />
+    <range field="eta_module" minvalue="16" maxvalue="17" />
+    <reference subregion="SCT_ring_module_0" />
+  </subregion>
+  <subregion name="SCT_disk6_ring7">
+    <range field="phi_module" minvalue="0" maxvalue="63" wraparound="TRUE" />
+    <range field="eta_module" minvalue="18" maxvalue="19" />
+    <reference subregion="SCT_ring_module_1" />
+  </subregion>
+
+<!-- Disks definition-->
+<!-- first, the first 2 disks-->
+<!-- disk 0 -->
+   <region group="SCT_endcap"  name="SCT_endcap_disk0_ring0">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="0" />
+    <reference subregion="SCT_disk0_ring0" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk0_ring1">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="0" />
+    <reference subregion="SCT_disk0_ring1" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk0_ring2">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="0" />
+    <reference subregion="SCT_disk0_ring2" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk0_ring3">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="0" />
+    <reference subregion="SCT_disk0_ring3" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk0_ring4">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="0" />
+    <reference subregion="SCT_disk0_ring4" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk0_ring5">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="0" />
+    <reference subregion="SCT_disk0_ring5" />
+  </region>
+<region group="SCT_endcap"  name="SCT_endcap_disk0_ring6">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="0" />
+    <reference subregion="SCT_disk0_ring6" />
+  </region>
+<region group="SCT_endcap"  name="SCT_endcap_disk0_ring7">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="0" />
+    <reference subregion="SCT_disk0_ring7" />
+  </region>  
+
+<!-- disk 1 -->
+   <region group="SCT_endcap"  name="SCT_endcap_disk1_ring0">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="1" />
+    <reference subregion="SCT_disk1_ring0" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk1_ring1">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="1" />
+    <reference subregion="SCT_disk1_ring1" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk1_ring2">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="1" />
+    <reference subregion="SCT_disk1_ring2" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk1_ring3">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="1" />
+    <reference subregion="SCT_disk1_ring3" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk1_ring4">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="1" />
+    <reference subregion="SCT_disk1_ring4" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk1_ring5">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="1" />
+    <reference subregion="SCT_disk1_ring5" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk1_ring6">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="1" />
+    <reference subregion="SCT_disk1_ring6" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk1_ring7">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="1" />
+    <reference subregion="SCT_disk1_ring7" />
+  </region>
+<!--second, the rest 3 disks -->
+<!-- disk 2 -->
+   <region group="SCT_endcap"  name="SCT_endcap_disk2_ring0">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="2" />
+    <reference subregion="SCT_disk2_ring0" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk2_ring1">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="2" />
+    <reference subregion="SCT_disk2_ring1" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk2_ring2">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="2" />
+    <reference subregion="SCT_disk2_ring2" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk2_ring3">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="2" />
+    <reference subregion="SCT_disk2_ring3" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk2_ring4">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="2" />
+    <reference subregion="SCT_disk2_ring4" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk2_ring5">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="2" />
+    <reference subregion="SCT_disk2_ring5" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk2_ring6">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="2" />
+    <reference subregion="SCT_disk2_ring6" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk2_ring7">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="2" />
+    <reference subregion="SCT_disk2_ring7" />
+  </region>
+
+<!-- disk 3 -->
+   <region group="SCT_endcap"  name="SCT_endcap_disk3_ring0">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="3" />
+    <reference subregion="SCT_disk3_ring0" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk3_ring1">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="3" />
+    <reference subregion="SCT_disk3_ring1" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk3_ring2">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="3" />
+    <reference subregion="SCT_disk3_ring2" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk3_ring3">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="3" />
+    <reference subregion="SCT_disk3_ring3" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk3_ring4">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="3" />
+    <reference subregion="SCT_disk3_ring4" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk3_ring5">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="3" />
+    <reference subregion="SCT_disk3_ring5" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk3_ring6">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="3" />
+    <reference subregion="SCT_disk3_ring6" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk3_ring7">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="3" />
+    <reference subregion="SCT_disk3_ring7" />
+  </region>
+<!-- disk 4 -->
+   <region group="SCT_endcap"  name="SCT_endcap_disk4_ring0">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="4" />
+    <reference subregion="SCT_disk4_ring0" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk4_ring1">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="4" />
+    <reference subregion="SCT_disk4_ring1" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk4_ring2">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="4" />
+    <reference subregion="SCT_disk4_ring2" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk4_ring3">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="4" />
+    <reference subregion="SCT_disk4_ring3" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk4_ring4">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="4" />
+    <reference subregion="SCT_disk4_ring4" />
+  </region>
+ <region group="SCT_endcap"  name="SCT_endcap_disk4_ring5">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="4" />
+    <reference subregion="SCT_disk4_ring5" />
+  </region>
+ <region group="SCT_endcap"  name="SCT_endcap_disk4_ring6">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="4" />
+    <reference subregion="SCT_disk4_ring6" />
+  </region>
+ <region group="SCT_endcap"  name="SCT_endcap_disk4_ring7">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="4" />
+    <reference subregion="SCT_disk4_ring7" />
+  </region>
+<!-- disk 5 -->
+   <region group="SCT_endcap"  name="SCT_endcap_disk5_ring0">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="5" />
+    <reference subregion="SCT_disk5_ring0" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk5_ring1">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="5" />
+    <reference subregion="SCT_disk5_ring1" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk5_ring2">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="5" />
+    <reference subregion="SCT_disk5_ring2" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk5_ring3">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="5" />
+    <reference subregion="SCT_disk5_ring3" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk5_ring4">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="5" />
+    <reference subregion="SCT_disk5_ring4" />
+  </region>
+ <region group="SCT_endcap"  name="SCT_endcap_disk5_ring5">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="5" />
+    <reference subregion="SCT_disk5_ring5" />
+  </region>
+ <region group="SCT_endcap"  name="SCT_endcap_disk5_ring6">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="5" />
+    <reference subregion="SCT_disk5_ring6" />
+  </region>
+ <region group="SCT_endcap"  name="SCT_endcap_disk5_ring7">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="5" />
+    <reference subregion="SCT_disk5_ring7" />
+  </region>
+<!-- disk 6 -->
+   <region group="SCT_endcap"  name="SCT_endcap_disk6_ring0">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="6" />
+    <reference subregion="SCT_disk6_ring0" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk6_ring1">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="6" />
+    <reference subregion="SCT_disk6_ring1" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk6_ring2">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="6" />
+    <reference subregion="SCT_disk6_ring2" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk6_ring3">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="6" />
+    <reference subregion="SCT_disk6_ring3" />
+  </region>
+  <region group="SCT_endcap"  name="SCT_endcap_disk6_ring4">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="6" />
+    <reference subregion="SCT_disk6_ring4" />
+  </region>
+ <region group="SCT_endcap"  name="SCT_endcap_disk6_ring5">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="6" />
+    <reference subregion="SCT_disk6_ring5" />
+  </region>
+ <region group="SCT_endcap"  name="SCT_endcap_disk6_ring6">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="6" />
+    <reference subregion="SCT_disk6_ring6" />
+  </region>
+ <region group="SCT_endcap"  name="SCT_endcap_disk6_ring7">
+    <reference subregion="SCT_endcap" />
+    <range field="disk" value="6" />
+    <reference subregion="SCT_disk6_ring7" />
+  </region>
+</IdDictionary>
+