Skip to content

Commit 8f578df

Browse files
authored
[PWGCF] FemtoUniverse: Adding pair-seperation for pair-cuts (#12090)
1 parent 0d13c49 commit 8f578df

File tree

1 file changed

+33
-1
lines changed

1 file changed

+33
-1
lines changed

PWGCF/FemtoUniverse/Core/FemtoUniverseDetaDphiStar.h

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,7 @@ class FemtoUniverseDetaDphiStar
169169
}
170170
auto deta = part1.eta() - part2.eta();
171171
auto dphiAvg = averagePhiStar(part1, part2, 0);
172+
auto dphi = averagePhiStarFrac(part1, part2);
172173
if (ChosenEventType == femto_universe_container::EventType::same) {
173174
histdetadpisame[0][0]->Fill(deta, dphiAvg);
174175
} else if (ChosenEventType == femto_universe_container::EventType::mixed) {
@@ -177,7 +178,8 @@ class FemtoUniverseDetaDphiStar
177178
LOG(fatal) << "FemtoUniverseDetaDphiStar: passed arguments don't agree with FemtoUniverseDetaDphiStar's type of events! Please provide same or mixed.";
178179
}
179180

180-
if (std::pow(dphiAvg, 2) / std::pow(cutDeltaPhiStarMax, 2) + std::pow(deta, 2) / std::pow(cutDeltaEtaMax, 2) < 1.) {
181+
// if (std::pow(dphiAvg, 2) / std::pow(cutDeltaPhiStarMax, 2) + std::pow(deta, 2) / std::pow(cutDeltaEtaMax, 2) < 1.) {
182+
if (dphi > 0.02) {
181183
return true;
182184
} else {
183185
if (ChosenEventType == femto_universe_container::EventType::same) {
@@ -554,6 +556,36 @@ class FemtoUniverseDetaDphiStar
554556
return dPhiAvg / static_cast<float>(entries);
555557
}
556558

559+
/// Calculate average phi
560+
template <typename T1, typename T2>
561+
float averagePhiStarFrac(const T1& part1, const T2& part2)
562+
{
563+
std::vector<float> tmpVec1;
564+
std::vector<float> tmpVec2;
565+
phiAtRadiiTPC(part1, tmpVec1);
566+
phiAtRadiiTPC(part2, tmpVec2);
567+
int num = tmpVec1.size();
568+
float dphi = 0;
569+
int entries = 0;
570+
double distance = 0;
571+
int badpoints = 0;
572+
573+
for (int i = 0; i < num; i++) {
574+
if (tmpVec1.at(i) != 999 && tmpVec2.at(i) != 999) {
575+
dphi = tmpVec1.at(i) - tmpVec2.at(i);
576+
entries++;
577+
} else {
578+
dphi = 0;
579+
}
580+
dphi = TVector2::Phi_mpi_pi(dphi);
581+
distance = 2 * TMath::Sin(TMath::Abs(dphi) * 0.5) * TmpRadiiTPC[i];
582+
if (distance < 10.0) {
583+
badpoints++;
584+
}
585+
}
586+
return badpoints / entries;
587+
}
588+
557589
// Get particle charge from mask
558590
template <typename T1>
559591
float getCharge(const T1& part)

0 commit comments

Comments
 (0)