CMS 3D CMS Logo

hcalSimParameters_cfi.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
3 # This object modifies hcalSimParameters for different scenarios
4 
5 hcalSimParameters = cms.PSet(
6  # In HF, the SimHits energy is actually
7  # the number of photoelectrons from the shower
8  # library. However, we need a lot more
9  # smearing, because the first level of the PMT
10  # only gives ~6 electrons per pe, which
11  # comes out to a 40% smearing of the single pe peak!
12  #
13  hf1 = cms.PSet(
14  readoutFrameSize = cms.int32(4),
15  binOfMaximum = cms.int32(3),
16  samplingFactor = cms.double(0.383),
17  doPhotoStatistics = cms.bool(True),
18  photoelectronsToAnalog = cms.double(2.79),
19  simHitToPhotoelectrons = cms.double(6.0),
20  syncPhase = cms.bool(True),
21  timePhase = cms.double(14.0),
22  doSiPMSmearing = cms.bool(False),
23  sipmTau = cms.double(0.),
24  threshold_currentTDC = cms.double(-999.),
25  delayQIE = cms.int32(-999),
26  ),
27  hf2 = cms.PSet(
28  readoutFrameSize = cms.int32(4),
29  binOfMaximum = cms.int32(3),
30  samplingFactor = cms.double(0.368),
31  doPhotoStatistics = cms.bool(True),
32  photoelectronsToAnalog = cms.double(1.843),
33  simHitToPhotoelectrons = cms.double(6.0),
34  syncPhase = cms.bool(True),
35  timePhase = cms.double(13.0),
36  doSiPMSmearing = cms.bool(False),
37  sipmTau = cms.double(0.),
38  threshold_currentTDC = cms.double(-999.),
39  delayQIE = cms.int32(-999),
40  ),
41  ho = cms.PSet(
42  readoutFrameSize = cms.int32(10),
43  firstRing = cms.int32(1),
44  binOfMaximum = cms.int32(5),
45  doPhotoStatistics = cms.bool(True),
46  simHitToPhotoelectrons = cms.double(4000.0), # is not actually used
47  samplingFactors = cms.vdouble(231.0, 231.0, 231.0, 231.0,
48  360.0, 360.0, 360.0, 360.0, 360.0, 360.0,
49  360.0, 360.0, 360.0, 360.0, 360.0),
50  syncPhase = cms.bool(True),
51  timePhase = cms.double(5.0),
52  timeSmearing = cms.bool(False),
53  # 0 is HPD, 1 is SiPM, 2 fetches HPD/Zecotek/Hamamatsu from DB
54  siPMCode = cms.int32(2),
55  doSiPMSmearing = cms.bool(False),
56  sipmTau = cms.double(5.),
57  threshold_currentTDC = cms.double(-999.),
58  delayQIE = cms.int32(-999),
59  ),
60  hb = cms.PSet(
61  readoutFrameSize = cms.int32(10),
62  firstRing = cms.int32(1),
63  binOfMaximum = cms.int32(5),
64  doPhotoStatistics = cms.bool(True),
65  simHitToPhotoelectrons = cms.double(2000.0),
66  samplingFactors = cms.vdouble(
67  125.44, 125.54, 125.32, 125.13, 124.46,
68  125.01, 125.22, 125.48, 124.45, 125.90,
69  125.83, 127.01, 126.82, 129.73, 131.83,
70  143.52),
71  syncPhase = cms.bool(True),
72  timePhase = cms.double(6.0),
73  timeSmearing = cms.bool(True),
74  doSiPMSmearing = cms.bool(False),
75  sipmTau = cms.double(0.),
76  threshold_currentTDC = cms.double(-999.),
77  delayQIE = cms.int32(-999),
78  ),
79  he = cms.PSet(
80  readoutFrameSize = cms.int32(10),
81  firstRing = cms.int32(16),
82  binOfMaximum = cms.int32(5),
83  doPhotoStatistics = cms.bool(True),
84  simHitToPhotoelectrons = cms.double(2000.0),
85  samplingFactors = cms.vdouble(
86  210.55, 197.93, 186.12, 189.64, 189.63,
87  190.28, 189.61, 189.60, 190.12, 191.22,
88  190.90, 193.06, 188.42, 188.42),
89  syncPhase = cms.bool(True),
90  timePhase = cms.double(6.0),
91  timeSmearing = cms.bool(True),
92  doSiPMSmearing = cms.bool(False),
93  sipmTau = cms.double(0.),
94  threshold_currentTDC = cms.double(-999.),
95  delayQIE = cms.int32(-999),
96  ),
97  zdc = cms.PSet(
98  readoutFrameSize = cms.int32(10),
99  binOfMaximum = cms.int32(5),
100  samplingFactor = cms.double(1.000),
101  doPhotoStatistics = cms.bool(True),
102  photoelectronsToAnalog = cms.double(1.843),
103  simHitToPhotoelectrons = cms.double(6.0),
104  syncPhase = cms.bool(True),
105  timePhase = cms.double(-4.0),
106  doSiPMSmearing = cms.bool(False),
107  sipmTau = cms.double(0.),
108  threshold_currentTDC = cms.double(-999.),
109  delayQIE = cms.int32(-999),
110  ),
111 )
112 
113 hcalSimParameters.hoZecotek = hcalSimParameters.ho.clone()
114 
115 hcalSimParameters.hoHamamatsu = hcalSimParameters.ho.clone()
116 
117 # Customises the HCal digitiser for post LS1 running
118 from Configuration.Eras.Modifier_run2_common_cff import run2_common
119 run2_common.toModify( hcalSimParameters,
120  ho = dict(
121  siPMCode = cms.int32(1)
122  ),
123  hf1 = dict( samplingFactor = cms.double(0.335) ),
124  hf2 = dict( samplingFactor = cms.double(0.335) )
125 )
126 
127 from Configuration.Eras.Modifier_run2_HE_2017_cff import run2_HE_2017
128 run2_HE_2017.toModify( hcalSimParameters,
129  he = dict(
130  doSiPMSmearing = cms.bool(True),
131  sipmTau = cms.double(10.),
132  )
133 )
134 
135 from Configuration.Eras.Modifier_run2_HF_2017_cff import run2_HF_2017
136 run2_HF_2017.toModify( hcalSimParameters,
137  hf1 = dict(
138  readoutFrameSize = cms.int32(3),
139  binOfMaximum = cms.int32(2)
140  ),
141  hf2 = dict(
142  readoutFrameSize = cms.int32(3),
143  binOfMaximum = cms.int32(2)
144  )
145 )
146 
147 from Configuration.Eras.Modifier_run2_HB_2018_cff import run2_HB_2018
148 run2_HB_2018.toModify( hcalSimParameters,
149  hb = dict(
150  readoutFrameSize = cms.int32(8),
151  binOfMaximum = cms.int32(4)
152  )
153 )
154 from Configuration.Eras.Modifier_run2_HE_2018_cff import run2_HE_2018
155 run2_HE_2018.toModify( hcalSimParameters,
156  he = dict(
157  readoutFrameSize = cms.int32(8),
158  binOfMaximum = cms.int32(4),
159  threshold_currentTDC = cms.double(18.7)
160  )
161 )
162 
163 
164 from Configuration.Eras.Modifier_run3_HB_cff import run3_HB
165 run3_HB.toModify( hcalSimParameters,
166  hb = dict(
167  doSiPMSmearing = cms.bool(True),
168  threshold_currentTDC = cms.double(18.7),
169  sipmTau = cms.double(10.),
170  )
171 )
172 
173 from Configuration.Eras.Modifier_run3_common_cff import run3_common
174 run3_common.toModify( hcalSimParameters,
175  hb = dict(
176  readoutFrameSize = cms.int32(10),
177  binOfMaximum = cms.int32(6)
178  ),
179  he = dict(
180  readoutFrameSize = cms.int32(10),
181  binOfMaximum = cms.int32(6)
182  )
183 )
184 
185 
186 _newFactors = cms.vdouble(
187  210.55, 197.93, 186.12, 189.64, 189.63,
188  189.96, 190.03, 190.11, 190.18, 190.25,
189  190.32, 190.40, 190.47, 190.54, 190.61,
190  190.69, 190.83, 190.94, 190.94, 190.94,
191  190.94, 190.94, 190.94, 190.94, 190.94,
192  190.94, 190.94, 190.94, 190.94, 190.94,
193  190.94, 190.94, 190.94, 190.94, 190.94,
194  190.94, 190.94, 190.94, 190.94, 190.94,
195  190.94, 190.94, 190.94, 190.94, 190.94,
196  190.94, 190.94, 190.94, 190.94, 190.94,
197  190.94, 190.94, 190.94, 190.94, 190.94,
198  190.94, 190.94, 190.94, 190.94, 190.94,
199  190.94, 190.94, 190.94, 190.94, 190.94,
200  190.94, 190.94, 190.94, 190.94, 190.94,
201  190.94, 190.94, 190.94, 190.94, 190.94,
202  190.94, 190.94, 190.94, 190.94, 190.94,
203  190.94, 190.94, 190.94, 190.94, 190.94 )
204 
205 from Configuration.Eras.Modifier_phase2_hcal_cff import phase2_hcal
206 phase2_hcal.toModify( hcalSimParameters,
207  he = dict(
208  samplingFactors = _newFactors,
209  )
210 )