Skip to content

Commit

Permalink
Merge pull request #15825 from bsunanda/Phase2-hgx65
Browse files Browse the repository at this point in the history
bsunanda:Phase2-hgx65 SS absorber option for HGCal FH/BH
  • Loading branch information
cmsbuild committed Sep 16, 2016
2 parents ec5ff3c + 6b504c0 commit af763d9
Show file tree
Hide file tree
Showing 2 changed files with 293 additions and 0 deletions.
83 changes: 83 additions & 0 deletions Geometry/HGCalCommonData/data/v7/SSAbsorber/hgcalHEsil.xml
@@ -0,0 +1,83 @@
<?xml version="1.0"?>
<DDDefinition xmlns="http://www.cern.ch/cms/DDL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.cern.ch/cms/DDL ../../../../DetectorDescription/Schema/DDLSchema.xsd">

<ConstantsSection label="hgcalHEsil.xml" eval="true">
<Constant name="rMinFine" value="0.0*fm"/>
<Constant name="rMaxFine" value="60.0*cm"/>
<Constant name="rMaxMiddle" value="100.0*cm"/>
<Constant name="rMaxCoarse" value="2000.0*cm"/>
</ConstantsSection>

<PosPartSection label="hgcalHEsil.xml">
<Algorithm name="hgcal:DDHGCalModuleAlgo">
<rParent name="hgcal:HGCalHE"/>
<Vector name="WaferName" type="string" nEntries="2">
hgcalwafer:HGCalHEWaferFine, hgcalwafer:HGCalHEWaferCoarse</Vector>
<Vector name="MaterialNames" type="string" nEntries="11">
materials:StainlessSteel, materials:Carbon_fibre_str_Upgrade2,
materials:Copper, materials:Copper, materials:Air,
materials:M_NEMA FR4 plate, materials:Air, materials:StainlessSteel,
materials:Foam, materials:Aluminium, materials:Air</Vector>
<Vector name="VolumeNames" type="string" nEntries="11">
HESiliconAbsorber1, HESiliconAbsorber2, HESiliconShield,
HESiliconHeatShield, HESiliconSensitive, HESiliconPCB, HESiliconAirGap,
HESiliconSupport, HEThermalScreen, HEScreenCover, HEThermalGap</Vector>
<Vector name="Thickness" type="numeric" nEntries="11">
35.0*mm, 1.0*mm, 0.5*mm, 6.0*mm, 0.1*mm, 2.0*mm, 2.0*mm, 15*mm, 16.0*mm,
2.0*mm, 10.0*mm</Vector>
<Vector name="Layers" type="numeric" nEntries="14">
1, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 4</Vector>
<Vector name="LayerThick" type="numeric" nEntries="14">
15.0*mm, 46.8*mm, 46.8*mm, 46.8*mm, 46.8*mm, 46.8*mm, 46.8*mm, 46.8*mm,
46.8*mm, 46.8*mm, 46.8*mm, 46.8*mm, 46.8*mm, 30.0*mm</Vector>
<Vector name="LayerType" type="numeric" nEntries="113">
7,
0, 2, 6, 5, 4, 4, 4, 1, 3, 0, 2, 6, 5, 4, 4, 4, 1, 3,
0, 2, 6, 5, 4, 4, 4, 1, 3, 0, 2, 6, 5, 4, 4, 4, 1, 3,
0, 2, 6, 5, 4, 4, 4, 1, 3, 0, 2, 6, 5, 4, 4, 4, 1, 3,
0, 2, 6, 5, 4, 4, 4, 1, 3, 0, 2, 6, 5, 4, 4, 4, 1, 3,
0, 2, 6, 5, 4, 4, 4, 1, 3, 0, 2, 6, 5, 4, 4, 4, 1, 3,
0, 2, 6, 5, 4, 4, 4, 1, 3, 0, 2, 6, 5, 4, 4, 4, 1, 3,
10, 9, 8, 9
</Vector>
<Vector name="LayerSense" type="numeric" nEntries="113">
0,
0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0,
0, 0, 0, 0
</Vector>
<Numeric name="zMinBlock" value="[hgcal:zMinHE]"/>
<Numeric name="rMaxFine" value="[rMaxFine]"/>
<Numeric name="waferW" value="[hgcal:WaferW]"/>
<Numeric name="Sectors" value="18"/>
<Vector name="SlopeBottom" type="numeric" nEntries="2">
[etaMax:slope], [hgcal:slope1]</Vector>
<Vector name="SlopeTop" type="numeric" nEntries="4">
[hgcal:slope2], 0, 0, 0</Vector>
<Vector name="ZFront" type="numeric" nEntries="4">
[hgcal:zHGCal1], [hgcal:zHGCal2], [hgcal:zHGCal3],
[hgcal:zHGCal4]</Vector>
<Vector name="RMaxFront" type="numeric" nEntries="4">
[hgcal:rMaxHGCal1], [hgcal:rMaxHGCal2], [hgcal:rMaxHGCal2],
[hgcal:rMaxHGCal4]</Vector>
<String name="RotNameSpace" value="hgcalmodule"/>
</Algorithm>
</PosPartSection>

<SpecParSection label="hgcalHEsil.xml" eval="true">
<SpecPar name="HGCalHEsil">
<PartSelector path="//HGCalHESiliconSensitive.*"/>
<Parameter name="Volume" value="HGCalHESiliconSensitive" eval="false"/>
<Parameter name="GeometryMode" value="HGCalGeometryMode::Hexagon" eval="false"/>
<Parameter name="RadiusBound" value="[rMinFine]"/>
<Parameter name="RadiusBound" value="[rMaxFine]"/>
<Parameter name="RadiusBound" value="[rMaxMiddle]"/>
<Parameter name="RadiusBound" value="[rMaxCoarse]"/>
</SpecPar>
</SpecParSection>

</DDDefinition>
210 changes: 210 additions & 0 deletions Geometry/HcalCommonData/data/PhaseII/SSAbsorber/hcalendcapalgo.xml
@@ -0,0 +1,210 @@
<?xml version="1.0"?>
<DDDefinition xmlns="http://www.cern.ch/cms/DDL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.cern.ch/cms/DDL ../../../DetectorDescription/Schema/DDLSchema.xsd">

<ConstantsSection label="hcalendcapalgo.xml" eval="true">
<Constant name="etaMinF" value="1.495"/>
<Constant name="slopeTopF" value="tan(2.0*atan(exp(-[etaMinF])))"/>
<Constant name="slopeTop" value="tan(53.0*deg)"/>
<Constant name="zShiftHE" value="-23.92*mm"/>
<Constant name="rMaxHECal2" value="2639.0*mm"/>
<Constant name="rMaxHECal3" value="2458.0*mm"/>
<Constant name="zHECal1" value="[hgcal:zHGCal3]"/>
<Constant name="zHECal2" value="([zHECal1]+348.0*mm)"/>
<Constant name="zHECal3" value="([zHECal2]+348.0*mm)"/>
<Constant name="zHECal4" value="([zHECal3]+348.0*mm)"/>
<Constant name="zHECal5" value="([zHECal4]+15.0*mm)"/>
<Constant name="zHECalP3" value="([zHECal1]+522.0*mm)"/>
<Constant name="z1Beam" value="([zHECal2]-([rMaxHECal2]/[slopeTop]))"/>
<Constant name="rMaxHECal1" value="([zHECal1]-[z1Beam])*[slopeTop]"/>
<Constant name="rMaxHECalP3" value="[rMaxHECal2]"/>
<Constant name="rMinHECal1" value="[etaMax:slope]*[zHECal1]"/>
<Constant name="rMinHECal2" value="[etaMax:slope]*[zHECal2]"/>
<Constant name="rMinHECal3" value="[etaMax:slope]*[zHECal3]"/>
<Constant name="rMinHECal4" value="[etaMax:slope]*[zHECal4]"/>
<Constant name="rMinHECal5" value="[etaMax:slope]*[zHECal5]"/>
<Constant name="rMinHECalP3" value="[etaMax:slope]*[zHECalP3]"/>
</ConstantsSection>

<SolidSection label="hcalendcapalgo.xml">
<Polyhedra name="HE" numSide="18" startPhi="350*deg" deltaPhi="360*deg">
<ZSection z="[zHECal1]" rMin="[rMinHECal1]" rMax="[rMaxHECal1]"/>
<ZSection z="[zHECal2]" rMin="[rMinHECal2]" rMax="[rMaxHECal2]"/>
<ZSection z="[zHECal3]" rMin="[rMinHECal3]" rMax="[rMaxHECal2]"/>
<ZSection z="[zHECal3]" rMin="[rMinHECal3]" rMax="[rMaxHECal3]"/>
<ZSection z="[zHECal5]" rMin="[rMinHECal5]" rMax="[rMaxHECal3]"/>
</Polyhedra>
<Polyhedra name="HEFront" numSide="18" startPhi="350*deg" deltaPhi="360*deg">
<ZSection z="[zHECal1]" rMin="[rMinHECal1]" rMax="[rMaxHECal1]"/>
<ZSection z="[zHECal2]" rMin="[rMinHECal2]" rMax="[rMaxHECal2]"/>
<ZSection z="[zHECal3]" rMin="[rMinHECal3]" rMax="[rMaxHECal2]"/>
<ZSection z="[zHECal3]" rMin="[rMinHECal3]" rMax="[rMaxHECal3]"/>
<ZSection z="[zHECal4]" rMin="[rMinHECal4]" rMax="[rMaxHECal3]"/>
</Polyhedra>
<Polyhedra name="HEModule" numSide="1" startPhi="350*deg" deltaPhi="20*deg">
<ZSection z="[zHECal1]" rMin="[rMinHECal1]" rMax="[rMaxHECal1]"/>
<ZSection z="[zHECal2]" rMin="[rMinHECal2]" rMax="[rMaxHECal2]"/>
<ZSection z="[zHECal3]" rMin="[rMinHECal3]" rMax="[rMaxHECal2]"/>
<ZSection z="[zHECal3]" rMin="[rMinHECal3]" rMax="[rMaxHECal3]"/>
<ZSection z="[zHECal4]" rMin="[rMinHECal4]" rMax="[rMaxHECal3]"/>
</Polyhedra>
<Polyhedra name="HEPart1" numSide="1" startPhi="350*deg" deltaPhi="20*deg">
<ZSection z="[zHECal1]" rMin="[rMinHECal1]" rMax="[rMaxHECal1]"/>
<ZSection z="[zHECal2]" rMin="[rMinHECal2]" rMax="[rMaxHECal2]"/>
<ZSection z="[zHECalP3]" rMin="[rMinHECalP3]" rMax="[rMaxHECalP3]"/>
</Polyhedra>
<Polyhedra name="HEPart2" numSide="1" startPhi="350*deg" deltaPhi="20*deg">
<ZSection z="[zHECalP3]" rMin="[rMinHECalP3]" rMax="[rMaxHECalP3]"/>
<ZSection z="[zHECal3]" rMin="[rMinHECal3]" rMax="[rMaxHECal2]"/>
<ZSection z="[zHECal3]" rMin="[rMinHECal3]" rMax="[rMaxHECal3]"/>
<ZSection z="[zHECal4]" rMin="[rMinHECal4]" rMax="[rMaxHECal3]"/>
</Polyhedra>
<Polyhedra name="HEBack" numSide="18" startPhi="350*deg" deltaPhi="360*deg">
<ZSection z="[zHECal4]" rMin="[rMinHECal4]" rMax="[rMaxHECal3]"/>
<ZSection z="[zHECal5]" rMin="[rMinHECal5]" rMax="[rMaxHECal3]"/>
</Polyhedra>
</SolidSection>

<LogicalPartSection label="hcalencapalgo.xml">
<LogicalPart name="HE" category="unspecified">
<rSolid name="HE"/>
<rMaterial name="materials:Air"/>
</LogicalPart>
<LogicalPart name="HEFront" category="unspecified">
<rSolid name="HEFront"/>
<rMaterial name="materials:Air"/>
</LogicalPart>
<LogicalPart name="HEModule" category="unspecified">
<rSolid name="HEModule"/>
<rMaterial name="materials:Air"/>
</LogicalPart>
<LogicalPart name="HEPart1" category="unspecified">
<rSolid name="HEPart1"/>
<rMaterial name="materials:StainlessSteel"/>
</LogicalPart>
<LogicalPart name="HEPart2" category="unspecified">
<rSolid name="HEPart2"/>
<rMaterial name="materials:StainlessSteel"/>
</LogicalPart>
<LogicalPart name="HEBack" category="unspecified">
<rSolid name="HEBack"/>
<rMaterial name="materials:StainlessSteel"/>
</LogicalPart>
</LogicalPartSection>

<PosPartSection label="hcalendcapalgo.xml">
<PosPart copyNumber="1">
<rParent name="hcalalgo:HCal"/>
<rChild name="hcalendcapalgo:HE"/>
<rRotation name="rotations:000D"/>
</PosPart>
<PosPart copyNumber="2">
<rParent name="hcalalgo:HCal"/>
<rChild name="hcalendcapalgo:HE"/>
<rRotation name="rotations:180D"/>
</PosPart>
<PosPart copyNumber="1">
<rParent name="hcalendcapalgo:HE"/>
<rChild name="hcalendcapalgo:HEFront"/>
<rRotation name="rotations:000D"/>
</PosPart>
<PosPart copyNumber="1">
<rParent name="hcalendcapalgo:HE"/>
<rChild name="hcalendcapalgo:HEBack"/>
<rRotation name="rotations:000D"/>
</PosPart>
<Algorithm name="global:DDAngular">
<rParent name="hcalendcapalgo:HEFront"/>
<String name="ChildName" value="hcalendcapalgo:HEModule"/>
<Numeric name="N" value="18"/>
<Numeric name="StartCopyNo" value="1"/>
<Numeric name="IncrCopyNo" value="1"/>
<Numeric name="RangeAngle" value="360*deg"/>
<Numeric name="StartAngle" value="0*deg"/>
<Numeric name="Radius" value="0"/>
<Vector name="Center" type="numeric" nEntries="3"> 0, 0, 0 </Vector>
<Vector name="RotateSolid" type="numeric" nEntries="3"> 0.*deg, 0.*deg, 0.*deg </Vector>
</Algorithm>
<PosPart copyNumber="1">
<rParent name="hcalendcapalgo:HEModule"/>
<rChild name="hcalendcapalgo:HEPart1"/>
<rRotation name="rotations:000D"/>
</PosPart>
<PosPart copyNumber="1">
<rParent name="hcalendcapalgo:HEModule"/>
<rChild name="hcalendcapalgo:HEPart2"/>
<rRotation name="rotations:000D"/>
</PosPart>
<Algorithm name="hcal:DDHCalEndcapModuleAlgo">
<rParent name="hcalendcapalgo:HEPart1"/>
<String name="MaterialName" value="materials:Air"/>
<String name="AbsorberMat" value="materials:StainlessSteel"/>
<String name="PlasticMat" value="materials:Polyethylene"/>
<String name="ScintMat" value="materials:Scintillator"/>
<String name="Rotation" value="hcalrotations:YXZ4"/>
<Numeric name="Sectors" value="18"/>
<Numeric name="ZMinBlock" value="[zHECal1]"/>
<Numeric name="ZMaxBlock" value="[zHECalP3]"/>
<Numeric name="Z1Beam" value="[z1Beam]"/>
<Numeric name="ZiDip" value="[zHECal3]"/>
<Numeric name="DzStep" value="87.0*mm"/>
<Numeric name="ModuleThick" value="9.0*mm"/>
<Numeric name="LayerThick" value="7.0*mm"/>
<Numeric name="ScintThick" value="3.7*mm"/>
<Numeric name="RMaxFront" value="[rMaxHECalP3]"/>
<Numeric name="RMaxBack" value="[rMaxHECalP3]"/>
<Numeric name="TrimLeft" value="0.5*mm"/>
<Numeric name="TrimRight" value="0.5*mm"/>
<Numeric name="TolAbs" value="0.75*mm"/>
<Numeric name="SlopeBottom" value="[etaMax:slope]"/>
<Numeric name="SlopeTop" value="[slopeTop]"/>
<Numeric name="SlopeTopFront" value="[slopeTopF]"/>
<Numeric name="ModType" value="1"/>
<Numeric name="ModNumber" value="1"/>
<Numeric name="LayerType" value="1"/>
<Vector name="LayerNumber" type="numeric" nEntries="6">
7, 8, 9, 10, 11, 12 </Vector>
<Vector name="PhiName" type="string" nEntries="2"> Phi0, Phi1</Vector>
<Vector name="LayerName" type="string" nEntries="6">
Layer07, Layer08, Layer09, Layer10, Layer11, Layer12 </Vector>
<String name="MotherName" value="HE"/>
<String name="ModName" value="Part1"/>
<Numeric name="IdOffset" value="4000"/>
</Algorithm>
<Algorithm name="hcal:DDHCalEndcapModuleAlgo">
<rParent name="hcalendcapalgo:HEPart2"/>
<String name="MaterialName" value="materials:Air"/>
<String name="AbsorberMat" value="materials:StainlessSteel"/>
<String name="PlasticMat" value="materials:Polyethylene"/>
<String name="ScintMat" value="materials:Scintillator"/>
<String name="Rotation" value="hcalrotations:YXZ4"/>
<Numeric name="Sectors" value="18"/>
<Numeric name="ZMinBlock" value="[zHECalP3]"/>
<Numeric name="ZMaxBlock" value="[zHECal4]"/>
<Numeric name="Z1Beam" value="[z1Beam]"/>
<Numeric name="ZiDip" value="[zHECal3]"/>
<Numeric name="DzStep" value="87.0*mm"/>
<Numeric name="ModuleThick" value="9.0*mm"/>
<Numeric name="LayerThick" value="7.0*mm"/>
<Numeric name="ScintThick" value="3.7*mm"/>
<Numeric name="RMaxFront" value="[rMaxHECal2]"/>
<Numeric name="RMaxBack" value="[rMaxHECal3]"/>
<Numeric name="TrimLeft" value="0.5*mm"/>
<Numeric name="TrimRight" value="0.5*mm"/>
<Numeric name="TolAbs" value="0.75*mm"/>
<Numeric name="SlopeBottom" value="[etaMax:slope]"/>
<Numeric name="SlopeTop" value="[slopeTop]"/>
<Numeric name="SlopeTopFront" value="[slopeTop]"/>
<Numeric name="ModType" value="1"/>
<Numeric name="ModNumber" value="1"/>
<Numeric name="LayerType" value="1"/>
<Vector name="LayerNumber" type="numeric" nEntries="6">
13, 14, 15, 16, 17, 18 </Vector>
<Vector name="PhiName" type="string" nEntries="2"> Phi0, Phi1</Vector>
<Vector name="LayerName" type="string" nEntries="6">
Layer13, Layer14, Layer15, Layer16, Layer17, Layer18</Vector>
<String name="MotherName" value="HE"/>
<String name="ModName" value="Part2"/>
<Numeric name="IdOffset" value="4000"/>
</Algorithm>
</PosPartSection>
</DDDefinition>

0 comments on commit af763d9

Please sign in to comment.