Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HCal readout segmentation update #409

Merged
merged 19 commits into from
Dec 3, 2024
Merged
Show file tree
Hide file tree
Changes from 14 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions FCCee/ALLEGRO/compact/ALLEGRO_o1_v03/ALLEGRO_o1_v03.xml
Original file line number Diff line number Diff line change
Expand Up @@ -45,9 +45,9 @@
<include ref="DriftChamber_o1_v02.xml"/> <!-- symbolic link to ../../../IDEA/compact/IDEA_o1_v03/DriftChamber_o1_v02.xml -->
<include ref="SiliconWrapper_o1_v03.xml"/> <!-- symbolic link to ../../../IDEA/compact/IDEA_o1_v03/SiliconWrapper_o1_v03.xml -->
<include ref="ECalBarrel_thetamodulemerged.xml"/> <!-- if you remove the ECalBarrel, you also have to remove or update the "GlobalSolenoid" field (it depends on ECAL dimensions) -->
<include ref="HCalBarrel_TileCal_v02.xml"/>
<include ref="HCalBarrel_TileCal_v03.xml"/>
<include ref="ECalEndcaps_Turbine.xml"/>
<include ref="HCalEndcaps_ThreeParts_TileCal_v02.xml"/>
<include ref="HCalEndcaps_ThreeParts_TileCal_v03.xml"/>
<include ref="MuonTagger.xml"/>

<fields>
Expand Down
147 changes: 147 additions & 0 deletions FCCee/ALLEGRO/compact/ALLEGRO_o1_v03/HCalBarrel_TileCal_v03.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,147 @@
<?xml version="1.0" encoding="UTF-8"?>
<lccdd xmlns:compact="http://www.lcsim.org/schemas/compact/1.0"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/compact/1.0/compact.xsd">
<info name="FCCee_HCalBarrel_TileCal"
title="Barrel Calorimeter"
author="C. Solans, J. Lingemann"
url="no"
status="development"
version="1.0">
<comment>The first FCCee HCal layout based on ATLAS HCal, not optimised yet</comment>
<comment>1. Nov 2022, J. Faltova: update material and radial segmentation for FCCee </comment>
</info>
<define>
<constant name="BarHCal_zOff" value="0"/>
<!-- dimensions in R / rho of actual detector modules (face-plate is placed inside)-->
<!-- tile dimensions -->
<constant name="BarHCal_n_phi_modules" value="256"/>
<constant name="BarHCAL_module_spacing_phi" value="1*mm"/>
<!-- component dimensions -->
<constant name="BarHCal_master_plate_thickness" value="5*mm" />
<constant name="BarHCal_spacer_plate_thickness" value="4*mm" />
<constant name="BarHCal_air_space_thickness" value="0.5*mm" />
<constant name="BarHCal_scintillator_thickness" value="3*mm" />
<!-- face and end-plate dimensions -->
<constant name="BarHCal_steel_support_thickness" value="212*mm" />
<constant name="BarHCal_end_plate_thickness" value="5*mm" />
<constant name="BarHCal_face_plate_thickness" value="10*mm" />
<constant name="BarHCal_plate_space" value="0.5*mm" />
</define>

<display>
<vis name="hcal_steel_vis" r="0.5" g="0.5" b="0.5" alpha="1" showDaughters="true" visible="true" drawingStyle="solid" />
<vis name="hcal_master_vis" r="0.6" g="0.6" b="0.6" alpha="1" showDaughters="true" visible="true" drawingStyle="solid" />
<vis name="hcal_support_vis" r="0.8" g="0.3" b="0.3" alpha="1" showDaughters="true" visible="true" drawingStyle="solid" />
<vis name="hcal_face_plate_vis" r="0.8" g="0.3" b="0.3" alpha="1" showDaughters="true" visible="true" drawingStyle="solid" />
<vis name="hcal_end_plate_vis" r="0.8" g="0.3" b="0.3" alpha="1" showDaughters="true" visible="true" drawingStyle="solid" />
<vis name="hcal_polystyrene_vis" r="0.0" g="0.6" b="0.3" alpha="0.8" showDaughters="true" visible="true" />
<vis name="hcal_envelope" r="0.6" g="0.8" b="0.6" alpha="1" showDaughers="true" visible="true" />
<vis name="hcal_barrel_seq1_vis" r="0.1" g="0.8" b="0.6" alpha="1" showDaughers="true" visible="true" />
<vis name="hcal_barrel_seq2_vis" r="0.1" g="0.6" b="0.8" alpha="1" showDaughers="true" visible="true" />
<vis name="hcal_barrel_layer_vis" r="0.1" g="0.6" b="0.8" alpha="1" showDaughers="true" visible="true" />
<vis name="hcal_air_vis" r="1" g="1" b="1" alpha="1" showDaughers="true" visible="true" />
</display>

<readouts>
<readout name="HCalBarrelReadout">
<segmentation type="FCCSWHCalPhiTheta_k4geo"
offset_z="0"
width_z="BarHCal_dz*2"
offset_r="BarHCal_rmin+BarHCal_face_plate_thickness+BarHCal_plate_space"
numLayers="4 6 3"
dRlayer="50*mm 100*mm 200*mm"
grid_size_theta="0.022180"
phi_bins="BarHCal_n_phi_modules"
offset_theta="0.783406"
offset_phi="-pi+(pi/BarHCal_n_phi_modules)"/>
<id>system:4,layer:5,row:9,theta:9,phi:10</id>
</readout>
<readout name="HCalBarrelReadoutPhiRow">
<segmentation type="FCCSWHCalPhiRow_k4geo"
offset_z="0"
width_z="2795.5*2*mm"
offset_r="BarHCal_rmin+BarHCal_face_plate_thickness+BarHCal_plate_space"
numLayers="4 6 3"
dRlayer="50*mm 100*mm 200*mm"
grid_size_row="1 1 1 1 1 1 1 1 1 1 1 1 1"
dz_row="2*BarHCal_master_plate_thickness + BarHCal_spacer_plate_thickness + BarHCal_scintillator_thickness + 2*BarHCal_air_space_thickness"
phi_bins="BarHCal_n_phi_modules"
offset_phi="-pi+(pi/BarHCal_n_phi_modules)"/>
<id>system:4,layer:5,row:9,phi:10</id>
</readout>
</readouts>

<detectors>
<detector id="BarHCal_id" name="HCalBarrel" type="HCalTileBarrel_o1_v02" readout="HCalBarrelReadout">
<type_flags type="DetType_CALORIMETER + DetType_HADRONIC + DetType_BARREL"/>
<dimensions rmin="BarHCal_rmin" rmax="BarHCal_rmax" dz="BarHCal_dz" vis="hcal_envelope" />
<sensitive type="BirksLawCalorimeterSD"/>
<end_plate name="end_plate" thickness="BarHCal_end_plate_thickness" material="Fe" sensitive="false" vis="hcal_end_plate_vis" />
<face_plate name="face_plate" thickness="BarHCal_face_plate_thickness" material="Fe" sensitive="false" vis="hcal_face_plate_vis" />
<plate_space name="plate_space" thickness="BarHCal_plate_space" material="Air" sensitive="false" vis="hcal_air_vis" />
<steel_support name="steel_support" thickness="BarHCal_steel_support_thickness" material="Steel235" sensitive="false" vis="hcal_steel_support_vis" />
<layers>
<layer id="0" name="type_1" material="Air" vis="hcal_barrel_layer_vis">
<dimensions
dr="50*mm"
nModules="4"
/>
</layer>
<layer id="1" name="type_2" material="Air" vis="hcal_barrel_layer_vis">
<dimensions
dr="100*mm"
nModules="6"
/>
</layer>
<layer id="2" name="type_3" material="Air" vis="hcal_barrel_layer_vis">
<dimensions
dr="200*mm"
nModules="3"
/>
</layer>
</layers>

<sequence_a id="3" name="sequence_1" material="Air" vis="hcal_barrel_seq1_vis">
<dimensions
dz="2*BarHCal_master_plate_thickness + BarHCal_spacer_plate_thickness + BarHCal_scintillator_thickness + 2*BarHCal_air_space_thickness"
phiBins="BarHCal_n_phi_modules"
x="BarHCAL_module_spacing_phi"
/>
<!-- Master plate -->
<module_component name="master" thickness="BarHCal_master_plate_thickness" y_offset="0" material="Fe" sensitive="false" vis="hcal_steel_master_vis" />
<!-- Spacer plate -->
<module_component name="spacer" thickness="BarHCal_spacer_plate_thickness" y_offset="0" material="Fe" sensitive="false" vis="hcal_steel_vis" />
<!-- Master plate -->
<module_component name="master" thickness="BarHCal_master_plate_thickness" y_offset="0" material="Fe" sensitive="false" vis="hcal_steel_master_vis" />
<!-- Air -->
<module_component name="airspacer" thickness="BarHCal_air_space_thickness" y_offset="0" material="Air" sensitive="false" vis="hcal_air_vis" />
<!-- Scintillator plate -->
<module_component name="scintillator" thickness="BarHCal_scintillator_thickness" y_offset="0" material="Polystyrene" sensitive="true" vis="hcal_polystyrene_vis" />
<!-- Air -->
<module_component name="airspacer" thickness="BarHCal_air_space_thickness" y_offset="0" material="Air" sensitive="false" vis="hcal_air_vis" />
</sequence_a>
<sequence_b id="4" name="sequence_2" material="Air" vis="hcal_barrel_seq2_vis">
<dimensions
dz="2*BarHCal_master_plate_thickness + BarHCal_spacer_plate_thickness + BarHCal_scintillator_thickness + 2*BarHCal_air_space_thickness"
phiBins="BarHCal_n_phi_modules"
x="BarHCAL_module_spacing_phi"
/>
<!-- Master plate -->
<module_component name="master" thickness="BarHCal_master_plate_thickness" y_offset="0" material="Fe" sensitive="false" vis="hcal_steel_master_vis" />
<!-- Air -->
<module_component name="airspacer" thickness="BarHCal_air_space_thickness" y_offset="0" material="Air" sensitive="false" vis="hcal_air_vis" />
<!-- Scintillator plate -->
<module_component name="scintillator" thickness="BarHCal_scintillator_thickness" y_offset="0" material="Polystyrene" sensitive="true" vis="hcal_polystyrene_vis" />
<!-- Air -->
<module_component name="airspacer" thickness="BarHCal_air_space_thickness" y_offset="0" material="Air" sensitive="false" vis="hcal_air_vis" />
<!-- Master plate -->
<module_component name="master" thickness="BarHCal_master_plate_thickness" y_offset="0" material="Fe" sensitive="false" vis="hcal_steel_master_vis" />
<!-- Spacer plate -->
<module_component name="spacer" thickness="BarHCal_spacer_plate_thickness" y_offset="0" material="Fe" sensitive="false" vis="hcal_steel_vis" />
</sequence_b>

</detector>
</detectors>

</lccdd>
Original file line number Diff line number Diff line change
@@ -0,0 +1,159 @@
<?xml version="1.0" encoding="UTF-8"?>
<lccdd xmlns:compact="http://www.lcsim.org/schemas/compact/1.0"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/compact/1.0/compact.xsd">
<info name="FCCee_HCalEndcap_TileCal"
title="Extended Barrel Calorimeter"
author="C. Neubueser, J. Faltova, M. Mlynarikova, updated by A. Durglishvili in 2024"
url="no"
status="development"
version="1.0">
<comment>HCal layout based on ATLAS HCal, with realistic longitudinal segmentation and steel support</comment>
</info>
<define>
<!-- dimensions in R / rho of actual detector modules (face-plate is placed inside)-->
<!-- tile dimensions -->
<constant name="EndcapHCal_n_phi_modules" value="256"/>
<constant name="EndcapHCAL_module_spacing_phi" value="1*mm"/>
<!-- component dimensions -->
<constant name="EndcapHCal_master_plate_thickness" value="5*mm" />
<constant name="EndcapHCal_spacer_plate_thickness" value="4*mm" />
<constant name="EndcapHCal_air_space_thickness" value="0.5*mm" />
<constant name="EndcapHCal_scintillator_thickness" value="3*mm" />
<!-- face and end-plate dimensions -->
<constant name="EndcapHCal_steel_support_thickness" value="212*mm" />
<constant name="EndcapHCal_end_plate_thickness" value="5*mm" />
<constant name="EndcapHCal_face_plate_thickness" value="10*mm" />
<constant name="EndcapHCal_plate_space" value="0.5*mm" />
</define>

<display>
<vis name="endcapHcal_steel_vis" r="0.5" g="0.5" b="0.5" alpha="1" showDaughters="true" visible="true" drawingStyle="solid" />
<vis name="endcapHcal_master_vis" r="0.6" g="0.6" b="0.6" alpha="1" showDaughters="true" visible="true" drawingStyle="solid" />
<vis name="endcapHcal_support_vis" r="0.8" g="0.3" b="0.3" alpha="1" showDaughters="true" visible="true" drawingStyle="solid" />
<vis name="endcapHcal_face_plate_vis" r="0.8" g="0.3" b="0.3" alpha="1" showDaughters="true" visible="true" drawingStyle="solid" />
<vis name="endcapHcal_end_plate_vis" r="0.8" g="0.3" b="0.3" alpha="1" showDaughters="true" visible="true" drawingStyle="solid" />
<vis name="endcapHcal_polystyrene_vis" r="0.0" g="0.6" b="0.3" alpha="0.8" showDaughters="true" visible="true" />
<vis name="endcapHcal_envelope" r="0.6" g="0.8" b="0.6" alpha="1" showDaughers="true" visible="true" />
<vis name="endcapHcal_barrel_seq1_vis" r="0.1" g="0.8" b="0.6" alpha="1" showDaughers="true" visible="true" />
<vis name="endcapHcal_barrel_seq2_vis" r="0.1" g="0.6" b="0.8" alpha="1" showDaughers="true" visible="true" />
<vis name="endcapHcal_barrel_layer_vis" r="0.1" g="0.6" b="0.8" alpha="1" showDaughers="true" visible="true" />
<vis name="endcapHhcal_air_vis" r="1" g="1" b="1" alpha="1" showDaughers="true" visible="true" />
</display>

<readouts>
<!-- Default readout of DetailedWedge geometry -->
<readout name="HCalEndcapReadout">
<segmentation type="FCCSWHCalPhiTheta_k4geo"
offset_z="HCalEndcap_min_z1+(HCalEndcap_max_z1-HCalEndcap_min_z1)*0.5 HCalEndcap_min_z2+(HCalEndcap_max_z2-HCalEndcap_min_z2)*0.5 HCalEndcap_min_z3+(HCalEndcap_max_z3-HCalEndcap_min_z3)*0.5"
width_z="(HCalEndcap_max_z1-HCalEndcap_min_z1) (HCalEndcap_max_z2-HCalEndcap_min_z2) (HCalEndcap_max_z3-HCalEndcap_min_z3)"
offset_r="HCalEndcap_inner_radius1+EndcapHCal_face_plate_thickness+EndcapHCal_plate_space HCalEndcap_inner_radius2+EndcapHCal_face_plate_thickness+EndcapHCal_plate_space HCalEndcap_inner_radius3+EndcapHCal_face_plate_thickness+EndcapHCal_plate_space"
numLayers="5 1 0 4 3 2 4 10 8"
dRlayer="100*mm 150*mm 250*mm"
grid_size_theta="0.022180"
phi_bins="EndcapHCal_n_phi_modules"
offset_theta="0.007106"
offset_phi="-pi+(pi/EndcapHCal_n_phi_modules)"/>
<id>system:4,type:3,layer:6,row:11,theta:11,phi:10</id>
</readout>
<readout name="HCalEndcapReadoutPhiRow">
<segmentation type="FCCSWHCalPhiRow_k4geo"
offset_z="HCalEndcap_min_z1+(HCalEndcap_max_z1-HCalEndcap_min_z1)*0.5 HCalEndcap_min_z2+(HCalEndcap_max_z2-HCalEndcap_min_z2)*0.5 HCalEndcap_min_z3+(HCalEndcap_max_z3-HCalEndcap_min_z3)*0.5"
width_z="248.5*2*mm 243.0*2*mm 770.5*2*mm"
offset_r="HCalEndcap_inner_radius1+EndcapHCal_face_plate_thickness+EndcapHCal_plate_space HCalEndcap_inner_radius2+EndcapHCal_face_plate_thickness+EndcapHCal_plate_space HCalEndcap_inner_radius3+EndcapHCal_face_plate_thickness+EndcapHCal_plate_space"
numLayers="5 1 0 4 3 2 4 10 8"
dRlayer="100*mm 150*mm 250*mm"
grid_size_row="1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1"
dz_row="2*EndcapHCal_master_plate_thickness + EndcapHCal_spacer_plate_thickness + EndcapHCal_scintillator_thickness + 2*EndcapHCal_air_space_thickness"
phi_bins="EndcapHCal_n_phi_modules"
offset_phi="-pi+(pi/EndcapHCal_n_phi_modules)"/>
<id>system:4,type:3,layer:6,row:-8,phi:10</id>
</readout>
</readouts>

<!-- nmodules is the number of radial layers in the first part;
+ nsegments is the number of radial layers in the second part;
nPads is the number of radial layers in the third part -->

<detectors>
<detector id="DetID_HCAL_Endcap" name="HCalThreePartsEndcap" type="CaloThreePartsEndcap_o1_v02" readout="HCalEndcapReadout" >
<type_flags type="DetType_CALORIMETER + DetType_HADRONIC + DetType_ENDCAP"/>
<!-- vis="endcapHcal_envelope"> -->
<sensitive type="BirksLawCalorimeterSD"/>
<dimensions rmin1="HCalEndcap_inner_radius1" rmin2="HCalEndcap_inner_radius2" rmin="HCalEndcap_inner_radius3"
rmax1="HCalEndcap_outer_radius1" rmax2="HCalEndcap_outer_radius2" rmax="HCalEndcap_outer_radius3"
width="(HCalEndcap_max_z1 - HCalEndcap_min_z1)*0.5" dz="(HCalEndcap_max_z2 - HCalEndcap_min_z2)*0.5" z_length="(HCalEndcap_max_z3 - HCalEndcap_min_z3)*0.5"
offset="HCalEndcap_min_z1 + (HCalEndcap_max_z1 - HCalEndcap_min_z1)*0.5" z_offset="HCalEndcap_min_z2 + (HCalEndcap_max_z2 - HCalEndcap_min_z2)*0.5" v_offset="HCalEndcap_min_z3 + (HCalEndcap_max_z3 - HCalEndcap_min_z3)*0.5"/>
<layers>
<layer id="0" name="type_1" material="Air" vis="endcaphcal_barrel_layer_vis">
<dimensions
dr="100*mm"
nmodules="5"
nsegments="4"
nPads="4"
/>
</layer>
<layer id="1" name="type_2" material="Air" vis="endcaphcal_barrel_layer_vis">
<dimensions
dr="150*mm"
nmodules="1"
nsegments="3"
nPads="10"
/>
</layer>
<layer id="2" name="type_3" material="Air" vis="endcaphcal_barrel_layer_vis">
<dimensions
dr="250*mm"
nmodules="0"
nsegments="2"
nPads="8"
/>
</layer>
</layers>

<sequence_a id="3" name="sequence_1" material="Air" vis="endcaphcal_barrel_seq1_vis">
<dimensions
dz="2*EndcapHCal_master_plate_thickness + EndcapHCal_spacer_plate_thickness + EndcapHCal_scintillator_thickness + 2*EndcapHCal_air_space_thickness"
phiBins="EndcapHCal_n_phi_modules"
x="EndcapHCAL_module_spacing_phi"
/>
<!-- Master plate -->
<module_component thickness="EndcapHCal_master_plate_thickness" y_offset="0" material="Fe" sensitive="false" vis="endcapHcal_steel_master_vis" />
<!-- Spacer plate -->
<module_component thickness="EndcapHCal_spacer_plate_thickness" y_offset="0" material="Fe" sensitive="false" vis="endcapHcal_steel_vis" />
<!-- Master plate -->
<module_component thickness="EndcapHCal_master_plate_thickness" y_offset="0" material="Fe" sensitive="false" vis="endcapHcal_steel_master_vis" />
<!-- Air -->
<module_component thickness="EndcapHCal_air_space_thickness" y_offset="0" material="Air" sensitive="false" vis="endcapHcal_air_vis" />
<!-- Scintillator plate -->
<module_component thickness="EndcapHCal_scintillator_thickness" y_offset="0" material="Polystyrene" sensitive="true" vis="endcapHcal_polystyrene_vis" />
<!-- Air -->
<module_component thickness="EndcapHCal_air_space_thickness" y_offset="0" material="Air" sensitive="false" vis="endcapHcal_air_vis" />
</sequence_a>
<sequence_b id="4" name="sequence_2" material="Air" vis="endcapHcal_barrel_seq2_vis">
<dimensions
dz="2*EndcapHCal_master_plate_thickness + EndcapHCal_spacer_plate_thickness + EndcapHCal_scintillator_thickness + 2*EndcapHCal_air_space_thickness"
phiBins="EndcapHCal_n_phi_modules"
x="EndcapHCAL_module_spacing_phi"
/>
<!-- Master plate -->
<module_component thickness="EndcapHCal_master_plate_thickness" y_offset="0" material="Fe" sensitive="false" vis="endcapHcal_steel_master_vis" />
<!-- Air -->
<module_component thickness="EndcapHCal_air_space_thickness" y_offset="0" material="Air" sensitive="false" vis="endcapHcal_air_vis" />
<!-- Scintillator plate -->
<module_component thickness="EndcapHCal_scintillator_thickness" y_offset="0" material="Polystyrene" sensitive="true" vis="endcapHcal_polystyrene_vis" />
<!-- Air -->
<module_component thickness="EndcapHCal_air_space_thickness" y_offset="0" material="Air" sensitive="false" vis="endcapHcal_air_vis" />
<!-- Master plate -->
<module_component thickness="EndcapHCal_master_plate_thickness" y_offset="0" material="Fe" sensitive="false" vis="endcapHcal_steel_master_vis" />
<!-- Spacer plate -->
<module_component thickness="EndcapHCal_spacer_plate_thickness" y_offset="0" material="Fe" sensitive="false" vis="endcapHcal_steel_vis" />
</sequence_b>
<end_plate name="end_plate" thickness="EndcapHCal_end_plate_thickness" material="Fe" sensitive="false" vis="endcapHcal_end_plate_vis" />
<face_plate name="face_plate" thickness="EndcapHCal_face_plate_thickness" material="Fe" sensitive="false" vis="endcapHcal_face_plate_vis" />
<plate_space name="plate_space" thickness="EndcapHCal_plate_space" material="Air" sensitive="false" vis="endcapHcal_air_vis" />
<steel_support name="steel_support" thickness="EndcapHCal_steel_support_thickness" material="Steel235" sensitive="false" vis="endcapHcal_steel_support_vis" />
</detector>
</detectors>

</lccdd>
Loading
Loading