Skip to content

Commit

Permalink
Merging inner and outer vertex barrel into one constructor to enable …
Browse files Browse the repository at this point in the history
…simper usage of CLD Reconstruction. Since the sensors have different pitches, the segmentation is removed. Need to find a solution to add different segmentations for different layers in the same detector
  • Loading branch information
Armin Ilg committed Apr 23, 2024
1 parent d5dc0e4 commit 96b2824
Showing 1 changed file with 31 additions and 53 deletions.
84 changes: 31 additions & 53 deletions FCCee/IDEA/compact/IDEA_o1_v02/Vertex_IDEA_o1_v01.xml
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,8 @@
<position x="0" y="0" z="VTXOB_half_length/2." />
</shape>
<comment>Vertex Assembly</comment>
<composite name="VTXIB"/>
<composite name="VTXB"/>
<!-- <composite name="VTXIBSupport"/> -->
<composite name="VTXOB"/>
<composite name="VTXD"/>
</detector>
</detectors>
Expand Down Expand Up @@ -317,30 +316,26 @@

<!-- Definition of the readout segmentation/definition -->
<readouts>
<readout name="VTXIBCollection">
<segmentation type="CartesianGridYZ" grid_size_y="0.025*mm" grid_size_z="0.025*mm"/> <!-- Pixels of 25x25 µm-->
<id>${GlobalTrackerReadoutID},y:32:-16,z:-16</id>
<readout name="VTXBCollection">
<id>${GlobalTrackerReadoutID}</id>
</readout>
<readout name="VTXOBCollection">
<segmentation type="CartesianGridYZ" grid_size_y="0.050*mm" grid_size_z="0.150*mm"/> <!-- Pixels of 50x150 µm in r-phi x z -->
<id>${GlobalTrackerReadoutID},y:32:-16,z:-16</id>
</readout>
<readout name="VTXDCollection">
<segmentation type="CartesianGridXY" grid_size_x="0.050*mm" grid_size_y="0.150*mm"/> <!-- Pixels of 50x150 µm in r-phi x r -->
<id>${GlobalTrackerReadoutID},x:32:-16,y:-16</id>
<id>${GlobalTrackerReadoutID}</id>
</readout>
</readouts>

<detectors>

<!-- Vertex inner barrel -->
<detector name="VTXIB" type="VertexBarrel_detailed_o1_v01" vis="VXDVis" id="DetID_VXD_IB" readout="VTXIBCollection" region="VTXIBRegion">
<!-- Vertex inner and outer barrels -->
<detector name="VTXB" type="VertexBarrel_detailed_o1_v01" vis="VXDVis" id="DetID_VXD_IB" readout="VTXBCollection" region="VTXBRegion">
<envelope vis="VXDVis">
<shape type="Assembly"/>
</envelope>
<type_flags type=" DetType_TRACKER + DetType_PIXEL + DetType_VERTEX + DetType_BARREL"/>

<!-- Definition of our "stave" object that is used to build the barrel -->

<!-- Vertex inner barrel -->
<stave name="SiVTXIBStave1">
<!-- Sensor -->
<sensor r="0.0*mm" thickness="VTXIB_Sensitive_Thickness" material="Silicon">
Expand Down Expand Up @@ -381,7 +376,6 @@
</end_z>
</stave>

<!-- Definition of our "stave" object that is used to build the barrel, this time for layer 2 -->
<stave name="SiVTXIBStave2">
<!-- Sensor -->
<sensor r="0.0*mm" thickness="VTXIB_Sensitive_Thickness" material="Silicon">
Expand Down Expand Up @@ -422,7 +416,6 @@
</end_z>
</stave>

<!-- Definition of our "stave" object that is used to build the barrel. There are two different versions for layer 3 as they are mirrored in x-y and are at a different r -->
<stave name="SiVTXIBStave3">
<!-- Sensor -->
<sensor r="0.0*mm" thickness="VTXIB_Sensitive_Thickness" material="Silicon">
Expand Down Expand Up @@ -463,33 +456,8 @@
</end_z>
</stave>

<!-- Here we construct the barrel -->
<layer nLadders="VTXIB_L1_Staves" phi0="0.0" r="VTXIB_r1" offset="VTXIB_L1_offset" id="0" nmodules="VTXIB_L1_nModules" name="SiVTXIBStave1" step="VTXIB_mod_z_spacing" dr="VTXIB_dr1"/>
<layer nLadders="VTXIB_L2_Staves" phi0="0.0" r="VTXIB_r2" offset="VTXIB_L2_offset" id="1" nmodules="VTXIB_L2_nModules" name="SiVTXIBStave2" step="VTXIB_mod_z_spacing" dr="VTXIB_dr2"/>
<layer nLadders="VTXIB_L3_Staves" phi0="0.0" r="VTXIB_r3" offset="VTXIB_L3_offset" id="2" nmodules="VTXIB_L3_nModules" name="SiVTXIBStave3" step="VTXIB_mod_z_spacing" dr="VTXIB_dr3"/>
</detector>


<!-- Vertex inner barrel support structure imported via DDCAD, material budget evaluation with g4MaterialScan is working, but not with the k4SimGeant4 methods. Should be furthermore rotated by 90 degrees around z, but feature not working currently -->
<detector id="DetID_NOTUSED" name="VTXIBSupport" type="DD4hep_TestShape_Creator">
<envelope vis="VXDVis">
<shape type="Assembly"/>
</envelope>
<check>
<shape type="CAD_MultiVolume" ref="VertexSupport_o1_v02.obj" unit="mm"/>
<rotation x="0" y="0" z="0"/>
</check>
</detector>


<!-- Vertex outer barrel -->
<detector name="VTXOB" type="VertexBarrel_detailed_o1_v01" vis="VXDVis" id="DetID_VXD_OB" readout="VTXOBCollection" region="VTXOBRegion">
<envelope vis="VXDVis">
<shape type="Assembly"/>
</envelope>
<type_flags type=" DetType_TRACKER + DetType_PIXEL + DetType_VERTEX + DetType_BARREL"/>

<!-- Definition of our "stave" object that is used to build the barrel, here for the middle layer -->
<!-- Vertex outer barrel -->
<stave name="SiVTXOBStave1">
<components name="flexes" r="0.0*mm" length="VTXOB_z1">
<component thickness="VTXO_flex_Aluminium_thickness" width="VTXO_flex_width" r="0.0*mm" material="Al" vis="CableVis"/>
Expand Down Expand Up @@ -547,7 +515,6 @@
</end_z>
</stave>

<!-- Definition of our "stave" object that is used to build the barrel, here for the outer layer -->
<stave name="SiVTXOBStave2">
<components name="support" r="0.0*mm" length="VTXOB_z2">
<component thickness="VTXOB_TrussStructure_thickness2" width="VTXO_mod_rphi" r="-VTXOB_TrussStructure_distance" material="CarbonFiberVtx" vis="TrussStructureVis"/> <!--Proxy for the lightweight truss structure -->
Expand Down Expand Up @@ -606,11 +573,30 @@
</stave>

<!-- Here we construct the barrel -->
<layer nLadders="VTXOB_Staves1" phi0="0.0" r="VTXOB_r1" offset="VTXOB_offset1" id="0" nmodules="VTXOB_nModules1" name="SiVTXOBStave1" step="VTXOB_mod_z_spacing"/>
<layer nLadders="VTXOB_Staves2" phi0="0.0" r="VTXOB_r2" offset="VTXOB_offset2" id="1" nmodules="VTXOB_nModules2" name="SiVTXOBStave2" step="VTXOB_mod_z_spacing"/>

<!-- Vertex inner barrel -->
<layer nLadders="VTXIB_L1_Staves" phi0="0.0" r="VTXIB_r1" offset="VTXIB_L1_offset" id="0" nmodules="VTXIB_L1_nModules" name="SiVTXIBStave1" step="VTXIB_mod_z_spacing" dr="VTXIB_dr1"/>
<layer nLadders="VTXIB_L2_Staves" phi0="0.0" r="VTXIB_r2" offset="VTXIB_L2_offset" id="1" nmodules="VTXIB_L2_nModules" name="SiVTXIBStave2" step="VTXIB_mod_z_spacing" dr="VTXIB_dr2"/>
<layer nLadders="VTXIB_L3_Staves" phi0="0.0" r="VTXIB_r3" offset="VTXIB_L3_offset" id="2" nmodules="VTXIB_L3_nModules" name="SiVTXIBStave3" step="VTXIB_mod_z_spacing" dr="VTXIB_dr3"/>

<!-- Vertex outer barrel -->
<layer nLadders="VTXOB_Staves1" phi0="0.0" r="VTXOB_r1" offset="VTXOB_offset1" id="3" nmodules="VTXOB_nModules1" name="SiVTXOBStave1" step="VTXOB_mod_z_spacing"/>
<layer nLadders="VTXOB_Staves2" phi0="0.0" r="VTXOB_r2" offset="VTXOB_offset2" id="4" nmodules="VTXOB_nModules2" name="SiVTXOBStave2" step="VTXOB_mod_z_spacing"/>
</detector>


<!-- Vertex inner barrel support structure imported via DDCAD, material budget evaluation with g4MaterialScan is working, but not with the k4SimGeant4 methods. Should be furthermore rotated by 90 degrees around z, but feature not working currently -->
<detector id="DetID_NOTUSED" name="VTXIBSupport" type="DD4hep_TestShape_Creator">
<envelope vis="VXDVis">
<shape type="Assembly"/>
</envelope>
<check>
<shape type="CAD_MultiVolume" ref="VertexSupport_o1_v02.obj" unit="mm"/>
<rotation x="0" y="0" z="0"/>
</check>
</detector>


<!-- Vertex disks -->
<detector id="DetID_VXD_Disks" name="VTXD" vis="VXDVis" type="VertexDisks_detailed_o1_v01" readout="VTXDCollection" reflect="true" region="VTXDRegion">
<envelope vis="VXDVis">
Expand Down Expand Up @@ -767,15 +753,7 @@
<!-- Plugin to define the sensitive surfaces -->
<plugins>
<plugin name="DD4hep_GenericSurfaceInstallerPlugin">
<argument value="VTXIB"/>
<argument value="dimension=2"/>
<argument value="u_y=1."/>
<argument value="v_z=1."/>
<argument value="n_x=1."/>
</plugin>

<plugin name="DD4hep_GenericSurfaceInstallerPlugin">
<argument value="VTXOB"/>
<argument value="VTXB"/>
<argument value="dimension=2"/>
<argument value="u_y=1."/>
<argument value="v_z=1."/>
Expand Down

0 comments on commit 96b2824

Please sign in to comment.