From f229d79e321facfd44c1099853b723966d88055e Mon Sep 17 00:00:00 2001 From: sigurd Date: Wed, 4 Nov 2026 15:07:25 +0100 Subject: [PATCH] Add impact parameter variable (d_0) to pair vertexing --- PWGDQ/Core/VarManager.cxx | 3 +++ PWGDQ/Core/VarManager.h | 3 +++ 2 files changed, 6 insertions(+) diff --git a/PWGDQ/Core/VarManager.cxx b/PWGDQ/Core/VarManager.cxx index 445dabf000c..b85e284dd40 100644 --- a/PWGDQ/Core/VarManager.cxx +++ b/PWGDQ/Core/VarManager.cxx @@ -1365,6 +1365,8 @@ void VarManager::SetDefaultVarNames() fgVariableUnits[kMCVertexingTauxyzProjected] = "ns"; fgVariableNames[kCosPointingAngle] = "cos(#theta_{pointing})"; fgVariableUnits[kCosPointingAngle] = ""; + fgVariableNames[kVertexingImpactParameter] = "d_{0}"; + fgVariableUnits[kVertexingImpactParameter] = "cm"; fgVariableNames[kMCCosPointingAngle] = "MC cos(#theta_{pointing})"; fgVariableUnits[kMCCosPointingAngle] = ""; fgVariableNames[kD0DcaDaughters] = "DCA of D0 daughters"; @@ -2687,6 +2689,7 @@ void VarManager::SetDefaultVarNames() fgVarNamesMap["kQuadDCAsigXYZ"] = kQuadDCAsigXYZ; fgVarNamesMap["kSignQuadDCAsigXY"] = kSignQuadDCAsigXY; fgVarNamesMap["kCosPointingAngle"] = kCosPointingAngle; + fgVarNamesMap["kVertexingImpactParameter"] = kVertexingImpactParameter; fgVarNamesMap["kMCCosPointingAngle"] = kMCCosPointingAngle; fgVarNamesMap["kD0ImpParProduct"] = kD0ImpParProduct; fgVarNamesMap["kD0DcaDaughters"] = kD0DcaDaughters; diff --git a/PWGDQ/Core/VarManager.h b/PWGDQ/Core/VarManager.h index 7a395a9dcfb..a3b9d9d367b 100644 --- a/PWGDQ/Core/VarManager.h +++ b/PWGDQ/Core/VarManager.h @@ -892,6 +892,7 @@ class VarManager : public TObject kQuadDCAsigXYZ, kSignQuadDCAsigXY, kCosPointingAngle, + kVertexingImpactParameter, kD0ImpParProduct, kD0DcaDaughters, kImpParXYJpsi, @@ -5318,6 +5319,7 @@ void VarManager::FillPairVertexing(C const& collision, T const& t1, T const& t2, values[kCosPointingAngle] = (dx * v12.Px() + dy * v12.Py() + dz * v12.Pz()) / (v12.P() * values[VarManager::kVertexingLxyz]); + values[kVertexingImpactParameter] = values[VarManager::kVertexingLxyz] * std::sqrt(1 - values[VarManager::kCosPointingAngle] * values[VarManager::kCosPointingAngle]); // Decay length defined as in Run 2 values[kVertexingLzProjected] = (dz * v12.Pz()) / TMath::Sqrt(v12.Pz() * v12.Pz()); values[kVertexingLxyProjected] = (dx * v12.Px()) + (dy * v12.Py()); @@ -5398,6 +5400,7 @@ void VarManager::FillPairVertexing(C const& collision, T const& t1, T const& t2, std::sqrt(dyPair2PV * dyPair2PV) * v12.Py() + std::sqrt(dzPair2PV * dzPair2PV) * v12.Pz()) / (v12.P() * values[VarManager::kVertexingLxyz]); + values[kVertexingImpactParameter] = values[VarManager::kVertexingLxyz] * std::sqrt(1 - values[VarManager::kCosPointingAngle] * values[VarManager::kCosPointingAngle]); } // As defined in Run 2 (projected onto momentum) if (fgUsedVars[kVertexingLxyProjected] || fgUsedVars[kVertexingLxyzProjected] || fgUsedVars[kVertexingLzProjected]) {