From 02d8281f16dad355fd0623c3da11a92edc289743 Mon Sep 17 00:00:00 2001 From: Andreas Psallidas Date: Mon, 2 Nov 2020 16:23:10 +0100 Subject: [PATCH] Backport of #32021 --- .../HGCalRecProducers/plugins/HGCalCLUEAlgo.h | 13 ++---- .../python/hgcalLayerClusters_cff.py | 44 +++++++++++-------- 2 files changed, 28 insertions(+), 29 deletions(-) diff --git a/RecoLocalCalo/HGCalRecProducers/plugins/HGCalCLUEAlgo.h b/RecoLocalCalo/HGCalRecProducers/plugins/HGCalCLUEAlgo.h index 0914ef3f1a28f..b02167b87d517 100644 --- a/RecoLocalCalo/HGCalRecProducers/plugins/HGCalCLUEAlgo.h +++ b/RecoLocalCalo/HGCalRecProducers/plugins/HGCalCLUEAlgo.h @@ -45,15 +45,10 @@ class HGCalCLUEAlgoT : public HGCalClusteringAlgoBase { maxNumberOfThickIndices_(ps.getParameter("maxNumberOfThickIndices")), fcPerMip_(ps.getParameter>("fcPerMip")), fcPerEle_(ps.getParameter("fcPerEle")), - nonAgedNoises_(ps.getParameter("noises").getParameter>("values")), + nonAgedNoises_(ps.getParameter>("noises")), noiseMip_(ps.getParameter("noiseMip").getParameter("noise_MIP")), use2x2_(ps.getParameter("use2x2")), - initialized_(false) { - // repeat same noises for CE-H as well - if (!isNose_) { - nonAgedNoises_.insert(std::end(nonAgedNoises_), std::begin(nonAgedNoises_), std::end(nonAgedNoises_)); - } - } + initialized_(false) {} ~HGCalCLUEAlgoT() override {} @@ -107,9 +102,7 @@ class HGCalCLUEAlgoT : public HGCalClusteringAlgoBase { iDesc.add("maxNumberOfThickIndices", 6); iDesc.add>("fcPerMip", {}); iDesc.add("fcPerEle", 0.0); - edm::ParameterSetDescription descNestedNoises; - descNestedNoises.add>("values", {}); - iDesc.add("noises", descNestedNoises); + iDesc.add>("noises", {}); edm::ParameterSetDescription descNestedNoiseMIP; descNestedNoiseMIP.add("scaleByDose", false); descNestedNoiseMIP.add("scaleByDoseAlgo", 0); diff --git a/RecoLocalCalo/HGCalRecProducers/python/hgcalLayerClusters_cff.py b/RecoLocalCalo/HGCalRecProducers/python/hgcalLayerClusters_cff.py index 03fb9f370be04..5ed92d94ed915 100644 --- a/RecoLocalCalo/HGCalRecProducers/python/hgcalLayerClusters_cff.py +++ b/RecoLocalCalo/HGCalRecProducers/python/hgcalLayerClusters_cff.py @@ -6,31 +6,37 @@ from RecoLocalCalo.HGCalRecProducers.HGCalUncalibRecHit_cfi import HGCalUncalibRecHit -from SimCalorimetry.HGCalSimProducers.hgcalDigitizer_cfi import fC_per_ele, hgceeDigitizer, hgchebackDigitizer, hfnoseDigitizer +from SimCalorimetry.HGCalSimProducers.hgcalDigitizer_cfi import fC_per_ele, HGCAL_noises, hgceeDigitizer, hgchebackDigitizer, hfnoseDigitizer -hgcalLayerClusters = hgcalLayerClusters_.clone() - -hgcalLayerClusters.timeOffset = hgceeDigitizer.tofDelay -hgcalLayerClusters.plugin.dEdXweights = cms.vdouble(dEdX.weights) -hgcalLayerClusters.plugin.fcPerMip = cms.vdouble(HGCalUncalibRecHit.HGCEEConfig.fCPerMIP + HGCalUncalibRecHit.HGCHEFConfig.fCPerMIP) -hgcalLayerClusters.plugin.thicknessCorrection = cms.vdouble(HGCalRecHit.thicknessCorrection) -hgcalLayerClusters.plugin.sciThicknessCorrection = HGCalRecHit.sciThicknessCorrection -hgcalLayerClusters.plugin.deltasi_index_regemfac = HGCalRecHit.deltasi_index_regemfac -hgcalLayerClusters.plugin.fcPerEle = cms.double(fC_per_ele) -hgcalLayerClusters.plugin.noises = cms.PSet(refToPSet_ = cms.string('HGCAL_noises')) -hgcalLayerClusters.plugin.noiseMip = hgchebackDigitizer.digiCfg.noise +hgcalLayerClusters = hgcalLayerClusters_.clone( + timeOffset = hgceeDigitizer.tofDelay, + plugin = dict( + dEdXweights = dEdX.weights.value(), + #With the introduction of 7 regional factors (6 for silicon plus 1 for scintillator), + #we extend fcPerMip (along with noises below) so that it is guaranteed that they have 6 entries. + fcPerMip = HGCalUncalibRecHit.HGCEEConfig.fCPerMIP.value() + HGCalUncalibRecHit.HGCHEFConfig.fCPerMIP.value(), + thicknessCorrection = HGCalRecHit.thicknessCorrection.value(), + sciThicknessCorrection = HGCalRecHit.sciThicknessCorrection.value(), + deltasi_index_regemfac = HGCalRecHit.deltasi_index_regemfac.value(), + fcPerEle = fC_per_ele, + #Extending noises as fcPerMip, see comment above. + noises = HGCAL_noises.values.value() + HGCAL_noises.values.value(), + noiseMip = hgchebackDigitizer.digiCfg.noise.value() + ) +) hgcalLayerClustersHFNose = hgcalLayerClusters_.clone( detector = 'HFNose', - timeOffset = hfnoseDigitizer.tofDelay, - nHitsTime = cms.uint32(3), + timeOffset = hfnoseDigitizer.tofDelay.value(), + nHitsTime = 3, plugin = dict( - dEdXweights = dEdX.weightsNose, - fcPerMip = HGCalUncalibRecHit.HGCHFNoseConfig.fCPerMIP, - thicknessCorrection = HGCalRecHit.thicknessNoseCorrection, + dEdXweights = dEdX.weightsNose.value(), + maxNumberOfThickIndices = 3, + fcPerMip = HGCalUncalibRecHit.HGCHFNoseConfig.fCPerMIP.value(), + thicknessCorrection = HGCalRecHit.thicknessNoseCorrection.value(), fcPerEle = fC_per_ele, - noises = dict(refToPSet_ = cms.string('HGCAL_noises')), - noiseMip = hgchebackDigitizer.digiCfg.noise + noises = HGCAL_noises.values.value(), + noiseMip = hgchebackDigitizer.digiCfg.noise.value() ) )