From 6c9e913e9cbc02b3e0723aebbf73c53634ed3c6a Mon Sep 17 00:00:00 2001 From: Fabrizio Grosa Date: Mon, 8 Sep 2025 10:42:29 +0200 Subject: [PATCH 1/3] Add missing if condition for TrackQA table in D0 data creator for calibration studies --- .../derivedDataCreatorD0Calibration.cxx | 72 ++++++++++--------- 1 file changed, 37 insertions(+), 35 deletions(-) diff --git a/DPG/Tasks/AOTTrack/derivedDataCreatorD0Calibration.cxx b/DPG/Tasks/AOTTrack/derivedDataCreatorD0Calibration.cxx index 15b5bd5dc77..fb5e5226a5b 100644 --- a/DPG/Tasks/AOTTrack/derivedDataCreatorD0Calibration.cxx +++ b/DPG/Tasks/AOTTrack/derivedDataCreatorD0Calibration.cxx @@ -169,7 +169,7 @@ struct DerivedDataCreatorD0Calibration { } // main function - template + template void runDataCreation(CollisionsWEvSel const& collisions, aod::TrackAssoc const& trackIndices, TracksWCovExtraPid const&, @@ -421,7 +421,7 @@ struct DerivedDataCreatorD0Calibration { // apply BDT models if (cfgMl.apply) { std::vector featuresCandD0 = {dcaPos.getY(), dcaNeg.getY(), chi2PCA, cosPaD0, cosPaXYD0, decLenXYD0, decLenD0, dcaPos.getY() * dcaNeg.getY(), aod::pid_tpc_tof_utils::combineNSigma(trackPos.tpcNSigmaPi(), trackPos.tofNSigmaPi()), aod::pid_tpc_tof_utils::combineNSigma(trackNeg.tpcNSigmaKa(), trackNeg.tofNSigmaKa()), trackPos.tpcNSigmaPi(), trackPos.tpcNSigmaKa(), aod::pid_tpc_tof_utils::combineNSigma(trackPos.tpcNSigmaKa(), trackPos.tofNSigmaKa()), trackNeg.tpcNSigmaPi(), trackNeg.tpcNSigmaKa(), aod::pid_tpc_tof_utils::combineNSigma(trackNeg.tpcNSigmaPi(), trackNeg.tofNSigmaPi())}; - if (!mlResponse.isSelectedMl(featuresCandD0, ptD0, bdtScoresD0)) { + if(!mlResponse.isSelectedMl(featuresCandD0, ptD0, bdtScoresD0)) { massHypo -= D0MassHypo::D0; } } @@ -436,7 +436,7 @@ struct DerivedDataCreatorD0Calibration { // apply BDT models if (cfgMl.apply) { std::vector featuresCandD0bar = {dcaPos.getY(), dcaNeg.getY(), chi2PCA, cosPaD0, cosPaXYD0, decLenXYD0, decLenD0, dcaPos.getY() * dcaNeg.getY(), aod::pid_tpc_tof_utils::combineNSigma(trackNeg.tpcNSigmaPi(), trackNeg.tofNSigmaPi()), aod::pid_tpc_tof_utils::combineNSigma(trackPos.tpcNSigmaKa(), trackPos.tofNSigmaKa()), trackNeg.tpcNSigmaPi(), trackNeg.tpcNSigmaKa(), aod::pid_tpc_tof_utils::combineNSigma(trackNeg.tpcNSigmaKa(), trackNeg.tofNSigmaKa()), trackPos.tpcNSigmaPi(), trackPos.tpcNSigmaKa(), aod::pid_tpc_tof_utils::combineNSigma(trackPos.tpcNSigmaPi(), trackPos.tofNSigmaPi())}; - if (!mlResponse.isSelectedMl(featuresCandD0bar, ptD0, bdtScoresD0bar)) { + if(!mlResponse.isSelectedMl(featuresCandD0bar, ptD0, bdtScoresD0bar)) { massHypo -= D0MassHypo::D0Bar; } } @@ -686,33 +686,35 @@ struct DerivedDataCreatorD0Calibration { int8_t deltaRefGloParamQ2Pt{0}; int8_t deltaTOFdX{0}; int8_t deltaTOFdZ{0}; - if (trackNeg.has_trackQA()) { - auto trackQA = trackNeg.trackQA_as(); // obtain track QA - tpcTime0 = trackQA.tpcTime0(); - tpcdEdxNorm = trackQA.tpcdEdxNorm(); - tpcDcaR = trackQA.tpcdcaR(); - tpcDcaZ = trackQA.tpcdcaZ(); - tpcClusterByteMask = trackQA.tpcClusterByteMask(); - tpcdEdxMax0R = trackQA.tpcdEdxMax0R(); - tpcdEdxMax1R = trackQA.tpcdEdxMax1R(); - tpcdEdxMax2R = trackQA.tpcdEdxMax2R(); - tpcdEdxMax3R = trackQA.tpcdEdxMax3R(); - tpcdEdxTot0R = trackQA.tpcdEdxTot0R(); - tpcdEdxTot1R = trackQA.tpcdEdxTot1R(); - tpcdEdxTot2R = trackQA.tpcdEdxTot2R(); - tpcdEdxTot3R = trackQA.tpcdEdxTot3R(); - deltaRefContParamY = trackQA.deltaRefContParamY(); - deltaRefITSParamZ = trackQA.deltaRefITSParamZ(); - deltaRefContParamSnp = trackQA.deltaRefContParamSnp(); - deltaRefContParamTgl = trackQA.deltaRefContParamTgl(); - deltaRefContParamQ2Pt = trackQA.deltaRefContParamQ2Pt(); - deltaRefGloParamY = trackQA.deltaRefGloParamY(); - deltaRefGloParamZ = trackQA.deltaRefGloParamZ(); - deltaRefGloParamSnp = trackQA.deltaRefGloParamSnp(); - deltaRefGloParamTgl = trackQA.deltaRefGloParamTgl(); - deltaRefGloParamQ2Pt = trackQA.deltaRefGloParamQ2Pt(); - deltaTOFdX = trackQA.deltaTOFdX(); - deltaTOFdZ = trackQA.deltaTOFdZ(); + if constexpr (withTrackQa) { + if (trackNeg.has_trackQA()) { + auto trackQA = trackNeg.template trackQA_as(); // obtain track QA + tpcTime0 = trackQA.tpcTime0(); + tpcdEdxNorm = trackQA.tpcdEdxNorm(); + tpcDcaR = trackQA.tpcdcaR(); + tpcDcaZ = trackQA.tpcdcaZ(); + tpcClusterByteMask = trackQA.tpcClusterByteMask(); + tpcdEdxMax0R = trackQA.tpcdEdxMax0R(); + tpcdEdxMax1R = trackQA.tpcdEdxMax1R(); + tpcdEdxMax2R = trackQA.tpcdEdxMax2R(); + tpcdEdxMax3R = trackQA.tpcdEdxMax3R(); + tpcdEdxTot0R = trackQA.tpcdEdxTot0R(); + tpcdEdxTot1R = trackQA.tpcdEdxTot1R(); + tpcdEdxTot2R = trackQA.tpcdEdxTot2R(); + tpcdEdxTot3R = trackQA.tpcdEdxTot3R(); + deltaRefContParamY = trackQA.deltaRefContParamY(); + deltaRefITSParamZ = trackQA.deltaRefITSParamZ(); + deltaRefContParamSnp = trackQA.deltaRefContParamSnp(); + deltaRefContParamTgl = trackQA.deltaRefContParamTgl(); + deltaRefContParamQ2Pt = trackQA.deltaRefContParamQ2Pt(); + deltaRefGloParamY = trackQA.deltaRefGloParamY(); + deltaRefGloParamZ = trackQA.deltaRefGloParamZ(); + deltaRefGloParamSnp = trackQA.deltaRefGloParamSnp(); + deltaRefGloParamTgl = trackQA.deltaRefGloParamTgl(); + deltaRefGloParamQ2Pt = trackQA.deltaRefGloParamQ2Pt(); + deltaTOFdX = trackQA.deltaTOFdX(); + deltaTOFdZ = trackQA.deltaTOFdZ(); + } } trackTable(selectedCollisions[collision.globalIndex()], // stored at PV @@ -832,11 +834,11 @@ struct DerivedDataCreatorD0Calibration { // process functions void processWithTrackQa(CollisionsWEvSel const& collisions, - aod::TrackAssoc const& trackIndices, - TracksWCovExtraPid const& tracks, - aod::BCsWithTimestamps const& bcs, - TrackMeanOccs const& occ, - aod::TracksQAVersion const& trackQa) + aod::TrackAssoc const& trackIndices, + TracksWCovExtraPid const& tracks, + aod::BCsWithTimestamps const& bcs, + TrackMeanOccs const& occ, + aod::TracksQAVersion const& trackQa) { runDataCreation(collisions, trackIndices, tracks, bcs, occ, trackQa); } From 8c514ded64e72cd35a81b8fbaf821a0b99b0eb7d Mon Sep 17 00:00:00 2001 From: Fabrizio Grosa Date: Mon, 8 Sep 2025 10:44:18 +0200 Subject: [PATCH 2/3] Fix format --- DPG/Tasks/AOTTrack/derivedDataCreatorD0Calibration.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DPG/Tasks/AOTTrack/derivedDataCreatorD0Calibration.cxx b/DPG/Tasks/AOTTrack/derivedDataCreatorD0Calibration.cxx index fb5e5226a5b..3d87f10bc34 100644 --- a/DPG/Tasks/AOTTrack/derivedDataCreatorD0Calibration.cxx +++ b/DPG/Tasks/AOTTrack/derivedDataCreatorD0Calibration.cxx @@ -169,7 +169,7 @@ struct DerivedDataCreatorD0Calibration { } // main function - template + template void runDataCreation(CollisionsWEvSel const& collisions, aod::TrackAssoc const& trackIndices, TracksWCovExtraPid const&, From 34b16ee1c2fc1ae24e67b403b4b37cbc985b42b9 Mon Sep 17 00:00:00 2001 From: Fabrizio Grosa Date: Mon, 8 Sep 2025 10:45:01 +0200 Subject: [PATCH 3/3] Fix format --- .../AOTTrack/derivedDataCreatorD0Calibration.cxx | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/DPG/Tasks/AOTTrack/derivedDataCreatorD0Calibration.cxx b/DPG/Tasks/AOTTrack/derivedDataCreatorD0Calibration.cxx index 3d87f10bc34..17224a1545e 100644 --- a/DPG/Tasks/AOTTrack/derivedDataCreatorD0Calibration.cxx +++ b/DPG/Tasks/AOTTrack/derivedDataCreatorD0Calibration.cxx @@ -421,7 +421,7 @@ struct DerivedDataCreatorD0Calibration { // apply BDT models if (cfgMl.apply) { std::vector featuresCandD0 = {dcaPos.getY(), dcaNeg.getY(), chi2PCA, cosPaD0, cosPaXYD0, decLenXYD0, decLenD0, dcaPos.getY() * dcaNeg.getY(), aod::pid_tpc_tof_utils::combineNSigma(trackPos.tpcNSigmaPi(), trackPos.tofNSigmaPi()), aod::pid_tpc_tof_utils::combineNSigma(trackNeg.tpcNSigmaKa(), trackNeg.tofNSigmaKa()), trackPos.tpcNSigmaPi(), trackPos.tpcNSigmaKa(), aod::pid_tpc_tof_utils::combineNSigma(trackPos.tpcNSigmaKa(), trackPos.tofNSigmaKa()), trackNeg.tpcNSigmaPi(), trackNeg.tpcNSigmaKa(), aod::pid_tpc_tof_utils::combineNSigma(trackNeg.tpcNSigmaPi(), trackNeg.tofNSigmaPi())}; - if(!mlResponse.isSelectedMl(featuresCandD0, ptD0, bdtScoresD0)) { + if (!mlResponse.isSelectedMl(featuresCandD0, ptD0, bdtScoresD0)) { massHypo -= D0MassHypo::D0; } } @@ -436,7 +436,7 @@ struct DerivedDataCreatorD0Calibration { // apply BDT models if (cfgMl.apply) { std::vector featuresCandD0bar = {dcaPos.getY(), dcaNeg.getY(), chi2PCA, cosPaD0, cosPaXYD0, decLenXYD0, decLenD0, dcaPos.getY() * dcaNeg.getY(), aod::pid_tpc_tof_utils::combineNSigma(trackNeg.tpcNSigmaPi(), trackNeg.tofNSigmaPi()), aod::pid_tpc_tof_utils::combineNSigma(trackPos.tpcNSigmaKa(), trackPos.tofNSigmaKa()), trackNeg.tpcNSigmaPi(), trackNeg.tpcNSigmaKa(), aod::pid_tpc_tof_utils::combineNSigma(trackNeg.tpcNSigmaKa(), trackNeg.tofNSigmaKa()), trackPos.tpcNSigmaPi(), trackPos.tpcNSigmaKa(), aod::pid_tpc_tof_utils::combineNSigma(trackPos.tpcNSigmaPi(), trackPos.tofNSigmaPi())}; - if(!mlResponse.isSelectedMl(featuresCandD0bar, ptD0, bdtScoresD0bar)) { + if (!mlResponse.isSelectedMl(featuresCandD0bar, ptD0, bdtScoresD0bar)) { massHypo -= D0MassHypo::D0Bar; } } @@ -834,11 +834,11 @@ struct DerivedDataCreatorD0Calibration { // process functions void processWithTrackQa(CollisionsWEvSel const& collisions, - aod::TrackAssoc const& trackIndices, - TracksWCovExtraPid const& tracks, - aod::BCsWithTimestamps const& bcs, - TrackMeanOccs const& occ, - aod::TracksQAVersion const& trackQa) + aod::TrackAssoc const& trackIndices, + TracksWCovExtraPid const& tracks, + aod::BCsWithTimestamps const& bcs, + TrackMeanOccs const& occ, + aod::TracksQAVersion const& trackQa) { runDataCreation(collisions, trackIndices, tracks, bcs, occ, trackQa); }