<?xml version="1.0" encoding="UTF-8"?> <lccdd> <comment> --------------- Silicon Tracker --------------- Some references: With some added info on ITS3 chip from https://indico.bnl.gov/event/10677/contributions/45591/attachments/33204/53254/20210318-IR2%40EIC-SVT.pdf To be used as standin until we get more detailed specs from the working group on the tracker. Note: initial implementation with hard-coded values, TODO: add parametrization ---- Aug 04, 2021, Shujie Li udpated stave material budget for the baseline design. see https://eicweb.phy.anl.gov/EIC/detectors/athena/-/issues/63 ITS3 sensor thickness: 40um, pixel size: 10um (segmentation) total X0 0.55% per layer: 0.4 mm aluminum ~ 0.44% X0. 2 x carbonfiber (RL ~ 25) 0.1 mm to match Si (RL~9) of 0.04mm </comment> <define> <comment> Layer_rOffset is used to add inside space so the _rmin value is the nominal sensor radius. TrackerBarrelSpaceFrame_height must be smaller than {_rmin2 - _rmin1 - Layer_rOffset - 1mm - stave_thickness} </comment> <constant name="TrackerBarrelLayer_rOffset" value="0.5*cm"/> <constant name="TrackerBarrelSpaceFrame_width" value="4.0*cm"/> <constant name="TrackerBarrelSpaceFrame_height" value="1.0835*cm"/> <constant name="TrackerSensor_thickness" value="0.04*mm"/> <constant name="TrackerBarrelInner_rmin1" value="21.0*cm"/> <constant name="TrackerBarrelInner_rmin2" value="22.68*cm"/> <constant name="TrackerBarrelInner_length1" value="54.0*cm"/> <constant name="TrackerBarrelInner_length2" value="60.0*cm"/> <constant name="TrackerBarrelOuter_rmin1" value="39.3*cm"/> <constant name="TrackerBarrelOuter_rmin2" value="43.23*cm"/> <constant name="TrackerBarrelOuter_length1" value="105.0*cm"/> <constant name="TrackerBarrelOuter_length2" value="114.0*cm"/> <constant name="TrackerBarrelInner_thickness" value="TrackerBarrelInner_rmin2 - TrackerBarrelInner_rmin1"/> <constant name="TrackerBarrelOuter_thickness" value="TrackerBarrelOuter_rmin2 - TrackerBarrelOuter_rmin1"/> <constant name="TrackerBarrelInner_length" value="TrackerBarrelInner_length2+1.0*cm"/> <constant name="TrackerBarrelOuter_length" value="TrackerBarrelOuter_length2+1.0*cm"/> <comment> Here we are assuming the two endcaps (P and N) are symmetric. </comment> <!-- <constant name="TrackerEndcap_thickness" value="0.24/100*9.37*cm"/> --> <!-- <constant name="TrackerEndcapService_thickness" value="TrackerEndcap_thickness-TrackerSensor_thickness"/> --> <constant name="TrackerEndcapInner_nLayers" value="1"/> <constant name="TrackerEndcapOuter_nLayers" value="3"/> <constant name="TrackerEndcapInner_zmin" value="TrackerBarrelInner_length/2.0"/> <constant name="TrackerEndcapInner_zmax" value="TrackerBarrelOuter_length/2.0"/> <constant name="TrackerEndcapInner_length" value="TrackerEndcapInner_zmax- TrackerEndcapInner_zmin"/> <constant name="TrackerEndcapInnerLayer_dz" value="TrackerEndcapInner_length/TrackerEndcapInner_nLayers"/> <constant name="TrackerEndcapInnerLayer_thickness" value="TrackerEndcapInnerLayer_dz - 0.5*cm"/> <comment> Note, the -1.0*cm is so the layers do not touch surfaces. This is a limitation of ACTS geometry which will likely go away in the future.</comment> <constant name="TrackerEndcapOuter_zmin" value="TrackerBarrelOuter_length/2.0"/> <constant name="TrackerEndcapOuter_zmax" value="TrackerEndcapOuter_zmin + 70"/> <constant name="TrackerEndcapOuter_length" value="TrackerEndcapOuter_zmax- TrackerEndcapOuter_zmin"/> <constant name="TrackerEndcapOuterLayer_dz" value="TrackerEndcapOuter_length/TrackerEndcapOuter_nLayers"/> <constant name="TrackerEndcapOuterLayer_thickness" value="TrackerEndcapOuterLayer_dz - 1.0*cm"/> <comment> Note, the -1.0*cm is so the layers do not touch surfaces. This is a limitation of ACTS geometry which will likely go away in the future.</comment> <constant name="TrackerEndcapInner_rmin1" value="Beampipe_rmax+1.0*cm"/> <!-- <constant name="TrackerEndcapInner_rmin2" value="Beampipe_rmax+1.0*cm"/> --> <constant name="TrackerEndcapOuter_rmin1" value="3.18*cm + 1.2*cm * 1"/> <constant name="TrackerEndcapOuter_rmin2" value="3.18*cm + 1.2*cm * 1"/> <constant name="TrackerEndcapOuter_rmin3" value="3.18*cm + 1.2*cm * 2"/> <constant name="TrackerEndcapInner_rmax1" value="TrackerBarrelOuter_rmin1-5.0*mm"/> <!-- <constant name="TrackerEndcapInner_rmax2" value="TrackerBarrelOuter_rmin1-5.0*mm"/> --> <constant name="TrackerEndcapOuter_rmax1" value="43.23*cm"/> <constant name="TrackerEndcapOuter_rmax2" value="43.23*cm"/> <constant name="TrackerEndcapOuter_rmax3" value="43.23*cm"/> <comment> TODO: These should be computed </comment> <constant name="TrackerBarrelInner_NModules" value="30"/> <constant name="TrackerBarrelOuter_NModules" value="56"/> <constant name="TrackerEndcapInnerModOpeningAngle" value="30.0*degree"/> <constant name="TrackerEndcapInnerMod1_x1" value="2.0*TrackerEndcapInner_rmin1*sin(TrackerEndcapInnerModOpeningAngle/2.0)"/> <constant name="TrackerEndcapInnerMod1_x2" value="2.0*TrackerEndcapInner_rmax1*sin(TrackerEndcapInnerModOpeningAngle/2.0)"/> <constant name="TrackerEndcapInnerMod1_y" value="TrackerEndcapInner_rmax1*cos(TrackerEndcapInnerModOpeningAngle/2.0) - TrackerEndcapInner_rmin1"/> <constant name="TrackerEndcapOuterModOpeningAngle" value="30.0*degree"/> <constant name="TrackerEndcapOuterMod1_x1" value="2.0*TrackerEndcapOuter_rmin1*sin(TrackerEndcapOuterModOpeningAngle/2.0)"/> <constant name="TrackerEndcapOuterMod1_x2" value="2.0*TrackerEndcapOuter_rmax1*sin(TrackerEndcapOuterModOpeningAngle/2.0)"/> <constant name="TrackerEndcapOuterMod1_y" value="TrackerEndcapOuter_rmax1*cos(TrackerEndcapOuterModOpeningAngle/2.0) - TrackerEndcapOuter_rmin1"/> <constant name="TrackerEndcapOuterMod2_x1" value="2.0*TrackerEndcapOuter_rmin2*sin(TrackerEndcapOuterModOpeningAngle/2.0)"/> <constant name="TrackerEndcapOuterMod2_x2" value="2.0*TrackerEndcapOuter_rmax2*sin(TrackerEndcapOuterModOpeningAngle/2.0)"/> <constant name="TrackerEndcapOuterMod2_y" value="TrackerEndcapOuter_rmax2*cos(TrackerEndcapOuterModOpeningAngle/2.0) - TrackerEndcapOuter_rmin2"/> <constant name="TrackerEndcapOuterMod3_x1" value="2.0*TrackerEndcapOuter_rmin3*sin(TrackerEndcapOuterModOpeningAngle/2.0)"/> <constant name="TrackerEndcapOuterMod3_x2" value="2.0*TrackerEndcapOuter_rmax3*sin(TrackerEndcapOuterModOpeningAngle/2.0)"/> <constant name="TrackerEndcapOuterMod3_y" value="TrackerEndcapOuter_rmax3*cos(TrackerEndcapOuterModOpeningAngle/2.0) - TrackerEndcapOuter_rmin3"/> </define> <display> </display> <detectors> <comment> ----------------------------------- Inner Tracker Subassembly (group 1) ----------------------------------- </comment> <detector id="TrackerBarrel_Inner_ID" name="TrackerBarrel_Inner" type="athena_TrackerBarrel" readout="TrackerBarrelHits" insideTrackingVolume="true"> <dimensions rmin="TrackerBarrelInner_rmin1-TrackerBarrelLayer_rOffset" rmax="TrackerBarrelInner_rmin2-TrackerBarrelLayer_rOffset + TrackerBarrelInner_thickness" length="TrackerBarrelInner_length"/> <comment> Tracker Barrel Modules </comment> <module name="TrackerBarrelInner_Module1" vis="TrackerModuleVis"> <frame material="CarbonFiber_25percent" vis="TrackerSupportVis" width="TrackerBarrelSpaceFrame_width" height="TrackerBarrelSpaceFrame_height" length="TrackerBarrelInner_length1" thickness="0.1*mm" /> <module_component name="aluminum1" material="Aluminum" sensitive="false" width="TrackerBarrelSpaceFrame_width" length="TrackerBarrelInner_length1-4*mm" thickness="0.4*mm" /> <module_component name="silicon" width="TrackerBarrelSpaceFrame_width" length="TrackerBarrelInner_length1-5*mm" thickness="TrackerSensor_thickness" material="Silicon" sensitive="true"> <!--position z="-0.025*mm" y="0*mm"/--> </module_component> </module> <module name="TrackerBarrelInner_Module2" vis="TrackerModuleVis"> <frame material="CarbonFiber_25percent" vis="TrackerSupportVis" width="TrackerBarrelSpaceFrame_width" height="TrackerBarrelSpaceFrame_height" length="TrackerBarrelInner_length2" thickness="0.1*mm" /> <module_component name="aluminum1" material="Aluminum" sensitive="false" width="TrackerBarrelSpaceFrame_width" length="TrackerBarrelInner_length2-4*mm" thickness="0.4*mm" /> <module_component name="silicon" width="TrackerBarrelSpaceFrame_width" length="TrackerBarrelInner_length2-5*mm" thickness="TrackerSensor_thickness" material="Silicon" sensitive="true"> <!--position z="-0.025*mm" y="0*mm"/--> </module_component> </module> <comment> Tracker Barrel Inner Layers </comment> <layer module="TrackerBarrelInner_Module1" id="1" vis="TrackerLayerVis"> <barrel_envelope inner_r="TrackerBarrelInner_rmin1-TrackerBarrelLayer_rOffset" outer_r="TrackerBarrelInner_rmin1-TrackerBarrelLayer_rOffset + TrackerBarrelInner_thickness-1.0*mm" z_length="TrackerBarrelInner_length1"/> <rphi_layout phi_tilt="10.0*degree" nphi="TrackerBarrelInner_NModules" phi0="0.0" rc="TrackerBarrelInner_rmin1" dr="0.0 * mm"/> <z_layout dr="0.0 * mm" z0="0.0 * mm" nz="1"/> </layer> <layer module="TrackerBarrelInner_Module2" id="2" vis="TrackerLayerVis"> <barrel_envelope inner_r="TrackerBarrelInner_rmin2-TrackerBarrelLayer_rOffset" outer_r="TrackerBarrelInner_rmin2-TrackerBarrelLayer_rOffset + TrackerBarrelInner_thickness" z_length="TrackerBarrelInner_length2"/> <rphi_layout phi_tilt="10.0*degree" nphi="TrackerBarrelInner_NModules" phi0="0.0" rc="TrackerBarrelInner_rmin2" dr="0.0 * mm"/> <z_layout dr="0.0 * mm" z0="0.0 * mm" nz="1"/> </layer> </detector> <detector id="TrackerEndcapP_Inner_ID" name="TrackerEndcapP_Inner" type="athena_TrapEndcapTracker" readout="TrackerEndcapHits" vis="AnlRed" reflect="false"> <module name="Module1" vis="AnlProcess_Blue"> <trd x1="TrackerEndcapInnerMod1_x1/2.0" x2="TrackerEndcapInnerMod1_x2/2.0" z="TrackerEndcapInnerMod1_y/2"/> <module_component thickness="ITS3Thickness" material="Silicon" sensitive="true"/> <module_component thickness="0.25/100*9.37*cm-ITS3Thickness" material="Silicon"/> </module> <layer id="1"> <envelope vis="AnlRed" rmin="TrackerEndcapInner_rmin1" rmax="TrackerEndcapInner_rmax1" length="TrackerEndcapInnerLayer_dz" zstart="TrackerEndcapInner_zmin" /> <ring vis="AnlRed" r="TrackerEndcapInner_rmin1+TrackerEndcapInnerMod1_y/2.0" zstart="(50.0*mm)" nmodules="12" dz="2.5 * mm" module="Module1" /> </layer> </detector> <detector id="TrackerEndcapN_Inner_ID" name="TrackerEndcapN_Inner" type="athena_TrapEndcapTracker" readout="TrackerEndcapHits" vis="AnlRed" reflect="true"> <module name="Module1" vis="AnlProcess_Blue"> <trd x1="TrackerEndcapInnerMod1_x1/2.0" x2="TrackerEndcapInnerMod1_x2/2.0" z="TrackerEndcapInnerMod1_y/2"/> <module_component thickness="ITS3Thickness" material="Silicon" sensitive="true"/> <module_component thickness="0.25/100*9.37*cm-ITS3Thickness" material="Silicon"/> </module> <layer id="1"> <envelope vis="AnlRed" rmin="TrackerEndcapInner_rmin1" rmax="TrackerEndcapInner_rmax1" length="TrackerEndcapInnerLayer_dz" zstart="TrackerEndcapInner_zmin" /> <ring vis="AnlRed" r="TrackerEndcapInner_rmin1+TrackerEndcapInnerMod1_y/2.0" zstart="-(50.0*mm)" nmodules="12" dz="2.5 * mm" module="Module1" /> </layer> </detector> <comment> ----------------------------------- Outer Tracker Subassembly (group 2) ----------------------------------- </comment> <detector id="TrackerBarrel_Outer_ID" name="TrackerBarrel_Outer" type="athena_TrackerBarrel" readout="TrackerBarrelHits" insideTrackingVolume="true"> <dimensions rmin="TrackerBarrelOuter_rmin1-TrackerBarrelLayer_rOffset" rmax="TrackerBarrelOuter_rmin2-TrackerBarrelLayer_rOffset + TrackerBarrelOuter_thickness" length="TrackerBarrelOuter_length"/> <comment> Tracker Barrel Modules </comment> <module name="TrackerBarrelOuter_Module1" vis="PurpleVis"> <frame material="CarbonFiber_25percent" vis="BlueGreenVis" width="TrackerBarrelSpaceFrame_width" height="TrackerBarrelSpaceFrame_height" length="TrackerBarrelOuter_length1" thickness="0.1*mm" /> <module_component name="aluminum1" material="Aluminum" sensitive="false" width="TrackerBarrelSpaceFrame_width" length="TrackerBarrelOuter_length1-0.1*mm" thickness="0.40*mm" /> <module_component name="silicon" width="TrackerBarrelSpaceFrame_width" length="TrackerBarrelOuter_length1-0.1*mm" thickness="TrackerSensor_thickness" material="Silicon" sensitive="true"> </module_component> </module> <module name="TrackerBarrelOuter_Module2" vis="PurpleVis"> <frame material="CarbonFiber_25percent" vis="BlueGreenVis" width="TrackerBarrelSpaceFrame_width" height="TrackerBarrelSpaceFrame_height" length="TrackerBarrelOuter_length2" thickness="0.1*mm" /> <module_component name="aluminum1" material="Aluminum" sensitive="false" width="TrackerBarrelSpaceFrame_width" length="TrackerBarrelOuter_length2-0.1*mm" thickness="0.40*mm" /> <module_component name="silicon" width="TrackerBarrelSpaceFrame_width" length="TrackerBarrelOuter_length1-0.1*mm" thickness="TrackerSensor_thickness" material="Silicon" sensitive="true"> </module_component> </module> <comment> Tracker Barrel Inner Layers </comment> <layer module="TrackerBarrelOuter_Module1" id="1" vis="VertexVis"> <barrel_envelope inner_r="TrackerBarrelOuter_rmin1-TrackerBarrelLayer_rOffset" outer_r="TrackerBarrelOuter_rmin1-TrackerBarrelLayer_rOffset + TrackerBarrelOuter_thickness-1.0*mm" z_length="TrackerBarrelOuter_length1"/> <rphi_layout phi_tilt="10.0*degree" nphi="TrackerBarrelOuter_NModules" phi0="0.0" rc="TrackerBarrelOuter_rmin1" dr="0.0 * mm"/> <z_layout dr="0.0 * mm" z0="0.0 * mm" nz="1"/> </layer> <layer module="TrackerBarrelOuter_Module2" id="2" vis="VertexVis"> <barrel_envelope inner_r="TrackerBarrelOuter_rmin2-TrackerBarrelLayer_rOffset" outer_r="TrackerBarrelOuter_rmin2-TrackerBarrelLayer_rOffset + TrackerBarrelOuter_thickness" z_length="TrackerBarrelOuter_length2"/> <rphi_layout phi_tilt="10.0*degree" nphi="TrackerBarrelOuter_NModules" phi0="0.0" rc="TrackerBarrelOuter_rmin2" dr="0.0 * mm"/> <z_layout dr="0.0 * mm" z0="0.0 * mm" nz="1"/> </layer> </detector> <detector id="TrackerEndcapP_Outer_ID" name="TrackerEndcapP_Outer" type="athena_TrapEndcapTracker" readout="TrackerEndcapHits" vis="AnlRed" reflect="false"> <module name="Module1" vis="AnlProcess_Blue"> <trd x1="TrackerEndcapOuterMod1_x1/2.0" x2="TrackerEndcapOuterMod1_x2/2.0" z="TrackerEndcapOuterMod1_y/2"/> <module_component thickness="ITS3Thickness" material="Silicon" sensitive="true"/> <module_component thickness="0.25/100*9.37*cm-ITS3Thickness" material="Silicon"/> </module> <module name="Module2" vis="AnlProcess_Blue"> <trd x1="TrackerEndcapOuterMod2_x1/2.0" x2="TrackerEndcapOuterMod2_x2/2.0" z="TrackerEndcapOuterMod2_y/2"/> <module_component thickness="ITS3Thickness" material="Silicon" sensitive="true"/> <module_component thickness="0.25/100*9.37*cm-ITS3Thickness" material="Silicon"/> </module> <module name="Module3" vis="AnlProcess_Blue"> <trd x1="TrackerEndcapOuterMod3_x1/2.0" x2="TrackerEndcapOuterMod3_x2/2.0" z="TrackerEndcapOuterMod3_y/2"/> <module_component thickness="ITS3Thickness" material="Silicon" sensitive="true"/> <module_component thickness="0.25/100*9.37*cm-ITS3Thickness" material="Silicon"/> </module> <layer id="1"> <envelope vis="AnlRed" rmin="TrackerEndcapOuter_rmin1" rmax="TrackerEndcapOuter_rmax1" length="TrackerEndcapOuterLayer_thickness" zstart="TrackerEndcapOuter_zmin" /> <ring vis="AnlRed" r="TrackerEndcapOuter_rmin1+TrackerEndcapOuterMod1_y/2.0" zstart="0.0*mm" nmodules="12" dz="2.5 * mm" module="Module1" /> </layer> <layer id="2"> <envelope vis="AnlRed" rmin="TrackerEndcapOuter_rmin2" rmax="TrackerEndcapOuter_rmax2" length="TrackerEndcapOuterLayer_thickness" zstart="TrackerEndcapOuter_zmin + TrackerEndcapOuterLayer_dz" /> <ring vis="AnlRed" r="TrackerEndcapOuter_rmin2+TrackerEndcapOuterMod2_y/2.0" zstart="0.0*mm" nmodules="12" dz="2.5 * mm" module="Module2" /> </layer> <layer id="3"> <envelope vis="AnlRed" rmin="TrackerEndcapOuter_rmin3" rmax="TrackerEndcapOuter_rmax3" length="TrackerEndcapOuterLayer_thickness" zstart="TrackerEndcapOuter_zmin + 2 * TrackerEndcapOuterLayer_dz" /> <ring vis="AnlRed" r="TrackerEndcapOuter_rmin3+TrackerEndcapOuterMod3_y/2.0" zstart="0.0*mm" nmodules="12" dz="2.5 * mm" module="Module3" /> </layer> </detector> <detector id="TrackerEndcapN_Outer_ID" name="TrackerEndcapN_Outer" type="athena_TrapEndcapTracker" readout="TrackerEndcapHits" vis="AnlRed" reflect="true"> <module name="Module1" vis="AnlProcess_Blue"> <trd x1="TrackerEndcapOuterMod1_x1/2.0" x2="TrackerEndcapOuterMod1_x2/2.0" z="TrackerEndcapOuterMod1_y/2"/> <module_component thickness="ITS3Thickness" material="Silicon" sensitive="true"/> <module_component thickness="0.25/100*9.37*cm-ITS3Thickness" material="Silicon"/> </module> <module name="Module2" vis="AnlProcess_Blue"> <trd x1="TrackerEndcapOuterMod2_x1/2.0" x2="TrackerEndcapOuterMod2_x2/2.0" z="TrackerEndcapOuterMod2_y/2"/> <module_component thickness="ITS3Thickness" material="Silicon" sensitive="true"/> <module_component thickness="0.25/100*9.37*cm-ITS3Thickness" material="Silicon"/> </module> <module name="Module3" vis="AnlProcess_Blue"> <trd x1="TrackerEndcapOuterMod3_x1/2.0" x2="TrackerEndcapOuterMod3_x2/2.0" z="TrackerEndcapOuterMod3_y/2"/> <module_component thickness="ITS3Thickness" material="Silicon" sensitive="true"/> <module_component thickness="0.25/100*9.37*cm-ITS3Thickness" material="Silicon"/> </module> <layer id="1"> <envelope vis="AnlRed" rmin="TrackerEndcapOuter_rmin1 + 0 * 1.2*cm" rmax="TrackerEndcapOuter_rmax1" length="TrackerEndcapOuterLayer_thickness" zstart="TrackerEndcapOuter_zmin" /> <ring vis="AnlRed" r="TrackerEndcapOuter_rmin1+TrackerEndcapOuterMod1_y/2.0" zstart="0.0*mm" nmodules="12" dz="2.5 * mm" module="Module1" /> </layer> <layer id="2"> <envelope vis="AnlRed" rmin="TrackerEndcapOuter_rmin2" rmax="TrackerEndcapOuter_rmax2" length="TrackerEndcapOuterLayer_thickness" zstart="TrackerEndcapOuter_zmin + TrackerEndcapOuterLayer_dz" /> <ring vis="AnlRed" r="TrackerEndcapOuter_rmin2+TrackerEndcapOuterMod2_y/2.0" zstart="0.0*mm" nmodules="12" dz="2.5 * mm" module="Module2" /> </layer> <layer id="3"> <envelope vis="AnlRed" rmin="TrackerEndcapOuter_rmin3" rmax="TrackerEndcapOuter_rmax3" length="TrackerEndcapOuterLayer_thickness" zstart="TrackerEndcapOuter_zmin + 2 * TrackerEndcapOuterLayer_dz" /> <ring vis="AnlRed" r="TrackerEndcapOuter_rmin3+TrackerEndcapOuterMod3_y/2.0" zstart="0.0*mm" nmodules="12" dz="2.5 * mm" module="Module3" /> </layer> </detector> </detectors> <readouts> <readout name="TrackerBarrelHits"> <segmentation type="CartesianGridXY" grid_size_x="0.010*mm" grid_size_y="0.010*mm" /> <id>system:8,barrel:2,layer:4,module:12,sensor:2,x:32:-16,y:-16</id> </readout> <readout name="TrackerEndcapHits"> <segmentation type="CartesianGridXZ" grid_size_x="0.010*mm" grid_size_z="0.010*mm" /> <id>system:8,barrel:2,layer:4,module:12,sensor:2,x:32:-16,z:-16</id> </readout> </readouts> </lccdd>