Commit e5f4f411 authored by Nils Erik Krumnack's avatar Nils Erik Krumnack
Browse files

Merge branch '21.2-AT-PLIVUpdates' into '21.2'

AnalysisTop: Fixing a bug with muon PLIV decoration name + clean up

See merge request atlas/athena!48487
parents 93c74ff5 c23c3c96
......@@ -187,11 +187,7 @@ namespace top {
m_looseLeptonIsolation(looseLeptonIsolation),
m_doTightIsolation(true),
m_doLooseIsolation(true),
m_doTightPromptLeptonIso(false),
m_doLoosePromptLeptonIso(false),
m_skipUnavailable(!ConfigurationSettings::get()->feature("AbortOnUnavailableIsolation")) {
if (tightLeptonIsolation == "PromptLepton") m_doTightPromptLeptonIso = true;
if (looseLeptonIsolation == "PromptLepton") m_doLoosePromptLeptonIso = true;
if (tightLeptonIsolation == "None") m_doTightIsolation = false;
......@@ -223,20 +219,9 @@ namespace top {
if (p.type() == xAOD::Type::Photon ||
p.type() == xAOD::Type::Electron ||
p.type() == xAOD::Type::Muon) {
if (!m_doTightPromptLeptonIso) {
if (!m_skipUnavailable || p.isAvailable<char>(m_tightLeptonDecoration)) {
if (p.auxdataConst<char>(m_tightLeptonDecoration) == 1) {
return true;
}
}
} else {
// Hardcoded a bit - With PLI we need to check that it passes Loose isolation AND passes the BDT cut
if (!m_skipUnavailable ||
(p.isAvailable<char>(m_tightLeptonDecoration) && p.isAvailable<char>("AnalysisTop_Isol_Loose"))) {
if (p.auxdataConst<char>(m_tightLeptonDecoration) == 1 &&
p.auxdataConst<char>("AnalysisTop_Isol_Loose") == 1) {
return true;
}
if (!m_skipUnavailable || p.isAvailable<char>(m_tightLeptonDecoration)) {
if (p.auxdataConst<char>(m_tightLeptonDecoration) == 1) {
return true;
}
}
}
......@@ -254,20 +239,9 @@ namespace top {
if (p.type() == xAOD::Type::Photon ||
p.type() == xAOD::Type::Electron ||
p.type() == xAOD::Type::Muon) {
if (!m_doLoosePromptLeptonIso) {
if (!m_skipUnavailable || p.isAvailable<char>(m_looseLeptonDecoration)) {
if (p.auxdataConst<char>(m_looseLeptonDecoration) == 1) {
return true;
}
}
} else {
// Hardcoded a bit - With PLI we need to check that it passes Loose isolation AND passes the BDT cut
if (!m_skipUnavailable ||
(p.isAvailable<char>(m_looseLeptonDecoration) && p.isAvailable<char>("AnalysisTop_Isol_Loose"))) {
if (p.auxdataConst<char>(m_looseLeptonDecoration) == 1 &&
p.auxdataConst<char>("AnalysisTop_Isol_Loose") == 1) {
return true;
}
if (!m_skipUnavailable || p.isAvailable<char>(m_looseLeptonDecoration)) {
if (p.auxdataConst<char>(m_looseLeptonDecoration) == 1) {
return true;
}
}
}
......
......@@ -268,8 +268,6 @@ namespace top {
std::string m_looseLeptonIsolation;
bool m_doTightIsolation;
bool m_doLooseIsolation;
bool m_doTightPromptLeptonIso;
bool m_doLoosePromptLeptonIso;
bool m_skipUnavailable; // skip unavailable working points (instead of aborting)
};
}
......
......@@ -342,8 +342,8 @@ namespace top {
muon->auxdecor<char>("AnalysisTop_Isol_TightTrackOnly_FixedRad") = passIsol_TightTrackOnly_FixedRad;
muon->auxdecor<char>("AnalysisTop_Isol_PLVTight") = passIsol_PLVTight;
muon->auxdecor<char>("AnalysisTop_Isol_PLVLoose") = passIsol_PLVLoose;
muon->auxdecor<char>("AnalysisTop_PLImprovedTight") = passIsol_PLImprovedTight;
muon->auxdecor<char>("AnalysisTop_PLImprovedVeryTight") = passIsol_PLImprovedVeryTight;
muon->auxdecor<char>("AnalysisTop_Isol_PLImprovedTight") = passIsol_PLImprovedTight;
muon->auxdecor<char>("AnalysisTop_Isol_PLImprovedVeryTight") = passIsol_PLImprovedVeryTight;
muon->auxdecor<char>("AnalysisTop_Isol_Tight_VarRad") = passIsol_Tight_VarRad;
muon->auxdecor<char>("AnalysisTop_Isol_Tight_FixedRad") = passIsol_Tight_FixedRad;
muon->auxdecor<char>("AnalysisTop_Isol_Loose_VarRad") = passIsol_Loose_VarRad;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment