Back to home page

EIC code displayed by LXR

 
 

    


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>