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