From 0c2319fe92937e0ad30bfe4dbf2c2d4a90c27a35 Mon Sep 17 00:00:00 2001
From: Wouter Deconinck <wdconinc@gmail.com>
Date: Tue, 27 Jul 2021 15:32:40 -0500
Subject: [PATCH] Updated crystal placement per calorimetry group request

---
 compact/ce_ecal_crystal_glass.xml | 76 ++++++++++++++++---------------
 scripts/ce_ecal_placement.py      | 21 +++++----
 2 files changed, 50 insertions(+), 47 deletions(-)

diff --git a/compact/ce_ecal_crystal_glass.xml b/compact/ce_ecal_crystal_glass.xml
index cead6102..27068c69 100644
--- a/compact/ce_ecal_crystal_glass.xml
+++ b/compact/ce_ecal_crystal_glass.xml
@@ -25,47 +25,49 @@
         <lines sector="1" mirrorx="true" mirrory="true">
           <module sizex="CrystalModule_sx" sizey="CrystalModule_sy" sizez="CrystalModule_sz" material="PbWO4" vis="AnlTeal"/>
           <wrapper thickness="CrystalModule_wrap" material="Epoxy" vis="WhiteVis"/>
-          <line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*1/2." z="CrystalModule_z0" begin="7" nmods="17"/>
-          <line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*3/2." z="CrystalModule_z0" begin="7" nmods="17"/>
-          <line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*5/2." z="CrystalModule_z0" begin="7" nmods="17"/>
-          <line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*7/2." z="CrystalModule_z0" begin="6" nmods="18"/>
-          <line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*9/2." z="CrystalModule_z0" begin="6" nmods="18"/>
-          <line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*11/2." z="CrystalModule_z0" begin="5" nmods="19"/>
-          <line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*13/2." z="CrystalModule_z0" begin="3" nmods="19"/>
-          <line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*15/2." z="CrystalModule_z0" begin="0" nmods="22"/>
-          <line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*17/2." z="CrystalModule_z0" begin="0" nmods="22"/>
-          <line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*19/2." z="CrystalModule_z0" begin="0" nmods="22"/>
-          <line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*21/2." z="CrystalModule_z0" begin="0" nmods="22"/>
-          <line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*23/2." z="CrystalModule_z0" begin="0" nmods="22"/>
-          <line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*25/2." z="CrystalModule_z0" begin="0" nmods="20"/>
-          <line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*27/2." z="CrystalModule_z0" begin="0" nmods="20"/>
-          <line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*29/2." z="CrystalModule_z0" begin="0" nmods="18"/>
-          <line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*31/2." z="CrystalModule_z0" begin="0" nmods="18"/>
-          <line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*33/2." z="CrystalModule_z0" begin="0" nmods="16"/>
-          <line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*35/2." z="CrystalModule_z0" begin="0" nmods="16"/>
-          <line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*37/2." z="CrystalModule_z0" begin="0" nmods="14"/>
-          <line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*39/2." z="CrystalModule_z0" begin="0" nmods="14"/>
-          <line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*41/2." z="CrystalModule_z0" begin="0" nmods="12"/>
-          <line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*43/2." z="CrystalModule_z0" begin="0" nmods="12"/>
-          <line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*45/2." z="CrystalModule_z0" begin="0" nmods="6"/>
-          <line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*47/2." z="CrystalModule_z0" begin="0" nmods="6"/>
+          <line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*1/2." z="CrystalModule_z0" begin="5" nmods="21"/>
+          <line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*3/2." z="CrystalModule_z0" begin="5" nmods="21"/>
+          <line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*5/2." z="CrystalModule_z0" begin="5" nmods="21"/>
+          <line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*7/2." z="CrystalModule_z0" begin="4" nmods="22"/>
+          <line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*9/2." z="CrystalModule_z0" begin="3" nmods="23"/>
+          <line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*11/2." z="CrystalModule_z0" begin="0" nmods="26"/>
+          <line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*13/2." z="CrystalModule_z0" begin="0" nmods="24"/>
+          <line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*15/2." z="CrystalModule_z0" begin="0" nmods="24"/>
+          <line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*17/2." z="CrystalModule_z0" begin="0" nmods="24"/>
+          <line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*19/2." z="CrystalModule_z0" begin="0" nmods="24"/>
+          <line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*21/2." z="CrystalModule_z0" begin="0" nmods="24"/>
+          <line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*23/2." z="CrystalModule_z0" begin="0" nmods="24"/>
+          <line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*25/2." z="CrystalModule_z0" begin="0" nmods="22"/>
+          <line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*27/2." z="CrystalModule_z0" begin="0" nmods="22"/>
+          <line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*29/2." z="CrystalModule_z0" begin="0" nmods="20"/>
+          <line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*31/2." z="CrystalModule_z0" begin="0" nmods="20"/>
+          <line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*33/2." z="CrystalModule_z0" begin="0" nmods="18"/>
+          <line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*35/2." z="CrystalModule_z0" begin="0" nmods="18"/>
+          <line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*37/2." z="CrystalModule_z0" begin="0" nmods="16"/>
+          <line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*39/2." z="CrystalModule_z0" begin="0" nmods="16"/>
+          <line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*41/2." z="CrystalModule_z0" begin="0" nmods="14"/>
+          <line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*43/2." z="CrystalModule_z0" begin="0" nmods="14"/>
+          <line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*45/2." z="CrystalModule_z0" begin="0" nmods="12"/>
+          <line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*47/2." z="CrystalModule_z0" begin="0" nmods="12"/>
+          <line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*49/2." z="CrystalModule_z0" begin="0" nmods="6"/>
+          <line axis="x" x="CrystalModule_dx/2." y="CrystalModule_dy*51/2." z="CrystalModule_z0" begin="0" nmods="6"/>
         </lines>
         <lines sector="2" mirrorx="true" mirrory="true">
           <module sizex="GlassModule_sx" sizey="GlassModule_sy" sizez="GlassModule_sz" material="PbGlass" vis="AnlBlue"/>
           <wrapper thickness="GlassModule_wrap" material="Epoxy" vis="WhiteVis"/>
-          <line axis="x" x="GlassModule_dx/2." y="GlassModule_dy*1/2." z="GlassModule_z0" begin="12" nmods="11"/>
-          <line axis="x" x="GlassModule_dx/2." y="GlassModule_dy*3/2." z="GlassModule_z0" begin="12" nmods="11"/>
-          <line axis="x" x="GlassModule_dx/2." y="GlassModule_dy*5/2." z="GlassModule_z0" begin="12" nmods="11"/>
-          <line axis="x" x="GlassModule_dx/2." y="GlassModule_dy*7/2." z="GlassModule_z0" begin="11" nmods="11"/>
-          <line axis="x" x="GlassModule_dx/2." y="GlassModule_dy*9/2." z="GlassModule_z0" begin="11" nmods="11"/>
-          <line axis="x" x="GlassModule_dx/2." y="GlassModule_dy*11/2." z="GlassModule_z0" begin="11" nmods="11"/>
-          <line axis="x" x="GlassModule_dx/2." y="GlassModule_dy*13/2." z="GlassModule_z0" begin="10" nmods="12"/>
-          <line axis="x" x="GlassModule_dx/2." y="GlassModule_dy*15/2." z="GlassModule_z0" begin="9" nmods="12"/>
-          <line axis="x" x="GlassModule_dx/2." y="GlassModule_dy*17/2." z="GlassModule_z0" begin="8" nmods="13"/>
-          <line axis="x" x="GlassModule_dx/2." y="GlassModule_dy*19/2." z="GlassModule_z0" begin="7" nmods="14"/>
-          <line axis="x" x="GlassModule_dx/2." y="GlassModule_dy*21/2." z="GlassModule_z0" begin="6" nmods="14"/>
-          <line axis="x" x="GlassModule_dx/2." y="GlassModule_dy*23/2." z="GlassModule_z0" begin="3" nmods="16"/>
-          <line axis="x" x="GlassModule_dx/2." y="GlassModule_dy*25/2." z="GlassModule_z0" begin="0" nmods="19"/>
+          <line axis="x" x="GlassModule_dx/2." y="GlassModule_dy*1/2." z="GlassModule_z0" begin="13" nmods="10"/>
+          <line axis="x" x="GlassModule_dx/2." y="GlassModule_dy*3/2." z="GlassModule_z0" begin="13" nmods="10"/>
+          <line axis="x" x="GlassModule_dx/2." y="GlassModule_dy*5/2." z="GlassModule_z0" begin="13" nmods="10"/>
+          <line axis="x" x="GlassModule_dx/2." y="GlassModule_dy*7/2." z="GlassModule_z0" begin="12" nmods="10"/>
+          <line axis="x" x="GlassModule_dx/2." y="GlassModule_dy*9/2." z="GlassModule_z0" begin="12" nmods="10"/>
+          <line axis="x" x="GlassModule_dx/2." y="GlassModule_dy*11/2." z="GlassModule_z0" begin="12" nmods="10"/>
+          <line axis="x" x="GlassModule_dx/2." y="GlassModule_dy*13/2." z="GlassModule_z0" begin="11" nmods="11"/>
+          <line axis="x" x="GlassModule_dx/2." y="GlassModule_dy*15/2." z="GlassModule_z0" begin="10" nmods="11"/>
+          <line axis="x" x="GlassModule_dx/2." y="GlassModule_dy*17/2." z="GlassModule_z0" begin="9" nmods="12"/>
+          <line axis="x" x="GlassModule_dx/2." y="GlassModule_dy*19/2." z="GlassModule_z0" begin="8" nmods="13"/>
+          <line axis="x" x="GlassModule_dx/2." y="GlassModule_dy*21/2." z="GlassModule_z0" begin="7" nmods="13"/>
+          <line axis="x" x="GlassModule_dx/2." y="GlassModule_dy*23/2." z="GlassModule_z0" begin="6" nmods="14"/>
+          <line axis="x" x="GlassModule_dx/2." y="GlassModule_dy*25/2." z="GlassModule_z0" begin="3" nmods="16"/>
           <line axis="x" x="GlassModule_dx/2." y="GlassModule_dy*27/2." z="GlassModule_z0" begin="0" nmods="18"/>
           <line axis="x" x="GlassModule_dx/2." y="GlassModule_dy*29/2." z="GlassModule_z0" begin="0" nmods="18"/>
           <line axis="x" x="GlassModule_dx/2." y="GlassModule_dy*31/2." z="GlassModule_z0" begin="0" nmods="16"/>
diff --git a/scripts/ce_ecal_placement.py b/scripts/ce_ecal_placement.py
index 642181dd..e5c24eaf 100644
--- a/scripts/ce_ecal_placement.py
+++ b/scripts/ce_ecal_placement.py
@@ -18,21 +18,22 @@ from matplotlib.patches import Rectangle, Circle
 CRYSTAL_SIZE = (20., 20., 200.) # mm
 CRYSTAL_GAP = 0.5 # mm
 CRYSTAL_ALIGNMENT = [
-    (7, 17), (7, 17), (7, 17), (6, 18),
-    (6, 18), (5, 19), (3, 19), (0, 22),
-    (0, 22), (0, 22), (0, 22), (0, 22),
-    (0, 20), (0, 20), (0, 18), (0, 18),
-    (0, 16), (0, 16), (0, 14), (0, 14),
-    (0, 12), (0, 12), (0, 6),  (0, 6),
+    (5, 21), (5, 21), (5, 21), (4, 22),
+    (3, 23), (0, 26), (0, 24), (0, 24),
+    (0, 24), (0, 24), (0, 24), (0, 24),
+    (0, 22), (0, 22), (0, 20), (0, 20),
+    (0, 18), (0, 18), (0, 16), (0, 16),
+    (0, 14), (0, 14), (0, 12), (0, 12),
+    (0,  6), (0,  6),
 ]
 
 GLASS_SIZE = (40., 40., 400.) # mm
 GLASS_GAP = 1.0 # mm
 GLASS_ALIGNMENT = [
-    (12, 11), (12, 11), (12, 11), (11, 11),
-    (11, 11), (11, 11), (10, 12), (9, 12),
-    (8, 13),  (7, 14),  (6, 14),  (3, 16),
-    (0, 19),  (0, 18),  (0, 18),  (0, 16),
+    (13, 10), (13, 10), (13, 10), (12, 10),
+    (12, 10), (12, 10), (11, 11), (10, 11),
+    (9, 12),  (8, 13),  (7, 13),  (6, 14),
+    (3, 16),  (0, 18),  (0, 18),  (0, 16),
     (0, 16),  (0, 14),  (0, 13),  (0, 11),
     (0, 10),  (0, 7),   (0, 3),
 ]
-- 
GitLab