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 11 hgceeDigitizer = cms.PSet(
12 accumulatorType = cms.string(
"HGCDigiProducer"),
13 hitCollection = cms.string(
"HGCHitsEE"),
14 digiCollection = cms.string(
"HGCDigisEE"),
15 maxSimHitsAccTime = cms.uint32(100),
16 bxTime = cms.double(25),
17 eVPerEleHolePair = cms.double(eV_per_eh_pair),
18 tofDelay = cms.double(5),
19 digitizationType = cms.uint32(0),
20 makeDigiSimLinks = cms.bool(
False),
21 useAllChannels = cms.bool(
True),
22 verbosity = cms.untracked.uint32(0),
24 keV2fC = cms.double(0.044259),
26 chargeCollectionEfficiency = cms.vdouble( nonAgedCCEs ),
27 noise_fC = cms.vdouble( [x*fC_per_ele
for x
in nonAgedNoises] ),
28 doTimeSamples = cms.bool(
False),
31 fwVersion = cms.uint32(2),
34 adcPulse = cms.vdouble(0.00, 0.017, 0.817, 0.163, 0.003, 0.000),
35 pulseAvgT = cms.vdouble(0.00, 23.42298,13.16733,6.41062,5.03946,4.5320),
37 adcNbits = cms.uint32(10),
39 adcSaturation_fC = cms.double(100),
41 tdcResolutionInPs = cms.double( 0.001 ),
43 jitterNoise_ns = cms.vdouble(25., 25., 25.),
45 jitterConstant_ns = cms.vdouble(0.0004, 0.0004, 0.0004),
47 tdcNbits = cms.uint32(12),
49 tdcSaturation_fC = cms.double(10000),
52 adcThreshold_fC = cms.double(0.672),
53 thresholdFollowsMIP = cms.bool(thresholdTracksMIP),
55 tdcOnset_fC = cms.double(60),
57 tdcForToAOnset_fC = cms.vdouble(12., 12., 12.),
59 toaLSB_ns = cms.double(0.0244),
61 toaMode = cms.uint32(1),
63 tdcChargeDrainParameterisation = cms.vdouble(
64 -919.13, 365.36, -14.10, 0.2,
65 -21.85, 49.39, 22.21, 0.8,
73 hgchefrontDigitizer = cms.PSet(
74 accumulatorType = cms.string(
"HGCDigiProducer"),
75 hitCollection = cms.string(
"HGCHitsHEfront"),
76 digiCollection = cms.string(
"HGCDigisHEfront"),
77 maxSimHitsAccTime = cms.uint32(100),
78 bxTime = cms.double(25),
79 tofDelay = cms.double(5),
80 digitizationType = cms.uint32(0),
81 makeDigiSimLinks = cms.bool(
False),
82 useAllChannels = cms.bool(
True),
83 verbosity = cms.untracked.uint32(0),
85 keV2fC = cms.double(0.044259),
86 chargeCollectionEfficiency = cms.vdouble( nonAgedCCEs ),
87 noise_fC = cms.vdouble( [x*fC_per_ele
for x
in nonAgedNoises] ),
88 doTimeSamples = cms.bool(
False),
91 fwVersion = cms.uint32(2),
93 adcPulse = cms.vdouble(0.00, 0.017, 0.817, 0.163, 0.003, 0.000),
94 pulseAvgT = cms.vdouble(0.00, 23.42298,13.16733,6.41062,5.03946,4.5320),
96 adcNbits = cms.uint32(10),
98 adcSaturation_fC = cms.double(100),
100 tdcResolutionInPs = cms.double( 0.001 ),
102 jitterNoise_ns = cms.vdouble(25., 25., 25.),
104 jitterConstant_ns = cms.vdouble(0.0004, 0.0004, 0.0004),
106 tdcNbits = cms.uint32(12),
108 tdcSaturation_fC = cms.double(10000),
111 adcThreshold_fC = cms.double(0.672),
112 thresholdFollowsMIP = cms.bool(thresholdTracksMIP),
114 tdcOnset_fC = cms.double(60),
116 tdcForToAOnset_fC = cms.vdouble(12., 12., 12.),
118 toaLSB_ns = cms.double(0.0244),
120 toaMode = cms.uint32(1),
122 tdcChargeDrainParameterisation = cms.vdouble(
123 -919.13, 365.36, -14.10, 0.2,
124 -21.85, 49.39, 22.21, 0.8,
133 hgchebackDigitizer = cms.PSet(
134 accumulatorType = cms.string(
"HGCDigiProducer"),
135 hitCollection = cms.string(
"HcalHits"),
136 digiCollection = cms.string(
"HGCDigisHEback"),
137 maxSimHitsAccTime = cms.uint32(100),
138 bxTime = cms.double(25),
139 tofDelay = cms.double(1),
140 digitizationType = cms.uint32(1),
141 makeDigiSimLinks = cms.bool(
False),
142 useAllChannels = cms.bool(
True),
143 verbosity = cms.untracked.uint32(0),
145 keV2MIP = cms.double(1./616.0),
146 noise_MIP = cms.double(1.0/7.0),
147 doTimeSamples = cms.bool(
False),
148 nPEperMIP = cms.double(11.0),
149 nTotalPE = cms.double(1156),
150 xTalk = cms.double(0.25),
151 sdPixels = cms.double(1e-6),
154 fwVersion = cms.uint32(0),
156 adcNbits = cms.uint32(12),
158 adcSaturation_fC = cms.double(1024.0),
160 adcThreshold_fC = cms.double(0.50),
161 thresholdFollowsMIP = cms.bool(
False)
167 endOfLifeCCEs = [0.5, 0.5, 0.7]
168 endOfLifeNoises = [2400.0,2250.0,1750.0]
170 if( digitizer.digiCollection !=
"HGCDigisHEback" ):
171 digitizer.digiCfg.noise_fC = cms.vdouble( [x*fC_per_ele
for x
in endOfLifeNoises] )
172 digitizer.digiCfg.chargeCollectionEfficiency = cms.vdouble(endOfLifeCCEs)
174 digitizer.digiCfg.noise_MIP = cms.double( 1.0/5.0 )
def HGCal_setEndOfLifeNoise(digitizer)