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_run3_HB_cff import run3_HB
124 run3_HB.toModify( hcalSimParameters,
125  hb = dict(
126  doSiPMSmearing = cms.bool(True),
127  sipmTau = cms.double(10.),
128  )
129 )
130 
131 _newFactors = cms.vdouble(
132  210.55, 197.93, 186.12, 189.64, 189.63,
133  189.96, 190.03, 190.11, 190.18, 190.25,
134  190.32, 190.40, 190.47, 190.54, 190.61,
135  190.69, 190.83, 190.94, 190.94, 190.94,
136  190.94, 190.94, 190.94, 190.94, 190.94,
137  190.94, 190.94, 190.94, 190.94, 190.94,
138  190.94, 190.94, 190.94, 190.94, 190.94,
139  190.94, 190.94, 190.94, 190.94, 190.94,
140  190.94, 190.94, 190.94, 190.94, 190.94,
141  190.94, 190.94, 190.94, 190.94, 190.94,
142  190.94, 190.94, 190.94, 190.94, 190.94,
143  190.94, 190.94, 190.94, 190.94, 190.94,
144  190.94, 190.94, 190.94, 190.94, 190.94,
145  190.94, 190.94, 190.94, 190.94, 190.94,
146  190.94, 190.94, 190.94, 190.94, 190.94,
147  190.94, 190.94, 190.94, 190.94, 190.94,
148  190.94, 190.94, 190.94, 190.94, 190.94 )
149 
150 from Configuration.Eras.Modifier_phase2_hcal_cff import phase2_hcal
151 phase2_hcal.toModify( hcalSimParameters,
152  he = dict(
153  samplingFactors = _newFactors,
154  )
155 )