Skip to content

Commit 87d8b50

Browse files
author
Sunanda
committed
Check possibility of adding plt, bcmf and remove bsc detector for run3 scenario
1 parent d6e4d7d commit 87d8b50

File tree

5 files changed

+453
-4
lines changed

5 files changed

+453
-4
lines changed
Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
<?xml version="1.0"?>
2+
<DDDefinition>
3+
<ConstantsSection label="bcm1f">
4+
<!-- dimensions of the bcm1f volume -->
5+
<Constant name="Bcm1Z1" value="1.803*m"/>
6+
<Constant name="Bcm1Z2" value="1.900*m"/>
7+
<Constant name="Bcm1fZ" value="([Bcm1Z2]+[Bcm1Z1])/2"/> <!-- z position of the centre of bcm1f volume wrt to CMS -->
8+
<Constant name="Bcm1fThickness" value="([Bcm1Z2]-[Bcm1Z1])"/>
9+
<Constant name="Bcm1fInnerRadius" value="[cms:TrackBeamR12]"/>
10+
<Constant name="Bcm1fOuterRadius" value="[cms:TrackLumiR1]"/>
11+
<!-- dimensions of the diamonds -->
12+
<Constant name="DiamondLX" value="5.0*mm"/>
13+
<Constant name="DiamondLY" value="5.0*mm"/>
14+
<Constant name="DiamondLZ" value="0.5*mm"/>
15+
<Constant name="DiamondZ" value="1814*mm"/> <!-- z position of the centre of the diamond wrt CMS -->
16+
<!-- dimensions of the effective (metallised) sensitive area -->
17+
<Constant name="SensorLX" value="[DiamondLX]*0.95"/>
18+
<Constant name="SensorLY" value="[DiamondLY]*0.95/2"/>
19+
<Constant name="SensorLZ" value="[DiamondLZ]"/>
20+
<Constant name="SensorGap" value="0.01*mm"/>
21+
<Constant name="SensorShift" value="[SensorLY]/2+[SensorGap]/2"/>
22+
<!-- location of the sensors in rho-z with respect to CMS (0,0,0) -->
23+
<Constant name="SensorRho" value="70.5*mm"/>
24+
<Constant name="SensorZ" value="[DiamondZ]"/>
25+
</ConstantsSection>
26+
27+
<!-- Create geometrical shapes -->
28+
<SolidSection label="bcm1f">
29+
<Tubs name="BCM1F" rMin="[Bcm1fInnerRadius]" rMax="[Bcm1fOuterRadius]" dz="[Bcm1fThickness]/2" startPhi="0*deg" deltaPhi="360*deg"/>
30+
<Box name="BCM1FDiamond" dx="[DiamondLX]/2" dy="[DiamondLY]/2" dz="[DiamondLZ]/2"/>
31+
<Box name="BCM1FSensor" dx="[SensorLX]/2" dy="[SensorLY]/2" dz="[SensorLZ]/2"/>
32+
</SolidSection>
33+
34+
<!-- Define the materials of the geometrical shapes -->
35+
<LogicalPartSection label="bcm1f">
36+
37+
<LogicalPart name="BCM1F" category="unspecified">
38+
<rSolid name="BCM1F"/>
39+
<rMaterial name="materials:Air"/>
40+
</LogicalPart>
41+
42+
<LogicalPart name="BCM1FDiamond" category="unspecified">
43+
<rSolid name="BCM1FDiamond"/>
44+
<rMaterial name="materials:Diamond"/>
45+
</LogicalPart>
46+
47+
<LogicalPart name="BCM1FSensor" category="unspecified">
48+
<rSolid name="BCM1FSensor"/>
49+
<rMaterial name="materials:Diamond"/>
50+
</LogicalPart>
51+
52+
</LogicalPartSection>
53+
54+
<!-- Position -->
55+
<PosPartSection label="bcm1f">
56+
57+
<!-- Planes -->
58+
<PosPart copyNumber="1">
59+
<rParent name="pltbcm:PLTBCM"/>
60+
<rChild name="BCM1F"/>
61+
<rRotation name="rotations:000D"/>
62+
<Translation x="0*fm" y="0*fm" z="[Bcm1fZ]-[pltbcm:PltBcmZ]"/>
63+
</PosPart>
64+
65+
<!-- Diamonds -->
66+
<Algorithm name="global:DDAngular">
67+
<rParent name="BCM1F"/>
68+
<String name="ChildName" value="BCM1FDiamond"/>
69+
<Numeric name="StartCopyNo" value="1"/>
70+
<Numeric name="IncrCopyNo" value="1"/>
71+
<Numeric name="N" value="12"/>
72+
<Numeric name="Radius" value="[SensorRho]"/>
73+
<Numeric name="StartAngle" value="120*deg"/>
74+
<Numeric name="RangeAngle" value="360*deg"/>
75+
<Vector name="Center" type="numeric" nEntries="3"> 0, 0, ([DiamondZ]-[Bcm1fZ]) </Vector>
76+
<Vector name="RotateSolid" type="numeric" nEntries="36">
77+
0.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg,
78+
0.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg,
79+
0.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg
80+
</Vector>
81+
</Algorithm>
82+
83+
<!-- Sensors -->
84+
<PosPart copyNumber="1">
85+
<rParent name="BCM1FDiamond"/>
86+
<rChild name="BCM1FSensor"/>
87+
<rRotation name="rotations:000D"/>
88+
<Translation x="0*fm" y="-[SensorShift]" z="0*fm"/>
89+
</PosPart>
90+
<PosPart copyNumber="2">
91+
<rParent name="BCM1FDiamond"/>
92+
<rChild name="BCM1FSensor"/>
93+
<rRotation name="rotations:000D"/>
94+
<Translation x="0*fm" y="[SensorShift]" z="0*fm"/>
95+
</PosPart>
96+
</PosPartSection>
97+
98+
</DDDefinition>
Lines changed: 168 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,168 @@
1+
<?xml version="1.0"?>
2+
<DDDefinition>
3+
4+
<!-- Author: Steven M. Kaplan -->
5+
6+
<!-- Declare constants used in the PLT DDL -->
7+
<ConstantsSection label="plt" eval="true">
8+
<Constant name = "pltTilt" value = "1.57*deg" />
9+
10+
<Constant name = "SiPlane0RtoCenter" value = "49.9*mm" />
11+
<Constant name = "SiPlane1RtoCenter" value = "51.*mm" />
12+
<Constant name = "SiPlane2RtoCenter" value = "52.1*mm" />
13+
14+
<Constant name = "SiPlane0ZtoCenter" value = "1726.9*mm" />
15+
<Constant name = "SiPlane1ZtoCenter" value = "1764.6*mm" />
16+
<Constant name = "SiPlane2ZtoCenter" value = "1802.3*mm" />
17+
18+
<Constant name = "ROCWidthX" value = "8.0*mm" />
19+
<Constant name = "ROCWidthY" value = "10.5*mm" />
20+
<Constant name = "SiThkZ" value = "0.30*mm" />
21+
22+
<Constant name = "TelWidthX" value = "[ROCWidthX]" />
23+
<Constant name = "TelWidthY" value = "[ROCWidthY]+2.2*mm" />
24+
<Constant name = "TelWidthZ" value = "[SiPlane2ZtoCenter]-[SiPlane0ZtoCenter]+[SiThkZ]" />
25+
<Constant name = "PLTMinR" value = "[cms:TrackBeamR12]" />
26+
<Constant name = "PLTMaxR" value = "[cms:TrackLumiR1]" />
27+
28+
<Constant name = "NumberOfRows" value = "80" />
29+
<Constant name = "NumberOfColumns" value = "52" />
30+
<Constant name = "PixelRowWidth" value = "0.1*mm" />
31+
<Constant name = "PixelColumnWidth" value = "0.15*mm" />
32+
<Constant name = "ActiveAreaColumnWidth" value = "[PixelColumnWidth]*[NumberOfColumns]" />
33+
<Constant name = "ActiveAreaRowWidth" value = "[PixelRowWidth]*[NumberOfRows]" />
34+
35+
</ConstantsSection>
36+
37+
<!-- Declare PLT component Solids -->
38+
<SolidSection label="plt">
39+
40+
<Box name="PLTSensorPlane" dx="[ROCWidthX]/2." dy="[ROCWidthY]/2." dz="[SiThkZ]/2." />
41+
42+
<Tubs name="PLT" startPhi="0.0*deg" deltaPhi="360*deg" rMin="[PLTMinR]" rMax="[PLTMaxR]" dz="[TelWidthZ]/2."/>
43+
44+
<Box name="Telescope" dx="[TelWidthX]/2." dy="[TelWidthY]/2." dz="[TelWidthZ]/2." />
45+
46+
<Box name="PLTPixel" dx="[PixelColumnWidth]/2." dy="[PixelRowWidth]/2." dz="[SiThkZ]/2." />
47+
48+
<Box name="PLTSensorRow" dx="[ActiveAreaColumnWidth]/2." dy="[PixelRowWidth]/2." dz="[SiThkZ]/2." />
49+
50+
</SolidSection>
51+
52+
<!-- Define the Physical PLT Solids, i.e. the Logical Parts -->
53+
<LogicalPartSection label="plt">
54+
<LogicalPart name="PLT" category="unspecified">
55+
<rSolid name="PLT"/>
56+
<rMaterial name="materials:Vacuum"/>
57+
</LogicalPart>
58+
59+
<LogicalPart name="Telescope" category="unspecified">
60+
<rSolid name="Telescope"/>
61+
<rMaterial name="materials:Vacuum"/>
62+
</LogicalPart>
63+
64+
<LogicalPart name="PLTSensorPlane" category="unspecified">
65+
<rSolid name="PLTSensorPlane"/>
66+
<rMaterial name="materials:Vacuum"/>
67+
</LogicalPart>
68+
69+
<LogicalPart name="PLTSensorRow" category="unspecified">
70+
<rSolid name="PLTSensorRow"/>
71+
<rMaterial name="materials:Vacuum"/>
72+
</LogicalPart>
73+
74+
<LogicalPart name="PLTPixel" category="unspecified">
75+
<rSolid name="PLTPixel"/>
76+
<rMaterial name="materials:Silicon"/>
77+
</LogicalPart>
78+
79+
</LogicalPartSection>
80+
81+
<!-- Position the Silicon in the telescope and copy the telescope to have 8 of them. Take this amalgamation of 8 telescopes then copy it into the PLTBCM volume-->
82+
<PosPartSection label="plt">
83+
<!-- Copy the pixels into a row to form the columns -->
84+
<Algorithm name="global:DDLinear">
85+
<rParent name="PLTSensorRow"/>
86+
<String name="ChildName" value="PLTPixel"/>
87+
<Numeric name="StartCopyNo" value="0"/>
88+
<Numeric name="IncrCopyNo" value="1"/>
89+
<Numeric name="N" value="[NumberOfColumns]"/>
90+
<Numeric name="Delta" value="[PixelColumnWidth]"/>
91+
<Vector name="Base" type="numeric" nEntries="3"> -[ActiveAreaColumnWidth]/2.+[PixelColumnWidth]/2.,0.*mm,0.*mm </Vector>
92+
<Numeric name="Theta" value="90*deg"/>
93+
<Numeric name="Phi" value="0.*deg"/>
94+
</Algorithm>
95+
<!-- Copy the rows to form the sensor plane! -->
96+
<Algorithm name="global:DDLinear">
97+
<rParent name="PLTSensorPlane"/>
98+
<String name="ChildName" value="PLTSensorRow"/>
99+
<Numeric name="StartCopyNo" value="0"/>
100+
<Numeric name="IncrCopyNo" value="1"/>
101+
<Numeric name="N" value="[NumberOfRows]"/>
102+
<Numeric name="Delta" value="[PixelRowWidth]"/>
103+
<Vector name="Base" type="numeric" nEntries="3"> 0.*mm,-[ROCWidthY]/2.+[ActiveAreaRowWidth]-([PixelRowWidth]/2.),0.*mm </Vector>
104+
<Numeric name="Theta" value="90*deg"/>
105+
<Numeric name="Phi" value="-90.*deg"/>
106+
</Algorithm>
107+
<!-- Copy the three sensor planes into the telescope-->
108+
<PosPart copyNumber="0">
109+
<rParent name="Telescope"/>
110+
<rChild name="PLTSensorPlane"/>
111+
<Translation x="0.*mm" y="-[TelWidthY]/2.+[ROCWidthY]/2." z="-[TelWidthZ]/2.+[SiThkZ]/2." />
112+
<rRotation name="rotations:000D" />
113+
</PosPart>
114+
115+
<PosPart copyNumber="1">
116+
<rParent name="Telescope"/>
117+
<rChild name="PLTSensorPlane"/>
118+
<Translation x="0.*mm" y="-[TelWidthY]/2.+[ROCWidthY]/2.+1.1*mm" z="0.*mm" />
119+
<rRotation name="rotations:000D" />
120+
</PosPart>
121+
122+
<PosPart copyNumber="2">
123+
<rParent name="Telescope"/>
124+
<rChild name="PLTSensorPlane"/>
125+
<Translation x="0.*mm" y="-[TelWidthY]/2.+[ROCWidthY]/2.+2.2*mm" z="[TelWidthZ]/2.-[SiThkZ]/2" />
126+
<rRotation name="rotations:000D" />
127+
</PosPart>
128+
<!-- Copy the PLT into the PLTBCM volume -->
129+
<!-- NOTE: The 2mm shift is due to the new tracker volume to make the plt planes positioned in |z| correctly.-->
130+
<PosPart copyNumber="1">
131+
<rParent name="pltbcm:PLTBCM"/>
132+
<rChild name="PLT"/>
133+
<Translation x="0.*mm" y="0.*mm" z="[SiPlane1ZtoCenter]-[pltbcm:PltBcmZ]-2.*mm" />
134+
<rRotation name="rotations:000D"/>
135+
</PosPart>
136+
137+
<!-- Old positioning without PLTBCM volume
138+
<PosPart copyNumber="1">
139+
<rParent name="cms:CMSE"/>
140+
<rChild name="PLT"/>
141+
<Translation x="0.*mm" y="0.*mm" z="[SiPlane1ZtoCenter]" />
142+
<rRotation name="rotations:000D"/>
143+
</PosPart>
144+
145+
146+
<PosPart copyNumber="0">
147+
<rParent name="cms:CMSE"/>
148+
<rChild name="PLT"/>
149+
<Translation x="0.*mm" y="0.*mm" z="-[SiPlane1ZtoCenter]" />
150+
<rRotation name="rotations:180D"/>
151+
</PosPart> -->
152+
<!-- Copy the telescopes into the PLT volume starting with phi=112.5 degrees. RotateSolid vector gives correct orientation of the planes-->
153+
<Algorithm name="global:DDAngular">
154+
<rParent name="PLT"/>
155+
<String name="ChildName" value="Telescope"/>
156+
<Numeric name="StartCopyNo" value="0"/>
157+
<Numeric name="IncrCopyNo" value="1"/>
158+
<Numeric name="N" value="8"/>
159+
<Numeric name="Radius" value="[SiPlane1RtoCenter]"/>
160+
<Numeric name="StartAngle" value="112.5*deg"/>
161+
<Numeric name="RangeAngle" value="360*deg"/>
162+
<Vector name="Center" type="numeric" nEntries="3"> 0, 0, 0 </Vector>
163+
<Vector name="RotateSolid" type="numeric" nEntries="24"> 0.*deg, 0.*deg, -90.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg, 0*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg </Vector>
164+
</Algorithm>
165+
166+
</PosPartSection>
167+
168+
</DDDefinition>
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
<?xml version="1.0"?>
2+
<DDDefinition>
3+
<ConstantsSection label="pltbcm">
4+
<!-- PLT-BCM volume constants -->
5+
<Constant name="PltBcmZ1" value="1.700*m"/>
6+
<Constant name="PltBcmZ2" value="1.900*m"/>
7+
<Constant name="PltBcmZ" value="([PltBcmZ2]+[PltBcmZ1])/2"/>
8+
<Constant name="PltBcmDZ" value="([PltBcmZ2]-[PltBcmZ1])/2"/>
9+
<Constant name="PltBcmInnerRadius" value="[cms:TrackBeamR12]"/>
10+
<Constant name="PltBcmOuterRadius" value="[cms:TrackLumiR1]"/>
11+
</ConstantsSection>
12+
13+
<!-- Create geometrical shapes of volumes-->
14+
<SolidSection label="pltbcm">
15+
<Tubs name="PLTBCM" rMin="[PltBcmInnerRadius]" rMax="[PltBcmOuterRadius]" dz="[PltBcmDZ]" startPhi="0*deg" deltaPhi="360*deg"/>
16+
</SolidSection>
17+
18+
<!-- Define the materials of the geometrical shapes -->
19+
<LogicalPartSection label="pltbcm">
20+
<LogicalPart name="PLTBCM" category="unspecified">
21+
<rSolid name="PLTBCM"/>
22+
<rMaterial name="materials:Air"/>
23+
</LogicalPart>
24+
</LogicalPartSection>
25+
26+
<!-- Position -->
27+
<PosPartSection label="pltbcm">
28+
<!-- Volumes in -Z and +Z -->
29+
<PosPart copyNumber="1">
30+
<rParent name="pixfwd:PixelForwardZplus"/>
31+
<rChild name="PLTBCM"/>
32+
<rRotation name="rotations:000D"/>
33+
<Translation x="0*fm" y="0*fm" z="([PltBcmZ]-[pixfwd:ZPixelForward])"/>
34+
</PosPart>
35+
<PosPart copyNumber="2">
36+
<rParent name="pixfwd:PixelForwardZminus"/>
37+
<rChild name="PLTBCM"/>
38+
<rRotation name="pixfwdCommon:Y180"/>
39+
<Translation x="0*fm" y="0*fm" z="-([PltBcmZ]-[pixfwd:ZPixelForward])"/>
40+
</PosPart>
41+
</PosPartSection>
42+
</DDDefinition>

Geometry/MuonCommonData/python/testExtendedGeometry2021XML_cfi.py

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
'Geometry/TrackerCommonData/data/pixfwdCommon.xml',
2828
'Geometry/TrackerCommonData/data/PhaseI/v2/pixfwdCylinder.xml',
2929
'Geometry/TrackerCommonData/data/PhaseI/v2/pixfwdDisks.xml',
30-
'Geometry/TrackerCommonData/data/PhaseI/v2/pixfwd.xml',
30+
'Geometry/TrackerCommonData/data/PhaseI/v3/pixfwd.xml',
3131
'Geometry/TrackerCommonData/data/PhaseI/v2/pixfwdSupportRingParameters.xml',
3232
'Geometry/TrackerCommonData/data/PhaseI/v2/pixfwdInnerDiskZplus.xml',
3333
'Geometry/TrackerCommonData/data/PhaseI/v2/pixfwdInnerDiskZminus.xml',
@@ -253,8 +253,11 @@
253253
'Geometry/ForwardCommonData/data/forward/2021/v1/forward.xml',
254254
'Geometry/ForwardCommonData/data/totemt2/2021/v1/totemt2.xml',
255255
'Geometry/ForwardCommonData/data/forwardshield/2021/v1/forwardshield.xml',
256-
'Geometry/ForwardCommonData/data/brmrotations.xml',
257-
'Geometry/ForwardCommonData/data/brm/2021/v1/brm.xml',
256+
'Geometry/ForwardCommonData/data/bhm.xml',
257+
'Geometry/ForwardCommonData/data/pltbcm/2021/v1/pltbcm.xml',
258+
'Geometry/ForwardCommonData/data/bcm1f/2021/v1/bcm1f.xml',
259+
'Geometry/ForwardCommonData/data/plt/2021/v1/plt.xml',
260+
'Geometry/ForwardSimData/data/bcm1fsens.xml',
258261
'Geometry/ForwardCommonData/data/zdcmaterials/2021/v1/zdcmaterials.xml',
259262
'Geometry/ForwardCommonData/data/lumimaterials.xml',
260263
'Geometry/ForwardCommonData/data/zdcrotations.xml',
@@ -364,13 +367,15 @@
364367
'Geometry/RPCGeometryBuilder/data/2021/v1/RPCSpecs.xml',
365368
'Geometry/GEMGeometryBuilder/data/GEMSpecsFilter/2021/v2/GEMSpecsFilter.xml',
366369
'Geometry/GEMGeometryBuilder/data/GEMSpecs/2021/v2/GEMSpecs.xml',
367-
'Geometry/ForwardCommonData/data/brmsens.xml',
370+
'Geometry/ForwardSimData/data/pltsens.xml',
371+
'Geometry/ForwardSimData/data/bcm1fsens.xml',
368372
'Geometry/ForwardSimData/data/totemsensT2/2021/totemsensT2.xml',
369373
'Geometry/ForwardSimData/data/zdcsens.xml',
370374
'Geometry/HcalSimData/data/HcalProdCuts/2021/v2/HcalProdCuts.xml',
371375
'Geometry/EcalSimData/data/EcalProdCuts.xml',
372376
'Geometry/EcalSimData/data/ESProdCuts.xml',
373377
'Geometry/MuonSimData/data/muonProdCuts/2021/v3/muonProdCuts.xml',
378+
'Geometry/ForwardSimData/data/bhmProdCuts/2021/v1/bhmProdCuts.xml',
374379
'Geometry/ForwardSimData/data/zdcProdCuts/2021/v2/zdcProdCuts.xml',
375380
'Geometry/ForwardSimData/data/ForwardShieldProdCuts.xml',
376381
'Geometry/CMSCommonData/data/FieldParameters.xml',

0 commit comments

Comments
 (0)