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

Implement curved RSU structure for the three layers of vertex barrel trackers #803

Open
wants to merge 12 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 8 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
2 changes: 1 addition & 1 deletion compact/tracking/definitions_craterlake.xml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
<comment> Main parameters for the vertex tracker </comment>
<constant name="VertexBarrel_length" value="270.0*mm"/>
<constant name="VertexBarrel_rmin" value="3.6*cm"/>
<constant name="VertexBarrel_rmax" value="12.6*cm"/>
<constant name="VertexBarrel_rmax" value="13.0*cm"/>

<comment> Main parameters for the SiBarrel layer geometry </comment>
<constant name="SiBarrel1_rmin" value="27.0*cm"/>
Expand Down
239 changes: 239 additions & 0 deletions compact/tracking/vertex_barrel_curved.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,239 @@
<!-- SPDX-License-Identifier: LGPL-3.0-or-later -->
<!-- Copyright (C) 2022 Sylvester Joosten, Whitney Armstrong, Shujie Li -->
ShujieL marked this conversation as resolved.
Show resolved Hide resolved

<lccdd>
<define>
<comment>
Main parameters
</comment>

<constant name="SiVertexSensor_thickness" value="40*um" />
<constant name="RSU_width" value="19.564*mm" />
<constant name="RSU_length" value="21.666*mm" />
<constant name="Section_width" value="9.197*mm"/>
<constant name="Section_length" value="10.773*mm"/>

<comment>
1 RSU = 2x6 tiles with inactive areas == 2x2 sections
1 section (module) = 3-tiles along z
1 "stave" = 1 row of 12 RSU
</comment>
<constant name="VertexBarrelMod_length" value="RSU_length/2" />
<constant name="VertexBarrelLayer_nz" value="12*2" />
<comment>
# of staves in R: 12, 16, 40 RSUs = 24, 32, 80 sections
</comment>
<constant name="VertexBarrelStave_count1" value="12*2" />
<constant name="VertexBarrelStave_count2" value="16*2" />
<constant name="VertexBarrelStave_count3" value="40*2" />

<constant name="VertexBarrelStave1_width" value="RSU_width/2" />
<constant name="VertexBarrelStave2_width" value="RSU_width/2" />
<constant name="VertexBarrelStave3_width" value="RSU_width/2" />

<constant name="VertexBarrelMod1_rmin" value="VertexBarrelStave_count1*VertexBarrelStave1_width/2/Pi" />
<constant name="VertexBarrelMod2_rmin" value="VertexBarrelStave_count2*VertexBarrelStave2_width/2/Pi" />
<constant name="VertexBarrelMod3_rmin" value="VertexBarrelStave_count3*VertexBarrelStave3_width/2/Pi" />

<documentation>
for the segmentation. Assume sensors are placed at the inner most surface for each layer
</documentation>
<constant name="VertexBarrelSeg1_r" value="VertexBarrelMod1_rmin+SiVertexSensor_thickness/2.0" />
<constant name="VertexBarrelSeg2_r" value="VertexBarrelMod2_rmin+SiVertexSensor_thickness/2.0" />
<constant name="VertexBarrelSeg3_r" value="VertexBarrelMod3_rmin+SiVertexSensor_thickness/2.0" />

<documentation>
- Currently there are 3 sensor layers: Layer 1,2,3 = L0, L1, L2.
ShujieL marked this conversation as resolved.
Show resolved Hide resolved
- assume they are of the same length and aligned.
</documentation>
<constant name="VertexBarrelEnvelope_length" value="VertexTrackingRegion_length"/>
<constant name="VertexBarrelLayer_length" value="VertexBarrel_length + 1*um" />
ShujieL marked this conversation as resolved.
Show resolved Hide resolved
<constant name="VertexBarrelLayer_zoff" value="0" />
<constant name="VertexBarrelLayer_zstart" value="-VertexBarrelLayer_length/2+VertexBarrelLayer_zoff" />
<constant name="VertexBarrelLayer_z0"
value=" VertexBarrelLayer_zstart + VertexBarrelMod_length/2 " />
<comment>
ensure the modules within the z stave with some margin.
-- not sure where this is used
</comment>
<constant name="VertexZCheck" value="sqrt(VertexBarrelLayer_length - VertexBarrelLayer_nz*VertexBarrelMod_length - .1*cm)" />
ShujieL marked this conversation as resolved.
Show resolved Hide resolved

<constant name="VertexBarrelLayer_thickness" value="0.2*cm" />
<constant name="VertexBarrelLayer1_rmin" value="VertexBarrelMod1_rmin" />
<constant name="VertexBarrelLayer1_rmax" value="VertexBarrelLayer1_rmin + VertexBarrelLayer_thickness" />
<constant name="VertexBarrelLayer2_rmin" value="VertexBarrelMod2_rmin" />
<constant name="VertexBarrelLayer2_rmax" value="VertexBarrelLayer2_rmin + VertexBarrelLayer_thickness" />
<constant name="VertexBarrelLayer3_rmin" value="VertexBarrelMod3_rmin" />
<constant name="VertexBarrelLayer3_rmax" value="VertexBarrelLayer3_rmin + VertexBarrelLayer_thickness" />

<comment> ensure we are within the vertex envelope with some margin. </comment>
<constant name="VertexCheck" value="sqrt(VertexBarrel_rmax - VertexBarrelLayer3_rmax - .1*cm)" />
ShujieL marked this conversation as resolved.
Show resolved Hide resolved
</define>

<detectors>
<documentation level="5">
### Actual detectors
</documentation>
<detector
id="VertexBarrel_0_ID"
name="VertexBarrel"
type="epic_CylinderSVTBarrel"
readout="VertexBarrelHits"
insideTrackingVolume="true">
<type_flags type="DetType_TRACKER + DetType_BARREL" />
<comment>
- Vertex Barrel Modules.
- For RSU (1 module = 1 upper/lower section of three tiles):
--Use [mod_name]_upper and [mod_name]_lower here, and [mod_name] in corresponding layer
to allow the geo plugin find both modules.
-- also need to specify type="upper" or "lower" in components.
- for other modules and components:
no need to specify upper and lower anywhere.
- one RSU ("|" = backbone. Length alone z.):
| ------readout-------- | -------readout--------
| tilex3 | tilex3
| ------biasing-------- | -------biasing--------
| ------biasing-------- | -------biasing--------
| tilex3 | tilex3
| ------readout-------- | -------readout--------

</comment>
<module name="Module1_upper" rmin="VertexBarrelMod1_rmin" width="VertexBarrelStave1_width"
length="VertexBarrelMod_length">
<module_component name="RSU" type="upper"
material="Silicon"
sensitive="true"
thickness="SiVertexSensor_thickness"
width="Section_width"
length="Section_length"
vis="VertexLayerVis" />
</module>
<module name="Module1_lower" rmin="VertexBarrelMod1_rmin" width="VertexBarrelStave1_width"
length="VertexBarrelMod_length">
<module_component name="RSU" type="lower"
material="Silicon"
sensitive="true"
thickness="SiVertexSensor_thickness"
width="Section_width"
length="Section_length"
vis="VertexLayerVis" />
</module>

<module name="Module2_upper" rmin="VertexBarrelMod2_rmin" width="VertexBarrelStave2_width"
length="VertexBarrelMod_length">
<module_component name="RSU" type="upper"
material="Silicon"
sensitive="true"
thickness="SiVertexSensor_thickness"
width="Section_width"
length="Section_length"
vis="VertexLayerVis" />
</module>
<module name="Module2_lower" rmin="VertexBarrelMod2_rmin" width="VertexBarrelStave2_width"
length="VertexBarrelMod_length">
<module_component name="RSU" type="lower"
material="Silicon"
sensitive="true"
thickness="SiVertexSensor_thickness"
width="Section_width"
length="Section_length"
vis="VertexLayerVis" />
</module>

<module name="Module3_upper" rmin="VertexBarrelMod3_rmin" width="VertexBarrelStave3_width"
length="VertexBarrelMod_length">
<module_component name="RSU" type="upper"
material="Silicon"
sensitive="true"
thickness="SiVertexSensor_thickness"
width="Section_width"
length="Section_length"
vis="VertexLayerVis" />
</module>
<module name="Module3_lower" rmin="VertexBarrelMod3_rmin" width="VertexBarrelStave3_width"
length="VertexBarrelMod_length">
<module_component name="RSU" type="lower"
material="Silicon"
sensitive="true"
thickness="SiVertexSensor_thickness"
width="Section_width"
length="Section_length"
vis="VertexLayerVis" />
</module>

<comment> Layers composed of many arrayed modules </comment>
<comment> L0 </comment>
<layer module="Module1" id="1" vis="VertexLayerVis">
ShujieL marked this conversation as resolved.
Show resolved Hide resolved
<barrel_envelope
inner_r="VertexBarrelLayer1_rmin"
outer_r="VertexBarrelLayer1_rmax"
z_length="VertexBarrelLayer_length" />
<layer_material surface="inner" binning="binPhi,binZ" bins0="VertexBarrelStave_count1"
bins1="100" />
<layer_material surface="outer" binning="binPhi,binZ" bins0="VertexBarrelStave_count1"
bins1="100" />
<comment>
phi0 : Starting phi of first module.
nphi : Number of modules in phi.
z0 : Z position of first module's center.
nz : Number of modules to place in z.
</comment>
<rphi_layout nphi="VertexBarrelStave_count1" phi0="0.0" dr="0.0 * mm" />
<z_layout z0="VertexBarrelLayer_z0" nz="VertexBarrelLayer_nz" />
</layer>

<comment> L1 </comment>
<layer module="Module2" id="2" vis="VertexLayerVis">
<barrel_envelope
inner_r="VertexBarrelLayer2_rmin"
outer_r="VertexBarrelLayer2_rmax"
z_length="VertexBarrelLayer_length" />
<layer_material surface="inner" binning="binPhi,binZ" bins0="VertexBarrelStave_count2"
bins1="100" />
<layer_material surface="outer" binning="binPhi,binZ" bins0="VertexBarrelStave_count2"
bins1="100" />
<rphi_layout nphi="VertexBarrelStave_count2" phi0="0.0" dr="0.0 * mm" />
<z_layout z0="VertexBarrelLayer_z0" nz="VertexBarrelLayer_nz" />
</layer>

<comment> L2 </comment>
<layer module="Module3" id="4" vis="VertexLayerVis">
<barrel_envelope
inner_r="VertexBarrelLayer3_rmin"
outer_r="VertexBarrelLayer3_rmax"
z_length="VertexBarrelLayer_length" />
<layer_material surface="inner" binning="binPhi,binZ" bins0="VertexBarrelStave_count3"
bins1="100" />
<layer_material surface="outer" binning="binPhi,binZ" bins0="VertexBarrelStave_count3"
bins1="100" />
<rphi_layout nphi="VertexBarrelStave_count3" phi0="0.0" dr="0.0 * mm" />
<z_layout z0="VertexBarrelLayer_z0" nz="VertexBarrelLayer_nz" />
</layer>
</detector>
</detectors>

<plugins>
<plugin name="DD4hep_ParametersPlugin">
<argument value="VertexBarrel" />
<argument value="layer_pattern: str=VertexBarrel_layer\d" />
</plugin>
</plugins>

<readouts>
<readout name="VertexBarrelHits">
<segmentation type="MultiSegmentation" key="layer">
<segmentation name="L0" type="CylindricalGridPhiZ" key_value="1"
ShujieL marked this conversation as resolved.
Show resolved Hide resolved
grid_size_phi="0.02*mm/VertexBarrelSeg1_r" grid_size_z="0.02*mm"
radius="VertexBarrelSeg1_r" />
<segmentation name="L1" type="CylindricalGridPhiZ" key_value="2"
grid_size_phi="0.02*mm/VertexBarrelSeg2_r" grid_size_z="0.02*mm"
radius="VertexBarrelSeg2_r" />
<segmentation name="L2" type="CylindricalGridPhiZ" key_value="4"
grid_size_phi="0.02*mm/VertexBarrelSeg3_r" grid_size_z="0.02*mm"
radius="VertexBarrelSeg3_r" />
</segmentation>
<id>system:8,layer:4,module:12,sensor:3,phi:30:-18,z:-16</id>
ShujieL marked this conversation as resolved.
Show resolved Hide resolved
</readout>
</readouts>

</lccdd>
2 changes: 1 addition & 1 deletion configurations/craterlake.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ features:
beampipe:
tracking:
definitions_craterlake:
vertex_barrel:
vertex_barrel_curved:
ShujieL marked this conversation as resolved.
Show resolved Hide resolved
silicon_barrel:
mpgd_barrel:
support_service_craterlake:
Expand Down
2 changes: 1 addition & 1 deletion configurations/craterlake_10x100.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ features:
beampipe:
tracking:
definitions_craterlake:
vertex_barrel:
vertex_barrel_curved:
silicon_barrel:
mpgd_barrel:
support_service_craterlake:
Expand Down
2 changes: 1 addition & 1 deletion configurations/craterlake_10x275.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ features:
beampipe:
tracking:
definitions_craterlake:
vertex_barrel:
vertex_barrel_curved:
silicon_barrel:
mpgd_barrel:
support_service_craterlake:
Expand Down
2 changes: 1 addition & 1 deletion configurations/craterlake_18x110_Au.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ features:
beampipe:
tracking:
definitions_craterlake:
vertex_barrel:
vertex_barrel_curved:
silicon_barrel:
mpgd_barrel:
support_service_craterlake:
Expand Down
2 changes: 1 addition & 1 deletion configurations/craterlake_18x275.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ features:
beampipe:
tracking:
definitions_craterlake:
vertex_barrel:
vertex_barrel_curved:
silicon_barrel:
mpgd_barrel:
support_service_craterlake:
Expand Down
2 changes: 1 addition & 1 deletion configurations/craterlake_5x100.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ features:
beampipe:
tracking:
definitions_craterlake:
vertex_barrel:
vertex_barrel_curved:
silicon_barrel:
mpgd_barrel:
support_service_craterlake:
Expand Down
2 changes: 1 addition & 1 deletion configurations/craterlake_5x41.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ features:
beampipe:
tracking:
definitions_craterlake:
vertex_barrel:
vertex_barrel_curved:
silicon_barrel:
mpgd_barrel:
support_service_craterlake:
Expand Down
2 changes: 1 addition & 1 deletion configurations/craterlake_bic_6layers.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ features:
beampipe:
tracking:
definitions_craterlake:
vertex_barrel:
vertex_barrel_curved:
silicon_barrel:
mpgd_barrel:
support_service_craterlake:
Expand Down
2 changes: 1 addition & 1 deletion configurations/craterlake_material_map.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ features:
beampipe:
tracking:
definitions_craterlake:
vertex_barrel:
vertex_barrel_curved:
silicon_barrel:
mpgd_barrel:
support_service_craterlake:
Expand Down
2 changes: 1 addition & 1 deletion configurations/craterlake_no_bhcal.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ features:
beampipe:
tracking:
definitions_craterlake:
vertex_barrel:
vertex_barrel_curved:
silicon_barrel:
mpgd_barrel:
support_service_craterlake:
Expand Down
2 changes: 1 addition & 1 deletion configurations/craterlake_no_zdc_lyso.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ features:
beampipe:
tracking:
definitions_craterlake:
vertex_barrel:
vertex_barrel_curved:
silicon_barrel:
mpgd_barrel:
support_service_craterlake:
Expand Down
2 changes: 1 addition & 1 deletion configurations/craterlake_tracking_only.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ features:
marco:
tracking:
definitions_craterlake:
vertex_barrel:
vertex_barrel_curved:
silicon_barrel:
mpgd_barrel:
support_service_craterlake:
Expand Down
2 changes: 1 addition & 1 deletion configurations/forward_detectors.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ features:
marco:
tracking:
definitions_craterlake:
vertex_barrel:
vertex_barrel_curved:
silicon_barrel:
mpgd_barrel:
silicon_disks:
Expand Down
2 changes: 1 addition & 1 deletion configurations/forward_detectors_with_inserts.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ features:
marco:
tracking:
definitions_craterlake:
vertex_barrel:
vertex_barrel_curved:
silicon_barrel:
mpgd_barrel:
silicon_disks:
Expand Down
2 changes: 1 addition & 1 deletion configurations/full.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ features:
beampipe:
tracking:
definitions_craterlake:
vertex_barrel:
vertex_barrel_curved:
silicon_barrel:
mpgd_barrel:
support_service_craterlake:
Expand Down
2 changes: 1 addition & 1 deletion configurations/inner_detector.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ features:
marco:
tracking:
definitions_craterlake:
vertex_barrel:
vertex_barrel_curved:
silicon_barrel:
mpgd_barrel:
support_service_craterlake:
Expand Down
2 changes: 1 addition & 1 deletion configurations/vertex_only.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@ features:
marco:
tracking:
definitions_craterlake:
vertex_barrel:
vertex_barrel_curved:
Loading
Loading