Skip to content

Commit 0845d7f

Browse files
authored
Merge pull request #47341 from asavincms/patch-4
ZS added to L1TCaloLayer1
2 parents 08d1566 + cb49789 commit 0845d7f

File tree

5 files changed

+173
-2
lines changed

5 files changed

+173
-2
lines changed

L1Trigger/L1TCaloLayer1/src/L1TCaloLayer1FetchLUTs.cc

Lines changed: 6 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,8 @@ bool L1TCaloLayer1FetchLUTs(
195197
calibratedECalInput *= ecalSF.at(phiBin * ecalScaleETBins.size() * 28 + etBin * 28 + etaBin);
196198
if (useLSB)
197199
calibratedECalInput /= caloLSB;
200+
if (ecalZSF.size() >= 28 && ecalInput < ecalZSF.size() / 28 - 1)
201+
calibratedECalInput *= ecalZSF.at(ecalInput * 28 + etaBin);
198202

199203
value = calibratedECalInput;
200204
if (fwVersion > 2) {
@@ -261,7 +265,8 @@ bool L1TCaloLayer1FetchLUTs(
261265
calibratedHcalInput *= hcalSF.at(phiBin * hcalScaleETBins.size() * 28 + etBin * 28 + etaBin);
262266
if (useLSB)
263267
calibratedHcalInput /= caloLSB;
264-
268+
if (hcalZSF.size() >= 28 && hcalInput < hcalZSF.size() / 28 - 1)
269+
calibratedHcalInput *= hcalZSF.at(hcalInput * 28 + etaBin);
265270
value = calibratedHcalInput;
266271
if (fwVersion > 2) {
267272
// Saturate if either decompressed value is over 127.5 GeV or input saturated

L1Trigger/L1TCalorimeter/interface/CaloParamsHelper.h

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,9 @@ namespace l1t {
7676
layer1HCalFBUpper = 50,
7777
layer1HCalFBLower = 51,
7878
hiZDC = 52,
79-
NUM_CALOPARAMNODES = 53
79+
layer1ECalZS = 53,
80+
layer1HCalZS = 54,
81+
NUM_CALOPARAMNODES = 55
8082
};
8183

8284
CaloParamsHelper() { pnode_.resize(NUM_CALOPARAMNODES); }
@@ -556,6 +558,8 @@ namespace l1t {
556558
}
557559

558560
// Layer 1 LUT specification
561+
std::vector<double> const& layer1ECalZSFactors() const { return pnode_[layer1ECalZS].dparams_; }
562+
std::vector<double> const& layer1HCalZSFactors() const { return pnode_[layer1HCalZS].dparams_; }
559563
std::vector<double> const& layer1ECalScaleFactors() const { return pnode_[layer1ECal].dparams_; }
560564
std::vector<double> const& layer1HCalScaleFactors() const { return pnode_[layer1HCal].dparams_; }
561565
std::vector<double> const& layer1HFScaleFactors() const { return pnode_[layer1HF].dparams_; }
@@ -567,6 +571,8 @@ namespace l1t {
567571
std::vector<unsigned> const& layer1ECalScalePhiBins() const { return pnode_[layer1ECal].uparams_; }
568572
std::vector<unsigned> const& layer1HCalScalePhiBins() const { return pnode_[layer1HCal].uparams_; }
569573
std::vector<unsigned> const& layer1HFScalePhiBins() const { return pnode_[layer1HF].uparams_; }
574+
void setLayer1ECalZSFactors(std::vector<double> params) { pnode_[layer1ECalZS].dparams_ = std::move(params); }
575+
void setLayer1HCalZSFactors(std::vector<double> params) { pnode_[layer1HCalZS].dparams_ = std::move(params); }
570576
void setLayer1ECalScaleFactors(std::vector<double> params) { pnode_[layer1ECal].dparams_ = std::move(params); }
571577
void setLayer1HCalScaleFactors(std::vector<double> params) { pnode_[layer1HCal].dparams_ = std::move(params); }
572578
void setLayer1HFScaleFactors(std::vector<double> params) { pnode_[layer1HF].dparams_ = std::move(params); }

L1Trigger/L1TCalorimeter/plugins/L1TCaloParamsESProducer.cc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -342,6 +342,8 @@ L1TCaloParamsESProducer::L1TCaloParamsESProducer(const edm::ParameterSet& conf)
342342
m_params_helper.setQ2LUT(*q2LUT);
343343

344344
// Layer 1 LUT specification
345+
m_params_helper.setLayer1ECalZSFactors(conf.getParameter<std::vector<double>>("layer1ECalZSFactors"));
346+
m_params_helper.setLayer1HCalZSFactors(conf.getParameter<std::vector<double>>("layer1HCalZSFactors"));
345347
m_params_helper.setLayer1ECalScaleFactors(conf.getParameter<std::vector<double>>("layer1ECalScaleFactors"));
346348
m_params_helper.setLayer1HCalScaleFactors(conf.getParameter<std::vector<double>>("layer1HCalScaleFactors"));
347349
m_params_helper.setLayer1HFScaleFactors(conf.getParameter<std::vector<double>>("layer1HFScaleFactors"));

L1Trigger/L1TCalorimeter/plugins/L1TCaloStage2ParamsESProducer.cc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -345,6 +345,8 @@ L1TCaloStage2ParamsESProducer::L1TCaloStage2ParamsESProducer(const edm::Paramete
345345
m_params_helper.setQ2LUT(*q2LUT);
346346

347347
// Layer 1 LUT specification
348+
m_params_helper.setLayer1ECalZSFactors(conf.getParameter<std::vector<double>>("layer1ECalZSFactors"));
349+
m_params_helper.setLayer1HCalZSFactors(conf.getParameter<std::vector<double>>("layer1HCalZSFactors"));
348350
m_params_helper.setLayer1ECalScaleFactors(conf.getParameter<std::vector<double>>("layer1ECalScaleFactors"));
349351
m_params_helper.setLayer1HCalScaleFactors(conf.getParameter<std::vector<double>>("layer1HCalScaleFactors"));
350352
m_params_helper.setLayer1HFScaleFactors(conf.getParameter<std::vector<double>>("layer1HFScaleFactors"));

0 commit comments

Comments
 (0)