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  ),
26  hf2 = cms.PSet(
27  readoutFrameSize = cms.int32(4),
28  binOfMaximum = cms.int32(3),
29  samplingFactor = cms.double(0.368),
30  doPhotoStatistics = cms.bool(True),
31  photoelectronsToAnalog = cms.double(1.843),
32  simHitToPhotoelectrons = cms.double(6.0),
33  syncPhase = cms.bool(True),
34  timePhase = cms.double(13.0),
35  doSiPMSmearing = cms.bool(False),
36  sipmTau = cms.double(0.),
37  threshold_currentTDC = cms.double(-999.),
38  ),
39  ho = cms.PSet(
40  readoutFrameSize = cms.int32(10),
41  firstRing = cms.int32(1),
42  binOfMaximum = cms.int32(5),
43  doPhotoStatistics = cms.bool(True),
44  simHitToPhotoelectrons = cms.double(4000.0), # is not actually used
45  samplingFactors = cms.vdouble(231.0, 231.0, 231.0, 231.0,
46  360.0, 360.0, 360.0, 360.0, 360.0, 360.0,
47  360.0, 360.0, 360.0, 360.0, 360.0),
48  syncPhase = cms.bool(True),
49  timePhase = cms.double(5.0),
50  timeSmearing = cms.bool(False),
51  # 0 is HPD, 1 is SiPM, 2 fetches HPD/Zecotek/Hamamatsu from DB
52  siPMCode = cms.int32(2),
53  doSiPMSmearing = cms.bool(False),
54  sipmTau = cms.double(5.),
55  threshold_currentTDC = cms.double(-999.),
56  ),
57  hb = cms.PSet(
58  readoutFrameSize = cms.int32(10),
59  firstRing = cms.int32(1),
60  binOfMaximum = cms.int32(5),
61  doPhotoStatistics = cms.bool(True),
62  simHitToPhotoelectrons = cms.double(2000.0),
63  samplingFactors = cms.vdouble(
64  125.44, 125.54, 125.32, 125.13, 124.46,
65  125.01, 125.22, 125.48, 124.45, 125.90,
66  125.83, 127.01, 126.82, 129.73, 131.83,
67  143.52),
68  syncPhase = cms.bool(True),
69  timePhase = cms.double(6.0),
70  timeSmearing = cms.bool(True),
71  doSiPMSmearing = cms.bool(False),
72  sipmTau = cms.double(0.),
73  threshold_currentTDC = cms.double(-999.),
74  ),
75  he = cms.PSet(
76  readoutFrameSize = cms.int32(10),
77  firstRing = cms.int32(16),
78  binOfMaximum = cms.int32(5),
79  doPhotoStatistics = cms.bool(True),
80  simHitToPhotoelectrons = cms.double(2000.0),
81  samplingFactors = cms.vdouble(
82  210.55, 197.93, 186.12, 189.64, 189.63,
83  190.28, 189.61, 189.60, 190.12, 191.22,
84  190.90, 193.06, 188.42, 188.42),
85  syncPhase = cms.bool(True),
86  timePhase = cms.double(6.0),
87  timeSmearing = cms.bool(True),
88  doSiPMSmearing = cms.bool(False),
89  sipmTau = cms.double(0.),
90  threshold_currentTDC = cms.double(-999.),
91  ),
92  zdc = cms.PSet(
93  readoutFrameSize = cms.int32(10),
94  binOfMaximum = cms.int32(5),
95  samplingFactor = cms.double(1.000),
96  doPhotoStatistics = cms.bool(True),
97  photoelectronsToAnalog = cms.double(1.843),
98  simHitToPhotoelectrons = cms.double(6.0),
99  syncPhase = cms.bool(True),
100  timePhase = cms.double(-4.0),
101  doSiPMSmearing = cms.bool(False),
102  sipmTau = cms.double(0.),
103  threshold_currentTDC = cms.double(-999.),
104  ),
105 )
106 
107 hcalSimParameters.hoZecotek = hcalSimParameters.ho.clone()
108 
109 hcalSimParameters.hoHamamatsu = hcalSimParameters.ho.clone()
110 
111 # Customises the HCal digitiser for post LS1 running
112 from Configuration.Eras.Modifier_run2_common_cff import run2_common
113 run2_common.toModify( hcalSimParameters,
114  ho = dict(
115  siPMCode = cms.int32(1)
116  ),
117  hf1 = dict( samplingFactor = cms.double(0.335) ),
118  hf2 = dict( samplingFactor = cms.double(0.335) )
119 )
120 
121 from Configuration.Eras.Modifier_run2_HE_2017_cff import run2_HE_2017
122 run2_HE_2017.toModify( hcalSimParameters,
123  he = dict(
124  doSiPMSmearing = cms.bool(True),
125  sipmTau = cms.double(10.),
126  )
127 )
128 
129 from Configuration.Eras.Modifier_run2_HF_2017_cff import run2_HF_2017
130 run2_HF_2017.toModify( hcalSimParameters,
131  hf1 = dict(
132  readoutFrameSize = cms.int32(3),
133  binOfMaximum = cms.int32(2)
134  ),
135  hf2 = dict(
136  readoutFrameSize = cms.int32(3),
137  binOfMaximum = cms.int32(2)
138  )
139 )
140 
141 from Configuration.Eras.Modifier_run2_HB_2018_cff import run2_HB_2018
142 run2_HB_2018.toModify( hcalSimParameters,
143  hb = dict(
144  readoutFrameSize = cms.int32(8),
145  binOfMaximum = cms.int32(4)
146  )
147 )
148 from Configuration.Eras.Modifier_run2_HE_2018_cff import run2_HE_2018
149 run2_HE_2018.toModify( hcalSimParameters,
150  he = dict(
151  readoutFrameSize = cms.int32(8),
152  binOfMaximum = cms.int32(4),
153  threshold_currentTDC = cms.double(18.7)
154  )
155 )
156 
157 
158 from Configuration.Eras.Modifier_run3_HB_cff import run3_HB
159 run3_HB.toModify( hcalSimParameters,
160  hb = dict(
161  doSiPMSmearing = cms.bool(True),
162  threshold_currentTDC = cms.double(18.7),
163  sipmTau = cms.double(10.),
164  )
165 )
166 
167 from Configuration.Eras.Modifier_run3_common_cff import run3_common
168 run3_common.toModify( hcalSimParameters,
169  hb = dict(
170  readoutFrameSize = cms.int32(10),
171  binOfMaximum = cms.int32(6)
172  ),
173  he = dict(
174  readoutFrameSize = cms.int32(10),
175  binOfMaximum = cms.int32(6)
176  )
177 )
178 
179 
180 _newFactors = cms.vdouble(
181  210.55, 197.93, 186.12, 189.64, 189.63,
182  189.96, 190.03, 190.11, 190.18, 190.25,
183  190.32, 190.40, 190.47, 190.54, 190.61,
184  190.69, 190.83, 190.94, 190.94, 190.94,
185  190.94, 190.94, 190.94, 190.94, 190.94,
186  190.94, 190.94, 190.94, 190.94, 190.94,
187  190.94, 190.94, 190.94, 190.94, 190.94,
188  190.94, 190.94, 190.94, 190.94, 190.94,
189  190.94, 190.94, 190.94, 190.94, 190.94,
190  190.94, 190.94, 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 
199 from Configuration.Eras.Modifier_phase2_hcal_cff import phase2_hcal
200 phase2_hcal.toModify( hcalSimParameters,
201  he = dict(
202  samplingFactors = _newFactors,
203  )
204 )