CMS 3D CMS Logo

CaloMaterial_cfi.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
3 from FastSimulation.SimplifiedGeometryPropagator.TrackerMaterial_cfi import TrackerMaterialBlock
4 
5 #############
6 ### Hack to interface "old" calorimetry with "new" propagation in tracker
7 #############
8 
9 CaloMaterialBlock = cms.PSet(
10  CaloMaterial = cms.PSet(
11  maxRadius = cms.untracked.double(500.),
12  maxZ = cms.untracked.double(1200.),
13 
14  ######
15  # The calorimetry
16  # Positions used from old ParticlePropagator. Do not really agree with the CMS ECAL/HCAL TDR values...
17  ######
18 
19  # Coverage usually provided as eta, e.g. barrel ECAL abs(eta) < 1.479
20  # Use definition of pseurorapidity: theta = 2*arctan(e^-eta)
21  # And theta = cos(z/sqrt(R^2+z^2))
22  # Better: eta = -0.5*ln((1-cos(theta))/(1+cos(theta)))
23  BarrelLayers = cms.VPSet(
24  ########### ECAL ###########
25  cms.PSet(
26  radius = cms.untracked.double(129.0),
27  limits = cms.untracked.vdouble(0.0, 268.4),
28  thickness = cms.untracked.vdouble(1.),
29  interactionModels = cms.untracked.vstring(),
30  caloType = cms.untracked.string("ECAL")
31  ),
32  ########### ECAL (barrel cut corner) ###########
33  cms.PSet(
34  radius = cms.untracked.double(152.6),
35  limits = cms.untracked.vdouble(268.4, 320.9),
36  thickness = cms.untracked.vdouble(1.),
37  interactionModels = cms.untracked.vstring(),
38  caloType = cms.untracked.string("ECAL")
39  ),
40  ########### HCAL ###########
41  cms.PSet(
42  radius = cms.untracked.double(177.5),
43  limits = cms.untracked.vdouble(0.0, 335.0),
44  thickness = cms.untracked.vdouble(1.),
45  interactionModels = cms.untracked.vstring(),
46  caloType = cms.untracked.string("HCAL")
47  ),
48  ########### HCAL (barrel cut corner) ###########
49  cms.PSet(
50  radius = cms.untracked.double(300.0),
51  limits = cms.untracked.vdouble(335.0, 400.458),
52  thickness = cms.untracked.vdouble(1.),
53  interactionModels = cms.untracked.vstring(),
54  caloType = cms.untracked.string("HCAL")
55  ),
56  ########### Acts as end of detector to speed up simulation ###########
57  cms.PSet(
58  radius = cms.untracked.double(400.0),
59  limits = cms.untracked.vdouble(0., 1110.0),
60  thickness = cms.untracked.vdouble(0.),
61  interactionModels = cms.untracked.vstring(),
62  caloType = cms.untracked.string("VFCAL")
63  ),
64  ),
65 
66  EndcapLayers = cms.VPSet(
67  ########### PreShowerLayer1 ###########
68  cms.PSet(
69  z = cms.untracked.double(303.353),
70  limits = cms.untracked.vdouble(45., 125.),
71  thickness = cms.untracked.vdouble(1.),
72  interactionModels = cms.untracked.vstring(),
73  caloType = cms.untracked.string("PRESHOWER1")
74  ),
75  ########### PreShowerLayer2 ###########
76  cms.PSet(
77  z = cms.untracked.double(307.838),
78  limits = cms.untracked.vdouble(45., 125.),
79  thickness = cms.untracked.vdouble(1.),
80  interactionModels = cms.untracked.vstring(),
81  caloType = cms.untracked.string("PRESHOWER2")
82  ),
83  ########### ECAL ###########
84  cms.PSet(
85  z = cms.untracked.double(320.9),
86  limits = cms.untracked.vdouble(32.0, 152.6),
87  thickness = cms.untracked.vdouble(1.),
88  interactionModels = cms.untracked.vstring(),
89  caloType = cms.untracked.string("ECAL")
90  ),
91  ########### HCAL ###########
92  cms.PSet(
93  z = cms.untracked.double(400.458),
94  limits = cms.untracked.vdouble(39.9, 300.),
95  thickness = cms.untracked.vdouble(1.),
96  interactionModels = cms.untracked.vstring(),
97  caloType = cms.untracked.string("HCAL")
98  ),
99  ########### VFCAL ###########
100  cms.PSet(
101  z = cms.untracked.double(1110.0),
102  limits = cms.untracked.vdouble(12.2, 110.9),
103  thickness = cms.untracked.vdouble(1.),
104  interactionModels = cms.untracked.vstring(),
105  caloType = cms.untracked.string("VFCAL")
106  ),
107  )
108  )
109 )
110 
111 if hasattr(TrackerMaterialBlock.TrackerMaterial, 'magneticFieldZ'):
112  CaloMaterialBlock.CaloMaterial.magneticFieldZ = TrackerMaterialBlock.TrackerMaterial.magneticFieldZ
113