Skip to content

Commit aa969bf

Browse files
authored
Update L1TCaloLayer1FetchLUTs.cc
1 parent 69407d5 commit aa969bf

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

L1Trigger/L1TCaloLayer1/src/L1TCaloLayer1FetchLUTs.cc

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ bool L1TCaloLayer1FetchLUTs(
8282
}
8383
size_t numEcalPhiBins = (*std::max_element(ecalScalePhiBins.begin(), ecalScalePhiBins.end())) + 1;
8484
auto ecalSF = caloParams.layer1ECalScaleFactors();
85+
auto ecalZSF = caloParams.layer1ECalZSFactors();
8586
if (ecalSF.size() != ecalScaleETBins.size() * numEcalPhiBins * 28) {
8687
edm::LogError("L1TCaloLayer1FetchLUTs") << "caloParams.layer1ECalScaleFactors().size() != "
8788
"caloParams.layer1ECalScaleETBins().size()*numEcalPhiBins*28 !!";
@@ -97,6 +98,7 @@ bool L1TCaloLayer1FetchLUTs(
9798
}
9899
size_t numHcalPhiBins = (*std::max_element(hcalScalePhiBins.begin(), hcalScalePhiBins.end())) + 1;
99100
auto hcalSF = caloParams.layer1HCalScaleFactors();
101+
auto hcalZSF = caloParams.layer1HCalZSFactors();
100102
if (hcalSF.size() != hcalScaleETBins.size() * numHcalPhiBins * 28) {
101103
edm::LogError("L1TCaloLayer1FetchLUTs") << "caloParams.layer1HCalScaleFactors().size() != "
102104
"caloParams.layer1HCalScaleETBins().size()*numHcalPhiBins*28 !!";
@@ -195,6 +197,7 @@ bool L1TCaloLayer1FetchLUTs(
195197
calibratedECalInput *= ecalSF.at(phiBin * ecalScaleETBins.size() * 28 + etBin * 28 + etaBin);
196198
if (useLSB)
197199
calibratedECalInput /= caloLSB;
200+
if (ecalInput < ecalZSF.size()/28-1) calibratedECalInput *= ecalZSF.at( ecalInput * 28 + etaBin);
198201

199202
value = calibratedECalInput;
200203
if (fwVersion > 2) {
@@ -261,7 +264,7 @@ bool L1TCaloLayer1FetchLUTs(
261264
calibratedHcalInput *= hcalSF.at(phiBin * hcalScaleETBins.size() * 28 + etBin * 28 + etaBin);
262265
if (useLSB)
263266
calibratedHcalInput /= caloLSB;
264-
267+
if (hcalInput < hcalZSF.size()/28-1) calibratedHcalInput *= hcalZSF.at( hcalInput * 28 + etaBin);
265268
value = calibratedHcalInput;
266269
if (fwVersion > 2) {
267270
// Saturate if either decompressed value is over 127.5 GeV or input saturated

0 commit comments

Comments
 (0)