From f21e67c60d979af579fc22ffbe0922afacc23f95 Mon Sep 17 00:00:00 2001 From: JaeYoonCHO Date: Mon, 27 Jan 2025 17:47:59 +0100 Subject: [PATCH 1/4] Add variables in MlResponse and fix typo --- PWGHF/Core/HfMlResponseXicToXiPiPi.h | 75 ++++++++++++++++--- .../DataModel/CandidateReconstructionTables.h | 2 +- .../TableProducer/treeCreatorXicToXiPiPi.cxx | 2 +- 3 files changed, 68 insertions(+), 11 deletions(-) diff --git a/PWGHF/Core/HfMlResponseXicToXiPiPi.h b/PWGHF/Core/HfMlResponseXicToXiPiPi.h index 0a290e14d1d..e0d4857a126 100644 --- a/PWGHF/Core/HfMlResponseXicToXiPiPi.h +++ b/PWGHF/Core/HfMlResponseXicToXiPiPi.h @@ -66,9 +66,28 @@ enum class InputFeaturesXicToXiPiPi : uint8_t { cosPaXYXi, cosPaLambda, cosPaXYLambda, - impactParameterXY0, - impactParameterXY1, - impactParameterXY2 + impactParameterXi, + impactParameterPi0, + impactParameterPi1, + invMassXi, + invMassLambda, + dcaXiDaughters, + dcaV0Daughters, + dcaPosToPV, + dcaNegToPV, + dcaBachelorToPV, + dcaXYCascToPV, + dcaZCascToPV, + nSigTpcPiFromXicPlus0, + nSigTpcPiFromXicPlus1, + nSigTpcBachelorPi, + nSigTpcPiFromLambda, + nSigTpcPrFromLambda, + nSigTofPiFromXicPlus0, + nSigTofPiFromXicPlus1, + nSigTofBachelorPi, + nSigTofPiFromLambda, + nSigTofPrFromLambda }; template @@ -104,9 +123,28 @@ class HfMlResponseXicToXiPiPi : public HfMlResponse CHECK_AND_FILL_VEC_XICTOXIPIPI(cosPaXYXi); CHECK_AND_FILL_VEC_XICTOXIPIPI(cosPaLambda); CHECK_AND_FILL_VEC_XICTOXIPIPI(cosPaXYLambda); - CHECK_AND_FILL_VEC_XICTOXIPIPI_FULL(candidate, impactParameterXY0, impactParameter0); - CHECK_AND_FILL_VEC_XICTOXIPIPI_FULL(candidate, impactParameterXY1, impactParameter1); - CHECK_AND_FILL_VEC_XICTOXIPIPI_FULL(candidate, impactParameterXY2, impactParameter2); + CHECK_AND_FILL_VEC_XICTOXIPIPI_FULL(candidate, impactParameterXi, impactParameter0); + CHECK_AND_FILL_VEC_XICTOXIPIPI_FULL(candidate, impactParameterPi0, impactParameter1); + CHECK_AND_FILL_VEC_XICTOXIPIPI_FULL(candidate, impactParameterPi1, impactParameter2); + CHECK_AND_FILL_VEC_XICTOXIPIPI(invMassXi); + CHECK_AND_FILL_VEC_XICTOXIPIPI(invMassLambda); + CHECK_AND_FILL_VEC_XICTOXIPIPI(dcaXiDaughters); + CHECK_AND_FILL_VEC_XICTOXIPIPI(dcaV0Daughters); + CHECK_AND_FILL_VEC_XICTOXIPIPI(dcaPosToPV); + CHECK_AND_FILL_VEC_XICTOXIPIPI(dcaNegToPV); + CHECK_AND_FILL_VEC_XICTOXIPIPI(dcaBachelorToPV); + CHECK_AND_FILL_VEC_XICTOXIPIPI(dcaXYCascToPV); + CHECK_AND_FILL_VEC_XICTOXIPIPI(dcaZCascToPV); + CHECK_AND_FILL_VEC_XICTOXIPIPI(nSigTpcPiFromXicPlus0); + CHECK_AND_FILL_VEC_XICTOXIPIPI(nSigTpcPiFromXicPlus1); + CHECK_AND_FILL_VEC_XICTOXIPIPI(nSigTpcBachelorPi); + CHECK_AND_FILL_VEC_XICTOXIPIPI(nSigTpcPiFromLambda); + CHECK_AND_FILL_VEC_XICTOXIPIPI(nSigTpcPrFromLambda); + CHECK_AND_FILL_VEC_XICTOXIPIPI(nSigTofPiFromXicPlus0); + CHECK_AND_FILL_VEC_XICTOXIPIPI(nSigTofPiFromXicPlus1); + CHECK_AND_FILL_VEC_XICTOXIPIPI(nSigTofBachelorPi); + CHECK_AND_FILL_VEC_XICTOXIPIPI(nSigTofPiFromLambda); + CHECK_AND_FILL_VEC_XICTOXIPIPI(nSigTofPrFromLambda); } } @@ -132,9 +170,28 @@ class HfMlResponseXicToXiPiPi : public HfMlResponse FILL_MAP_XICTOXIPIPI(cosPaXYXi), FILL_MAP_XICTOXIPIPI(cosPaLambda), FILL_MAP_XICTOXIPIPI(cosPaXYLambda), - FILL_MAP_XICTOXIPIPI(impactParameterXY0), - FILL_MAP_XICTOXIPIPI(impactParameterXY1), - FILL_MAP_XICTOXIPIPI(impactParameterXY2)}; + FILL_MAP_XICTOXIPIPI(impactParameterXi), + FILL_MAP_XICTOXIPIPI(impactParameterPi0), + FILL_MAP_XICTOXIPIPI(impactParameterPi1), + FILL_MAP_XICTOXIPIPI(invMassXi), + FILL_MAP_XICTOXIPIPI(invMassLambda), + FILL_MAP_XICTOXIPIPI(dcaXiDaughters), + FILL_MAP_XICTOXIPIPI(dcaV0Daughters), + FILL_MAP_XICTOXIPIPI(dcaPosToPV), + FILL_MAP_XICTOXIPIPI(dcaNegToPV), + FILL_MAP_XICTOXIPIPI(dcaBachelorToPV), + FILL_MAP_XICTOXIPIPI(dcaXYCascToPV), + FILL_MAP_XICTOXIPIPI(dcaZCascToPV), + FILL_MAP_XICTOXIPIPI(nSigTpcPiFromXicPlus0), + FILL_MAP_XICTOXIPIPI(nSigTpcPiFromXicPlus1), + FILL_MAP_XICTOXIPIPI(nSigTpcBachelorPi), + FILL_MAP_XICTOXIPIPI(nSigTpcPiFromLambda), + FILL_MAP_XICTOXIPIPI(nSigTpcPrFromLambda), + FILL_MAP_XICTOXIPIPI(nSigTofPiFromXicPlus0), + FILL_MAP_XICTOXIPIPI(nSigTofPiFromXicPlus1), + FILL_MAP_XICTOXIPIPI(nSigTofBachelorPi), + FILL_MAP_XICTOXIPIPI(nSigTofPiFromLambda), + FILL_MAP_XICTOXIPIPI(nSigTofPrFromLambda)}; } }; diff --git a/PWGHF/DataModel/CandidateReconstructionTables.h b/PWGHF/DataModel/CandidateReconstructionTables.h index 5a0315ca92b..530630a011c 100644 --- a/PWGHF/DataModel/CandidateReconstructionTables.h +++ b/PWGHF/DataModel/CandidateReconstructionTables.h @@ -1630,7 +1630,7 @@ DECLARE_SOA_COLUMN(DcaPosToPV, dcaPosToPV, float); DECLARE_SOA_COLUMN(DcaNegToPV, dcaNegToPV, float); DECLARE_SOA_COLUMN(DcaBachelorToPV, dcaBachelorToPV, float); DECLARE_SOA_COLUMN(DcaXYCascToPV, dcaXYCascToPV, float); -DECLARE_SOA_COLUMN(DcaZCascToPV, dcaXCascToPV, float); +DECLARE_SOA_COLUMN(DcaZCascToPV, dcaZCascToPV, float); // KF specific columns DECLARE_SOA_COLUMN(DcaXYPi0Pi1, dcaXYPi0Pi1, float); DECLARE_SOA_COLUMN(DcaXYPi0Xi, dcaXYPi0Xi, float); diff --git a/PWGHF/TableProducer/treeCreatorXicToXiPiPi.cxx b/PWGHF/TableProducer/treeCreatorXicToXiPiPi.cxx index de918bd9d8f..2625ed7edea 100644 --- a/PWGHF/TableProducer/treeCreatorXicToXiPiPi.cxx +++ b/PWGHF/TableProducer/treeCreatorXicToXiPiPi.cxx @@ -522,7 +522,7 @@ struct HfTreeCreatorXicToXiPiPi { candidate.dcaNegToPV(), candidate.dcaBachelorToPV(), candidate.dcaXYCascToPV(), - candidate.dcaXCascToPV(), + candidate.dcaZCascToPV(), candidate.nSigTpcPiFromXicPlus0(), candidate.nSigTpcPiFromXicPlus1(), candidate.nSigTpcBachelorPi(), From 9b5979b93fa9b43761974dbc6859c6dd44e9adb0 Mon Sep 17 00:00:00 2001 From: ALICE Action Bot Date: Mon, 27 Jan 2025 16:52:57 +0000 Subject: [PATCH 2/4] Please consider the following formatting changes --- PWGHF/Core/HfMlResponseXicToXiPiPi.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PWGHF/Core/HfMlResponseXicToXiPiPi.h b/PWGHF/Core/HfMlResponseXicToXiPiPi.h index e0d4857a126..d8c040b28ce 100644 --- a/PWGHF/Core/HfMlResponseXicToXiPiPi.h +++ b/PWGHF/Core/HfMlResponseXicToXiPiPi.h @@ -144,7 +144,7 @@ class HfMlResponseXicToXiPiPi : public HfMlResponse CHECK_AND_FILL_VEC_XICTOXIPIPI(nSigTofPiFromXicPlus1); CHECK_AND_FILL_VEC_XICTOXIPIPI(nSigTofBachelorPi); CHECK_AND_FILL_VEC_XICTOXIPIPI(nSigTofPiFromLambda); - CHECK_AND_FILL_VEC_XICTOXIPIPI(nSigTofPrFromLambda); + CHECK_AND_FILL_VEC_XICTOXIPIPI(nSigTofPrFromLambda); } } From 1d0fea1602f05455a721df858956a4a80196060e Mon Sep 17 00:00:00 2001 From: JaeYoonCHO Date: Mon, 27 Jan 2025 19:35:40 +0100 Subject: [PATCH 3/4] Fix the warnings in treeCreator --- .../TableProducer/treeCreatorXicToXiPiPi.cxx | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/PWGHF/TableProducer/treeCreatorXicToXiPiPi.cxx b/PWGHF/TableProducer/treeCreatorXicToXiPiPi.cxx index 2625ed7edea..661bb2bd345 100644 --- a/PWGHF/TableProducer/treeCreatorXicToXiPiPi.cxx +++ b/PWGHF/TableProducer/treeCreatorXicToXiPiPi.cxx @@ -856,25 +856,25 @@ struct HfTreeCreatorXicToXiPiPi { if (indexRecXicPlus == -1) { continue; } - auto XicPlusGen = particles.rawIteratorAt(indexRecXicPlus); - origin = RecoDecay::getCharmHadronOrigin(particles, XicPlusGen, true); + auto xicPlusGen = particles.rawIteratorAt(indexRecXicPlus); + origin = RecoDecay::getCharmHadronOrigin(particles, xicPlusGen, true); // get MC collision - auto mcCollision = XicPlusGen.mcCollision_as(); + auto mcCollision = xicPlusGen.mcCollision_as(); // get XicPlus daughters as MC particle - RecoDecay::getDaughters(XicPlusGen, &arrDaughIndex, std::array{+kXiMinus, +kPiPlus, +kPiPlus}, 2); - auto XicPlusDaugh0 = particles.rawIteratorAt(arrDaughIndex[0]); + RecoDecay::getDaughters(xicPlusGen, &arrDaughIndex, std::array{+kXiMinus, +kPiPlus, +kPiPlus}, 2); + auto xicPlusDaugh0 = particles.rawIteratorAt(arrDaughIndex[0]); // calculate residuals and pulls - float pResidual = candidate.p() - XicPlusGen.p(); - float ptResidual = candidate.pt() - XicPlusGen.pt(); + float pResidual = candidate.p() - xicPlusGen.p(); + float ptResidual = candidate.pt() - xicPlusGen.pt(); pvResiduals[0] = candidate.posX() - mcCollision.posX(); pvResiduals[1] = candidate.posY() - mcCollision.posY(); pvResiduals[2] = candidate.posZ() - mcCollision.posZ(); - svResiduals[0] = candidate.xSecondaryVertex() - XicPlusDaugh0.vx(); - svResiduals[1] = candidate.ySecondaryVertex() - XicPlusDaugh0.vy(); - svResiduals[2] = candidate.zSecondaryVertex() - XicPlusDaugh0.vz(); + svResiduals[0] = candidate.xSecondaryVertex() - xicPlusDaugh0.vx(); + svResiduals[1] = candidate.ySecondaryVertex() - xicPlusDaugh0.vy(); + svResiduals[2] = candidate.zSecondaryVertex() - xicPlusDaugh0.vz(); try { pvPulls[0] = pvResiduals[0] / candidate.xPvErr(); pvPulls[1] = pvResiduals[1] / candidate.yPvErr(); From e7f3d9fd5142b6aaa41a2483dd8478c94bdbbd97 Mon Sep 17 00:00:00 2001 From: JaeYoonCHO Date: Mon, 27 Jan 2025 19:58:36 +0100 Subject: [PATCH 4/4] Change the name of generated XicPlus and daugher of XicPlus --- .../TableProducer/treeCreatorXicToXiPiPi.cxx | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/PWGHF/TableProducer/treeCreatorXicToXiPiPi.cxx b/PWGHF/TableProducer/treeCreatorXicToXiPiPi.cxx index 661bb2bd345..870ae1405e8 100644 --- a/PWGHF/TableProducer/treeCreatorXicToXiPiPi.cxx +++ b/PWGHF/TableProducer/treeCreatorXicToXiPiPi.cxx @@ -856,25 +856,25 @@ struct HfTreeCreatorXicToXiPiPi { if (indexRecXicPlus == -1) { continue; } - auto xicPlusGen = particles.rawIteratorAt(indexRecXicPlus); - origin = RecoDecay::getCharmHadronOrigin(particles, xicPlusGen, true); + auto particleXicPlusGen = particles.rawIteratorAt(indexRecXicPlus); + origin = RecoDecay::getCharmHadronOrigin(particles, particleXicPlusGen, true); // get MC collision - auto mcCollision = xicPlusGen.mcCollision_as(); + auto mcCollision = particleXicPlusGen.mcCollision_as(); // get XicPlus daughters as MC particle - RecoDecay::getDaughters(xicPlusGen, &arrDaughIndex, std::array{+kXiMinus, +kPiPlus, +kPiPlus}, 2); - auto xicPlusDaugh0 = particles.rawIteratorAt(arrDaughIndex[0]); + RecoDecay::getDaughters(particleXicPlusGen, &arrDaughIndex, std::array{+kXiMinus, +kPiPlus, +kPiPlus}, 2); + auto daugh0XicPlus = particles.rawIteratorAt(arrDaughIndex[0]); // calculate residuals and pulls - float pResidual = candidate.p() - xicPlusGen.p(); - float ptResidual = candidate.pt() - xicPlusGen.pt(); + float pResidual = candidate.p() - particleXicPlusGen.p(); + float ptResidual = candidate.pt() - particleXicPlusGen.pt(); pvResiduals[0] = candidate.posX() - mcCollision.posX(); pvResiduals[1] = candidate.posY() - mcCollision.posY(); pvResiduals[2] = candidate.posZ() - mcCollision.posZ(); - svResiduals[0] = candidate.xSecondaryVertex() - xicPlusDaugh0.vx(); - svResiduals[1] = candidate.ySecondaryVertex() - xicPlusDaugh0.vy(); - svResiduals[2] = candidate.zSecondaryVertex() - xicPlusDaugh0.vz(); + svResiduals[0] = candidate.xSecondaryVertex() - daugh0XicPlus.vx(); + svResiduals[1] = candidate.ySecondaryVertex() - daugh0XicPlus.vy(); + svResiduals[2] = candidate.zSecondaryVertex() - daugh0XicPlus.vz(); try { pvPulls[0] = pvResiduals[0] / candidate.xPvErr(); pvPulls[1] = pvResiduals[1] / candidate.yPvErr();