From 93b1da844575595cc5354e36bdf150ad5810e878 Mon Sep 17 00:00:00 2001 From: Sylvester Joosten <sjoosten@anl.gov> Date: Fri, 15 Nov 2024 15:59:06 -0500 Subject: [PATCH 1/3] Special debug configuration of the BIC with only the first tracking layer enabled --- compact/ecal/bic/bic_layer1_only.xml | 190 ++++++++++++++++++ compact/ecal/bic_6layers.xml | 2 +- compact/ecal/bic_layer1_only.xml | 17 ++ configurations/craterlake_bic_layer1_only.yml | 38 ++++ 4 files changed, 246 insertions(+), 1 deletion(-) create mode 100644 compact/ecal/bic/bic_layer1_only.xml create mode 100644 compact/ecal/bic_layer1_only.xml create mode 100644 configurations/craterlake_bic_layer1_only.yml diff --git a/compact/ecal/bic/bic_layer1_only.xml b/compact/ecal/bic/bic_layer1_only.xml new file mode 100644 index 000000000..6e5c965da --- /dev/null +++ b/compact/ecal/bic/bic_layer1_only.xml @@ -0,0 +1,190 @@ +<!-- SPDX-License-Identifier: LGPL-3.0-or-later --> +<!-- Copyright (C) 2022 Whitney Armstrong, Chao Peng, Maria Zurek, Jihee Kim --> +<!-- Active AstroPix layers: 1-3-4-6 --> + + +<lccdd> + + <display> + </display> + <define> + <comment> + --------------------------------------- + EM Calorimeter Parameters with AstroPix + THIS IS A SPECIAL VERSION WITH ONLY THE FIRST IMAGING LAYER ENABLED + FOR TRACKING DEBUG PURPOSES ONLY + --------------------------------------- + </comment> + <comment> + To change the number of imaging layer slots from, e.g., 9 to 6, + change EcalBarrelImagingLayers_nMax variable. Note that this does NOT change the + number of silicon frames, as each silicon frame and layer is placed manually. + + This file assumes the EcalBarrel_enable_staves_N variables have been defined to allow + changing the configuration by enabling/disabling staves + </comment> + <!-- Number of imaging layer slots --> + <constant name="EcalBarrelImagingLayers_num" value="1"/> + <comment> + Active part of the calorimeter is + 435 cm long + -41.25 cm offset + </comment> + <constant name="EcalBarrel_Calorimeter_zmin" + value="min(258.75*cm, EcalBarrelBackward_zmax)"/> + <constant name="EcalBarrel_Calorimeter_zmax" + value="min(176.25*cm, EcalBarrelForward_zmax)"/> + <constant name="EcalBarrel_Readout_zmin" value="273.75*cm"/> + <constant name="EcalBarrel_Readout_zmax" value="191.25*cm"/> + <constant name="EcalBarrel_Calorimeter_length" + value="EcalBarrel_Calorimeter_zmax + EcalBarrel_Calorimeter_zmin"/> + <constant name="EcalBarrel_Calorimeter_offset" + value="(EcalBarrel_Calorimeter_zmax - EcalBarrel_Calorimeter_zmin)/2.0"/> + + <constant name="EcalBarrel_FrontSupportThickness" value="0.5*cm"/> + <constant name="EcalBarrel_BackSupportThickness" value="3*cm"/> + <constant name="EcalBarrel_SiliconThickness" value="500*um"/> + <constant name="EcalBarrel_ElectronicsThickness" value="150*um"/> + <constant name="EcalBarrel_CopperThickness" value="100*um"/> + <constant name="EcalBarrel_KaptonThickness" value="200*um"/> + <constant name="EcalBarrel_EpoxyThickness" value="100*um"/> + <constant name="EcalBarrel_CarbonFrameThickness" value="2*mm"/> + <constant name="EcalBarrel_CarbonStaveThickness" value="0.5*mm"/> + + <constant name="EcalBarrel_AstroPix_width" value="2*cm"/> + <constant name="EcalBarrel_AstroPix_length" value="2*cm"/> + <constant name="EcalBarrel_AstroPix_margin" value="200*um"/> + <constant name="EcalBarrel_AstroPix_thickness" + value="EcalBarrel_SiliconThickness + + EcalBarrel_ElectronicsThickness + + EcalBarrel_CopperThickness + + EcalBarrel_KaptonThickness + + EcalBarrel_EpoxyThickness"/> + + <constant name="EcalBarrel_Stave_width" value="EcalBarrel_AstroPix_width + 2. * EcalBarrel_AstroPix_margin"/> + <constant name="EcalBarrel_Stave_length" value="EcalBarrel_Calorimeter_length"/> + <constant name="EcalBarrel_Stave_thickness" value="EcalBarrel_AstroPix_thickness + EcalBarrel_CarbonStaveThickness"/> + <constant name="EcalBarrel_StaveTilt_angle" value="10*degree"/> + <constant name="EcalBarrel_Stave_ModuleRepeat" value="floor(EcalBarrel_Calorimeter_length / (EcalBarrel_AstroPix_length + EcalBarrel_AstroPix_margin))"/> + + <constant name="EcalBarrel_FiberRadius" value="0.5*mm"/> + <constant name="EcalBarrel_FiberXSpacing" value="1.34*mm"/> + <constant name="EcalBarrel_FiberZSpacing" value="1.22*mm"/> + <constant name="EcalBarrel_CladdingThickness" value="0.04*mm"/> + <constant name="EcalBarrel_SpaceBetween" value="0.01*mm"/> + <comment> + For Pb/SiFi (GlueX): X0 ~ 1.45 cm + For W/SiFi (sPHENIX): X0 ~ 0.7 cm (but different fiber orientation) + </comment> + <constant name="EcalBarrel_RadiatorThickness" value="EcalBarrel_FiberZSpacing * 17"/> + <constant name="EcalBarrel_TotalFiberLayers_num" value="12"/> + <constant name="EcalBarrel_RadiatorEdgeThickness" value="0.61*mm"/> + <constant name="EcalBarrel_SectorRepeat" value="EcalBarrelSectorsN"/> + <constant name="EcalBarrel_AvailThickness" value="EcalBarrelRegion_thickness - EcalBarrel_BackSupportThickness - EcalBarrel_FrontSupportThickness"/> + + <constant name="EcalBarrel_ImagingLayerThickness" value="1.7*cm"/> + + <constant name="EcalBarrel_ImagingLayerThickness_WithoutFrame" + value="EcalBarrel_ImagingLayerThickness + - 2*EcalBarrel_CarbonFrameThickness"/> + + <constant name="EcalBarrel_ScFiLayerThickness_Imaging" + value="EcalBarrel_RadiatorThickness + 2*EcalBarrel_RadiatorEdgeThickness"/> + + <comment> + Adjusting size of the ScFi back chunk to match number of imaging layers + and ~17.1 radiation lengths in total + </comment> + <constant name="EcalBarrel_FiberBulkLayers_num" value = "EcalBarrel_TotalFiberLayers_num-EcalBarrelImagingLayers_num+1"/> + + <constant name="EcalBarrel_ImagingPartThickness" + value="EcalBarrelImagingLayers_num * (EcalBarrel_ImagingLayerThickness + EcalBarrel_ScFiLayerThickness_Imaging + EcalBarrel_SpaceBetween) + - EcalBarrel_ScFiLayerThickness_Imaging"/> + <constant name="EcalBarrel_ScFiPartThickness" + value="EcalBarrel_RadiatorThickness*EcalBarrel_FiberBulkLayers_num"/> + <constant name="EcalBarrelDetector_rmax" + value="EcalBarrel_rmin + EcalBarrel_FrontSupportThickness + + EcalBarrel_ImagingPartThickness + EcalBarrel_ScFiPartThickness + EcalBarrel_BackSupportThickness"/> + + </define> + + <limits> + </limits> + + <regions> + </regions> + + <display> + </display> + + <detectors> + + <comment> + --------------------------------------- + Imaging Layers of Barrel EM Calorimeter + --------------------------------------- + Silicon (Astropix) readout layers for imaging 3d showers + </comment> + <detector + id="EcalBarrel_ID" + name="EcalBarrelImaging" + type="epic_EcalBarrelImaging" + readout="EcalBarrelImagingHits" + calorimeterType="EM_BARREL" + vis="EcalBarrelEnvelopeVis" + offset="EcalBarrel_Calorimeter_offset"> + <dimensions numsides="EcalBarrel_SectorRepeat" + rmin="EcalBarrel_rmin" + z="EcalBarrel_Calorimeter_length"/> + <sectors vis="EcalBarrelSectorVis"/> + + <module name="AstroPix_Module" + vis="EcalBarrelModuleVis"> + <module_component name="AstroPix_Chip" + material="Silicon" + width="EcalBarrel_AstroPix_width" + length="EcalBarrel_AstroPix_length" + thickness="EcalBarrel_AstroPix_thickness" + vis="EcalBarrelModuleVis"> + <slice material="Silicon" thickness="EcalBarrel_SiliconThickness" vis="EcalBarrelSliceVis" sensitive="yes" limits="cal_limits"/> + <slice material="Silicon" thickness="EcalBarrel_ElectronicsThickness" vis="EcalBarrelSliceVis"/> + <slice material="Copper" thickness="EcalBarrel_CopperThickness" vis="EcalBarrelSliceVis"/> + <slice material="Kapton" thickness="EcalBarrel_KaptonThickness" vis="EcalBarrelSliceVis"/> + <slice material="Epoxy" thickness="EcalBarrel_EpoxyThickness" vis="EcalBarrelSliceVis"/> + </module_component> + </module> + + <support thickness="EcalBarrel_FrontSupportThickness" material="Aluminum" vis="EcalBarrelSupportVis"/> + + <layer repeat="1" vis="EcalBarrelLayerVis" + thickness="EcalBarrel_ImagingLayerThickness" + space_before="EcalBarrel_FrontSupportThickness"> + <frame material="CarbonFiber" fill="Air" thickness="EcalBarrel_CarbonFrameThickness" height="EcalBarrel_ImagingLayerThickness" vis="EcalBarrelSliceVis"/> + <stave repeat="6" + width="EcalBarrel_Stave_width" + length="EcalBarrel_Stave_length" + thickness="EcalBarrel_Stave_thickness" + angle="EcalBarrel_StaveTilt_angle" + module="AstroPix_Module" + vis="EcalBarrelStaveVis" + enable="EcalBarrel_enable_staves_1"> + <xy_layout + dx="EcalBarrel_AstroPix_width + EcalBarrel_AstroPix_margin" + dy="EcalBarrel_AstroPix_length + EcalBarrel_AstroPix_margin" + /> + </stave> + </layer> + </detector> + + <readouts> + <readout name="EcalBarrelImagingHits"> + <segmentation type="CartesianGridXY" grid_size_x="0.5 * mm" grid_size_y="0.5 * mm"/> + <id>system:8,sector:6,layer:4,stave:4,module:8,slice:2,x:32:-16,y:-16</id> + </readout> + <readout name="EcalBarrelScFiHits"> + <segmentation type="CartesianStripZ" strip_size_x="1.0*cm" identifier_x="z"/> + <id>system:8,sector:6,layer:6,slice:4,grid:10,fiber:16,z:-14</id> + </readout> + </readouts> + +</lccdd> diff --git a/compact/ecal/bic_6layers.xml b/compact/ecal/bic_6layers.xml index 059c92b9b..f3eab6f89 100644 --- a/compact/ecal/bic_6layers.xml +++ b/compact/ecal/bic_6layers.xml @@ -3,7 +3,7 @@ <lccdd> <info name="bic_default" - title="Default ePIC BIC configuration with 4 AstroPix layers" + title="Alternate ePIC BIC configuration with 6 AstroPix layers" author="@sly2j" url="https://github.com/sly2j" status="development" diff --git a/compact/ecal/bic_layer1_only.xml b/compact/ecal/bic_layer1_only.xml new file mode 100644 index 000000000..8f46b3658 --- /dev/null +++ b/compact/ecal/bic_layer1_only.xml @@ -0,0 +1,17 @@ +<!-- SPDX-License-Identifier: LGPL-3.0-or-later --> +<!-- Copyright (C) 2024 Sylvester Joosten --> +<lccdd> + + <info name="bic_default" + title="Special ePIC BIC configuration with only the first AstroPix layer (and support) enabled" + author="@sly2j" + url="https://github.com/sly2j" + status="development" + version="1.0" + ><comment/></info> + + <define> + <constant name="EcalBarrel_enable_staves_1" value="1"/> + </define> + <include ref="bic/bic_layer1_only.xml"/> +</lccdd> diff --git a/configurations/craterlake_bic_layer1_only.yml b/configurations/craterlake_bic_layer1_only.yml new file mode 100644 index 000000000..db5420f34 --- /dev/null +++ b/configurations/craterlake_bic_layer1_only.yml @@ -0,0 +1,38 @@ +ebeam: 10 +pbeam: 100 +features: + beampipe: + tracking: + definitions_craterlake: + vertex_barrel: + silicon_barrel: + mpgd_barrel: + support_service_craterlake: + mpgd_outerbarrel: + mpgd_forward_endcap: + mpgd_backward_endcap: + silicon_disks: + tof_barrel: + tof_endcap: + pid: + dirc: + pfrich: + drich: + ecal: + forward_homogeneous: + forward_insert_homogeneous: + bic_layer1_only: + backward_PbWO4: + solenoid: + hcal: + lfhcal_with_space_for_insert: + forward_insert: + barrel_gdml: + barrel_flux_return: + forward_endcap_flux: + backward: + backward_endcap_flux: + far_forward: + default: + far_backward: + default: From c5e017284843aa95a734be1b1a92a75bb8754f9f Mon Sep 17 00:00:00 2001 From: Dmitry Kalinkin <dmitry.kalinkin@gmail.com> Date: Fri, 15 Nov 2024 17:17:07 -0500 Subject: [PATCH 2/3] Update compact/ecal/bic/bic_layer1_only.xml --- compact/ecal/bic/bic_layer1_only.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compact/ecal/bic/bic_layer1_only.xml b/compact/ecal/bic/bic_layer1_only.xml index 6e5c965da..f7af9f9d6 100644 --- a/compact/ecal/bic/bic_layer1_only.xml +++ b/compact/ecal/bic/bic_layer1_only.xml @@ -1,6 +1,6 @@ <!-- SPDX-License-Identifier: LGPL-3.0-or-later --> <!-- Copyright (C) 2022 Whitney Armstrong, Chao Peng, Maria Zurek, Jihee Kim --> -<!-- Active AstroPix layers: 1-3-4-6 --> +<!-- Active AstroPix layers: 1 --> <lccdd> From ca69fc951c6bab4abc768c8834aec22d40b28022 Mon Sep 17 00:00:00 2001 From: Sylvester Joosten <sjoosten@anl.gov> Date: Sat, 16 Nov 2024 14:36:59 -0500 Subject: [PATCH 3/3] add missing closing tag --- compact/ecal/bic/bic_layer1_only.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/compact/ecal/bic/bic_layer1_only.xml b/compact/ecal/bic/bic_layer1_only.xml index f7af9f9d6..10ad35102 100644 --- a/compact/ecal/bic/bic_layer1_only.xml +++ b/compact/ecal/bic/bic_layer1_only.xml @@ -175,6 +175,7 @@ </stave> </layer> </detector> + </detectors> <readouts> <readout name="EcalBarrelImagingHits">