1 import FWCore.ParameterSet.Config
as cms
5 fC_per_ele = 1.6020506e-4
6 nonAgedCCEs = [1.0, 1.0, 1.0]
7 nonAgedNoises = [2100.0,2100.0,1600.0]
8 thresholdTracksMIP =
False 10 HGCAL_noise_fC = cms.PSet(
11 values = cms.vdouble( [x*fC_per_ele
for x
in nonAgedNoises] ),
14 HGCAL_noise_MIP = cms.PSet(
15 value = cms.double(1.0/7.0)
18 HGCAL_chargeCollectionEfficiencies = cms.PSet(
19 values = cms.vdouble( nonAgedCCEs )
22 HGCAL_noises = cms.PSet(
23 values = cms.vdouble([x
for x
in nonAgedNoises])
27 hgceeDigitizer = cms.PSet(
28 accumulatorType = cms.string(
"HGCDigiProducer"),
29 hitCollection = cms.string(
"HGCHitsEE"),
30 digiCollection = cms.string(
"HGCDigisEE"),
31 maxSimHitsAccTime = cms.uint32(100),
32 bxTime = cms.double(25),
33 eVPerEleHolePair = cms.double(eV_per_eh_pair),
34 tofDelay = cms.double(5),
35 geometryType = cms.uint32(0),
36 digitizationType = cms.uint32(0),
37 makeDigiSimLinks = cms.bool(
False),
38 premixStage1 = cms.bool(
False),
39 premixStage1MinCharge = cms.double(0),
40 premixStage1MaxCharge = cms.double(1e6),
41 useAllChannels = cms.bool(
True),
42 verbosity = cms.untracked.uint32(0),
44 keV2fC = cms.double(0.044259),
46 chargeCollectionEfficiencies = cms.PSet(refToPSet_ = cms.string(
"HGCAL_chargeCollectionEfficiencies")),
47 noise_fC = cms.PSet(refToPSet_ = cms.string(
"HGCAL_noise_fC")),
48 doTimeSamples = cms.bool(
False),
51 fwVersion = cms.uint32(2),
54 adcPulse = cms.vdouble(0.00, 0.017, 0.817, 0.163, 0.003, 0.000),
55 pulseAvgT = cms.vdouble(0.00, 23.42298,13.16733,6.41062,5.03946,4.5320),
57 adcNbits = cms.uint32(10),
59 adcSaturation_fC = cms.double(100),
61 tdcResolutionInPs = cms.double( 0.001 ),
63 jitterNoise_ns = cms.vdouble(25., 25., 25.),
65 jitterConstant_ns = cms.vdouble(0.0004, 0.0004, 0.0004),
67 tdcNbits = cms.uint32(12),
69 tdcSaturation_fC = cms.double(10000),
72 adcThreshold_fC = cms.double(0.672),
73 thresholdFollowsMIP = cms.bool(thresholdTracksMIP),
75 tdcOnset_fC = cms.double(60),
77 tdcForToAOnset_fC = cms.vdouble(12., 12., 12.),
79 toaLSB_ns = cms.double(0.0244),
81 toaMode = cms.uint32(1),
83 tdcChargeDrainParameterisation = cms.vdouble(
84 -919.13, 365.36, -14.10, 0.2,
85 -21.85, 49.39, 22.21, 0.8,
93 hgchefrontDigitizer = cms.PSet(
94 accumulatorType = cms.string(
"HGCDigiProducer"),
95 hitCollection = cms.string(
"HGCHitsHEfront"),
96 digiCollection = cms.string(
"HGCDigisHEfront"),
97 maxSimHitsAccTime = cms.uint32(100),
98 bxTime = cms.double(25),
99 tofDelay = cms.double(5),
100 geometryType = cms.uint32(0),
101 digitizationType = cms.uint32(0),
102 makeDigiSimLinks = cms.bool(
False),
103 premixStage1 = cms.bool(
False),
104 premixStage1MinCharge = cms.double(0),
105 premixStage1MaxCharge = cms.double(1e6),
106 useAllChannels = cms.bool(
True),
107 verbosity = cms.untracked.uint32(0),
109 keV2fC = cms.double(0.044259),
110 chargeCollectionEfficiencies = cms.PSet(refToPSet_ = cms.string(
"HGCAL_chargeCollectionEfficiencies")),
111 noise_fC = cms.PSet(refToPSet_ = cms.string(
"HGCAL_noise_fC")),
112 doTimeSamples = cms.bool(
False),
115 fwVersion = cms.uint32(2),
117 adcPulse = cms.vdouble(0.00, 0.017, 0.817, 0.163, 0.003, 0.000),
118 pulseAvgT = cms.vdouble(0.00, 23.42298,13.16733,6.41062,5.03946,4.5320),
120 adcNbits = cms.uint32(10),
122 adcSaturation_fC = cms.double(100),
124 tdcResolutionInPs = cms.double( 0.001 ),
126 jitterNoise_ns = cms.vdouble(25., 25., 25.),
128 jitterConstant_ns = cms.vdouble(0.0004, 0.0004, 0.0004),
130 tdcNbits = cms.uint32(12),
132 tdcSaturation_fC = cms.double(10000),
135 adcThreshold_fC = cms.double(0.672),
136 thresholdFollowsMIP = cms.bool(thresholdTracksMIP),
138 tdcOnset_fC = cms.double(60),
140 tdcForToAOnset_fC = cms.vdouble(12., 12., 12.),
142 toaLSB_ns = cms.double(0.0244),
144 toaMode = cms.uint32(1),
146 tdcChargeDrainParameterisation = cms.vdouble(
147 -919.13, 365.36, -14.10, 0.2,
148 -21.85, 49.39, 22.21, 0.8,
157 hgchebackDigitizer = cms.PSet(
158 accumulatorType = cms.string(
"HGCDigiProducer"),
159 hitCollection = cms.string(
"HcalHits"),
160 digiCollection = cms.string(
"HGCDigisHEback"),
161 maxSimHitsAccTime = cms.uint32(100),
162 bxTime = cms.double(25),
163 tofDelay = cms.double(1),
164 geometryType = cms.uint32(0),
165 digitizationType = cms.uint32(1),
166 makeDigiSimLinks = cms.bool(
False),
167 premixStage1 = cms.bool(
False),
168 premixStage1MinCharge = cms.double(0),
169 premixStage1MaxCharge = cms.double(1e6),
170 useAllChannels = cms.bool(
True),
171 verbosity = cms.untracked.uint32(0),
173 keV2MIP = cms.double(1./616.0),
174 noise_MIP = cms.PSet(refToPSet_ = cms.string(
"HGCAL_noise_MIP")),
175 doTimeSamples = cms.bool(
False),
176 nPEperMIP = cms.double(11.0),
177 nTotalPE = cms.double(1156),
178 xTalk = cms.double(0.25),
179 sdPixels = cms.double(1e-6),
182 fwVersion = cms.uint32(0),
184 adcNbits = cms.uint32(12),
186 adcSaturation_fC = cms.double(1024.0),
188 adcThreshold_fC = cms.double(0.50),
189 thresholdFollowsMIP = cms.bool(
False)
195 hfnoseDigitizer = cms.PSet(
196 accumulatorType = cms.string(
"HGCDigiProducer"),
197 hitCollection = cms.string(
"HFNoseHits"),
198 digiCollection = cms.string(
"HFNoseDigis"),
199 maxSimHitsAccTime = cms.uint32(100),
200 bxTime = cms.double(25),
201 eVPerEleHolePair = cms.double(eV_per_eh_pair),
202 tofDelay = cms.double(5),
203 geometryType = cms.uint32(0),
204 digitizationType = cms.uint32(0),
205 makeDigiSimLinks = cms.bool(
False),
206 premixStage1 = cms.bool(
False),
207 premixStage1MinCharge = cms.double(0),
208 premixStage1MaxCharge = cms.double(1e6),
209 useAllChannels = cms.bool(
True),
210 verbosity = cms.untracked.uint32(0),
212 keV2fC = cms.double(0.044259),
214 chargeCollectionEfficiencies = cms.PSet(refToPSet_ = cms.string(
"HGCAL_chargeCollectionEfficiencies")),
215 noise_fC = cms.PSet(refToPSet_ = cms.string(
"HGCAL_noise_fC")),
216 doTimeSamples = cms.bool(
False),
219 fwVersion = cms.uint32(2),
222 adcPulse = cms.vdouble(0.00, 0.017, 0.817, 0.163, 0.003, 0.000),
223 pulseAvgT = cms.vdouble(0.00, 23.42298,13.16733,6.41062,5.03946,4.5320),
225 adcNbits = cms.uint32(10),
227 adcSaturation_fC = cms.double(100),
229 tdcResolutionInPs = cms.double( 0.001 ),
231 jitterNoise_ns = cms.vdouble(25., 25., 25.),
233 jitterConstant_ns = cms.vdouble(0.0004, 0.0004, 0.0004),
235 tdcNbits = cms.uint32(12),
237 tdcSaturation_fC = cms.double(10000),
240 adcThreshold_fC = cms.double(0.672),
241 thresholdFollowsMIP = cms.bool(thresholdTracksMIP),
243 tdcOnset_fC = cms.double(60),
245 tdcForToAOnset_fC = cms.vdouble(12., 12., 12.),
247 toaLSB_ns = cms.double(0.0244),
249 toaMode = cms.uint32(1),
251 tdcChargeDrainParameterisation = cms.vdouble(
252 -919.13, 365.36, -14.10, 0.2,
253 -21.85, 49.39, 22.21, 0.8,
261 from Configuration.ProcessModifiers.premix_stage1_cff
import premix_stage1
262 for _m
in [hgceeDigitizer, hgchefrontDigitizer, hgchebackDigitizer, hfnoseDigitizer]:
263 premix_stage1.toModify(_m, premixStage1 =
True)
266 endOfLifeCCEs = [0.5, 0.5, 0.7]
267 endOfLifeNoises = [2400.0,2250.0,1750.0]
269 process.HGCAL_noise_fC = cms.PSet(
270 values = cms.vdouble( [x*fC_per_ele
for x
in endOfLifeNoises] ),
272 process.HGCAL_chargeCollectionEfficiencies = cms.PSet(
273 values = cms.vdouble(endOfLifeCCEs)
275 process.HGCAL_noise_MIP = cms.PSet(
276 value = cms.double( 1.0/5.0 )
278 process.HGCAL_noises = cms.PSet(
279 values = cms.vdouble([x
for x
in endOfLifeNoises])
284 process.HGCAL_noise_fC = cms.PSet(
285 values = cms.vdouble(0,0,0),
287 process.HGCAL_noise_MIP = cms.PSet(
288 value = cms.double(0)
290 process.HGCAL_noises = cms.PSet(
291 values = cms.vdouble(0,0,0)
295 from Configuration.Eras.Modifier_phase2_hgcalV9_cff
import phase2_hgcalV9
297 phase2_hgcalV9.toModify( hgceeDigitizer,
298 geometryType = cms.uint32(1),
300 phase2_hgcalV9.toModify( hgchefrontDigitizer,
301 geometryType = cms.uint32(1),
303 phase2_hgcalV9.toModify( hgchebackDigitizer,
304 geometryType = cms.uint32(1),
305 hitCollection = cms.string(
"HGCHitsHEback"),
def HGCal_disableNoise(process)
def HGCal_setEndOfLifeNoise(process)