From 9de84acaa4018acad20726380f1c2ec7ad5b9217 Mon Sep 17 00:00:00 2001
From: Jihee Kim <jihee.kim@anl.gov>
Date: Tue, 1 Feb 2022 19:46:28 +0000
Subject: [PATCH] Resolve "Update ZDC HCAL geometry"

---
 ip6/far_forward_ZDC_Ecal_WSciFi.xml |  4 ++--
 ip6/far_forward_ZDC_Hcal.xml        | 22 ++++++----------------
 ip6/far_forward_detectors.xml       | 10 +++++-----
 3 files changed, 13 insertions(+), 23 deletions(-)

diff --git a/ip6/far_forward_ZDC_Ecal_WSciFi.xml b/ip6/far_forward_ZDC_Ecal_WSciFi.xml
index 301a672..ae88587 100644
--- a/ip6/far_forward_ZDC_Ecal_WSciFi.xml
+++ b/ip6/far_forward_ZDC_Ecal_WSciFi.xml
@@ -18,7 +18,7 @@
       name="ffi_ZDC_ECAL"
       type="ZDCEcalScFiCalorimeter"
       vis="ffi_ZDC_ECAL_Vis"
-      readout="ffi_ZDC_ECAL_Hits">
+      readout="ZDCEcalHits">
       <position x="ffi_ZDC_ECAL_x_pos" y="ffi_ZDC_ECAL_y_pos" z="ffi_ZDC_ECAL_z_pos"/>
       <rotation x="ffi_ZDC_ECAL_rotateX_angle" y="ffi_ZDC_ECAL_rotateY_angle" z="ffi_ZDC_ECAL_rotateZ_angle"/>
       <dimensions x="ffi_ZDC_ECAL_width" z="ffi_ZDC_ECAL_length"/>
@@ -33,7 +33,7 @@
   </detectors>
 
   <readouts>
-    <readout name="ffi_ZDC_ECAL_Hits">
+    <readout name="ZDCEcalHits">
       <segmentation type="NoSegmentation"/>
       <id>system:8,module:28,fiber_x:8,fiber_y:8</id>
     </readout>
diff --git a/ip6/far_forward_ZDC_Hcal.xml b/ip6/far_forward_ZDC_Hcal.xml
index aabac9e..98b2f21 100644
--- a/ip6/far_forward_ZDC_Hcal.xml
+++ b/ip6/far_forward_ZDC_Hcal.xml
@@ -1,13 +1,13 @@
 <lccdd>
   <comment>
-    //////////////////////////////////////////////////
+    ///////////////////////////////////////////////////////////
     // Far Forward Ion Zero Degree Calorimeter
-    // Silicon/W for Hcal
-    //////////////////////////////////////////////////
+    // Pb + Scintillator (Pb/Sci) sandwich sampling  for Hcal
+    ///////////////////////////////////////////////////////////
   </comment>        
 
   <detectors>
-    <detector id="ffi_ZDC_HCAL_ID" name="ffi_ZDC_HCAL" type="ffi_ZDC_Sampling" readout="ffi_ZDC_HCAL_Hits" vis="ffi_ZDC_HCAL_Vis">
+    <detector id="ffi_ZDC_HCAL_ID" name="ffi_ZDC_HCAL" type="ffi_ZDC_Sampling" readout="ZDCHcalHits" vis="ffi_ZDC_HCAL_Vis">
       <position x="ffi_ZDC_HCAL_x_pos" y="ffi_ZDC_HCAL_y_pos" z="ffi_ZDC_HCAL_z_pos"/>
       <rotation x="ffi_ZDC_HCAL_rotateX_angle" y="ffi_ZDC_HCAL_rotateY_angle" z="ffi_ZDC_HCAL_rotateZ_angle"/>
       <dimensions x="ffi_ZDC_HCAL_width" z="ffi_ZDC_HCAL_length"/>
@@ -19,19 +19,9 @@
     </detector>
   </detectors>
 
-  <define>
-    <constant name="ZDC_HCAL_PbScintMin_index"   value="1" />
-    <constant name="ZDC_HCAL_PbScintMax_index"   value="ZDC_HCAL_PbScintMin_index + ffi_ZDC_PbScint_NRepeat - 1" />
-  </define>
-
   <readouts>
-    <readout name="ffi_ZDC_HCAL_Hits">
-      <segmentation type="MultiSegmentation" key="layer">
-        <segmentation name="Scint_grid" type="CartesianGridXY" key_min="ZDC_HCAL_PbScintMin_index" key_max="ZDC_HCAL_PbScintMax_index" grid_size_x="10.0*cm" grid_size_y="10.0*cm"/>
-      </segmentation>
-      <hits_collections>
-        <hits_collection name="ffiZDCPbScintHits" key="layer" key_min="ZDC_HCAL_PbScintMin_index" key_max="ZDC_HCAL_PbScintMax_index"/>
-      </hits_collections>
+    <readout name="ZDCHcalHits">
+      <segmentation type="CartesianGridXY" grid_size_x="10.0 * cm" grid_size_y="10.0 * cm"/>
       <id>system:8,layer:12,slice:12,x:32:-16,y:-16</id>  
     </readout>
   </readouts>
diff --git a/ip6/far_forward_detectors.xml b/ip6/far_forward_detectors.xml
index ca5790f..0b4f51b 100644
--- a/ip6/far_forward_detectors.xml
+++ b/ip6/far_forward_detectors.xml
@@ -30,10 +30,10 @@
     <constant name="ffi_ZDC_ECAL_rotateZ_angle"   value="ffi_ZDC_rotateZ_angle"/>
     <constant name="ffi_ZDC_ECAL_width"           value="ffi_ZDC_width"/>
 
-    <constant name="ffi_ZDC_SiWSciFi_NRepeat"      value="1"/>
+    <constant name="ffi_ZDC_SiWSciFi_NRepeat"     value="1"/>
     
     <constant name="ffi_ZDC_Silicon_1_Thickness"  value="300.0 * um"/>
-    <constant name="ffi_ZDC_WSciFi_Thickness"      value="170.0 * mm"/> <!-- length of WSciFi tower block -->
+    <constant name="ffi_ZDC_WSciFi_Thickness"     value="170.0 * mm"/> <!-- length of WSciFi tower block -->
     <constant name="ffi_ZDC_Glue_1_Thickness"     value="0.11 * mm"/>
     <constant name="ffi_ZDC_FPC_Thickness"        value="0.28 * mm"/>
     <constant name="ffi_ZDC_Air_1_Thickness"      value="1.2 * mm"/>
@@ -41,7 +41,7 @@
 
     <constant name="ffi_ZDC_ECAL_layer_thickness" value="ffi_ZDC_Silicon_1_Thickness + ffi_ZDC_Glue_1_Thickness + ffi_ZDC_FPC_Thickness +                                                                        ffi_ZDC_Air_1_Thickness + ffi_ZDC_WSciFi_Thickness + ffi_ZDC_Air_2_Thickness"/>
     <!--<constant name="ffi_ZDC_ECAL_length"          value="ffi_ZDC_SiWSciFi_NRepeat * ffi_ZDC_ECAL_layer_thickness"/>-->
-    <constant name="ffi_ZDC_ECAL_length"          value="170.0 * mm"/>
+    <constant name="ffi_ZDC_ECAL_length"          value="170.0 * mm"/> <!-- 1 interaction length -->
 
     <comment>
       -------------------------------
@@ -58,7 +58,7 @@
     <constant name="ffi_ZDC_HCAL_length"          value="ffi_ZDC_length"/>
 
     <constant name="ffi_ZDC_SiPb_NRepeat"         value="0"/> <!-- changed from 12 -->
-    <constant name="ffi_ZDC_PbScint_NRepeat"      value="35"/>
+    <constant name="ffi_ZDC_PbScint_NRepeat"      value="120"/> <!-- 7 interaction length -->
     <constant name="ffi_ZDC_Gap_NRepeat"          value="0"/>
     
     <constant name="ffi_ZDC_Silicon_2_Thickness"  value="320.0 * um"/>
@@ -67,7 +67,7 @@
     <constant name="ffi_ZDC_Air_3_Thickness"      value="1.0 * mm"/>
     <constant name="ffi_ZDC_Air_4_Thickness"      value="0.0013 * mm"/>
     <constant name="ffi_ZDC_Lead_Thickness"       value="10.0 * mm"/>
-    <constant name="ffi_ZDC_Scint_Thickness"      value="2.0 * mm"/>
+    <constant name="ffi_ZDC_Scint_Thickness"      value="2.5 * mm"/> <!-- a quarter of Lead thickness -->
     <constant name="ffi_ZDC_Gap_Thickness"        value="2.0 * cm"/>
   </define>
 
-- 
GitLab