Skip to content
Snippets Groups Projects
Commit 4685588f authored by Nils Erik Krumnack's avatar Nils Erik Krumnack
Browse files

Merge branch 'JSSMTools-4prong' into '21.2'

JetSubStructureMomentTools: Adding Tau42

See merge request atlas/athena!20972
parents 20f40b4b fe6fd8bc
No related branches found
No related tags found
No related merge requests found
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
*/
#include <iostream>
......@@ -17,9 +17,11 @@ int NSubjettinessRatiosTool::modifyJet(xAOD::Jet &jet) const {
if (!jet.isAvailable<float>(m_prefix+"Tau1") ||
!jet.isAvailable<float>(m_prefix+"Tau2") ||
!jet.isAvailable<float>(m_prefix+"Tau3") ||
!jet.isAvailable<float>(m_prefix+"Tau4") ||
!jet.isAvailable<float>(m_prefix+"Tau1_wta") ||
!jet.isAvailable<float>(m_prefix+"Tau2_wta") ||
!jet.isAvailable<float>(m_prefix+"Tau3_wta")) {
!jet.isAvailable<float>(m_prefix+"Tau3_wta") ||
!jet.isAvailable<float>(m_prefix+"Tau4_wta")) {
ATH_MSG_WARNING("Tau decorations for "<<m_prefix<<"are not all available. Exiting..");
return 1;
......@@ -29,6 +31,7 @@ int NSubjettinessRatiosTool::modifyJet(xAOD::Jet &jet) const {
float tau1 = jet.getAttribute<float>(m_prefix+"Tau1");
float tau2 = jet.getAttribute<float>(m_prefix+"Tau2");
float tau3 = jet.getAttribute<float>(m_prefix+"Tau3");
float tau4 = jet.getAttribute<float>(m_prefix+"Tau4");
//Prevent div-0 and check against default value (-999) of the decoration
if(tau1 > 1e-8)
......@@ -36,14 +39,19 @@ int NSubjettinessRatiosTool::modifyJet(xAOD::Jet &jet) const {
else
jet.setAttribute(m_prefix+"Tau21", -999.0);
//Prevent div-0 and check against default value (-999) of the decoration
if(tau2 > 1e-8)
if(tau2 > 1e-8) {
jet.setAttribute(m_prefix+"Tau32", tau3/tau2);
else
jet.setAttribute(m_prefix+"Tau42", tau4/tau2);
}
else {
jet.setAttribute(m_prefix+"Tau32", -999.0);
jet.setAttribute(m_prefix+"Tau42", -999.0);
}
float tau1_wta = jet.getAttribute<float>(m_prefix+"Tau1_wta");
float tau2_wta = jet.getAttribute<float>(m_prefix+"Tau2_wta");
float tau3_wta = jet.getAttribute<float>(m_prefix+"Tau3_wta");
float tau4_wta = jet.getAttribute<float>(m_prefix+"Tau4_wta");
// WTA
//Prevent div-0 and check against default value (-999) of the decoration
......@@ -52,10 +60,14 @@ int NSubjettinessRatiosTool::modifyJet(xAOD::Jet &jet) const {
else
jet.setAttribute(m_prefix+"Tau21_wta", -999.0);
//Prevent div-0 and check against default value (-999) of the decoration
if(tau2_wta > 1e-8)
if(tau2_wta > 1e-8) {
jet.setAttribute(m_prefix+"Tau32_wta", tau3_wta/tau2_wta);
else
jet.setAttribute(m_prefix+"Tau42_wta", tau4_wta/tau2_wta);
}
else {
jet.setAttribute(m_prefix+"Tau32_wta", -999.0);
jet.setAttribute(m_prefix+"Tau42_wta", -999.0);
}
return 0;
}
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
*/
#include <iostream>
......@@ -26,37 +26,44 @@ int NSubjettinessTool::modifyJet(xAOD::Jet &injet) const {
fastjet::contrib::NormalizedCutoffMeasure normalized_measure(m_Alpha, injet.getSizeParameter(), 1000000);
float Tau1_value = -999, Tau2_value = -999, Tau3_value = -999,
Tau1_wta_value = -999, Tau2_wta_value = -999, Tau3_wta_value = -999;
float Tau1_value = -999, Tau2_value = -999, Tau3_value = -999, Tau4_value = -999,
Tau1_wta_value = -999, Tau2_wta_value = -999, Tau3_wta_value = -999, Tau4_wta_value = -999;
if (decorate) {
fastjet::contrib::KT_Axes kt_axes;
JetSubStructureUtils::Nsubjettiness tau1(1, kt_axes, normalized_measure);
JetSubStructureUtils::Nsubjettiness tau2(2, kt_axes, normalized_measure);
JetSubStructureUtils::Nsubjettiness tau3(3, kt_axes, normalized_measure);
JetSubStructureUtils::Nsubjettiness tau4(4, kt_axes, normalized_measure);
Tau1_value = tau1.result(jet);
Tau2_value = tau2.result(jet);
Tau3_value = tau3.result(jet);
Tau4_value = tau4.result(jet);
fastjet::contrib::WTA_KT_Axes wta_kt_axes;
JetSubStructureUtils::Nsubjettiness tau1_wta(1, wta_kt_axes, normalized_measure);
JetSubStructureUtils::Nsubjettiness tau2_wta(2, wta_kt_axes, normalized_measure);
JetSubStructureUtils::Nsubjettiness tau3_wta(3, wta_kt_axes, normalized_measure);
JetSubStructureUtils::Nsubjettiness tau4_wta(4, wta_kt_axes, normalized_measure);
Tau1_wta_value = tau1_wta.result(jet);
Tau2_wta_value = tau2_wta.result(jet);
Tau3_wta_value = tau3_wta.result(jet);
Tau4_wta_value = tau4_wta.result(jet);
}
injet.setAttribute(m_prefix+"Tau1", Tau1_value);
injet.setAttribute(m_prefix+"Tau2", Tau2_value);
injet.setAttribute(m_prefix+"Tau3", Tau3_value);
injet.setAttribute(m_prefix+"Tau4", Tau4_value);
injet.setAttribute(m_prefix+"Tau1_wta", Tau1_wta_value);
injet.setAttribute(m_prefix+"Tau2_wta", Tau2_wta_value);
injet.setAttribute(m_prefix+"Tau3_wta", Tau3_wta_value);
injet.setAttribute(m_prefix+"Tau4_wta", Tau4_wta_value);
return 0;
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment