Skip to content

Commit

Permalink
New HCal readouts in ALLEGRO_o1_v04
Browse files Browse the repository at this point in the history
  • Loading branch information
Archil Durglishvili committed Nov 9, 2024
1 parent 6c95673 commit af6c969
Show file tree
Hide file tree
Showing 3 changed files with 306 additions and 2 deletions.
4 changes: 2 additions & 2 deletions FCCee/ALLEGRO/compact/ALLEGRO_o1_v04/ALLEGRO_o1_v04.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
146 changes: 146 additions & 0 deletions FCCee/ALLEGRO/compact/ALLEGRO_o1_v04/HCalBarrel_TileCal_v03.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,146 @@
<?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="279.55*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_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">
<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,158 @@
<?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="24.85*2 24.3*2 77.05*2"
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" >
<!-- 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>

0 comments on commit af6c969

Please sign in to comment.