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(1),
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 tdcNbits = cms.uint32(12),
45 tdcSaturation_fC = cms.double(10000),
48 adcThreshold_fC = cms.double(0.672),
49 thresholdFollowsMIP = cms.bool(thresholdTracksMIP),
51 tdcOnset_fC = cms.double(60) ,
53 toaLSB_ns = cms.double(0.005),
55 toaMode = cms.uint32(1),
57 tdcChargeDrainParameterisation = cms.vdouble(
58 -919.13, 365.36, -14.10, 0.2,
59 -21.85, 49.39, 22.21, 0.8,
67 hgchefrontDigitizer = cms.PSet(
68 accumulatorType = cms.string(
"HGCDigiProducer"),
69 hitCollection = cms.string(
"HGCHitsHEfront"),
70 digiCollection = cms.string(
"HGCDigisHEfront"),
71 maxSimHitsAccTime = cms.uint32(100),
72 bxTime = cms.double(25),
73 tofDelay = cms.double(1),
74 digitizationType = cms.uint32(0),
75 makeDigiSimLinks = cms.bool(
False),
76 useAllChannels = cms.bool(
True),
77 verbosity = cms.untracked.uint32(0),
79 keV2fC = cms.double(0.044259),
80 chargeCollectionEfficiency = cms.vdouble( nonAgedCCEs ),
81 noise_fC = cms.vdouble( [x*fC_per_ele
for x
in nonAgedNoises] ),
82 doTimeSamples = cms.bool(
False),
85 fwVersion = cms.uint32(2),
87 adcPulse = cms.vdouble(0.00, 0.017, 0.817, 0.163, 0.003, 0.000),
88 pulseAvgT = cms.vdouble(0.00, 23.42298,13.16733,6.41062,5.03946,4.5320),
90 adcNbits = cms.uint32(10),
92 adcSaturation_fC = cms.double(100),
94 tdcResolutionInPs = cms.double( 0.001 ),
96 tdcNbits = cms.uint32(12),
98 tdcSaturation_fC = cms.double(10000),
101 adcThreshold_fC = cms.double(0.672),
102 thresholdFollowsMIP = cms.bool(thresholdTracksMIP),
104 tdcOnset_fC = cms.double(60) ,
106 toaLSB_ns = cms.double(0.005),
108 toaMode = cms.uint32(1),
110 tdcChargeDrainParameterisation = cms.vdouble(
111 -919.13, 365.36, -14.10, 0.2,
112 -21.85, 49.39, 22.21, 0.8,
121 hgchebackDigitizer = cms.PSet(
122 accumulatorType = cms.string(
"HGCDigiProducer"),
123 hitCollection = cms.string(
"HcalHits"),
124 digiCollection = cms.string(
"HGCDigisHEback"),
125 maxSimHitsAccTime = cms.uint32(100),
126 bxTime = cms.double(25),
127 tofDelay = cms.double(1),
128 digitizationType = cms.uint32(1),
129 makeDigiSimLinks = cms.bool(
False),
130 useAllChannels = cms.bool(
True),
131 verbosity = cms.untracked.uint32(0),
133 keV2MIP = cms.double(1./616.0),
134 noise_MIP = cms.double(1.0/7.0),
135 doTimeSamples = cms.bool(
False),
136 nPEperMIP = cms.double(11.0),
137 nTotalPE = cms.double(1156),
138 xTalk = cms.double(0.25),
139 sdPixels = cms.double(1e-6),
142 fwVersion = cms.uint32(0),
144 adcNbits = cms.uint32(12),
146 adcSaturation_fC = cms.double(1024.0),
148 adcThreshold_fC = cms.double(0.50),
149 thresholdFollowsMIP = cms.bool(
False)
155 endOfLifeCCEs = [0.5, 0.5, 0.7]
156 endOfLifeNoises = [2400.0,2250.0,1750.0]
158 if( digitizer.digiCollection !=
"HGCDigisHEback" ):
159 digitizer.digiCfg.noise_fC = cms.vdouble( [x*fC_per_ele
for x
in endOfLifeNoises] )
160 digitizer.digiCfg.chargeCollectionEfficiency = cms.vdouble(endOfLifeCCEs)
162 digitizer.digiCfg.noise_MIP = cms.double( 1.0/5.0 )
def HGCal_setEndOfLifeNoise(digitizer)