Commit 81f69303 authored by Bjoern Wendland's avatar Bjoern Wendland
Browse files

Adding PLImprovedTight and PLImprovedVeryTight isolation WPs for electrons in AT

parent 5890a95d
......@@ -112,6 +112,8 @@ namespace top {
"PflowLoose",
"PLVTight",
"PLVLoose",
"PLImprovedTight",
"PLImprovedVeryTight",
}};
// Photon Isolation WPs
......@@ -131,7 +133,7 @@ namespace top {
for (const std::string& isoWP : all_isolations) {
std::string tool_name;
if (isoWP.find("PLV") != std::string::npos) {
if (isoWP.find("PL") != std::string::npos) {
tool_name = "CP::IsolationTool_LowPtPLV";
if (!asg::ToolStore::contains<CP::IIsolationLowPtPLVTool>(tool_name)) {
CP::IIsolationLowPtPLVTool* iso_tool = new CP::IsolationLowPtPLVTool(tool_name);
......
......@@ -68,10 +68,10 @@ namespace top {
"Electron Efficiency Systematic model E_T binning (option for SIMPLIFIED model, do not specify to use default; format XXX:YYY:ZZZ. e.g. 4000:7000:10000:15000:13000000)",
"default");
registerParameter("ElectronIsolation",
"Isolation to use : Gradient, FCLoose, FCTight, FCHighPtCaloOnly, PLVTight, PLVLoose, (EXPERIMENTAL: HighPtCaloOnly, Loose, Tight, TightTrackOnly, TightTrackOnly_FixedRad), (DANGEROUS: PflowTight, PflowLoose), None",
"Isolation to use : Gradient, FCLoose, FCTight, FCHighPtCaloOnly, PLVTight, PLVLoose, (EXPERIMENTAL: HighPtCaloOnly, Loose, Tight, TightTrackOnly, TightTrackOnly_FixedRad, PLImprovedTight, PLImprovedVeryTight), (DANGEROUS: PflowTight, PflowLoose), None",
"FCTight");
registerParameter("ElectronIsolationLoose",
"Isolation to use : Gradient, FCLoose, FCTight, FCHighPtCaloOnly, PLVTight, PLVLoose, (EXPERIMENTAL: HighPtCaloOnly, Loose, Tight, TightTrackOnly, TightTrackOnly_FixedRad), (DANGEROUS: PflowTight, PflowLoose), None",
"Isolation to use : Gradient, FCLoose, FCTight, FCHighPtCaloOnly, PLVTight, PLVLoose, (EXPERIMENTAL: HighPtCaloOnly, Loose, Tight, TightTrackOnly, TightTrackOnly_FixedRad, PLImprovedTight, PLImprovedVeryTight), (DANGEROUS: PflowTight, PflowLoose), None",
"None");
registerParameter("ElectronIsolationSF", "Force electron isolation SF (e.g. None). EXPERIMENTAL!", " ");
registerParameter("ElectronIsolationSFLoose", "Force electron isolation SF (e.g. None). EXPERIMENTAL!", " ");
......
......@@ -58,6 +58,8 @@ namespace top {
m_isolationTool_PLVTight("CP::IsolationTool_PLVTight"),
m_isolationTool_PLVLoose("CP::IsolationTool_PLVLoose"),
m_isolationTool_LowPtPLV("CP::IsolationTool_LowPtPLV"),
m_isolationTool_PLImprovedTight("CP::IsolationTool_PLImprovedTight"),
m_isolationTool_PLImprovedVeryTight("CP::IsolationTool_PLImprovedVeryTight"),
m_isolationCorr("CP::IsolationCorrectionTool"),
m_IFFTruthTool("TruthClassificationTool"){
declareProperty("config", m_config);
......@@ -86,6 +88,8 @@ namespace top {
declareProperty("IsolationTool_PLVTight", m_isolationTool_PLVTight);
declareProperty("IsolationTool_PLVLoose", m_isolationTool_PLVLoose);
declareProperty("IsolationTool_LowPtPLV", m_isolationTool_LowPtPLV);
declareProperty("IsolationTool_PLImprovedTight", m_isolationTool_PLImprovedTight);
declareProperty("IsolationTool_PLImprovedVeryTight", m_isolationTool_PLImprovedVeryTight);
declareProperty("IsolationCorrectionTool", m_isolationCorr);
declareProperty("IFFTruthClassificationTool", m_IFFTruthTool);
}
......@@ -131,6 +135,8 @@ namespace top {
top::check(m_isolationTool_PflowTight.retrieve(), "Failed to retrieve Isolation Tool");
top::check(m_isolationTool_PLVTight.retrieve(), "Failed to retrieve Isolation Tool");
top::check(m_isolationTool_PLVLoose.retrieve(), "Failed to retrieve Isolation Tool");
top::check(m_isolationTool_PLImprovedTight.retrieve(), "Failed to retrieve Isolation Tool");
top::check(m_isolationTool_PLImprovedVeryTight.retrieve(), "Failed to retrieve Isolation Tool");
top::check(m_isolationTool_LowPtPLV.retrieve(), "Failed to retrieve Isolation Tool");
}
......@@ -310,6 +316,8 @@ namespace top {
static SG::AuxElement::Accessor<char> AnalysisTop_Isol_PflowLoose("AnalysisTop_Isol_PflowLoose");
static SG::AuxElement::Accessor<char> AnalysisTop_Isol_PLVTight("AnalysisTop_Isol_PLVTight");
static SG::AuxElement::Accessor<char> AnalysisTop_Isol_PLVLoose("AnalysisTop_Isol_PLVLoose");
static SG::AuxElement::Accessor<char> AnalysisTop_Isol_PLImprovedTight("AnalysisTop_Isol_PLImprovedTight");
static SG::AuxElement::Accessor<char> AnalysisTop_Isol_PLImprovedVeryTight("AnalysisTop_Isol_PLImprovedVeryTight");
static const SG::AuxElement::Decorator<float> byhand_LowPtPLV("LowPtPLV");
static const SG::AuxElement::Decorator<int> AnalysisTop_IFFTruthClass("AnalysisTop_IFFTruthClass");
......@@ -430,11 +438,15 @@ namespace top {
ptvarcone30_TightTTVALooseCone_pt1000.isAvailable(*electron) ) {
AnalysisTop_Isol_PLVTight(*electron) = (m_isolationTool_PLVTight->accept(*electron) ? 1 : 0);
AnalysisTop_Isol_PLVLoose(*electron) = (m_isolationTool_PLVLoose->accept(*electron) ? 1 : 0);
AnalysisTop_Isol_PLImprovedTight(*electron) = (m_isolationTool_PLImprovedTight->accept(*electron) ? 1 : 0);
AnalysisTop_Isol_PLImprovedVeryTight(*electron) = (m_isolationTool_PLImprovedVeryTight->accept(*electron) ? 1 : 0);
}
else {
// decorate with special character to indicate failure to retrieve necessary variables
AnalysisTop_Isol_PLVTight(*electron) = 'n';
AnalysisTop_Isol_PLVLoose(*electron) = 'n';
AnalysisTop_Isol_PLImprovedTight(*electron) = 'n';
AnalysisTop_Isol_PLImprovedVeryTight(*electron) = 'n';
}
}
......
......@@ -122,6 +122,8 @@ namespace top {
ToolHandle<CP::IIsolationSelectionTool> m_isolationTool_PLVTight;
ToolHandle<CP::IIsolationSelectionTool> m_isolationTool_PLVLoose;
ToolHandle<CP::IIsolationLowPtPLVTool> m_isolationTool_LowPtPLV;
ToolHandle<CP::IIsolationSelectionTool> m_isolationTool_PLImprovedTight;
ToolHandle<CP::IIsolationSelectionTool> m_isolationTool_PLImprovedVeryTight;
ToolHandle<CP::IIsolationCorrectionTool> m_isolationCorr;
ToolHandle<CP::IClassificationTool> m_IFFTruthTool;
......
Supports Markdown
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