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 from Configuration.StandardSequences.Eras import eras
5 
6 hcalSimParameters = cms.PSet(
7  # In HF, the SimHits energy is actually
8  # the number of photoelectrons from the shower
9  # library. However, we need a lot more
10  # smearing, because the first level of the PMT
11  # only gives ~6 electrons per pe, which
12  # comes out to a 40% smearing of the single pe peak!
13  #
14  hf1 = cms.PSet(
15  readoutFrameSize = cms.int32(4),
16  binOfMaximum = cms.int32(3),
17  samplingFactor = cms.double(0.383),
18  doPhotoStatistics = cms.bool(True),
19  photoelectronsToAnalog = cms.double(2.79),
20  simHitToPhotoelectrons = cms.double(6.0),
21  syncPhase = cms.bool(True),
22  timePhase = cms.double(14.0)
23  ),
24  hf2 = cms.PSet(
25  readoutFrameSize = cms.int32(4),
26  binOfMaximum = cms.int32(3),
27  samplingFactor = cms.double(0.368),
28  doPhotoStatistics = cms.bool(True),
29  photoelectronsToAnalog = cms.double(1.843),
30  simHitToPhotoelectrons = cms.double(6.0),
31  syncPhase = cms.bool(True),
32  timePhase = cms.double(13.0)
33  ),
34  ho = cms.PSet(
35  readoutFrameSize = cms.int32(10),
36  firstRing = cms.int32(1),
37  binOfMaximum = cms.int32(5),
38  doPhotoStatistics = cms.bool(True),
39  photoelectronsToAnalog = cms.vdouble(0.24, 0.24, 0.24, 0.24,
40  0.17, 0.17, 0.17, 0.17, 0.17, 0.17,
41  0.17, 0.17, 0.17, 0.17, 0.17),
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/Hamamatsufrom DB
50  siPMCode = cms.int32(2)
51  ),
52  hb = cms.PSet(
53  readoutFrameSize = cms.int32(10),
54  firstRing = cms.int32(1),
55  binOfMaximum = cms.int32(5),
56  doPhotoStatistics = cms.bool(True),
57  photoelectronsToAnalog = cms.vdouble([0.3305]*16),
58  simHitToPhotoelectrons = cms.double(2000.0),
59  samplingFactors = cms.vdouble(
60  125.44, 125.54, 125.32, 125.13, 124.46,
61  125.01, 125.22, 125.48, 124.45, 125.90,
62  125.83, 127.01, 126.82, 129.73, 131.83,
63  143.52),
64  syncPhase = cms.bool(True),
65  timePhase = cms.double(6.0),
66  timeSmearing = cms.bool(True),
67  siPMCells = cms.vint32()
68  ),
69  he = cms.PSet(
70  readoutFrameSize = cms.int32(10),
71  firstRing = cms.int32(16),
72  binOfMaximum = cms.int32(5),
73  doPhotoStatistics = cms.bool(True),
74  photoelectronsToAnalog = cms.vdouble([0.3305]*14),
75  simHitToPhotoelectrons = cms.double(2000.0),
76  samplingFactors = cms.vdouble(
77  210.55, 197.93, 186.12, 189.64, 189.63,
78  190.28, 189.61, 189.60, 190.12, 191.22,
79  190.90, 193.06, 188.42, 188.42),
80  syncPhase = cms.bool(True),
81  timePhase = cms.double(6.0),
82  timeSmearing = cms.bool(True)
83  ),
84  zdc = cms.PSet(
85  readoutFrameSize = cms.int32(10),
86  binOfMaximum = cms.int32(5),
87  samplingFactor = cms.double(1.000),
88  doPhotoStatistics = cms.bool(True),
89  photoelectronsToAnalog = cms.double(1.843),
90  simHitToPhotoelectrons = cms.double(6.0),
91  syncPhase = cms.bool(True),
92  timePhase = cms.double(-4.0)
93  ),
94 )
95 
96 hcalSimParameters.hoZecotek = hcalSimParameters.ho.clone()
97 hcalSimParameters.hoZecotek.pixels = cms.int32(36000)
98 hcalSimParameters.hoZecotek.photoelectronsToAnalog = [3.0]*16
99 
100 hcalSimParameters.hoHamamatsu = hcalSimParameters.ho.clone()
101 hcalSimParameters.hoHamamatsu.pixels = cms.int32(960)
102 hcalSimParameters.hoHamamatsu.photoelectronsToAnalog = [3.0]*16
103 
104 #
105 # Need to change the HO parameters for post LS1 running
106 #
108  """
109  Customises the HCal digitiser for post LS1 running
110  """
111  object.ho.photoelectronsToAnalog = cms.vdouble([4.0]*16)
112  object.ho.siPMCode = cms.int32(1)
113  object.ho.pixels = cms.int32(2500)
114  object.ho.doSiPMSmearing = cms.bool(False)
115  object.hf1.samplingFactor = cms.double(0.67)
116  object.hf2.samplingFactor = cms.double(0.67)
117 
118 eras.run2_common.toModify( hcalSimParameters, func=_modifyHcalSimParametersForPostLS1 )