From 2adaa18f9524700b48740e19ec113e7b93de44fa Mon Sep 17 00:00:00 2001 From: creetz16 Date: Fri, 17 Jul 2026 15:11:48 +0200 Subject: [PATCH] Add daughter x at IU to output tables --- PWGLF/DataModel/Vtx3BodyTables.h | 5 +++++ PWGLF/TableProducer/Nuspex/decay3bodybuilder.cxx | 3 +++ PWGLF/Utils/decay3bodyBuilderHelper.h | 7 +++++++ 3 files changed, 15 insertions(+) diff --git a/PWGLF/DataModel/Vtx3BodyTables.h b/PWGLF/DataModel/Vtx3BodyTables.h index 6f59323efe3..efbbb037519 100644 --- a/PWGLF/DataModel/Vtx3BodyTables.h +++ b/PWGLF/DataModel/Vtx3BodyTables.h @@ -59,6 +59,9 @@ DECLARE_SOA_COLUMN(PzTrackPi, pzTrackPi, float); //! track1 pz at min DECLARE_SOA_COLUMN(PxTrackDe, pxTrackDe, float); //! track2 px at min DECLARE_SOA_COLUMN(PyTrackDe, pyTrackDe, float); //! track2 py at min DECLARE_SOA_COLUMN(PzTrackDe, pzTrackDe, float); //! track2 pz at min +DECLARE_SOA_COLUMN(XTrackPr, xTrackPr, float); //! track0 x at IU +DECLARE_SOA_COLUMN(XTrackPi, xTrackPi, float); //! track1 x at IU +DECLARE_SOA_COLUMN(XTrackDe, xTrackDe, float); //! track2 x at IU // DCAs to PV DECLARE_SOA_COLUMN(DCAXYTrackPrToPV, dcaXYtrackPrToPv, float); //! DCAXY of proton to PV (computed with KFParticle) @@ -215,6 +218,7 @@ DECLARE_SOA_TABLE(Vtx3BodyDatas, "AOD", "VTX3BODYDATA", //! vtx3body::PxTrackPr, vtx3body::PyTrackPr, vtx3body::PzTrackPr, vtx3body::PxTrackPi, vtx3body::PyTrackPi, vtx3body::PzTrackPi, vtx3body::PxTrackDe, vtx3body::PyTrackDe, vtx3body::PzTrackDe, + vtx3body::XTrackPr, vtx3body::XTrackPi, vtx3body::XTrackDe, vtx3body::DCAXYTrackPrToPV, vtx3body::DCAXYTrackPiToPV, vtx3body::DCAXYTrackDeToPV, vtx3body::DCATrackPrToPV, vtx3body::DCATrackPiToPV, vtx3body::DCATrackDeToPV, vtx3body::DCAXYTrackPrToPVProp, vtx3body::DCAXYTrackPiToPVProp, vtx3body::DCAXYTrackDeToPVProp, @@ -266,6 +270,7 @@ DECLARE_SOA_TABLE(McVtx3BodyDatas, "AOD", "MC3BODYDATA", //! vtx3body::PxTrackPr, vtx3body::PyTrackPr, vtx3body::PzTrackPr, vtx3body::PxTrackPi, vtx3body::PyTrackPi, vtx3body::PzTrackPi, vtx3body::PxTrackDe, vtx3body::PyTrackDe, vtx3body::PzTrackDe, + vtx3body::XTrackPr, vtx3body::XTrackPi, vtx3body::XTrackDe, vtx3body::DCAXYTrackPrToPV, vtx3body::DCAXYTrackPiToPV, vtx3body::DCAXYTrackDeToPV, vtx3body::DCATrackPrToPV, vtx3body::DCATrackPiToPV, vtx3body::DCATrackDeToPV, vtx3body::DCAXYTrackPrToPVProp, vtx3body::DCAXYTrackPiToPVProp, vtx3body::DCAXYTrackDeToPVProp, diff --git a/PWGLF/TableProducer/Nuspex/decay3bodybuilder.cxx b/PWGLF/TableProducer/Nuspex/decay3bodybuilder.cxx index 80dd5703951..4a0a22ce33e 100644 --- a/PWGLF/TableProducer/Nuspex/decay3bodybuilder.cxx +++ b/PWGLF/TableProducer/Nuspex/decay3bodybuilder.cxx @@ -937,6 +937,7 @@ struct decay3bodyBuilder { -1., -1., -1., // momProton -1., -1., -1., // momPion -1., -1., -1., // momDeuteron + -1., -1., -1., // xProton, xPion, xDeuteron -1., -1., -1., // trackDCAxyToPV: 0 - proton, 1 - pion, 2 - deuteron -1., -1., -1., // trackDCAToPV: 0 - proton, 1 - pion, 2 - deuteron -1., -1., -1., // trackDCAxyToPVprop: 0 - proton, 1 - pion, 2 - deuteron @@ -1098,6 +1099,7 @@ struct decay3bodyBuilder { helper.decay3body.momProton[0], helper.decay3body.momProton[1], helper.decay3body.momProton[2], helper.decay3body.momPion[0], helper.decay3body.momPion[1], helper.decay3body.momPion[2], helper.decay3body.momDeuteron[0], helper.decay3body.momDeuteron[1], helper.decay3body.momDeuteron[2], + helper.decay3body.xProton, helper.decay3body.xPion, helper.decay3body.xDeuteron, helper.decay3body.trackDCAxyToPV[0], helper.decay3body.trackDCAxyToPV[1], helper.decay3body.trackDCAxyToPV[2], // 0 - proton, 1 - pion, 2 - deuteron helper.decay3body.trackDCAToPV[0], helper.decay3body.trackDCAToPV[1], helper.decay3body.trackDCAToPV[2], // 0 - proton, 1 - pion, 2 - deuteron helper.decay3body.trackDCAxyToPVprop[0], helper.decay3body.trackDCAxyToPVprop[1], helper.decay3body.trackDCAxyToPVprop[2], // 0 - proton, 1 - pion, 2 - deuteron @@ -1129,6 +1131,7 @@ struct decay3bodyBuilder { helper.decay3body.momProton[0], helper.decay3body.momProton[1], helper.decay3body.momProton[2], helper.decay3body.momPion[0], helper.decay3body.momPion[1], helper.decay3body.momPion[2], helper.decay3body.momDeuteron[0], helper.decay3body.momDeuteron[1], helper.decay3body.momDeuteron[2], + helper.decay3body.xProton, helper.decay3body.xPion, helper.decay3body.xDeuteron, helper.decay3body.trackDCAxyToPV[0], helper.decay3body.trackDCAxyToPV[1], helper.decay3body.trackDCAxyToPV[2], // 0 - proton, 1 - pion, 2 - deuteron helper.decay3body.trackDCAToPV[0], helper.decay3body.trackDCAToPV[1], helper.decay3body.trackDCAToPV[2], // 0 - proton, 1 - pion, 2 - deuteron helper.decay3body.trackDCAxyToPVprop[0], helper.decay3body.trackDCAxyToPVprop[1], helper.decay3body.trackDCAxyToPVprop[2], // 0 - proton, 1 - pion, 2 - deuteron diff --git a/PWGLF/Utils/decay3bodyBuilderHelper.h b/PWGLF/Utils/decay3bodyBuilderHelper.h index 72def2d54a3..a354b92e788 100644 --- a/PWGLF/Utils/decay3bodyBuilderHelper.h +++ b/PWGLF/Utils/decay3bodyBuilderHelper.h @@ -60,6 +60,9 @@ struct decay3bodyCandidate { std::array posProton = {0.0f, 0.0f, 0.0f}; std::array posPion = {0.0f, 0.0f, 0.0f}; std::array posDeuteron = {0.0f, 0.0f, 0.0f}; + float xProton = 0.0f; + float xPion = 0.0f; + float xDeuteron = 0.0f; std::array trackDCAxyToPV = {0.0f, 0.0f, 0.0f}; // 0 - proton, 1 - pion, 2 - deuteron std::array trackDCAToPV = {0.0f, 0.0f, 0.0f}; // 0 - proton, 1 - pion, 2 - deuteron std::array trackDCAxyToPVprop = {0.0f, 0.0f, 0.0f}; // 0 - proton, 1 - pion, 2 - deuteron @@ -212,6 +215,10 @@ class decay3bodyBuilderHelper decay3body.pionID = trackPion.globalIndex(); decay3body.deuteronID = trackDeuteron.globalIndex(); + decay3body.xProton = trackProton.x(); + decay3body.xPion = trackPion.x(); + decay3body.xDeuteron = trackDeuteron.x(); + //_______________________________________________________________________ // track selections if (useSelections) {