From 29862617d4c80cd2ea61c5a3b048285ba8391bdc Mon Sep 17 00:00:00 2001 From: ddobrigk Date: Sat, 13 Sep 2025 16:29:07 +0200 Subject: [PATCH 1/6] [Common] Minor safety changes --- .../Strangeness/strangenesstofpid.cxx | 38 +++++++++---------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/PWGLF/TableProducer/Strangeness/strangenesstofpid.cxx b/PWGLF/TableProducer/Strangeness/strangenesstofpid.cxx index b19d7ba04c8..2b3d83d824e 100644 --- a/PWGLF/TableProducer/Strangeness/strangenesstofpid.cxx +++ b/PWGLF/TableProducer/Strangeness/strangenesstofpid.cxx @@ -10,7 +10,7 @@ // or submit itself to any jurisdiction. // // *+-+*+-+*+-+*+-+*+-+*+-+* -// Lambdakzero PID +// Strangeness TOF PID // *+-+*+-+*+-+*+-+*+-+*+-+* // /// \author Nicolò Jacazio @@ -162,23 +162,23 @@ struct strangenesstofpid { // for n-sigma calibration bool nSigmaCalibLoaded; - TList* nSigmaCalibObjects; - TH1 *hMeanPosLaPi, *hSigmaPosLaPi; - TH1 *hMeanPosLaPr, *hSigmaPosLaPr; - TH1 *hMeanNegLaPi, *hSigmaNegLaPi; - TH1 *hMeanNegLaPr, *hSigmaNegLaPr; - TH1 *hMeanPosK0Pi, *hSigmaPosK0Pi; - TH1 *hMeanNegK0Pi, *hSigmaNegK0Pi; - TH1 *hMeanPosXiPi, *hSigmaPosXiPi; - TH1 *hMeanPosXiPr, *hSigmaPosXiPr; - TH1 *hMeanNegXiPi, *hSigmaNegXiPi; - TH1 *hMeanNegXiPr, *hSigmaNegXiPr; - TH1 *hMeanBachXiPi, *hSigmaBachXiPi; - TH1 *hMeanPosOmPi, *hSigmaPosOmPi; - TH1 *hMeanPosOmPr, *hSigmaPosOmPr; - TH1 *hMeanNegOmPi, *hSigmaNegOmPi; - TH1 *hMeanNegOmPr, *hSigmaNegOmPr; - TH1 *hMeanBachOmKa, *hSigmaBachOmKa; + TList* nSigmaCalibObjects = nullptr; + TH1 *hMeanPosLaPi = nullptr, *hSigmaPosLaPi = nullptr; + TH1 *hMeanPosLaPr = nullptr, *hSigmaPosLaPr = nullptr; + TH1 *hMeanNegLaPi = nullptr, *hSigmaNegLaPi = nullptr; + TH1 *hMeanNegLaPr = nullptr, *hSigmaNegLaPr = nullptr; + TH1 *hMeanPosK0Pi = nullptr, *hSigmaPosK0Pi = nullptr; + TH1 *hMeanNegK0Pi = nullptr, *hSigmaNegK0Pi = nullptr; + TH1 *hMeanPosXiPi = nullptr, *hSigmaPosXiPi = nullptr; + TH1 *hMeanPosXiPr = nullptr, *hSigmaPosXiPr = nullptr; + TH1 *hMeanNegXiPi = nullptr, *hSigmaNegXiPi = nullptr; + TH1 *hMeanNegXiPr = nullptr, *hSigmaNegXiPr = nullptr; + TH1 *hMeanBachXiPi = nullptr, *hSigmaBachXiPi = nullptr; + TH1 *hMeanPosOmPi = nullptr, *hSigmaPosOmPi = nullptr; + TH1 *hMeanPosOmPr = nullptr, *hSigmaPosOmPr = nullptr; + TH1 *hMeanNegOmPi = nullptr, *hSigmaNegOmPi = nullptr; + TH1 *hMeanNegOmPr = nullptr, *hSigmaNegOmPr = nullptr; + TH1 *hMeanBachOmKa = nullptr, *hSigmaBachOmKa = nullptr; int mRunNumber; float d_bz; @@ -191,7 +191,7 @@ struct strangenesstofpid { kNEnums }; /// function to calculate track length of this track up to a certain segment of a detector - /// to be used internally in another funcrtion that calculates length until it finds the proper one + /// to be used internally in another function that calculates length until it finds the proper one /// warning: this could be optimised further for speed /// \param track the input track /// \param x1 x of the first point of the detector segment From 0e198bf33178b71837664df6233f3636b9713bd3 Mon Sep 17 00:00:00 2001 From: ddobrigk Date: Sat, 13 Sep 2025 18:35:54 +0200 Subject: [PATCH 2/6] Minor printout change --- PWGLF/TableProducer/Strangeness/strangenesstofpid.cxx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/PWGLF/TableProducer/Strangeness/strangenesstofpid.cxx b/PWGLF/TableProducer/Strangeness/strangenesstofpid.cxx index 2b3d83d824e..5a1545e3217 100644 --- a/PWGLF/TableProducer/Strangeness/strangenesstofpid.cxx +++ b/PWGLF/TableProducer/Strangeness/strangenesstofpid.cxx @@ -1169,8 +1169,10 @@ struct strangenesstofpid { return; } auto firstTOFPID = dauTrackTOFPIDs.rawIteratorAt(0); - bool isNewTOFFOrmat = firstTOFPID.straCollisionId() < 0 ? false : true; + bool isNewTOFFormat = firstTOFPID.straCollisionId() < 0 ? false : true; + LOGF(info, "Processing derived data. Is this the new TOF info format? %i", isNewTOFFormat); + // Fire up CCDB with first collision in record. If no collisions, bypass if (useCustomRunNumber || collisions.size() < 1) { initCCDB(manualRunNumber); @@ -1182,7 +1184,7 @@ struct strangenesstofpid { // hold indices std::vector tofIndices(dauTrackTable.size(), -1); - if (isNewTOFFOrmat) { + if (isNewTOFFormat) { // re-index for (const auto& dauTrackTOFPID : dauTrackTOFPIDs) { tofIndices[dauTrackTOFPID.dauTrackExtraId()] = dauTrackTOFPID.globalIndex(); From 2ce7bf046b47a3a0cb8dbf90951b7450837d2541 Mon Sep 17 00:00:00 2001 From: ALICE Builder Date: Sat, 13 Sep 2025 18:36:57 +0200 Subject: [PATCH 3/6] Please consider the following formatting changes (#476) --- PWGLF/TableProducer/Strangeness/strangenesstofpid.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PWGLF/TableProducer/Strangeness/strangenesstofpid.cxx b/PWGLF/TableProducer/Strangeness/strangenesstofpid.cxx index 5a1545e3217..dc86b2f37f9 100644 --- a/PWGLF/TableProducer/Strangeness/strangenesstofpid.cxx +++ b/PWGLF/TableProducer/Strangeness/strangenesstofpid.cxx @@ -1172,7 +1172,7 @@ struct strangenesstofpid { bool isNewTOFFormat = firstTOFPID.straCollisionId() < 0 ? false : true; LOGF(info, "Processing derived data. Is this the new TOF info format? %i", isNewTOFFormat); - + // Fire up CCDB with first collision in record. If no collisions, bypass if (useCustomRunNumber || collisions.size() < 1) { initCCDB(manualRunNumber); From 8b34942831b1ed146b54668ccc32276eaff82a4d Mon Sep 17 00:00:00 2001 From: ddobrigk Date: Sat, 13 Sep 2025 19:05:58 +0200 Subject: [PATCH 4/6] Fix old derived data processing path --- PWGLF/TableProducer/Strangeness/strangenesstofpid.cxx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/PWGLF/TableProducer/Strangeness/strangenesstofpid.cxx b/PWGLF/TableProducer/Strangeness/strangenesstofpid.cxx index dc86b2f37f9..555d4af4692 100644 --- a/PWGLF/TableProducer/Strangeness/strangenesstofpid.cxx +++ b/PWGLF/TableProducer/Strangeness/strangenesstofpid.cxx @@ -1209,7 +1209,7 @@ struct strangenesstofpid { pTof.tpcNSigmaPr = pTra.tpcNSigmaPr(); if (tofIndices[V0.posTrackExtraId()] >= 0 && collision.eventTime() > -1e+5) { auto pTofExt = dauTrackTOFPIDs.rawIteratorAt(tofIndices[V0.posTrackExtraId()]); - pTof.collisionId = pTofExt.straCollisionId(); + pTof.collisionId = isNewTOFFormat ? pTofExt.straCollisionId() : V0.straCollisionId(); pTof.tofExpMom = pTofExt.tofExpMom(); pTof.tofEvTime = collision.eventTime(); pTof.tofSignal = pTofExt.tofSignal(); @@ -1223,7 +1223,7 @@ struct strangenesstofpid { nTof.tpcNSigmaPr = nTra.tpcNSigmaPr(); if (tofIndices[V0.negTrackExtraId()] >= 0 && collision.eventTime() > -1e+5) { auto nTofExt = dauTrackTOFPIDs.rawIteratorAt(tofIndices[V0.negTrackExtraId()]); - nTof.collisionId = nTofExt.straCollisionId(); + nTof.collisionId = isNewTOFFormat ? nTofExt.straCollisionId() : V0.straCollisionId(); nTof.tofExpMom = nTofExt.tofExpMom(); nTof.tofEvTime = collision.eventTime(); nTof.tofSignal = nTofExt.tofSignal(); @@ -1257,7 +1257,7 @@ struct strangenesstofpid { pTof.tpcNSigmaPr = pTra.tpcNSigmaPr(); if (tofIndices[cascade.posTrackExtraId()] >= 0 && collision.eventTime() > -1e+5) { auto pTofExt = dauTrackTOFPIDs.rawIteratorAt(tofIndices[cascade.posTrackExtraId()]); - pTof.collisionId = pTofExt.straCollisionId(); + pTof.collisionId = isNewTOFFormat ? pTofExt.straCollisionId() : cascade.straCollisionId(); pTof.tofExpMom = pTofExt.tofExpMom(); pTof.tofEvTime = collision.eventTime(); pTof.tofSignal = pTofExt.tofSignal(); @@ -1271,7 +1271,7 @@ struct strangenesstofpid { nTof.tpcNSigmaPr = nTra.tpcNSigmaPr(); if (tofIndices[cascade.negTrackExtraId()] >= 0 && collision.eventTime() > -1e+5) { auto nTofExt = dauTrackTOFPIDs.rawIteratorAt(tofIndices[cascade.negTrackExtraId()]); - nTof.collisionId = nTofExt.straCollisionId(); + nTof.collisionId = isNewTOFFormat ? nTofExt.straCollisionId() : cascade.straCollisionId(); nTof.tofExpMom = nTofExt.tofExpMom(); nTof.tofEvTime = collision.eventTime(); nTof.tofSignal = nTofExt.tofSignal(); @@ -1285,7 +1285,7 @@ struct strangenesstofpid { bTof.tpcNSigmaKa = bTra.tpcNSigmaKa(); if (tofIndices[cascade.bachTrackExtraId()] >= 0 && collision.eventTime() > -1e+5) { auto bTofExt = dauTrackTOFPIDs.rawIteratorAt(tofIndices[cascade.bachTrackExtraId()]); - bTof.collisionId = bTofExt.straCollisionId(); + bTof.collisionId = isNewTOFFormat ? bTofExt.straCollisionId() : cascade.straCollisionId(); bTof.tofExpMom = bTofExt.tofExpMom(); bTof.tofEvTime = collision.eventTime(); bTof.tofSignal = bTofExt.tofSignal(); From b138e8ac5eebfcf39f13bd4146c812f976cbd66b Mon Sep 17 00:00:00 2001 From: ddobrigk Date: Sat, 13 Sep 2025 19:12:31 +0200 Subject: [PATCH 5/6] Crash if requested configuration not viable --- .../Strangeness/strangenesstofpid.cxx | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/PWGLF/TableProducer/Strangeness/strangenesstofpid.cxx b/PWGLF/TableProducer/Strangeness/strangenesstofpid.cxx index 555d4af4692..5b7ea6ae1c0 100644 --- a/PWGLF/TableProducer/Strangeness/strangenesstofpid.cxx +++ b/PWGLF/TableProducer/Strangeness/strangenesstofpid.cxx @@ -1173,6 +1173,10 @@ struct strangenesstofpid { LOGF(info, "Processing derived data. Is this the new TOF info format? %i", isNewTOFFormat); + if(!isNewTOFFormat && calculationMethod.value > 0){ + LOGF(fatal, "Using the old derived data format with the new calculation method is not viable due to lack of needed info! Crashing."); + } + // Fire up CCDB with first collision in record. If no collisions, bypass if (useCustomRunNumber || collisions.size() < 1) { initCCDB(manualRunNumber); @@ -1209,7 +1213,7 @@ struct strangenesstofpid { pTof.tpcNSigmaPr = pTra.tpcNSigmaPr(); if (tofIndices[V0.posTrackExtraId()] >= 0 && collision.eventTime() > -1e+5) { auto pTofExt = dauTrackTOFPIDs.rawIteratorAt(tofIndices[V0.posTrackExtraId()]); - pTof.collisionId = isNewTOFFormat ? pTofExt.straCollisionId() : V0.straCollisionId(); + pTof.collisionId = pTofExt.straCollisionId(); pTof.tofExpMom = pTofExt.tofExpMom(); pTof.tofEvTime = collision.eventTime(); pTof.tofSignal = pTofExt.tofSignal(); @@ -1223,7 +1227,7 @@ struct strangenesstofpid { nTof.tpcNSigmaPr = nTra.tpcNSigmaPr(); if (tofIndices[V0.negTrackExtraId()] >= 0 && collision.eventTime() > -1e+5) { auto nTofExt = dauTrackTOFPIDs.rawIteratorAt(tofIndices[V0.negTrackExtraId()]); - nTof.collisionId = isNewTOFFormat ? nTofExt.straCollisionId() : V0.straCollisionId(); + nTof.collisionId = nTofExt.straCollisionId(); nTof.tofExpMom = nTofExt.tofExpMom(); nTof.tofEvTime = collision.eventTime(); nTof.tofSignal = nTofExt.tofSignal(); @@ -1257,7 +1261,7 @@ struct strangenesstofpid { pTof.tpcNSigmaPr = pTra.tpcNSigmaPr(); if (tofIndices[cascade.posTrackExtraId()] >= 0 && collision.eventTime() > -1e+5) { auto pTofExt = dauTrackTOFPIDs.rawIteratorAt(tofIndices[cascade.posTrackExtraId()]); - pTof.collisionId = isNewTOFFormat ? pTofExt.straCollisionId() : cascade.straCollisionId(); + pTof.collisionId = pTofExt.straCollisionId(); pTof.tofExpMom = pTofExt.tofExpMom(); pTof.tofEvTime = collision.eventTime(); pTof.tofSignal = pTofExt.tofSignal(); @@ -1271,7 +1275,7 @@ struct strangenesstofpid { nTof.tpcNSigmaPr = nTra.tpcNSigmaPr(); if (tofIndices[cascade.negTrackExtraId()] >= 0 && collision.eventTime() > -1e+5) { auto nTofExt = dauTrackTOFPIDs.rawIteratorAt(tofIndices[cascade.negTrackExtraId()]); - nTof.collisionId = isNewTOFFormat ? nTofExt.straCollisionId() : cascade.straCollisionId(); + nTof.collisionId = nTofExt.straCollisionId(); nTof.tofExpMom = nTofExt.tofExpMom(); nTof.tofEvTime = collision.eventTime(); nTof.tofSignal = nTofExt.tofSignal(); @@ -1285,7 +1289,7 @@ struct strangenesstofpid { bTof.tpcNSigmaKa = bTra.tpcNSigmaKa(); if (tofIndices[cascade.bachTrackExtraId()] >= 0 && collision.eventTime() > -1e+5) { auto bTofExt = dauTrackTOFPIDs.rawIteratorAt(tofIndices[cascade.bachTrackExtraId()]); - bTof.collisionId = isNewTOFFormat ? bTofExt.straCollisionId() : cascade.straCollisionId(); + bTof.collisionId = bTofExt.straCollisionId(); bTof.tofExpMom = bTofExt.tofExpMom(); bTof.tofEvTime = collision.eventTime(); bTof.tofSignal = bTofExt.tofSignal(); From f10454a98c479e9e1a920795acbaa00a5c745915 Mon Sep 17 00:00:00 2001 From: ALICE Builder Date: Sat, 13 Sep 2025 19:13:15 +0200 Subject: [PATCH 6/6] Please consider the following formatting changes (#477) --- PWGLF/TableProducer/Strangeness/strangenesstofpid.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PWGLF/TableProducer/Strangeness/strangenesstofpid.cxx b/PWGLF/TableProducer/Strangeness/strangenesstofpid.cxx index 5b7ea6ae1c0..12234489158 100644 --- a/PWGLF/TableProducer/Strangeness/strangenesstofpid.cxx +++ b/PWGLF/TableProducer/Strangeness/strangenesstofpid.cxx @@ -1173,7 +1173,7 @@ struct strangenesstofpid { LOGF(info, "Processing derived data. Is this the new TOF info format? %i", isNewTOFFormat); - if(!isNewTOFFormat && calculationMethod.value > 0){ + if (!isNewTOFFormat && calculationMethod.value > 0) { LOGF(fatal, "Using the old derived data format with the new calculation method is not viable due to lack of needed info! Crashing."); }