test
CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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  photoelectronsToAnalog = cms.vdouble(0.24, 0.24, 0.24, 0.24,
43  0.17, 0.17, 0.17, 0.17, 0.17, 0.17,
44  0.17, 0.17, 0.17, 0.17, 0.17),
45  simHitToPhotoelectrons = cms.double(4000.0), # is not actually used
46  samplingFactors = cms.vdouble(231.0, 231.0, 231.0, 231.0,
47  360.0, 360.0, 360.0, 360.0, 360.0, 360.0,
48  360.0, 360.0, 360.0, 360.0, 360.0),
49  syncPhase = cms.bool(True),
50  timePhase = cms.double(5.0),
51  timeSmearing = cms.bool(False),
52  # 0 is HPD, 1 is SiPM, 2 fetches HPD/Zecotek/Hamamatsu from DB
53  siPMCode = cms.int32(2),
54  doSiPMSmearing = cms.bool(False),
55  sipmTau = cms.double(5.),
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  photoelectronsToAnalog = cms.vdouble([0.3305]*16),
63  simHitToPhotoelectrons = cms.double(2000.0),
64  samplingFactors = cms.vdouble(
65  125.44, 125.54, 125.32, 125.13, 124.46,
66  125.01, 125.22, 125.48, 124.45, 125.90,
67  125.83, 127.01, 126.82, 129.73, 131.83,
68  143.52),
69  syncPhase = cms.bool(True),
70  timePhase = cms.double(6.0),
71  timeSmearing = cms.bool(True),
72  doSiPMSmearing = cms.bool(False),
73  sipmTau = cms.double(0.),
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  photoelectronsToAnalog = cms.vdouble([0.3305]*14),
81  simHitToPhotoelectrons = cms.double(2000.0),
82  samplingFactors = cms.vdouble(
83  210.55, 197.93, 186.12, 189.64, 189.63,
84  190.28, 189.61, 189.60, 190.12, 191.22,
85  190.90, 193.06, 188.42, 188.42),
86  syncPhase = cms.bool(True),
87  timePhase = cms.double(6.0),
88  timeSmearing = cms.bool(True),
89  doSiPMSmearing = cms.bool(False),
90  sipmTau = cms.double(0.),
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  ),
104 )
105 
106 hcalSimParameters.hoZecotek = hcalSimParameters.ho.clone()
107 hcalSimParameters.hoZecotek.photoelectronsToAnalog = [3.0]*16
108 
109 hcalSimParameters.hoHamamatsu = hcalSimParameters.ho.clone()
110 hcalSimParameters.hoHamamatsu.photoelectronsToAnalog = [3.0]*16
111 
112 # Customises the HCal digitiser for post LS1 running
113 from Configuration.Eras.Modifier_run2_common_cff import run2_common
114 run2_common.toModify( hcalSimParameters,
115  ho = dict(
116  photoelectronsToAnalog = cms.vdouble([4.0]*16),
117  siPMCode = cms.int32(1)
118  ),
119  hf1 = dict( samplingFactor = cms.double(0.67) ),
120  hf2 = dict( samplingFactor = cms.double(0.67) )
121 )
122 
123 from Configuration.Eras.Modifier_run2_HE_2017_cff import run2_HE_2017
124 run2_HE_2017.toModify( hcalSimParameters,
125  he = dict(
126  doSiPMSmearing = cms.bool(True),
127  sipmTau = cms.double(10.),
128  )
129 )
130 
131 from Configuration.Eras.Modifier_run3_HB_cff import run3_HB
132 run3_HB.toModify( hcalSimParameters,
133  hb = dict(
134  doSiPMSmearing = cms.bool(True),
135  sipmTau = cms.double(10.),
136  )
137 )
138 
139 _newFactors = cms.vdouble(
140  210.55, 197.93, 186.12, 189.64, 189.63,
141  189.96, 190.03, 190.11, 190.18, 190.25,
142  190.32, 190.40, 190.47, 190.54, 190.61,
143  190.69, 190.83, 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  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 
158 from Configuration.Eras.Modifier_phase2_hcal_cff import phase2_hcal
159 phase2_hcal.toModify( hcalSimParameters,
160  he = dict(
161  samplingFactors = _newFactors,
162  )
163 )