Skip to content

Commit e315d8d

Browse files
authored
Merge pull request #45827 from nabrandman/eta-window-errorcheck_14_1_X
Checks eta windows from the L1Trigger menu to ensure minimum <= maximum
2 parents a86063d + 7160953 commit e315d8d

File tree

1 file changed

+26
-4
lines changed

1 file changed

+26
-4
lines changed

L1Trigger/L1TGlobal/plugins/TriggerMenuParser.cc

Lines changed: 26 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1234,7 +1234,13 @@ bool l1t::TriggerMenuParser::parseMuon(L1TUtmCondition condMu, unsigned int chip
12341234

12351235
case esCutType::Eta: {
12361236
if (etaWindows.size() < 5) {
1237-
etaWindows.push_back({cut.getMinimum().index, cut.getMaximum().index});
1237+
if ((cut.getMinimum().index <= cut.getMaximum().index) ^
1238+
((cut.getMinimum().index <= 255) ^ (cut.getMaximum().index <= 255))) {
1239+
etaWindows.push_back({cut.getMinimum().index, cut.getMaximum().index});
1240+
} else {
1241+
edm::LogError("TriggerMenuParser")
1242+
<< "Invalid Eta Window for muon-condition (" << name << ")" << std::endl;
1243+
}
12381244
} else {
12391245
edm::LogError("TriggerMenuParser")
12401246
<< "Too Many Eta Cuts for muon-condition (" << particle << ")" << std::endl;
@@ -1465,7 +1471,12 @@ bool l1t::TriggerMenuParser::parseMuonCorr(const L1TUtmObject* corrMu, unsigned
14651471

14661472
case esCutType::Eta: {
14671473
if (etaWindows.size() < 5) {
1468-
etaWindows.push_back({cut.getMinimum().index, cut.getMaximum().index});
1474+
if ((cut.getMinimum().index <= cut.getMaximum().index) ^
1475+
((cut.getMinimum().index <= 255) ^ (cut.getMaximum().index <= 255))) {
1476+
etaWindows.push_back({cut.getMinimum().index, cut.getMaximum().index});
1477+
} else {
1478+
edm::LogError("TriggerMenuParser") << "Invalid Eta Window for muon-condition (" << name << ")" << std::endl;
1479+
}
14691480
} else {
14701481
edm::LogError("TriggerMenuParser")
14711482
<< "Too Many Eta Cuts for muon-condition (" << particle << ")" << std::endl;
@@ -1838,7 +1849,13 @@ bool l1t::TriggerMenuParser::parseCalo(L1TUtmCondition condCalo, unsigned int ch
18381849
break;
18391850
case esCutType::Eta: {
18401851
if (etaWindows.size() < 5) {
1841-
etaWindows.push_back({cut.getMinimum().index, cut.getMaximum().index});
1852+
if ((cut.getMinimum().index <= cut.getMaximum().index) ^
1853+
((cut.getMinimum().index <= 127) ^ (cut.getMaximum().index <= 127))) {
1854+
etaWindows.push_back({cut.getMinimum().index, cut.getMaximum().index});
1855+
} else {
1856+
edm::LogError("TriggerMenuParser")
1857+
<< "Invalid Eta Window for calo-conditioni (" << name << ")" << std::endl;
1858+
}
18421859
} else {
18431860
edm::LogError("TriggerMenuParser")
18441861
<< "Too Many Eta Cuts for calo-condition (" << particle << ")" << std::endl;
@@ -2065,7 +2082,12 @@ bool l1t::TriggerMenuParser::parseCaloCorr(const L1TUtmObject* corrCalo, unsigne
20652082
break;
20662083
case esCutType::Eta: {
20672084
if (etaWindows.size() < 5) {
2068-
etaWindows.push_back({cut.getMinimum().index, cut.getMaximum().index});
2085+
if ((cut.getMinimum().index <= cut.getMaximum().index) ^
2086+
((cut.getMinimum().index <= 127) ^ (cut.getMaximum().index <= 127))) {
2087+
etaWindows.push_back({cut.getMinimum().index, cut.getMaximum().index});
2088+
} else {
2089+
edm::LogError("TriggerMenuParser") << "Invalid Eta Window for calo-condition (" << name << ")" << std::endl;
2090+
}
20692091
} else {
20702092
edm::LogError("TriggerMenuParser")
20712093
<< "Too Many Eta Cuts for calo-condition (" << particle << ")" << std::endl;

0 commit comments

Comments
 (0)