1 from __future__
import absolute_import
2 import FWCore.ParameterSet.Config
as cms
9 from .
import hgcalLayersCalibrationCoefficients_cfi
as layercalibparam
12 adcSaturation_si = digiparam.hgceeDigitizer.digiCfg.feCfg.adcSaturation_fC
13 adcNbits_si = digiparam.hgceeDigitizer.digiCfg.feCfg.adcNbits
14 tdcSaturation_si = digiparam.hgceeDigitizer.digiCfg.feCfg.tdcSaturation_fC
15 tdcNbits_si = digiparam.hgceeDigitizer.digiCfg.feCfg.tdcNbits
16 tdcOnset_si = digiparam.hgceeDigitizer.digiCfg.feCfg.tdcOnset_fC
18 adcSaturation_sc = digiparam.hgchebackDigitizer.digiCfg.feCfg.adcSaturation_fC
19 adcNbits_sc = digiparam.hgchebackDigitizer.digiCfg.feCfg.adcNbits
20 tdcSaturation_sc = digiparam.hgchebackDigitizer.digiCfg.feCfg.tdcSaturation_fC
21 tdcNbits_sc = digiparam.hgchebackDigitizer.digiCfg.feCfg.tdcNbits
22 tdcOnset_sc = digiparam.hgchebackDigitizer.digiCfg.feCfg.tdcOnset_fC
25 fCPerMIPee = recoparam.HGCalUncalibRecHit.HGCEEConfig.fCPerMIP
26 fCPerMIPfh = recoparam.HGCalUncalibRecHit.HGCHEFConfig.fCPerMIP
27 layerWeights = layercalibparam.TrgLayer_dEdX_weights
28 thicknessCorrection = recocalibparam.HGCalRecHit.thicknessCorrection
31 frontend_thickness_corrections = [1./(c1*c2)
for c1,c2
in zip(fCPerMIPee,thicknessCorrection)]
32 c200 = frontend_thickness_corrections[1]
33 frontend_thickness_corrections = [c/c200
for c
in frontend_thickness_corrections]
34 fCPerMIP_200 = fCPerMIPee[1]
35 thicknessCorrection_200 = thicknessCorrection[1]
38 fCPerMIPnose = recoparam.HGCalUncalibRecHit.HGCHFNoseConfig.fCPerMIP
39 layerWeightsNose = recocalibparam.dEdX.weightsNose
40 thicknessCorrectionNose = recocalibparam.HGCalRecHit.thicknessNoseCorrection
43 triggerCellLsbBeforeCompression = 100./1024.
44 triggerCellTruncationBits = 0
46 vfe_proc = cms.PSet( ProcessorName = cms.string(
'HGCalVFEProcessorSums'),
48 linLSB_si = cms.double(triggerCellLsbBeforeCompression),
49 adcsaturation_si = adcSaturation_si,
50 tdcnBits_si = tdcNbits_si,
51 tdcOnset_si = tdcOnset_si,
52 adcnBits_si = adcNbits_si,
53 tdcsaturation_si = tdcSaturation_si,
55 linLSB_sc = cms.double(
float(adcSaturation_sc.value())/(2**
float(adcNbits_sc.value()))),
56 adcsaturation_sc = adcSaturation_sc,
57 tdcnBits_sc = tdcNbits_sc,
58 tdcOnset_sc = tdcOnset_sc,
59 adcnBits_sc = adcNbits_sc,
60 tdcsaturation_sc = tdcSaturation_sc,
61 linnBits = cms.uint32(16),
62 oot_coefficients = cms.vdouble(0., 0.),
63 siliconCellLSB_fC = cms.double( triggerCellLsbBeforeCompression*(2**triggerCellTruncationBits) ),
64 scintillatorCellLSB_MIP = cms.double(
float(adcSaturation_sc.value())/(2**
float(adcNbits_sc.value()))),
65 noiseSilicon = cms.PSet(),
66 noiseScintillator = cms.PSet(),
69 noiseThreshold = cms.double(3),
71 exponentBits = cms.uint32(4),
72 mantissaBits = cms.uint32(4),
73 rounding = cms.bool(
True),
75 fCperMIP = cms.double(fCPerMIP_200),
76 fCperMIPnose = cms.vdouble(fCPerMIPnose),
77 dEdXweights = layerWeights,
78 dEdXweightsNose = layerWeightsNose,
79 ThicknessCorrections = cms.vdouble(frontend_thickness_corrections),
80 thickCorr = cms.double(thicknessCorrection_200),
81 thickCorrNose = cms.vdouble(thicknessCorrectionNose),
85 from Configuration.Eras.Modifier_phase2_hgcal_cff
import phase2_hgcal
86 phase2_hgcal.toModify(vfe_proc,
87 noiseSilicon = cms.PSet(refToPSet_ = cms.string(
"HGCAL_noise_fC")),
88 noiseScintillator = cms.PSet(refToPSet_ = cms.string(
"HGCAL_noise_heback")),
91 hgcalVFEProducer = cms.EDProducer(
93 eeDigis = cms.InputTag(
'simHGCalUnsuppressedDigis:EE'),
94 fhDigis = cms.InputTag(
'simHGCalUnsuppressedDigis:HEfront'),
95 bhDigis = cms.InputTag(
'simHGCalUnsuppressedDigis:HEback'),
96 ProcessorParameters = vfe_proc.clone()
99 hfnoseVFEProducer = cms.EDProducer(
101 noseDigis = cms.InputTag(
'simHFNoseUnsuppressedDigis:HFNose'),
102 ProcessorParameters = vfe_proc.clone()