Skip to content

Commit 0513ca4

Browse files
authored
[PWGCF] FemtoUniverse: Adding pair-seperation for pair-cuts
1 parent 7ad2bd8 commit 0513ca4

File tree

1 file changed

+36
-1
lines changed

1 file changed

+36
-1
lines changed

PWGCF/FemtoUniverse/Core/FemtoUniverseDetaDphiStar.h

Lines changed: 36 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,39 @@ 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 dPhiAvg = 0;
569+
float dphi = 0;
570+
int entries = 0;
571+
double distance = 0;
572+
int badpoints = 0;
573+
int allpoints = 0;
574+
575+
for (int i = 0; i < num; i++) {
576+
if (tmpVec1.at(i) != 999 && tmpVec2.at(i) != 999) {
577+
dphi = tmpVec1.at(i) - tmpVec2.at(i);
578+
entries++;
579+
} else {
580+
dphi = 0;
581+
}
582+
dphi = TVector2::Phi_mpi_pi(dphi);
583+
distance = 2 * TMath::Sin(TMath::Abs(dphi) * 0.5) * TmpRadiiTPC[i];
584+
if(distance < 10.0) {
585+
badpoints += 1.0;
586+
}
587+
allpoints += 1.0;
588+
}
589+
return badpoints / allpoints;
590+
}
591+
557592
// Get particle charge from mask
558593
template <typename T1>
559594
float getCharge(const T1& part)

0 commit comments

Comments
 (0)