From 0513ca4c7f56f6ad8e675235efc7f16949ae66c8 Mon Sep 17 00:00:00 2001 From: Pritam Chakraborty <47203359+prchakra@users.noreply.github.com> Date: Wed, 16 Jul 2025 20:35:00 +0530 Subject: [PATCH 1/3] [PWGCF] FemtoUniverse: Adding pair-seperation for pair-cuts --- .../Core/FemtoUniverseDetaDphiStar.h | 37 ++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/PWGCF/FemtoUniverse/Core/FemtoUniverseDetaDphiStar.h b/PWGCF/FemtoUniverse/Core/FemtoUniverseDetaDphiStar.h index bc4c6f1ea4e..e3241381672 100644 --- a/PWGCF/FemtoUniverse/Core/FemtoUniverseDetaDphiStar.h +++ b/PWGCF/FemtoUniverse/Core/FemtoUniverseDetaDphiStar.h @@ -169,6 +169,7 @@ class FemtoUniverseDetaDphiStar } auto deta = part1.eta() - part2.eta(); auto dphiAvg = averagePhiStar(part1, part2, 0); + auto dphi = averagePhiStarFrac(part1, part2); if (ChosenEventType == femto_universe_container::EventType::same) { histdetadpisame[0][0]->Fill(deta, dphiAvg); } else if (ChosenEventType == femto_universe_container::EventType::mixed) { @@ -177,7 +178,8 @@ class FemtoUniverseDetaDphiStar LOG(fatal) << "FemtoUniverseDetaDphiStar: passed arguments don't agree with FemtoUniverseDetaDphiStar's type of events! Please provide same or mixed."; } - if (std::pow(dphiAvg, 2) / std::pow(cutDeltaPhiStarMax, 2) + std::pow(deta, 2) / std::pow(cutDeltaEtaMax, 2) < 1.) { + //if (std::pow(dphiAvg, 2) / std::pow(cutDeltaPhiStarMax, 2) + std::pow(deta, 2) / std::pow(cutDeltaEtaMax, 2) < 1.) { + if (dphi > 0.02) { return true; } else { if (ChosenEventType == femto_universe_container::EventType::same) { @@ -554,6 +556,39 @@ class FemtoUniverseDetaDphiStar return dPhiAvg / static_cast(entries); } + /// Calculate average phi + template + float averagePhiStarFrac(const T1& part1, const T2& part2) + { + std::vector tmpVec1; + std::vector tmpVec2; + phiAtRadiiTPC(part1, tmpVec1); + phiAtRadiiTPC(part2, tmpVec2); + int num = tmpVec1.size(); + float dPhiAvg = 0; + float dphi = 0; + int entries = 0; + double distance = 0; + int badpoints = 0; + int allpoints = 0; + + for (int i = 0; i < num; i++) { + if (tmpVec1.at(i) != 999 && tmpVec2.at(i) != 999) { + dphi = tmpVec1.at(i) - tmpVec2.at(i); + entries++; + } else { + dphi = 0; + } + dphi = TVector2::Phi_mpi_pi(dphi); + distance = 2 * TMath::Sin(TMath::Abs(dphi) * 0.5) * TmpRadiiTPC[i]; + if(distance < 10.0) { + badpoints += 1.0; + } + allpoints += 1.0; + } + return badpoints / allpoints; + } + // Get particle charge from mask template float getCharge(const T1& part) From 5c56fd0e65b1a0161b759668ed9b4aedde63aa26 Mon Sep 17 00:00:00 2001 From: Pritam Chakraborty <47203359+prchakra@users.noreply.github.com> Date: Wed, 16 Jul 2025 20:54:42 +0530 Subject: [PATCH 2/3] Fixing clang-errors, unused variables --- .../Core/FemtoUniverseDetaDphiStar.h | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/PWGCF/FemtoUniverse/Core/FemtoUniverseDetaDphiStar.h b/PWGCF/FemtoUniverse/Core/FemtoUniverseDetaDphiStar.h index e3241381672..db921f74869 100644 --- a/PWGCF/FemtoUniverse/Core/FemtoUniverseDetaDphiStar.h +++ b/PWGCF/FemtoUniverse/Core/FemtoUniverseDetaDphiStar.h @@ -169,7 +169,7 @@ class FemtoUniverseDetaDphiStar } auto deta = part1.eta() - part2.eta(); auto dphiAvg = averagePhiStar(part1, part2, 0); - auto dphi = averagePhiStarFrac(part1, part2); + auto dphi = averagePhiStarFrac(part1, part2); if (ChosenEventType == femto_universe_container::EventType::same) { histdetadpisame[0][0]->Fill(deta, dphiAvg); } else if (ChosenEventType == femto_universe_container::EventType::mixed) { @@ -178,8 +178,8 @@ class FemtoUniverseDetaDphiStar LOG(fatal) << "FemtoUniverseDetaDphiStar: passed arguments don't agree with FemtoUniverseDetaDphiStar's type of events! Please provide same or mixed."; } - //if (std::pow(dphiAvg, 2) / std::pow(cutDeltaPhiStarMax, 2) + std::pow(deta, 2) / std::pow(cutDeltaEtaMax, 2) < 1.) { - if (dphi > 0.02) { + // if (std::pow(dphiAvg, 2) / std::pow(cutDeltaPhiStarMax, 2) + std::pow(deta, 2) / std::pow(cutDeltaEtaMax, 2) < 1.) { + if (dphi > 0.02) { return true; } else { if (ChosenEventType == femto_universe_container::EventType::same) { @@ -565,13 +565,12 @@ class FemtoUniverseDetaDphiStar phiAtRadiiTPC(part1, tmpVec1); phiAtRadiiTPC(part2, tmpVec2); int num = tmpVec1.size(); - float dPhiAvg = 0; float dphi = 0; int entries = 0; double distance = 0; int badpoints = 0; int allpoints = 0; - + for (int i = 0; i < num; i++) { if (tmpVec1.at(i) != 999 && tmpVec2.at(i) != 999) { dphi = tmpVec1.at(i) - tmpVec2.at(i); @@ -581,12 +580,11 @@ class FemtoUniverseDetaDphiStar } dphi = TVector2::Phi_mpi_pi(dphi); distance = 2 * TMath::Sin(TMath::Abs(dphi) * 0.5) * TmpRadiiTPC[i]; - if(distance < 10.0) { - badpoints += 1.0; + if (distance < 10.0) { + badpoints++; } - allpoints += 1.0; } - return badpoints / allpoints; + return badpoints / entries; } // Get particle charge from mask From 9605075300f6bdd394fc0e72a5ef9650d452b34e Mon Sep 17 00:00:00 2001 From: Pritam Chakraborty <47203359+prchakra@users.noreply.github.com> Date: Wed, 16 Jul 2025 21:21:44 +0530 Subject: [PATCH 3/3] Removing unused variables --- PWGCF/FemtoUniverse/Core/FemtoUniverseDetaDphiStar.h | 1 - 1 file changed, 1 deletion(-) diff --git a/PWGCF/FemtoUniverse/Core/FemtoUniverseDetaDphiStar.h b/PWGCF/FemtoUniverse/Core/FemtoUniverseDetaDphiStar.h index db921f74869..8793dc4bea6 100644 --- a/PWGCF/FemtoUniverse/Core/FemtoUniverseDetaDphiStar.h +++ b/PWGCF/FemtoUniverse/Core/FemtoUniverseDetaDphiStar.h @@ -569,7 +569,6 @@ class FemtoUniverseDetaDphiStar int entries = 0; double distance = 0; int badpoints = 0; - int allpoints = 0; for (int i = 0; i < num; i++) { if (tmpVec1.at(i) != 999 && tmpVec2.at(i) != 999) {