Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
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
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ build/*
*/*.pyc
**.pyc

install/
lib/
share/

Expand Down
57 changes: 13 additions & 44 deletions compact/hcal/lfhcal.xml
Original file line number Diff line number Diff line change
Expand Up @@ -8,50 +8,7 @@
</documentation>

<define>
<documentation>
#### Material Thickness
</documentation>
<constant name="LFHCALAbsorberThickness" value="1.52* cm"/>
<constant name="LFHCALPolystyreneThickness" value="0.4* cm"/>
<constant name="LFHCALKaptonThickness" value="0.08* cm"/>
<constant name="LFHCALAirOffset" value="0.05* cm"/>
<constant name="LFHCALElectronicsThickness" value="10.0* cm"/>
<documentation>
- Hcal Endcap N Layers and computed Thickness
</documentation>

<comment> FIXME: Need actual values once they are decided upon </comment>
<constant name="LFHCALLayer_NSteelRepeatSFirst" value="5"/> <!-- 6 x 10 steel layers -->
<constant name="LFHCALLayer_NSteelRepeatS" value="10"/> <!-- 6 x 10 steel layers -->
<constant name="LFHCALLayer_NTungstenRepeat" value="0"/>
<constant name="Mod_MountingPlateThickness" value="25.4* mm"/>
<constant name="Mod_SideWallThickness" value="1.9* mm"/>
<constant name="Mod_TopWallThickness" value="1.9* mm"/>
<constant name="Mod_FrontWallThickness" value="15* mm"/>
<constant name="Mod_BackWallThickness" value="15* mm"/>
<constant name="Mod_NotchDepth" value="5* mm"/>
<constant name="Mod_NotchHeight" value="78* mm"/>
<constant name="Mod_FoilThick" value="0.1* mm"/>
<constant name="Mod_PCBWidth" value="70* mm"/>
<constant name="Mod_PCBThickness" value="4* mm"/>
<constant name="Mod_PCBLength" value="125* cm"/>


<constant name="EightM_xArr" value="4" />
<constant name="EightM_yArr" value="2" />
<constant name="EightM_OuterWidth" value="20.188* cm"/>
<constant name="EightM_OuterHeight" value="10.1* cm"/>
<constant name="EightM_BackInnerWidth" value="15.0* cm"/>
<constant name="EightM_BackInnerHeight" value="7.0* cm"/>
<constant name="FourM_xArr" value="2" />
<constant name="FourM_yArr" value="2" />
<constant name="FourM_OuterWidth" value="10.094* cm"/>
<constant name="FourM_OuterHeight" value="10.1* cm"/>
<constant name="FourM_BackInnerWidth" value="7.0* cm"/>
<constant name="FourM_BackInnerHeight" value="7.0* cm"/>
<constant name="FourM_NotchHeight" value="75* mm"/>


<include ref="lfhcal/module_definitions.xml"/>
</define>

<display>
Expand Down Expand Up @@ -1340,6 +1297,18 @@
<!-- Definition of the readout segmentation/definition -->
<readouts>
<readout name="LFHCALHits">
<documentation>
Explanation of CellIDs total 64 bits
first 8 bits system ID: 116 for LFHCal
followed by:
6 bits [0-63] ModuleID X
6 bits [0-63] ModuleID Y
1 bit [0-1] Module type 0 - 8M , 1 - 4M
2 bit [0-3] tower X
1 bit [0-1] tower Y
4 bit [0-15] readout layer z
4 bit [0-15] layer z in readout layer
</documentation>
<segmentation type="NoSegmentation"/>
<id>system:8,moduleIDx:6,moduleIDy:6,moduletype:1,passive:1,towerx:2,towery:1,rlayerz:4,layerz:4</id>
</readout>
Expand Down
48 changes: 48 additions & 0 deletions compact/hcal/lfhcal/module_definitions.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
<lccdd>
<define>
<documentation>
#### Material Thickness
</documentation>
<constant name="LFHCALAbsorberThickness" value="1.52* cm"/>
<constant name="LFHCALPolystyreneThickness" value="0.4* cm"/>
<constant name="LFHCALKaptonThickness" value="0.08* cm"/>
<constant name="LFHCALAirOffset" value="0.05* cm"/>
<constant name="LFHCALElectronicsThickness" value="10.0* cm"/>
<documentation>
- Hcal Endcap N Layers and computed Thickness
</documentation>

<comment> FIXME: Need actual values once they are decided upon </comment>
<constant name="LFHCALLayer_NSteelRepeatSFirst" value="5"/> <!-- 6 x 10 steel layers -->
<constant name="LFHCALLayer_NSteelRepeatS" value="10"/> <!-- 6 x 10 steel layers -->
<constant name="LFHCALLayer_NTungstenRepeat" value="0"/>
<constant name="Mod_MountingPlateThickness" value="25.4* mm"/>
<constant name="Mod_SideWallThickness" value="1.9* mm"/>
<constant name="Mod_TopWallThickness" value="1.9* mm"/>
<constant name="Mod_FrontWallThickness" value="15* mm"/>
<constant name="Mod_BackWallThickness" value="15* mm"/>
<constant name="Mod_NotchDepth" value="5* mm"/>
<constant name="Mod_NotchHeight" value="78* mm"/>
<constant name="Mod_FoilThick" value="0.1* mm"/>
<constant name="Mod_PCBWidth" value="70* mm"/>
<constant name="Mod_PCBThickness" value="4* mm"/>
<constant name="Mod_PCBLength" value="125* cm"/>


<constant name="EightM_xArr" value="4" />
<constant name="EightM_yArr" value="2" />
<constant name="EightM_OuterWidth" value="20.188* cm"/>
<constant name="EightM_OuterHeight" value="10.1* cm"/>
<constant name="EightM_BackInnerWidth" value="15.0* cm"/>
<constant name="EightM_BackInnerHeight" value="7.0* cm"/>
<constant name="FourM_xArr" value="2" />
<constant name="FourM_yArr" value="2" />
<constant name="FourM_OuterWidth" value="10.094* cm"/>
<constant name="FourM_OuterHeight" value="10.1* cm"/>
<constant name="FourM_BackInnerWidth" value="7.0* cm"/>
<constant name="FourM_BackInnerHeight" value="7.0* cm"/>
<constant name="FourM_NotchHeight" value="75* mm"/>

</define>

</lccdd>
168 changes: 168 additions & 0 deletions compact/hcal/lfhcal_2024_TB.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,168 @@
<lccdd>

<info name="lfhcal_2024_TB.xml"
title="EPIC LFHCAL single 8M Module (long), configuration as TB at PS in 2024"
author="@FriederikeBock"
url="https://github.com/FriederikeBock"
status="development"
version="1.0"
><comment/></info>

<define>
<include ref="lfhcal/module_definitions.xml"/>
<constant name="Mod_MountingPlateThickness" value="0* mm"/>
<constant name="Mod_PCBLength" value="135* cm"/>
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This produces a new warning:

WARN +++ Object 'Mod_PCBLength' is already defined. New value will be ignored
WARN +++ Object 'Mod_MountingPlateThickness' is already defined. New value will be ignored

(happens to be what confuses the convert-to-step on CI)

We need to move those two out from module_definitions.xml to lfhcal.xml (and keep in lfhcal_2024_TB and lfhcal_2025_TB, of course).


</define>

<display>
<vis name="LFHCAL8MModVis" ref="AnlBlue" showDaughters="true" visible="true"/>
<vis name="LFHCAL4MModVis" ref="AnlViolet" showDaughters="true" visible="true"/>
<vis name="LFHCAL8MModOuter" ref="AnlBlue" showDaughters="true" visible="true"/>
<vis name="LFHCALLayerScintVis" ref="AnlLightGray" showDaughters="false" visible="true"/>
<vis name="LFHCALLayerSteelVis" ref="AnlRed" showDaughters="false" visible="true"/>
<vis name="LFHCALLayerTungstenVis" ref="AnlViolet" showDaughters="false" visible="true"/>
<vis name="LFHCALLayerKaptonVis" ref="AnlGold" showDaughters="false" visible="true"/>
<vis name="LFHCALLayerFoilVis" ref="AnlGray" showDaughters="false" visible="true"/>
<vis name="LFHCALModPCB" ref="AnlDarkGreen" showDaughters="false" visible="true"/>
</display>

<!-- Define detector -->
<detectors>
<documentation>
### Forward (Positive Z) Endcap Hadronic Calorimeter

This is the ECCE LFHCAL design without individual tower placements and electronics
As deployed during thestbeam in 2024
The HCal forward insert shape is cut out from this detector

So then, actual detector area is "LFHCAL_length - LFHCALElectronicsThickness" long
</documentation>
<detector
id="LFHCAL_ID"
name="LFHCAL"
type="epic_LFHCAL_TestBeam"
readout="LFHCALHits"
vis="InvisibleWithDaughters"
calorimeterType="HAD_ENDCAP"
renderComponents="1"
allSensitive="0"
>

<position x="0" y="0" z="0"/>
<dimensions
z="140*cm"
rmin="20*cm"
rmax="LFHCAL_rmax"
x="EightM_OuterWidth"
y="EightM_OuterHeight"
x0="-FourM_OuterWidth"/>
<envelope material="Steel235"/>

<eightmodule name="8MModule" vis="InvisibleWithDaughters" repeat="0" >
<dimensions
width="EightM_OuterWidth"
height="EightM_OuterHeight"
widthBackInner="EightM_BackInnerWidth"
heightBackInner="EightM_BackInnerHeight"
widthSideWall="Mod_SideWallThickness"
widthTopWall="Mod_TopWallThickness"
thicknessMountingPlate="Mod_MountingPlateThickness"
thicknessFrontWall="Mod_FrontWallThickness"
thicknessBackWall="Mod_BackWallThickness"
arrayX="EightM_xArr"
arrayY="EightM_yArr"
notchDepth="Mod_NotchDepth"
notchHeight="Mod_NotchHeight"
foilThick="Mod_FoilThick"
pcbLength="Mod_PCBLength"
pcbThick="Mod_PCBThickness"
pcbWidth="Mod_PCBWidth"
/>
<position x="50*cm" y="50*cm" z="140*cm - LFHCALElectronicsThickness" />
</eightmodule>
<layer repeat="LFHCALLayer_NSteelRepeatSFirst" vis="InvisibleWithDaughters" readoutlayer="0">
<slice material="Steel235" thickness="LFHCALAbsorberThickness" vis="LFHCALLayerSteelVis" type="1"/>
<slice material="Kapton" thickness="LFHCALKaptonThickness" vis="LFHCALLayerKaptonVis" type="2" offset="LFHCALAirOffset"/>
<slice material="Polystyrene" thickness="LFHCALPolystyreneThickness" vis="LFHCALLayerScintVis" sensitive="yes" limits="cal_limits" type="3" />
</layer>
<layer repeat="LFHCALLayer_NSteelRepeatSFirst" vis="InvisibleWithDaughters" readoutlayer="1">
<slice material="Steel235" thickness="LFHCALAbsorberThickness" vis="LFHCALLayerSteelVis" type="1"/>
<slice material="Kapton" thickness="LFHCALKaptonThickness" vis="LFHCALLayerKaptonVis" type="2" offset="LFHCALAirOffset"/>
<slice material="Polystyrene" thickness="LFHCALPolystyreneThickness" vis="LFHCALLayerScintVis" sensitive="yes" limits="cal_limits" type="3" />
</layer>
<layer repeat="LFHCALLayer_NSteelRepeatS" vis="InvisibleWithDaughters" readoutlayer="2">
<slice material="Steel235" thickness="LFHCALAbsorberThickness" vis="LFHCALLayerSteelVis" type="1"/>
<slice material="Kapton" thickness="LFHCALKaptonThickness" vis="LFHCALLayerKaptonVis" type="2" offset="LFHCALAirOffset"/>
<slice material="Polystyrene" thickness="LFHCALPolystyreneThickness" vis="LFHCALLayerScintVis" sensitive="yes" limits="cal_limits" type="3" />
</layer>
<layer repeat="LFHCALLayer_NSteelRepeatS" vis="InvisibleWithDaughters" readoutlayer="3">
<slice material="Steel235" thickness="LFHCALAbsorberThickness" vis="LFHCALLayerSteelVis" type="1"/>
<slice material="Kapton" thickness="LFHCALKaptonThickness" vis="LFHCALLayerKaptonVis" type="2" offset="LFHCALAirOffset"/>
<slice material="Polystyrene" thickness="LFHCALPolystyreneThickness" vis="LFHCALLayerScintVis" sensitive="yes" limits="cal_limits" type="3" />
</layer>
<layer repeat="LFHCALLayer_NSteelRepeatS" vis="InvisibleWithDaughters" readoutlayer="4">
<slice material="Steel235" thickness="LFHCALAbsorberThickness" vis="LFHCALLayerSteelVis" type="1"/>
<slice material="Kapton" thickness="LFHCALKaptonThickness" vis="LFHCALLayerKaptonVis" type="2" offset="LFHCALAirOffset"/>
<slice material="Polystyrene" thickness="LFHCALPolystyreneThickness" vis="LFHCALLayerScintVis" sensitive="yes" limits="cal_limits" type="3" />
</layer>
<layer repeat="LFHCALLayer_NSteelRepeatS" vis="InvisibleWithDaughters" readoutlayer="5">
<slice material="Steel235" thickness="LFHCALAbsorberThickness" vis="LFHCALLayerSteelVis" type="1"/>
<slice material="Kapton" thickness="LFHCALKaptonThickness" vis="LFHCALLayerKaptonVis" type="2" offset="LFHCALAirOffset"/>
<slice material="Polystyrene" thickness="LFHCALPolystyreneThickness" vis="LFHCALLayerScintVis" sensitive="yes" limits="cal_limits" type="3" />
</layer>
<layer repeat="LFHCALLayer_NSteelRepeatSFirst" vis="InvisibleWithDaughters" readoutlayer="6">
<slice material="Steel235" thickness="LFHCALAbsorberThickness" vis="LFHCALLayerSteelVis" type="1"/>
<slice material="Kapton" thickness="LFHCALKaptonThickness" vis="LFHCALLayerKaptonVis" type="2" offset="LFHCALAirOffset"/>
<slice material="Polystyrene" thickness="LFHCALPolystyreneThickness" vis="LFHCALLayerScintVis" sensitive="yes" limits="cal_limits" type="3" />
</layer>
<layer repeat="LFHCALLayer_NSteelRepeatSFirst" vis="InvisibleWithDaughters" readoutlayer="7">
<slice material="Steel235" thickness="LFHCALAbsorberThickness" vis="LFHCALLayerSteelVis" type="1"/>
<slice material="Kapton" thickness="LFHCALKaptonThickness" vis="LFHCALLayerKaptonVis" type="2" offset="LFHCALAirOffset"/>
<slice material="Polystyrene" thickness="LFHCALPolystyreneThickness" vis="LFHCALLayerScintVis" sensitive="yes" limits="cal_limits" type="3" />
</layer>
<layer repeat="LFHCALLayer_NSteelRepeatSFirst" vis="InvisibleWithDaughters" readoutlayer="8">
<slice material="Steel235" thickness="LFHCALAbsorberThickness" vis="LFHCALLayerSteelVis" type="1"/>
<slice material="Kapton" thickness="LFHCALKaptonThickness" vis="LFHCALLayerKaptonVis" type="2" offset="LFHCALAirOffset"/>
<slice material="Polystyrene" thickness="LFHCALPolystyreneThickness" vis="LFHCALLayerScintVis" sensitive="yes" limits="cal_limits" type="3" />
</layer>

<documentation>
### for testing of a single module
</documentation>
<eightmodulepositions>
<position x="0*mm" y="0*mm" z="0*mm" orientation="1" IDx="0" IDy="0"/>
</eightmodulepositions>


<documentation>
### positions of modules for full area LFHCAL (sorted by ascending r, x, y)
</documentation>
<fourmodulepositions>
</fourmodulepositions>

</detector>

</detectors>

<!-- Definition of the readout segmentation/definition -->
<readouts>
<readout name="LFHCALHits">
<documentation>
Explanation of CellIDs total 64 bits
first 8 bits system ID: 116 for LFHCal
followed by:
4 bits [0-15] ModuleID X
4 bits [0-15] ModuleID Y
1 bit [0-1] Module type 0 - 8M , 1 - 4M
2 bit [0-3] tower X
1 bit [0-1] tower Y
6 bit [0-63] readout layer z
6 bit [0-63] layer z in readout layer
</documentation>
<segmentation type="NoSegmentation"/>
<id>system:8,moduleIDx:4,moduleIDy:4,moduletype:1,passive:1,towerx:2,towery:1,rlayerz:6,layerz:6</id>
</readout>
</readouts>

</lccdd>
Loading
Loading