Skip to content

Commit

Permalink
version of ALLEGRO with ECAL barrel with cell corners projective in p…
Browse files Browse the repository at this point in the history
…hi (#332)

* implement version of ALLEGRO with ECAL barrel with cell corners projective in phi

* Update FCCee/ALLEGRO/compact/ALLEGRO_o1_v03/ALLEGRO_o1_v03.xml

* add test for ALLEGRO o1 v03

* fix README

* improve the comments

* add detector construction v03

* updade also other xml files for inclined ecal barrel v03. Improve comments in xml of v02. In cpp of v03 add check that electrode length in xml is consistent with calo r1 r2 and inclination angle

* include units in cpp

---------

Co-authored-by: Brieuc Francois <[email protected]>
  • Loading branch information
giovannimarchiori and BrieucF authored Apr 16, 2024
1 parent 5557137 commit 1e73911
Show file tree
Hide file tree
Showing 28 changed files with 4,222 additions and 21 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,9 @@
<readout thickness="readout_thickness" sensitive="false">
<material name="PCB"/>
</readout>
<layers> <!-- pcb electrode segmentation in the radial direction -->
<layers>
<!-- pcb electrode segmentation, rescaled to the total radial thickness of the active ECAL volume -->
<!-- This is NOT the radial thickness of each layer!!! -->
<layer thickness="1.5*cm" repeat="1"/>
<layer thickness="3.5*cm" repeat="11"/>
</layers>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -133,11 +133,13 @@
<readout thickness="readout_thickness" sensitive="true">
<material name="PCB"/>
</readout>
<layers> <!-- pcb electrode segmentation in the radial direction -->
<layers>
<!-- pcb electrode segmentation, rescaled to the total radial thickness of the active ECAL volume -->
<!-- This is NOT the radial thickness of each layer!!! -->
<layer thickness="1.5*cm" repeat="1"/>
<layer thickness="3.5*cm" repeat="11"/>
</layers>
</calorimeter>
</detector>
</detectors>
</lccdd>
</lccdd>
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,9 @@
<readout thickness="readout_thickness" sensitive="false">
<material name="PCB"/>
</readout>
<layers> <!-- pcb electrode segmentation in the radial direction -->
<layers>
<!-- pcb electrode segmentation, rescaled to the total radial thickness of the active ECAL volume -->
<!-- This is NOT the radial thickness of each layer!!! -->
<layer thickness="1.5*cm" repeat="1"/>
<layer thickness="3.5*cm" repeat="11"/>
</layers>
Expand Down
46 changes: 46 additions & 0 deletions FCCee/ALLEGRO/compact/ALLEGRO_o1_v03/ALLEGRO_o1_v03.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
<?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="ALLEGRO_o1_v03 Master"
title="ALLEGRO_o1_v03 Master"
author="Giovanni Marchiori"
url="no"
status="development"
version="1.0">
<comment>
Master compact file describing the latest developments of the FCCee ALLEGRO detector concept. With respect to v02 it features an ECal barrel with 11 layers and cell corners projective along phi
</comment>
</info>

<include ref="${DD4hepINSTALL}/DDDetectors/compact/detector_types.xml" />

<includes>
<gdmlFile ref="elements.xml"/>
<gdmlFile ref="materials.xml"/>
</includes>

<define>
<constant name="world_size" value="25*m"/>
<constant name="world_x" value="world_size"/>
<constant name="world_y" value="world_size"/>
<constant name="world_z" value="world_size"/>
</define>

<include ref="./DectDimensions.xml" />

<include ref="Beampipe.xml"/>
<include ref="BeamInstrumentation.xml"/>
<include ref="LumiCal.xml"/>
<include ref="HOMAbsorber.xml"/>
<!--taken from DetFCCeeCLD/compact/FCCee_o2_v02 -->
<include ref="Vertex.xml"/>
<include ref="DriftChamber.xml"/>
<include ref="ECalBarrel_thetamodulemerged.xml"/>
<include ref="HCalBarrel_TileCal.xml"/>
<include ref="ECalEndcaps_coneCryo.xml"/>
<include ref="HCalEndcaps_ThreeParts_TileCal.xml"/>
<include ref="MuonTagger.xml"/>

</lccdd>
36 changes: 36 additions & 0 deletions FCCee/ALLEGRO/compact/ALLEGRO_o1_v03/ALLEGRO_o1_v03_ecalonly.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
<?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="ALLEGRO_o1_v03 Master"
title="ALLEGRO_o1_v03 Master"
author="Giovanni Marchiori"
url="no"
status="development"
version="1.0">
<comment>
Master compact file describing the latest developments of the FCCee ALLEGRO detector concept.
</comment>
</info>

<include ref="${DD4hepINSTALL}/DDDetectors/compact/detector_types.xml" />

<includes>
<gdmlFile ref="elements.xml"/>
<gdmlFile ref="materials.xml"/>
</includes>

<define>
<constant name="world_size" value="25*m"/>
<constant name="world_x" value="world_size"/>
<constant name="world_y" value="world_size"/>
<constant name="world_z" value="world_size"/>
</define>

<include ref="./DectDimensions.xml" />

<include ref="ECalBarrel_thetamodulemerged.xml"/>
<include ref="ECalEndcaps_coneCryo.xml"/>

</lccdd>
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
<?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="ALLEGRO_o1_v03 Master"
title="ALLEGRO_o1_v03 Master"
author="Giovanni Marchiori"
url="no"
status="development"
version="1.0">
<comment>
Master compact file describing the latest developments of the FCCee ALLEGRO detector concept.
</comment>
</info>

<include ref="${DD4hepINSTALL}/DDDetectors/compact/detector_types.xml" />

<includes>
<gdmlFile ref="elements.xml"/>
<gdmlFile ref="materials.xml"/>
</includes>

<define>
<constant name="world_size" value="25*m"/>
<constant name="world_x" value="world_size"/>
<constant name="world_y" value="world_size"/>
<constant name="world_z" value="world_size"/>
</define>

<include ref="./DectDimensions.xml" />

<include ref="Beampipe.xml"/>
<include ref="BeamInstrumentation.xml"/>
<include ref="LumiCal.xml"/>
<include ref="HOMAbsorber.xml"/>
<!--taken from DetFCCeeCLD/compact/FCCee_o2_v02 -->
<include ref="Vertex.xml"/>
<include ref="DriftChamber.xml"/>
</lccdd>
36 changes: 36 additions & 0 deletions FCCee/ALLEGRO/compact/ALLEGRO_o1_v03/BeamInstrumentation.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
<lccdd>

<info name="FCCee"
title="FCCee Beam instrumentation: taken correspoding to CLD: BeamInstrumentation_o3_v02_fitShield.xml"
author="from ILCSOFT/lcgeo/FCCee/compact/FCCee_o1_v04"
url="no"
status="development"
version="1.0">
<comment>COmpensating and screening solenoids for FCCee</comment>
</info>


<detectors>
<comment>Beampipe Instrumentation</comment>

<detector name="CompSol" type="DD4hep_Mask_o1_v01" insideTrackingVolume="true" vis="CompSolVis">
<parameter crossingangle="CrossingAngle" />
<envelope vis="CoilVis">
<shape type="Assembly"/>
</envelope>
<section type="Center" start="CompSol_min_z" end="QD0_min_z" rMin1="103*mm" rMin2="180*mm" rMax1="123*mm" rMax2="200*mm" material="SolenoidMixture" name="CompSol" />
</detector>

<detector name="ScreenSol" type="DD4hep_Mask_o1_v01" insideTrackingVolume="true" vis="ScreenSolVis">
<parameter crossingangle="CrossingAngle" />
<envelope vis="CoilVis">
<shape type="Assembly"/>
</envelope>

<section type="Center" start="QD0_min_z" end="QD0_min_z+5*cm" rMin1="SeparatedBeamPipe_rmax+1*mm+5*cm" rMin2="SeparatedBeamPipe_rmax+1*mm+5*cm" rMax1="200*mm" rMax2="200*mm" material="SolenoidMixture" name="CompSol" />

<section type="Center" start="QD0_min_z+5*cm" end="QD0_max_z" rMin1="180*mm" rMin2="180*mm" rMax1="200*mm" rMax2="200*mm" material="SolenoidMixture" name="CompSol" />
</detector>

</detectors>
</lccdd>
150 changes: 150 additions & 0 deletions FCCee/ALLEGRO/compact/ALLEGRO_o1_v03/Beampipe.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,150 @@
<lccdd>

<info name="FCCee"
title="FCCee Beam pipe: taken corresponding to CLD: Beampipe_o4_v04_noNotch_W_n02.xml"
author="from ILCSOFT/lcgeo/FCCee/compact/FCCee_o1_v04"
url="no"
status="development"
version="1.0">
<comment>A beampipe for FCCee, R(central) = 1.5 cm</comment>
</info>

<!-- Definition of global dictionary constants -->
<define>
<!-- Definition of global dictionary constants -->
<constant name="beampipegoldwidth" value="BeamPipeGoldWidth"/>
<constant name="beampipegoldtolerance" value="BeamPipeGoldTolerance"/>
</define>

<!-- Definition of the used visualization attributes -->
<display>
<vis name="BeamPipeVis" alpha="0.0" r="0.0" g="1.0" b="0.0" showDaughters="true" visible="false"/>
<vis name="GoldCoatingVis" alpha="0.0" r="0.0" g="1.0" b="1.0" showDaughters="true" visible="true"/>
<vis name="TubeVis" alpha="1.0" r="1.0" g="0.7" b="0.5" showDaughters="true" visible="true"/>
<vis name="VacVis" alpha="1.0" r="1.0" g="1.0" b="1.0" showDaughters="true" visible="false"/>
</display>

<detectors>

<comment>Part of beampipe made of Beryllium</comment>

<detector name="BeBeampipe" type="DD4hep_Beampipe_o1_v01" insideTrackingVolume="true" nocore="true" vis="BeamPipeVis">
<parameter crossingangle="CrossingAngle" />
<envelope vis="BlueVis">
<shape type="Assembly"/>
</envelope>

<section type="Center" start="0*mm" end="CentralBeamPipe_zmax" rMin1="CentralBeamPipe_rmax" rMin2="CentralBeamPipe_rmax" rMax1="CentralBeamPipe_rmax+BeamPipeWidth" rMax2="CentralBeamPipe_rmax+BeamPipeWidth" material="Beryllium" name="VertexInnerBe" />

<section type="Center" start="CentralBeamPipe_zmax" end="BePartEnd_z" rMin1="CentralBeamPipe_rmax" rMin2="CentralBeamPipe_rmax+(BePartEnd_z-CentralBeamPipe_zmax)*0.017" rMax1="CentralBeamPipe_rmax+BeamPipeWidthFirstCone" rMax2="CentralBeamPipe_rmax+BeamPipeWidthFirstCone+(BePartEnd_z-CentralBeamPipe_zmax)*0.017" material="Beryllium" name="FirstConeBe" />

</detector>

<detector name="BeamPipe" type="DD4hep_Beampipe_o1_v01" insideTrackingVolume="true" vis="BeamPipeVis" >
<envelope vis="BlueVis">
<shape type="Assembly"/>
</envelope>
<parameter crossingangle="CrossingAngle" />

<!-- &A Z1 Z2 RIn1 RIn2 ROut1 ROut2 Material -->


<comment>Golden foil in the inner part of the Be beampipe</comment>

<section type="Center" start="0*mm" end="CentralBeamPipe_zmax" rMin1="CentralBeamPipe_rmax-(beampipegoldwidth+beampipegoldtolerance)" rMin2="CentralBeamPipe_rmax-(beampipegoldwidth+beampipegoldtolerance)" rMax1="CentralBeamPipe_rmax-beampipegoldtolerance" rMax2="CentralBeamPipe_rmax-beampipegoldtolerance" material="Gold" name="VertexInnerGold" />

<section type="Center" start="CentralBeamPipe_zmax" end="BePartEnd_z" rMin1="CentralBeamPipe_rmax-(beampipegoldwidth+beampipegoldtolerance)" rMin2="CentralBeamPipe_rmax-(beampipegoldwidth+beampipegoldtolerance)+(BePartEnd_z-CentralBeamPipe_zmax)*0.017" rMax1="CentralBeamPipe_rmax-beampipegoldtolerance" rMax2="CentralBeamPipe_rmax-beampipegoldtolerance+(BePartEnd_z-CentralBeamPipe_zmax)*0.017" material="Gold" name="FirstConeGold" />

<comment>Part of beampipe made of Copper</comment>

<section type="Center" start="BePartEnd_z" end="SeparatedBeamPipe_z" rMin1="CentralBeamPipe_rmax+(BePartEnd_z-CentralBeamPipe_zmax)*0.017" rMin2="CentralBeamPipe_rmax+(BePartEnd_z-CentralBeamPipe_zmax)*0.017+(SeparatedBeamPipe_z-BePartEnd_z)*0.017" rMax1="CentralBeamPipe_rmax+BeamPipeWidthFirstCone+(BePartEnd_z-CentralBeamPipe_zmax)*0.017" rMax2="CentralBeamPipe_rmax+BeamPipeWidthFirstCone+(BePartEnd_z-CentralBeamPipe_zmax)*0.017+(SeparatedBeamPipe_z-BePartEnd_z)*0.017" material="Copper" name="CopperCone" />


<!-- PunchedCenter = un volume qui s'etend jusqu'a rMax1 (a z=start) et rMax2 (a end) et avec deux cylindres extrudes le long
des directions up / down (depend du xing angle), de rayon rMin1 et rMin2 -->


<section type="PunchedCenter" start="SeparatedBeamPipe_z" end="SeparatedBeamPipe_z+3*mm" rMin1="SeparatedBeamPipe_rmax" rMin2="SeparatedBeamPipe_rmax" rMax1="CentralBeamPipe_rmax+BeamPipeWidthFirstCone+(BePartEnd_z-CentralBeamPipe_zmax)*0.015+(SeparatedBeamPipe_z-BePartEnd_z)*0.015" rMax2="CentralBeamPipe_rmax+BeamPipeWidthFirstCone+(BePartEnd_z-CentralBeamPipe_zmax)*0.017+(SeparatedBeamPipe_z-BePartEnd_z)*0.017 + 3*mm*0.017" material="Copper" name="SplitVacChambers"/>

<!-- Downstream pipe : first part : radius = 1.5 cm -->

<section type="DnstreamClippedFront" start="SeparatedBeamPipe_z+3.01*mm" end="6000*mm" rMin1="SeparatedBeamPipe_rmax" rMin2="SeparatedBeamPipe_rmax" rMax1="SeparatedBeamPipe_rmax+1*mm" rMax2="SeparatedBeamPipe_rmax+1*mm" material="Copper" name="DownStreamBeamPipe_1"/>


<section type="UpstreamClippedFront" start="SeparatedBeamPipe_z+3.01*mm" end="6000*mm" rMin1="SeparatedBeamPipe_rmax" rMin2="SeparatedBeamPipe_rmax" rMax1="SeparatedBeamPipe_rmax+1*mm" rMax2="SeparatedBeamPipe_rmax+1*mm" material="Copper" name="UpStreamBeamPipe_1"/>

</detector>
<comment>Full Cone Tungsten Shield</comment>
<detector name="BeamPipeShield" type="DD4hep_Mask_o1_v01" insideTrackingVolume="true" vis="TantalumVis" >
<parameter crossingangle="CrossingAngle" />

<comment>Before HOM space</comment>
<section type="PunchedCenter"
start="LumiCal_max_z + 5*mm" end="1197.5*mm"
rMin1="SeparatedBeamPipe_rmax + BeamPipeWidth + 0.1*mm"
rMin2="SeparatedBeamPipe_rmax + BeamPipeWidth + 0.1*mm "
rMax1="SeparatedBeamPipe_rmax + (LumiCal_max_z + 5*mm )*0.015 + BeamPipeWidth + 0.1*mm + BeamPipeTantalShieldWidth"
rMax2="SeparatedBeamPipe_rmax + (1197.5*mm) * 0.015 + BeamPipeWidth + 0.1*mm + BeamPipeTantalShieldWidth"
material="Tungsten" name="TaShield_BH2" />

<comment>After HOM space (1197.5*m - 1298.7*mm) +18 cm as solenoid is now closer to IP </comment>
<section type="PunchedCenter"
start="1298.7*mm" end="QD0_min_z + 18*cm"
rMin1="SeparatedBeamPipe_rmax + BeamPipeWidth + 0.1*mm"
rMin2="SeparatedBeamPipe_rmax + BeamPipeWidth + 0.1*mm "
rMax1="SeparatedBeamPipe_rmax + (1298.7*mm )*0.015 + BeamPipeWidth + 0.1*mm + BeamPipeTantalShieldWidth"
rMax2="SeparatedBeamPipe_rmax + (QD0_min_z + 18*cm) * 0.015 + BeamPipeWidth + 0.1*mm + BeamPipeTantalShieldWidth"
material="Tungsten" name="TaShield_AH" />

</detector>
<comment>Asymmetric Tungsten Shield no Rotation</comment>

<detector name="BeamPipeShield_noRot" type="DD4hep_Mask_o1_v01" insideTrackingVolume="true" vis="TantalumVis" >
<parameter crossingangle="CrossingAngle" rotationX="true"/>

<section type="Center"
start="500*mm" end="LumiCal_max_z + 4.9*mm"
rMin1="CentralBeamPipe_rmax + (500.0*mm-CentralBeamPipe_zmax)*0.017 + BeamPipeWidthFirstCone + 0.1*mm"
rMin2="CentralBeamPipe_rmax + (LumiCal_max_z + 4.9*mm-CentralBeamPipe_zmax)*0.017 + BeamPipeWidthFirstCone + 0.1*mm"
rMax1="CentralBeamPipe_rmax + (500.0*mm-CentralBeamPipe_zmax)*0.017 + BeamPipeWidthFirstCone + 0.1*mm + TopFillerShieldWidth"
rMax2="CentralBeamPipe_rmax + (LumiCal_max_z + 4.9*mm-CentralBeamPipe_zmax)*0.017 + BeamPipeWidthFirstCone + 0.1*mm + BeamPipeTantalShieldWidth"
phi1="326*degree"
phi2="34*degree"
material="Tungsten" name="TaShieldTopPart" />

<comment>was 370</comment>
<section type="Center"
start="330*mm" end="500*mm"
rMin1="CentralBeamPipe_rmax + (330*mm - CentralBeamPipe_zmax)*0.017 + BeamPipeWidthFirstCone + 0.1*mm"
rMin2="CentralBeamPipe_rmax + (500*mm - CentralBeamPipe_zmax)*0.017 + BeamPipeWidthFirstCone + 0.1*mm"
rMax1="CentralBeamPipe_rmax + (330*mm - CentralBeamPipe_zmax)*0.017 + BeamPipeWidthFirstCone + 0.1*mm"
rMax2="CentralBeamPipe_rmax + (500*mm - CentralBeamPipe_zmax)*0.017 + BeamPipeWidthFirstCone + 0.1*mm + TopFillerShieldWidth"
phi1="326*degree"
phi2="34*degree"
material="Tungsten" name="TaShieldTopPart2" />

<comment>one degree less, to fit lumical window</comment>
<section type="Center"
start="600*mm" end="LumiCal_max_z + 4.9*mm"
rMin1="CentralBeamPipe_rmax + (600*mm - CentralBeamPipe_zmax)*0.017 + BeamPipeWidthFirstCone + 0.1*mm"
rMin2="CentralBeamPipe_rmax + (LumiCal_max_z + 4.9*mm - CentralBeamPipe_zmax)*0.017 + BeamPipeWidthFirstCone + 0.1*mm"
rMax1="CentralBeamPipe_rmax + (600*mm - CentralBeamPipe_zmax)*0.017 + BeamPipeWidthFirstCone + 0.1*mm + SideFillerShieldWidth"
rMax2="CentralBeamPipe_rmax + (LumiCal_max_z + 4.9*mm - CentralBeamPipe_zmax)*0.017 + BeamPipeWidthFirstCone + 0.1*mm + BeamPipeTantalShieldWidth"
phi1="34*degree"
phi2="70*degree"
material="Tungsten" name="TaShieldFiller1" />

<section type="Center"
start="600*mm" end="LumiCal_max_z + 4.9*mm"
rMin1="CentralBeamPipe_rmax + (600*mm - CentralBeamPipe_zmax)*0.017 + BeamPipeWidthFirstCone + 0.1*mm"
rMin2="CentralBeamPipe_rmax + (LumiCal_max_z + 4.9*mm - CentralBeamPipe_zmax)*0.017 + BeamPipeWidthFirstCone + 0.1*mm"
rMax1="CentralBeamPipe_rmax + (600*mm - CentralBeamPipe_zmax)*0.017 + BeamPipeWidthFirstCone + 0.1*mm + SideFillerShieldWidth"
rMax2="CentralBeamPipe_rmax + (LumiCal_max_z + 4.9*mm - CentralBeamPipe_zmax)*0.017 + BeamPipeWidthFirstCone + 0.1*mm + BeamPipeTantalShieldWidth"
phi1="291*degree"
phi2="326*degree"
material="Tungsten" name="TaShieldFiller2" />


</detector>
</detectors>
</lccdd>
Loading

0 comments on commit 1e73911

Please sign in to comment.