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)
193 from Configuration.ProcessModifiers.premix_stage1_cff
import premix_stage1
194 for _m
in [hgceeDigitizer, hgchefrontDigitizer, hgchebackDigitizer]:
195 premix_stage1.toModify(_m, premixStage1 =
True)
198 endOfLifeCCEs = [0.5, 0.5, 0.7]
199 endOfLifeNoises = [2400.0,2250.0,1750.0]
201 process.HGCAL_noise_fC = cms.PSet(
202 values = cms.vdouble( [x*fC_per_ele
for x
in endOfLifeNoises] ),
204 process.HGCAL_chargeCollectionEfficiencies = cms.PSet(
205 values = cms.vdouble(endOfLifeCCEs)
207 process.HGCAL_noise_MIP = cms.PSet(
208 value = cms.double( 1.0/5.0 )
210 process.HGCAL_noises = cms.PSet(
211 values = cms.vdouble([x
for x
in endOfLifeNoises])
214 from Configuration.Eras.Modifier_phase2_hgcalV9_cff
import phase2_hgcalV9
216 phase2_hgcalV9.toModify( hgceeDigitizer,
217 geometryType = cms.uint32(1),
219 phase2_hgcalV9.toModify( hgchefrontDigitizer,
220 geometryType = cms.uint32(1),
222 phase2_hgcalV9.toModify( hgchebackDigitizer,
223 geometryType = cms.uint32(1),
224 hitCollection = cms.string(
"HGCHitsHEback"),
def HGCal_setEndOfLifeNoise(digitizer, process)