Warning, /epic/compact/far_forward/B0_tracker.xml is written in an unsupported language. File is not indexed.
0001 <!-- SPDX-License-Identifier: LGPL-3.0-or-later -->
0002 <!-- Copyright (C) 2022 Whitney Armstrong, Alex Jentsch -->
0003
0004 <lccdd>
0005 <define>
0006 <comment>
0007 ### B0 Tracker Parameters
0008 </comment>
0009
0010 <comment>
0011 - The detector length based on the 0.2*m step size and 4 layers.
0012 - I start from the downstream side of the B0 magnet and an arbitrary offset
0013 which puts the downstream of the detector 10cm from the end of the magnet.
0014 </comment>
0015 <constant name="B0Tracker_length" value="81.0*cm"/>
0016 <constant name="B0Tracker_zoffset" value="5.0*cm"/>
0017 <constant name="B0TrackerCenter_zpos" value="6.3*m"/>
0018 <constant name="B0TrackerCenter_xpos" value="-0.16000052*m" />
0019 <constant name="B0Tracker_zmin" value="B0TrackerCenter_zpos - B0Tracker_length/2.0 "/>
0020 <constant name="B0Tracker_rotation" value="ionCrossingAngle"/>
0021 <comment>
0022 average of station 2 and 3 x postions below...
0023 </comment>
0024 <constant name="B0TrackerSlope_x" value="0.0249974*m" />
0025 <constant name="B0Tracker_nlayers" value="4"/>
0026 <constant name="B0Tracker_dz" value="B0Tracker_length/(B0Tracker_nlayers-1)"/>
0027 <constant name="B0TrackerLayer1_zstart" value="-B0Tracker_length/2.0"/>
0028 <constant name="B0TrackerLayer2_zstart" value="-B0Tracker_length/2.0+B0Tracker_dz"/>
0029 <constant name="B0TrackerLayer3_zstart" value="-B0Tracker_length/2.0+2*B0Tracker_dz"/>
0030 <constant name="B0TrackerLayer4_zstart" value="-B0Tracker_length/2.0+3*B0Tracker_dz"/>
0031
0032 <comment>
0033 This angle is the angle subtended in phi for each trap segment.
0034 </comment>
0035 <constant name="B0TrackerLayer_nModules" value="36"/>
0036 <constant name="B0TrackerLayerSmallMod_nModules" value="B0TrackerLayer_nModules/6"/>
0037 <constant name="B0TrackerModOpeningAngle" value="360.0*degree/B0TrackerLayer_nModules"/>
0038 <constant name="B0TrackerLayerBigMod_nModules" value="B0TrackerLayer_nModules - B0TrackerLayerSmallMod_nModules"/>
0039 <constant name="B0TrackerLayerBigMod_phi0" value="(B0TrackerLayerSmallMod_nModules/2.0 + 0.5)*B0TrackerModOpeningAngle + Pi"/>
0040 <constant name="B0TrackerLayerSmallMod_phi0" value="(B0TrackerLayerSmallMod_nModules/2.0 - 0.5)*B0TrackerModOpeningAngle + Pi"/>
0041
0042 <constant name="B0TrackerMod1Inner_z" value="1.0*cm" />
0043 <constant name="B0TrackerMod1Inner_r" value="3.5*cm" />
0044 <constant name="B0TrackerMod1Outer_r" value="15.0*cm"/>
0045 <constant name="B0TrackerMod1_x1" value="2.0*B0TrackerMod1Inner_r*sin(B0TrackerModOpeningAngle/2.0)"/>
0046 <constant name="B0TrackerMod1_x2" value="2.0*B0TrackerMod1Outer_r*sin(B0TrackerModOpeningAngle/2.0)"/>
0047 <constant name="B0TrackerMod1_y" value="B0TrackerMod1Outer_r*cos(B0TrackerModOpeningAngle/2.0) - B0TrackerMod1Inner_r"/>
0048
0049 <constant name="B0TrackerMod1SmallOuter_r" value="10.0*cm"/>
0050 <constant name="B0TrackerMod1Small_x2" value="2.0*B0TrackerMod1SmallOuter_r*sin(B0TrackerModOpeningAngle/2.0)"/>
0051 <constant name="B0TrackerMod1Small_y" value="B0TrackerMod1SmallOuter_r*cos(B0TrackerModOpeningAngle/2.0) - B0TrackerMod1Inner_r"/>
0052
0053 <constant name="B0TrackerMod2SmallOuter_r" value="10.0*cm"/>
0054 <constant name="B0TrackerMod2Small_x2" value="2.0*B0TrackerMod2SmallOuter_r*sin(B0TrackerModOpeningAngle/2.0)"/>
0055 <constant name="B0TrackerMod2Small_y" value="B0TrackerMod2SmallOuter_r*cos(B0TrackerModOpeningAngle/2.0) - B0TrackerMod1Inner_r"/>
0056
0057 <constant name="B0TrackerMod3SmallOuter_r" value="11.0*cm"/>
0058 <constant name="B0TrackerMod3Small_x2" value="2.0*B0TrackerMod3SmallOuter_r*sin(B0TrackerModOpeningAngle/2.0)"/>
0059 <constant name="B0TrackerMod3Small_y" value="B0TrackerMod3SmallOuter_r*cos(B0TrackerModOpeningAngle/2.0) - B0TrackerMod1Inner_r"/>
0060
0061 <constant name="B0TrackerMod4SmallOuter_r" value="12.0*cm"/>
0062 <constant name="B0TrackerMod4Small_x2" value="2.0*B0TrackerMod4SmallOuter_r*sin(B0TrackerModOpeningAngle/2.0)"/>
0063 <constant name="B0TrackerMod4Small_y" value="B0TrackerMod4SmallOuter_r*cos(B0TrackerModOpeningAngle/2.0) - B0TrackerMod1Inner_r"/>
0064
0065 </define>
0066
0067 <detectors>
0068 <detector
0069 id="B0TrackerCompanion_ID"
0070 name="B0TrackerCompanion"
0071 type="epic_CompositeTracker"
0072 actsType="endcap"
0073 vis="TrackerSubAssemblyVis">
0074 <type_flags type="DetType_TRACKER + DetType_ENDCAP"/>
0075 <position x="0*cm" y="0*cm" z="-4*um" />
0076 </detector>
0077
0078 <detector
0079 id="B0Tracker_Station_1_ID"
0080 name="B0Tracker"
0081 type="ip6_B0Tracker"
0082 readout="B0TrackerHits"
0083 vis="FFTrackerVis">
0084 <type_flags type="DetType_TRACKER + DetType_ENDCAP"/>
0085 <position x="B0TrackerCenter_xpos" y="0" z="B0TrackerCenter_zpos"/>
0086 <rotation x="0*rad" y="B0Tracker_rotation" z="0*rad"/>
0087 <module name="Module1" vis="TrackerModuleVis"> <!-- AnlProcess_Blue-->
0088 <trd x1="B0TrackerMod1_x1/2.0" x2="B0TrackerMod1_x2/2.0" z="B0TrackerMod1_y/2"/>
0089 <comment> Back-to-front </comment>
0090 <module_component thickness="0.715*mm" material="Copper" vis="FFTrackerSupportVis" />
0091 <module_component thickness="0.3*mm" material="SiliconOxide" vis="FFTrackerSurfaceVis" sensitive="true"/>
0092 </module>
0093 <module name="SmallModule1" vis="FFTrackerModuleVis">
0094 <trd x1="B0TrackerMod1_x1/2.0" x2="B0TrackerMod1Small_x2/2.0" z="B0TrackerMod1Small_y/2"/>
0095 <module_component thickness="0.715*mm" material="Copper" vis="FFTrackerSupportVis" />
0096 <module_component thickness="0.3*mm" material="SiliconOxide" vis="FFTrackerSurfaceVis" sensitive="true"/>
0097 </module>
0098 <module name="SmallModule2" vis="FFTrackerModuleVis">
0099 <trd x1="B0TrackerMod1_x1/2.0" x2="B0TrackerMod2Small_x2/2.0" z="B0TrackerMod2Small_y/2"/>
0100 <module_component thickness="0.715*mm" material="Copper" vis="FFTrackerSupportVis" />
0101 <module_component thickness="0.3*mm" material="SiliconOxide" vis="FFTrackerSurfaceVis" sensitive="true"/>
0102 </module>
0103 <module name="SmallModule3" vis="FFTrackerModuleVis">
0104 <trd x1="B0TrackerMod1_x1/2.0" x2="B0TrackerMod3Small_x2/2.0" z="B0TrackerMod3Small_y/2"/>
0105 <module_component thickness="0.715*mm" material="Copper" vis="FFTrackerSupportVis" />
0106 <module_component thickness="0.3*mm" material="SiliconOxide" vis="FFTrackerSurfaceVis" sensitive="true"/>
0107 </module>
0108 <module name="SmallModule4" vis="FFTrackerModuleVis">
0109 <trd x1="B0TrackerMod1_x1/2.0" x2="B0TrackerMod4Small_x2/2.0" z="B0TrackerMod4Small_y/2"/>
0110 <module_component thickness="0.715*mm" material="Copper" vis="FFTrackerSupportVis" />
0111 <module_component thickness="0.3*mm" material="SiliconOxide" vis="FFTrackerSurfaceVis" sensitive="true"/>
0112 </module>
0113 <layer id="1">
0114 <envelope vis="FFTrackerLayerVis" rmin_tolerance="0*mm" rmax_tolerance="0*mm"
0115 zmin_tolerance="0*mm" zmax_tolerance="0*mm" length="1.0*cm"
0116 zstart="B0TrackerLayer1_zstart" />
0117 <ring phi0="B0TrackerLayerBigMod_phi0" dphi="B0TrackerModOpeningAngle"
0118 r="B0TrackerMod1Inner_r+B0TrackerMod1_y/2.0" zstart="0.0*mm"
0119 nmodules="B0TrackerLayerBigMod_nModules" dz="0 * mm" module="Module1" />
0120 <ring phi0="-B0TrackerLayerSmallMod_phi0" dphi="B0TrackerModOpeningAngle"
0121 r="B0TrackerMod1Inner_r+B0TrackerMod1Small_y/2.0" zstart="0.0*mm"
0122 nmodules="B0TrackerLayerSmallMod_nModules" dz="0 * mm" module="SmallModule1" />
0123 <layer_material surface="inner" binning="binPhi,binR" bins0="2*(B0TrackerLayerSmallMod_nModules)" bins1="12"/>
0124 <layer_material surface="outer" binning="binPhi,binR" bins0="2*(B0TrackerLayerSmallMod_nModules)" bins1="12"/>
0125 </layer>
0126 <layer id="2" >
0127 <envelope vis="FFTrackerLayerVis" rmin_tolerance="0*mm" rmax_tolerance="0*mm"
0128 zmin_tolerance="0*mm" zmax_tolerance="0*mm" length="1.0*cm"
0129 zstart="B0TrackerLayer2_zstart" />
0130 <ring phi0="B0TrackerLayerBigMod_phi0" dphi="B0TrackerModOpeningAngle"
0131 r="B0TrackerMod1Inner_r+B0TrackerMod1_y/2.0" zstart="0.0*mm"
0132 nmodules="B0TrackerLayerBigMod_nModules" dz="0 * mm" module="Module1" />
0133 <ring phi0="-B0TrackerLayerSmallMod_phi0" dphi="B0TrackerModOpeningAngle"
0134 r="B0TrackerMod1Inner_r+B0TrackerMod2Small_y/2.0" zstart="0.0*mm"
0135 nmodules="B0TrackerLayerSmallMod_nModules" dz="0 * mm" module="SmallModule2" />
0136 <layer_material surface="inner" binning="binPhi,binR" bins0="2*(B0TrackerLayerSmallMod_nModules)" bins1="12"/>
0137 <layer_material surface="outer" binning="binPhi,binR" bins0="2*(B0TrackerLayerSmallMod_nModules)" bins1="12"/>
0138 </layer>
0139 <layer id="3" >
0140 <envelope vis="FFTrackerLayerVis" rmin_tolerance="0*mm" rmax_tolerance="0*mm"
0141 zmin_tolerance="0*mm" zmax_tolerance="0*mm" length="1.0*cm"
0142 zstart="B0TrackerLayer3_zstart" />
0143 <ring phi0="B0TrackerLayerBigMod_phi0" dphi="B0TrackerModOpeningAngle"
0144 r="B0TrackerMod1Inner_r+B0TrackerMod1_y/2.0" zstart="0.0*mm"
0145 nmodules="B0TrackerLayerBigMod_nModules" dz="0 * mm" module="Module1" />
0146 <ring phi0="-B0TrackerLayerSmallMod_phi0" dphi="B0TrackerModOpeningAngle"
0147 r="B0TrackerMod1Inner_r+B0TrackerMod3Small_y/2.0" zstart="0.0*mm"
0148 nmodules="B0TrackerLayerSmallMod_nModules" dz="0 * mm" module="SmallModule3" />
0149 <layer_material surface="inner" binning="binPhi,binR" bins0="2*(B0TrackerLayerSmallMod_nModules)" bins1="12"/>
0150 <layer_material surface="outer" binning="binPhi,binR" bins0="2*(B0TrackerLayerSmallMod_nModules)" bins1="12"/>
0151 </layer>
0152 <layer id="4" >
0153 <envelope vis="FFTrackerLayerVis" rmin_tolerance="0*mm" rmax_tolerance="0*mm"
0154 zmin_tolerance="0*cm" zmax_tolerance="0*cm" length="1.0*cm"
0155 zstart="B0TrackerLayer4_zstart" />
0156 <ring phi0="B0TrackerLayerBigMod_phi0" dphi="B0TrackerModOpeningAngle"
0157 r="B0TrackerMod1Inner_r+B0TrackerMod1_y/2.0" zstart="0.0*mm"
0158 nmodules="B0TrackerLayerBigMod_nModules" dz="0 * mm" module="Module1" />
0159 <ring phi0="-B0TrackerLayerSmallMod_phi0" dphi="B0TrackerModOpeningAngle"
0160 r="B0TrackerMod1Inner_r+B0TrackerMod4Small_y/2.0" zstart="0.0*mm"
0161 nmodules="B0TrackerLayerSmallMod_nModules" dz="0 * mm" module="SmallModule4" />
0162 <layer_material surface="inner" binning="binPhi,binR" bins0="2*(B0TrackerLayerSmallMod_nModules)" bins1="12"/>
0163 <layer_material surface="outer" binning="binPhi,binR" bins0="2*(B0TrackerLayerSmallMod_nModules)" bins1="12"/>
0164 </layer>
0165 </detector>
0166
0167 </detectors>
0168
0169 <readouts>
0170 <readout name="B0TrackerHits">
0171 <comment>
0172 20um resolution = 75um "pixels", but this is "effective", since we assume charge sharing in the real-life 500um AC-LGADs - this may need to addressed differently in simulations later via digitization
0173 </comment>
0174 <segmentation type="CartesianGridXZ" grid_size_x="0.070*mm" grid_size_z="0.070*mm" />
0175 <id>system:8,layer:4,module:12,sensor:2,x:32:-16,z:-16</id>
0176 </readout>
0177 </readouts>
0178
0179 <plugins>
0180 <plugin name="DD4hep_ParametersPlugin">
0181 <argument value="B0Tracker"/>
0182 <argument value="layer_pattern: str=B0Tracker_layer\d"/>
0183 </plugin>
0184 </plugins>
0185
0186 </lccdd>