Skip to content

Commit 5d809ed

Browse files
authored
Merge pull request #48006 from bsunanda/Phase2-hgx363X
Phase2-hgx363X Make a setup like HGCal TB with 47 all-silicon layers of detectors (26 for EE and 21 for HE) with some lateral structure
2 parents 768fece + 10971cf commit 5d809ed

21 files changed

+4865
-15
lines changed
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import FWCore.ParameterSet.Config as cms
2+
3+
hgcalEENumberingInitialize = cms.ESProducer("HGCalNumberingInitialization",
4+
Name = cms.untracked.string("HGCalEESensitive")
5+
)
6+
7+
hgcalHESiNumberingInitialize = cms.ESProducer("HGCalNumberingInitialization",
8+
Name = cms.untracked.string("HGCalHESiliconSensitive")
9+
)
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
import FWCore.ParameterSet.Config as cms
2+
3+
hgcalEEParametersInitialize = cms.ESProducer('HGCalParametersESModule',
4+
name = cms.string('HGCalEELayer'),
5+
name2 = cms.string('HGCalEESensitive'),
6+
nameW = cms.string('HGCalEEWafer'),
7+
nameC = cms.string('HGCalEESensitive'),
8+
nameT = cms.string('HGCal'),
9+
nameX = cms.string('HGCalEESensitive'),
10+
fromDD4hep = cms.bool(False),
11+
appendToDataLabel = cms.string('')
12+
)
13+
14+
from Configuration.ProcessModifiers.dd4hep_cff import dd4hep
15+
16+
dd4hep.toModify(hgcalEEParametersInitialize,
17+
fromDD4hep = True
18+
)
19+
20+
hgcalHESiParametersInitialize = hgcalEEParametersInitialize.clone(
21+
name = "HGCalHESiliconLayer",
22+
name2 = "HGCalHESiliconSensitive",
23+
nameW = "HGCalHEWafer",
24+
nameC = "HGCalHESiliconSensitive",
25+
nameX = "HGCalHESiliconSensitive",
26+
)

Geometry/HGCalCommonData/src/HGCalGeomTools.cc

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -108,14 +108,18 @@ void HGCalGeomTools::radius(double zf,
108108
edm::LogVerbatim("HGCalGeom") << "HGCalGeomTools::radiusX:Try 2:" << zf << ":" << *zb2 << " (" << z1 << ") : " << zb
109109
<< " Test " << (slope(*zb2, zFront2, slope2) < tol_) << ":"
110110
<< ((std::abs(*zb2 - zb) > tol_) && (std::abs(*zb2 - zf) > tol_));
111+
edm::LogVerbatim("HGCalGeom") << "HGCalGeomTools::radiusX:Try 2X:" << (slope(*zb2, zFront2, slope2) < tol_) << ":"
112+
<< (std::abs(*zb2 - zf) < tol_);
111113
#endif
112114
zz.emplace_back(zf);
113115
rin.emplace_back(radius(zf, zFront1, rFront1, slope1));
114116
rout.emplace_back(radius(zf, zFront2, rFront2, slope2));
115117
if (slope(*zb2, zFront2, slope2) < tol_) {
116-
zz.emplace_back(*zb2);
117-
rin.emplace_back(radius(*zb2, zFront1, rFront1, slope1));
118-
rout.emplace_back(radius(*zb2 - tol_, zFront2, rFront2, slope2));
118+
if (std::abs(*zb2 - zf) > tol_) {
119+
zz.emplace_back(*zb2);
120+
rin.emplace_back(radius(*zb2, zFront1, rFront1, slope1));
121+
rout.emplace_back(radius(*zb2 - tol_, zFront2, rFront2, slope2));
122+
}
119123
}
120124
if ((std::abs(*zb2 - zb) > tol_) && (std::abs(*zb2 - zf) > tol_)) {
121125
zz.emplace_back(*zb2);
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<?xml version="1.0"?>
2+
<DDDefinition>
3+
<SpecParSection label="caloutil.xml" eval="true">
4+
<SpecPar name="calo">
5+
<PartSelector path="//CALO"/>
6+
<Parameter name="SensitiveDetector" value="CaloTrkProcessing" eval="false"/>
7+
<Parameter name="ReadOutName" value="CaloHitsTk" eval="false"/>
8+
<Parameter name="Calorimeter" value="CALO" eval="false"/>
9+
<Parameter name="Levels" value="3" eval="true"/>
10+
<Parameter name="Neighbours" value="1" eval="true"/>
11+
<Parameter name="Inside" value="NotFound" eval="false"/>
12+
<Parameter name="InsideLevel" value="3" eval="true"/>
13+
<Parameter name="FineCalorimeter" value="HGCal" eval="false"/>
14+
<Parameter name="FineLevels" value="4" eval="true"/>
15+
</SpecPar>
16+
</SpecParSection>
17+
</DDDefinition>
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
<?xml version="1.0"?>
2+
<DDDefinition>
3+
4+
<ConstantsSection label="caloBase.xml" eval="true">
5+
<Constant name="Zpos00" value="2965.0*mm"/>
6+
<Constant name="Zpos05" value="[cms:CalorBeamZ3]"/>
7+
<Constant name="ZposV0" value="3205.0*mm"/>
8+
<Constant name="Zpos38" value="5237.0*mm"/>
9+
<Constant name="Zpos39" value="5262.0*mm"/>
10+
<Constant name="Rmin00" value="0.0*mm"/>
11+
<Constant name="Rmax00" value="[cms:CalorMuonR]"/>
12+
</ConstantsSection>
13+
14+
<SolidSection label="caloBase.xml">
15+
<Polycone name="CALO" startPhi="0*deg" deltaPhi="360*deg">
16+
<ZSection z="0.0*mm" rMin="[Rmin00]" rMax="[Rmax00]"/>
17+
<ZSection z="[cms:CalorBeamZ2]" rMin="[Rmin00]" rMax="[Rmax00]"/>
18+
</Polycone>
19+
<Polycone name="CALOEC" startPhi="0*deg" deltaPhi="360*deg">
20+
<ZSection z="[Zpos00]" rMin="[Rmin00]" rMax="[Rmax00]"/>
21+
<ZSection z="[Zpos05]" rMin="[Rmin00]" rMax="[Rmax00]"/>
22+
</Polycone>
23+
<Polycone name="CALOECTSRear" startPhi="0*deg" deltaPhi="360*deg">
24+
<ZSection z="[ZposV0]" rMin="[Rmin00]" rMax="[Rmax00]"/>
25+
<ZSection z="[Zpos39]" rMin="[Rmin00]" rMax="[Rmax00]"/>
26+
</Polycone>
27+
<Polycone name="CALOECRear" startPhi="0*deg" deltaPhi="360*deg">
28+
<ZSection z="[ZposV0]" rMin="[Rmin00]" rMax="[Rmax00]"/>
29+
<ZSection z="[Zpos38]" rMin="[Rmin00]" rMax="[Rmax00]"/>
30+
</Polycone>
31+
</SolidSection>
32+
33+
<LogicalPartSection label="caloBase.xml">
34+
<LogicalPart name="CALO" category="unspecified">
35+
<rSolid name="CALO"/>
36+
<rMaterial name="materials:Air"/>
37+
</LogicalPart>
38+
<LogicalPart name="CALOEC" category="unspecified">
39+
<rSolid name="CALOEC"/>
40+
<rMaterial name="materials:Air"/>
41+
</LogicalPart>
42+
<LogicalPart name="CALOECTSRear" category="unspecified">
43+
<rSolid name="CALOECTSRear"/>
44+
<rMaterial name="materials:Air"/>
45+
</LogicalPart>
46+
<LogicalPart name="CALOECRear" category="unspecified">
47+
<rSolid name="CALOECRear"/>
48+
<rMaterial name="materials:Air"/>
49+
</LogicalPart>
50+
</LogicalPartSection>
51+
52+
<PosPartSection label="caloBase.xml">
53+
<PosPart copyNumber="1">
54+
<rParent name="cms:CMSE"/>
55+
<rChild name="caloBase:CALO"/>
56+
</PosPart>
57+
<PosPart copyNumber="1">
58+
<rParent name="caloBase:CALO"/>
59+
<rChild name="caloBase:CALOEC"/>
60+
<rRotation name="rotations:000D"/>
61+
</PosPart>
62+
<PosPart copyNumber="1">
63+
<rParent name="caloBase:CALOEC"/>
64+
<rChild name="caloBase:CALOECTSRear"/>
65+
<rRotation name="rotations:000D"/>
66+
</PosPart>
67+
<PosPart copyNumber="1">
68+
<rParent name="caloBase:CALOECTSRear"/>
69+
<rChild name="caloBase:CALOECRear"/>
70+
<rRotation name="rotations:000D"/>
71+
</PosPart>
72+
</PosPartSection>
73+
74+
</DDDefinition>
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
<?xml version="1.0"?>
2+
<DDDefinition>
3+
4+
<ConstantsSection label="cms.xml" eval="true">
5+
<Constant name="Rmin" value="0*mm"/>
6+
<Constant name="Zmin" value="0*mm"/>
7+
<Constant name="HallZ" value="27.0*m"/>
8+
<Constant name="HallR" value="14.3*m"/>
9+
<Constant name="TrackCalorR" value="1.233*m"/>
10+
<Constant name="CalorMuonR" value="2.950*m"/>
11+
<Constant name="TrackBeamZ1" value="1.948*m"/>
12+
<Constant name="TrackBeamZ2" value="2.935*m"/>
13+
<Constant name="TrackBeamR1" value="2.50*cm"/>
14+
<Constant name="TrackBeamR2" value="7.40*cm"/>
15+
<Constant name="CalorBeamZ1" value="3.180*m"/>
16+
<Constant name="CalorBeamZ2" value="5.541*m"/>
17+
<Constant name="CalorBeamZ3" value="5.265*m"/>
18+
<Constant name="CalorBeamZ4" value="5.215*m"/>
19+
<Constant name="CalorBeamZ5" value="5.245*m"/>
20+
<Constant name="CalorBeamR1" value="8.00*cm"/>
21+
<Constant name="CalorBeamR2" value="8.93*cm"/>
22+
</ConstantsSection>
23+
24+
<SolidSection label="cms.xml">
25+
<Box name="OCMS" dx="[HallR]" dy="[HallR]" dz="[HallZ]"/>
26+
</SolidSection>
27+
28+
<LogicalPartSection label="cms.xml">
29+
<LogicalPart name="World" category="unspecified">
30+
<rSolid name="OCMS"/>
31+
<rMaterial name="materials:Air"/>
32+
</LogicalPart>
33+
<LogicalPart name="OCMS" category="unspecified">
34+
<rSolid name="OCMS"/>
35+
<rMaterial name="materials:Air"/>
36+
</LogicalPart>
37+
<LogicalPart name="CMSE" category="unspecified">
38+
<rSolid name="OCMS"/>
39+
<rMaterial name="materials:Air"/>
40+
</LogicalPart>
41+
</LogicalPartSection>
42+
43+
<PosPartSection label="cms.xml">
44+
<PosPart copyNumber="1">
45+
<rParent name="cms:World"/>
46+
<rChild name="cms:OCMS"/>
47+
</PosPart>
48+
<PosPart copyNumber="1">
49+
<rParent name="cms:OCMS"/>
50+
<rChild name="cms:CMSE"/>
51+
</PosPart>
52+
</PosPartSection>
53+
54+
</DDDefinition>

0 commit comments

Comments
 (0)