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  threshold_currentTDC = cms.double(3.),
141  ),
142  hf2 = dict(
143  readoutFrameSize = cms.int32(3),
144  binOfMaximum = cms.int32(2),
145  threshold_currentTDC = cms.double(3.),
146  )
147 )
148 
149 from Configuration.Eras.Modifier_run2_HB_2018_cff import run2_HB_2018
150 run2_HB_2018.toModify( hcalSimParameters,
151  hb = dict(
152  readoutFrameSize = cms.int32(8),
153  binOfMaximum = cms.int32(4)
154  )
155 )
156 from Configuration.Eras.Modifier_run2_HE_2018_cff import run2_HE_2018
157 run2_HE_2018.toModify( hcalSimParameters,
158  he = dict(
159  readoutFrameSize = cms.int32(8),
160  binOfMaximum = cms.int32(4),
161  threshold_currentTDC = cms.double(18.7)
162  )
163 )
164 
165 
166 from Configuration.Eras.Modifier_run3_HB_cff import run3_HB
167 run3_HB.toModify( hcalSimParameters,
168  hb = dict(
169  doSiPMSmearing = cms.bool(True),
170  threshold_currentTDC = cms.double(18.7),
171  sipmTau = cms.double(10.),
172  )
173 )
174 
175 from Configuration.Eras.Modifier_run3_common_cff import run3_common
176 run3_common.toModify( hcalSimParameters,
177  hb = dict(
178  readoutFrameSize = cms.int32(10),
179  binOfMaximum = cms.int32(6)
180  ),
181  he = dict(
182  readoutFrameSize = cms.int32(10),
183  binOfMaximum = cms.int32(6)
184  ),
185  hf1 = dict( samplingFactor = 0.37,
186  timePhase = 9.0
187  ),
188  hf2 = dict( samplingFactor = 0.37,
189  timePhase = 8.0
190  )
191 )
192 
193 
194 _newFactors = cms.vdouble(
195  210.55, 197.93, 186.12, 189.64, 189.63,
196  189.96, 190.03, 190.11, 190.18, 190.25,
197  190.32, 190.40, 190.47, 190.54, 190.61,
198  190.69, 190.83, 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  190.94, 190.94, 190.94, 190.94, 190.94,
205  190.94, 190.94, 190.94, 190.94, 190.94,
206  190.94, 190.94, 190.94, 190.94, 190.94,
207  190.94, 190.94, 190.94, 190.94, 190.94,
208  190.94, 190.94, 190.94, 190.94, 190.94,
209  190.94, 190.94, 190.94, 190.94, 190.94,
210  190.94, 190.94, 190.94, 190.94, 190.94,
211  190.94, 190.94, 190.94, 190.94, 190.94 )
212 
213 from Configuration.Eras.Modifier_phase2_hcal_cff import phase2_hcal
214 phase2_hcal.toModify( hcalSimParameters,
215  he = dict(
216  samplingFactors = _newFactors,
217  )
218 )