From d7b2d76222ea56f95cf3b53bdd7603f4fe9deec6 Mon Sep 17 00:00:00 2001 From: Long Date: Thu, 26 Mar 2020 11:09:06 +0100 Subject: [PATCH] backport previous fixes to 11_0_2 for the 11_0_X MC production campaign --- EventFilter/HcalRawToDigi/plugins/HcalDigiToRawuHTR.cc | 5 ++++- SimCalorimetry/HcalSimAlgos/src/HcalSiPMHitResponse.cc | 3 +-- SimCalorimetry/HcalSimAlgos/src/HcalTDC.cc | 4 ++-- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/EventFilter/HcalRawToDigi/plugins/HcalDigiToRawuHTR.cc b/EventFilter/HcalRawToDigi/plugins/HcalDigiToRawuHTR.cc index a7933213d1fa8..6830e224ddd59 100644 --- a/EventFilter/HcalRawToDigi/plugins/HcalDigiToRawuHTR.cc +++ b/EventFilter/HcalRawToDigi/plugins/HcalDigiToRawuHTR.cc @@ -50,6 +50,7 @@ class HcalDigiToRawuHTR : public edm::global::EDProducer<> { int _verbosity; int tdc1_; int tdc2_; + bool packHBTDC_; static constexpr int tdcmax_ = 49; std::string electronicsMapLabel_; @@ -66,6 +67,7 @@ HcalDigiToRawuHTR::HcalDigiToRawuHTR(const edm::ParameterSet& iConfig) : _verbosity(iConfig.getUntrackedParameter("Verbosity", 0)), tdc1_(iConfig.getParameter("tdc1")), tdc2_(iConfig.getParameter("tdc2")), + packHBTDC_(iConfig.getParameter("packHBTDC")), electronicsMapLabel_(iConfig.getParameter("ElectronicsMap")), tok_QIE10DigiCollection_( consumes >(iConfig.getParameter("QIE10"))), @@ -152,7 +154,7 @@ void HcalDigiToRawuHTR::produce(edm::StreamID id, edm::Event& iEvent, const edm: int presamples = qiedf.presamples(); // convert to hb qie data if hb - if (HcalDetId(detid.rawId()).subdet() == HcalSubdetector::HcalBarrel) + if (packHBTDC_ && HcalDetId(detid.rawId()).subdet() == HcalSubdetector::HcalBarrel) qiedf = convertHB(qiedf, tdc1_, tdc2_, tdcmax_); if (!uhtrs.exist(uhtrIndex)) { @@ -283,6 +285,7 @@ void HcalDigiToRawuHTR::fillDescriptions(edm::ConfigurationDescriptions& descrip desc.addUntracked("Verbosity", 0); desc.add("tdc1", 4); desc.add("tdc2", 20); + desc.add("packHBTDC", true); desc.add("ElectronicsMap", ""); desc.add("QIE10", edm::InputTag("simHcalDigis", "HFQIE10DigiCollection")); desc.add("QIE11", edm::InputTag("simHcalDigis", "HBHEQIE11DigiCollection")); diff --git a/SimCalorimetry/HcalSimAlgos/src/HcalSiPMHitResponse.cc b/SimCalorimetry/HcalSimAlgos/src/HcalSiPMHitResponse.cc index 4b451af4912f9..46f2105239712 100644 --- a/SimCalorimetry/HcalSimAlgos/src/HcalSiPMHitResponse.cc +++ b/SimCalorimetry/HcalSimAlgos/src/HcalSiPMHitResponse.cc @@ -238,7 +238,6 @@ CaloSamples HcalSiPMHitResponse::makeSiPMSignal(DetId const& id, pulses.push_back(std::pair(elapsedTime, hitPixels)); } else { signal[sampleBin] += hitPixels; - hitPixels *= invdt; signal.preciseAtMod(preciseBin) += 0.6 * hitPixels; if (preciseBin > 0) signal.preciseAtMod(preciseBin - 1) += 0.2 * hitPixels; @@ -255,7 +254,7 @@ CaloSamples HcalSiPMHitResponse::makeSiPMSignal(DetId const& id, LogDebug("HcalSiPMHitResponse") << " pulse t: " << pulse->first << " pulse A: " << pulse->second << " timeDiff: " << timeDiff << " pulseBit: " << pulseBit; signal[sampleBin] += pulseBit; - signal.preciseAtMod(preciseBin) += pulseBit * invdt; + signal.preciseAtMod(preciseBin) += pulseBit; if (timeDiff > 1 && sipmPulseShape(timeDiff) < 1e-7) pulse = pulses.erase(pulse); diff --git a/SimCalorimetry/HcalSimAlgos/src/HcalTDC.cc b/SimCalorimetry/HcalSimAlgos/src/HcalTDC.cc index 058e51680912d..3623851f923a7 100644 --- a/SimCalorimetry/HcalSimAlgos/src/HcalTDC.cc +++ b/SimCalorimetry/HcalSimAlgos/src/HcalTDC.cc @@ -49,7 +49,7 @@ void HcalTDC::timing(const CaloSamples& lf, QIE11DataFrame& digi) const { } if (risingReady) { - if (i != 399 && i != 0 && (lf.preciseAt(i + 1) - lf.preciseAt(i - 1)) > TDC_Threshold) { + if (i != (lf.size() * tdcBins - 1) && i != 0 && (lf.preciseAt(i + 1) - lf.preciseAt(i - 1)) > TDC_Threshold) { risingReady = false; TDC_RisingEdge = i - preciseBegin; } else if (i == 0 && (lf.preciseAt(i + 1) - lf.preciseAt(i)) / 0.5 > TDC_Threshold) { @@ -59,7 +59,7 @@ void HcalTDC::timing(const CaloSamples& lf, QIE11DataFrame& digi) const { TDC_RisingEdge = theTDCParameters.noTransitionCode(); } - if ((!risingReady) && (i == (preciseEnd - 1)) && (i != 399)) { + if ((!risingReady) && (i == (preciseEnd - 1)) && (i != (lf.size() * tdcBins - 1))) { if (((lf.preciseAt(i + 1) - lf.preciseAt(i - 1)) < TDC_Threshold)) { risingReady = true; }