Skip to content

Commit 22f97c9

Browse files
EloviyoShirajum Monira
andauthored
[PWGCF] FemtoUniverse v0cascade task -- implemented bitmask and CPR in v0-cascade task (#12595)
Co-authored-by: Shirajum Monira <shirajum.monira@cernch>
1 parent 905f02a commit 22f97c9

File tree

2 files changed

+247
-64
lines changed

2 files changed

+247
-64
lines changed

PWGCF/FemtoUniverse/Core/FemtoUniverseDetaDphiStar.h

Lines changed: 60 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ class FemtoUniverseDetaDphiStar
111111
}
112112
}
113113
if constexpr (kPartOneType == o2::aod::femtouniverseparticle::ParticleType::kCascade && kPartTwoType == o2::aod::femtouniverseparticle::ParticleType::kCascade) {
114-
/// Xi-Xi and Omega-Omega combination
114+
/// Cascade-Cascade combination
115115
for (int k = 0; k < 7; k++) {
116116
std::string dirName = static_cast<std::string>(DirNames[5]);
117117
histdetadpisame[k][0] = mHistogramRegistry->add<TH2>((dirName + static_cast<std::string>(HistNamesSame[0][k])).c_str(), "; #Delta #eta; #Delta #phi", kTH2F, {{100, -0.15, 0.15}, {100, -0.15, 0.15}});
@@ -126,7 +126,7 @@ class FemtoUniverseDetaDphiStar
126126
}
127127
}
128128
if constexpr (kPartOneType == o2::aod::femtouniverseparticle::ParticleType::kTrack && kPartTwoType == o2::aod::femtouniverseparticle::ParticleType::kCascade) {
129-
/// Track-Xi and Track-Omega combination
129+
/// Track-Cascade combination
130130
for (int k = 0; k < 3; k++) {
131131
std::string dirName = static_cast<std::string>(DirNames[6]);
132132
histdetadpisame[k][0] = mHistogramRegistry->add<TH2>((dirName + static_cast<std::string>(HistNamesSame[0][k])).c_str(), "; #Delta #eta; #Delta #phi", kTH2F, {{100, -0.15, 0.15}, {100, -0.15, 0.15}});
@@ -140,6 +140,21 @@ class FemtoUniverseDetaDphiStar
140140
}
141141
}
142142
}
143+
if constexpr (kPartOneType == o2::aod::femtouniverseparticle::ParticleType::kV0 && kPartTwoType == o2::aod::femtouniverseparticle::ParticleType::kCascade) {
144+
/// V0-Cascade combination
145+
for (int k = 0; k < 3; k++) {
146+
std::string dirName = static_cast<std::string>(DirNames[7]);
147+
histdetadpisame[k][0] = mHistogramRegistry->add<TH2>((dirName + static_cast<std::string>(HistNamesSame[0][k])).c_str(), "; #Delta #eta; #Delta #phi", kTH2F, {{100, -0.15, 0.15}, {100, -0.15, 0.15}});
148+
histdetadpisame[k][1] = mHistogramRegistry->add<TH2>((dirName + static_cast<std::string>(HistNamesSame[1][k])).c_str(), "; #Delta #eta; #Delta #phi", kTH2F, {{100, -0.15, 0.15}, {100, -0.15, 0.15}});
149+
histdetadpimixed[k][0] = mHistogramRegistry->add<TH2>((dirName + static_cast<std::string>(HistNamesMixed[0][k])).c_str(), "; #Delta #eta; #Delta #phi", kTH2F, {{100, -0.15, 0.15}, {100, -0.15, 0.15}});
150+
histdetadpimixed[k][1] = mHistogramRegistry->add<TH2>((dirName + static_cast<std::string>(HistNamesMixed[1][k])).c_str(), "; #Delta #eta; #Delta #phi", kTH2F, {{100, -0.15, 0.15}, {100, -0.15, 0.15}});
151+
if (plotForEveryRadii) {
152+
for (int l = 0; l < 9; l++) {
153+
histdetadpiRadii[k][l] = mHistogramRegistryQA->add<TH2>((dirName + static_cast<std::string>(HistNamesRadii[k][l])).c_str(), "; #Delta #eta; #Delta #phi", kTH2F, {{100, -0.15, 0.15}, {100, -0.15, 0.15}});
154+
}
155+
}
156+
}
157+
}
143158
if constexpr (kPartOneType == o2::aod::femtouniverseparticle::ParticleType::kTrack && kPartTwoType == o2::aod::femtouniverseparticle::ParticleType::kPhi) {
144159
for (int i = 0; i < 2; i++) {
145160
std::string dirName = static_cast<std::string>(DirNames[3]);
@@ -219,7 +234,6 @@ class FemtoUniverseDetaDphiStar
219234
bool pass = false;
220235
for (int i = 0; i < 2; i++) {
221236
auto indexOfDaughter = (ChosenEventType == femto_universe_container::EventType::mixed ? part2.globalIndex() : part2.index()) - 2 + i;
222-
// auto indexOfDaughter = part2.globalIndex() - 2 + i;
223237
auto daughter = particles.begin() + indexOfDaughter;
224238
auto deta = part1.eta() - daughter.eta();
225239
auto dphiAvg = averagePhiStar(part1, *daughter, i);
@@ -284,7 +298,7 @@ class FemtoUniverseDetaDphiStar
284298
return pass;
285299

286300
} else if constexpr (kPartOneType == o2::aod::femtouniverseparticle::ParticleType::kCascade && kPartTwoType == o2::aod::femtouniverseparticle::ParticleType::kCascade) {
287-
/// Xi-Xi and Omega-Omega combination
301+
/// Cascade-Cascade combination
288302
if (part1.partType() != o2::aod::femtouniverseparticle::ParticleType::kCascade || part2.partType() != o2::aod::femtouniverseparticle::ParticleType::kCascade) {
289303
LOG(fatal) << "FemtoUniverseDetaDphiStar: passed arguments don't agree with FemtoUniverseDetaDphiStar instantiation! Please provide kCascade,kCascade candidates.";
290304
return false;
@@ -324,7 +338,7 @@ class FemtoUniverseDetaDphiStar
324338
return pass;
325339

326340
} else if constexpr (kPartOneType == o2::aod::femtouniverseparticle::ParticleType::kTrack && kPartTwoType == o2::aod::femtouniverseparticle::ParticleType::kCascade) {
327-
/// Track-Xi and Track-Omega combination
341+
/// Track-Cascade combination
328342
if (part1.partType() != o2::aod::femtouniverseparticle::ParticleType::kTrack || part2.partType() != o2::aod::femtouniverseparticle::ParticleType::kCascade) {
329343
LOG(fatal) << "FemtoUniverseDetaDphiStar: passed arguments don't agree with FemtoUniverseDetaDphiStar instantiation! Please provide kTrack,kCascade candidates.";
330344
return false;
@@ -360,6 +374,46 @@ class FemtoUniverseDetaDphiStar
360374
}
361375
return pass;
362376

377+
} else if constexpr (kPartOneType == o2::aod::femtouniverseparticle::ParticleType::kV0 && kPartTwoType == o2::aod::femtouniverseparticle::ParticleType::kCascade) {
378+
/// V0-Cascade combination
379+
if (part1.partType() != o2::aod::femtouniverseparticle::ParticleType::kV0 || part2.partType() != o2::aod::femtouniverseparticle::ParticleType::kCascade) {
380+
LOG(fatal) << "FemtoUniverseDetaDphiStar: passed arguments don't agree with FemtoUniverseDetaDphiStar instantiation! Please provide kV0,kCascade candidates.";
381+
return false;
382+
}
383+
384+
bool pass = false;
385+
static constexpr int V0CascChildTable[][2] = {{-1, -1}, {-1, -2}, {-1, -3}, {-2, -1}, {-2, -2}, {-2, -3}};
386+
for (int i = 0; i < 3; i++) {
387+
auto indexOfDaughterV0 = (ChosenEventType == femto_universe_container::EventType::mixed ? part1.globalIndex() : part1.index()) + V0CascChildTable[i][0];
388+
auto indexOfDaughterCasc = (ChosenEventType == femto_universe_container::EventType::mixed ? part2.globalIndex() : part2.index()) + V0CascChildTable[i][1];
389+
auto daughterV0 = particles.begin() + indexOfDaughterV0;
390+
auto daughterCasc = particles.begin() + indexOfDaughterCasc;
391+
if (isSameSignCPR && (daughterV0.mAntiLambda() != daughterCasc.mAntiLambda())) // mAntiLambda() is used here as sign getter
392+
continue;
393+
auto deta = daughterV0.eta() - daughterCasc.eta();
394+
auto dphiAvg = averagePhiStar(*daughterV0, *daughterCasc, i);
395+
if (ChosenEventType == femto_universe_container::EventType::same) {
396+
histdetadpisame[i][0]->Fill(deta, dphiAvg);
397+
} else if (ChosenEventType == femto_universe_container::EventType::mixed) {
398+
histdetadpimixed[i][0]->Fill(deta, dphiAvg);
399+
} else {
400+
LOG(fatal) << "FemtoUniverseDetaDphiStar: passed arguments don't agree with FemtoUniverseDetaDphiStar's type of events! Please provide same or mixed.";
401+
}
402+
403+
if ((dphiAvg > cutDeltaPhiStarMin) && (dphiAvg < cutDeltaPhiStarMax) && (deta > cutDeltaEtaMin) && (deta < cutDeltaEtaMax)) {
404+
pass = true;
405+
} else {
406+
if (ChosenEventType == femto_universe_container::EventType::same) {
407+
histdetadpisame[i][1]->Fill(deta, dphiAvg);
408+
} else if (ChosenEventType == femto_universe_container::EventType::mixed) {
409+
histdetadpimixed[i][1]->Fill(deta, dphiAvg);
410+
} else {
411+
LOG(fatal) << "FemtoUniverseDetaDphiStar: passed arguments don't agree with FemtoUniverseDetaDphiStar's type of events! Please provide same or mixed.";
412+
}
413+
}
414+
}
415+
return pass;
416+
363417
} else if constexpr (kPartOneType == o2::aod::femtouniverseparticle::ParticleType::kTrack && kPartTwoType == o2::aod::femtouniverseparticle::ParticleType::kD0) {
364418
/// Track-D0 combination
365419
// check if provided particles are in agreement with the class instantiation
@@ -586,7 +640,7 @@ class FemtoUniverseDetaDphiStar
586640
private:
587641
HistogramRegistry* mHistogramRegistry = nullptr; ///< For main output
588642
HistogramRegistry* mHistogramRegistryQA = nullptr; ///< For QA output
589-
static constexpr std::string_view DirNames[7] = {"kTrack_kTrack/", "kTrack_kV0/", "kV0_kV0/", "kTrack_kPhi/", "kTrack_kD0/", "kCascade_kCascade/", "kTrack_kCascade/"};
643+
static constexpr std::string_view DirNames[8] = {"kTrack_kTrack/", "kTrack_kV0/", "kV0_kV0/", "kTrack_kPhi/", "kTrack_kD0/", "kCascade_kCascade/", "kTrack_kCascade/", "kV0_kCascade/"};
590644

591645
static constexpr std::string_view HistNamesSame[2][8] = {{"detadphidetadphi0BeforeSame_0", "detadphidetadphi0BeforeSame_1", "detadphidetadphi0BeforeSame_2",
592646
"detadphidetadphi0BeforeSame_3", "detadphidetadphi0BeforeSame_4", "detadphidetadphi0BeforeSame_5",

0 commit comments

Comments
 (0)