From 9c2451389bd6b89812e883beed7b831dde88c66c Mon Sep 17 00:00:00 2001 From: sarahherrmann <83958698+sarahherrmann@users.noreply.github.com> Date: Mon, 29 Nov 2021 14:08:23 +0100 Subject: [PATCH 1/3] Adding protection for straight MFT tracks, to prevent divison by zero --- Framework/Core/include/Framework/AnalysisDataModel.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Framework/Core/include/Framework/AnalysisDataModel.h b/Framework/Core/include/Framework/AnalysisDataModel.h index 9e99e6d92f319..d5e5a5c70489d 100644 --- a/Framework/Core/include/Framework/AnalysisDataModel.h +++ b/Framework/Core/include/Framework/AnalysisDataModel.h @@ -368,9 +368,9 @@ DECLARE_SOA_DYNAMIC_COLUMN(Sign, sign, DECLARE_SOA_EXPRESSION_COLUMN(Eta, eta, float, //! -1.f * nlog(ntan(PIQuarter - 0.5f * natan(aod::fwdtrack::tgl)))); DECLARE_SOA_EXPRESSION_COLUMN(Pt, pt, float, //! - nabs(1.f / aod::fwdtrack::signed1Pt)); + ifnode(nabs(aod::fwdtrack::signed1Pt) < 0.0000001f, o2::constants::math::VeryBig, nabs(1.f / aod::fwdtrack::signed1Pt))); DECLARE_SOA_EXPRESSION_COLUMN(P, p, float, //! - 0.5f * (ntan(PIQuarter - 0.5f * natan(aod::fwdtrack::tgl)) + 1.f / ntan(PIQuarter - 0.5f * natan(aod::fwdtrack::tgl))) / nabs(aod::fwdtrack::signed1Pt)); + ifnode(nabs(aod::fwdtrack::signed1Pt) < 0.0000001f, o2::constants::math::VeryBig, 0.5f * (ntan(PIQuarter - 0.5f * natan(aod::fwdtrack::tgl)) + 1.f / ntan(PIQuarter - 0.5f * natan(aod::fwdtrack::tgl))) / nabs(aod::fwdtrack::signed1Pt))); DECLARE_SOA_DYNAMIC_COLUMN(Px, px, //! [](float pt, float phi) -> float { return pt * std::cos(phi); From 5a9c01fa4f18266b26722b70c732310ff3c3ee13 Mon Sep 17 00:00:00 2001 From: sarahherrmann <83958698+sarahherrmann@users.noreply.github.com> Date: Mon, 29 Nov 2021 14:11:15 +0100 Subject: [PATCH 2/3] Adding protection for straight MFT tracks, to prevent divison by zero - clang fix --- Framework/Core/include/Framework/AnalysisDataModel.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Framework/Core/include/Framework/AnalysisDataModel.h b/Framework/Core/include/Framework/AnalysisDataModel.h index d5e5a5c70489d..a0442bd1124af 100644 --- a/Framework/Core/include/Framework/AnalysisDataModel.h +++ b/Framework/Core/include/Framework/AnalysisDataModel.h @@ -368,9 +368,9 @@ DECLARE_SOA_DYNAMIC_COLUMN(Sign, sign, DECLARE_SOA_EXPRESSION_COLUMN(Eta, eta, float, //! -1.f * nlog(ntan(PIQuarter - 0.5f * natan(aod::fwdtrack::tgl)))); DECLARE_SOA_EXPRESSION_COLUMN(Pt, pt, float, //! - ifnode(nabs(aod::fwdtrack::signed1Pt) < 0.0000001f, o2::constants::math::VeryBig, nabs(1.f / aod::fwdtrack::signed1Pt))); + ifnode(nabs(aod::fwdtrack::signed1Pt) < 0.0000001f, o2::constants::math::VeryBig, nabs(1.f / aod::fwdtrack::signed1Pt))); DECLARE_SOA_EXPRESSION_COLUMN(P, p, float, //! - ifnode(nabs(aod::fwdtrack::signed1Pt) < 0.0000001f, o2::constants::math::VeryBig, 0.5f * (ntan(PIQuarter - 0.5f * natan(aod::fwdtrack::tgl)) + 1.f / ntan(PIQuarter - 0.5f * natan(aod::fwdtrack::tgl))) / nabs(aod::fwdtrack::signed1Pt))); + ifnode(nabs(aod::fwdtrack::signed1Pt) < 0.0000001f, o2::constants::math::VeryBig, 0.5f * (ntan(PIQuarter - 0.5f * natan(aod::fwdtrack::tgl)) + 1.f / ntan(PIQuarter - 0.5f * natan(aod::fwdtrack::tgl))) / nabs(aod::fwdtrack::signed1Pt))); DECLARE_SOA_DYNAMIC_COLUMN(Px, px, //! [](float pt, float phi) -> float { return pt * std::cos(phi); From 0234ee87d0033795e71d84fc3041e1955bafc052 Mon Sep 17 00:00:00 2001 From: sarahherrmann <83958698+sarahherrmann@users.noreply.github.com> Date: Thu, 2 Dec 2021 16:25:30 +0100 Subject: [PATCH 3/3] Almost0 correction --- Framework/Core/include/Framework/AnalysisDataModel.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Framework/Core/include/Framework/AnalysisDataModel.h b/Framework/Core/include/Framework/AnalysisDataModel.h index a0442bd1124af..b656551c04fe7 100644 --- a/Framework/Core/include/Framework/AnalysisDataModel.h +++ b/Framework/Core/include/Framework/AnalysisDataModel.h @@ -368,9 +368,9 @@ DECLARE_SOA_DYNAMIC_COLUMN(Sign, sign, DECLARE_SOA_EXPRESSION_COLUMN(Eta, eta, float, //! -1.f * nlog(ntan(PIQuarter - 0.5f * natan(aod::fwdtrack::tgl)))); DECLARE_SOA_EXPRESSION_COLUMN(Pt, pt, float, //! - ifnode(nabs(aod::fwdtrack::signed1Pt) < 0.0000001f, o2::constants::math::VeryBig, nabs(1.f / aod::fwdtrack::signed1Pt))); + ifnode(nabs(aod::fwdtrack::signed1Pt) < o2::constants::math::Almost0, o2::constants::math::VeryBig, nabs(1.f / aod::fwdtrack::signed1Pt))); DECLARE_SOA_EXPRESSION_COLUMN(P, p, float, //! - ifnode(nabs(aod::fwdtrack::signed1Pt) < 0.0000001f, o2::constants::math::VeryBig, 0.5f * (ntan(PIQuarter - 0.5f * natan(aod::fwdtrack::tgl)) + 1.f / ntan(PIQuarter - 0.5f * natan(aod::fwdtrack::tgl))) / nabs(aod::fwdtrack::signed1Pt))); + ifnode(nabs(aod::fwdtrack::signed1Pt) < o2::constants::math::Almost0, o2::constants::math::VeryBig, 0.5f * (ntan(PIQuarter - 0.5f * natan(aod::fwdtrack::tgl)) + 1.f / ntan(PIQuarter - 0.5f * natan(aod::fwdtrack::tgl))) / nabs(aod::fwdtrack::signed1Pt))); DECLARE_SOA_DYNAMIC_COLUMN(Px, px, //! [](float pt, float phi) -> float { return pt * std::cos(phi);