Skip to content

Commit 9cc3687

Browse files
authored
Fixed bugs in kTrack kV0, made possible to have to instantiations in one task (#175)
1 parent f4d05eb commit 9cc3687

File tree

1 file changed

+18
-17
lines changed

1 file changed

+18
-17
lines changed

PWGCF/FemtoDream/FemtoDreamDetaDphiStar.h

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,6 @@ namespace o2::analysis
2323
{
2424
namespace femtoDream
2525
{
26-
namespace
27-
{
28-
static std::array<std::array<std::shared_ptr<TH2>, 2>, 2> histdetadpi{};
29-
static std::array<std::array<std::shared_ptr<TH2>, 9>, 2> histdetadpiRadii{};
30-
} // namespace
3126

3227
/// \class FemtoDreamDetaDphiStar
3328
/// \brief Class to check particles for the close pair rejection.
@@ -50,21 +45,23 @@ class FemtoDreamDetaDphiStar
5045
mHistogramRegistryQA = registryQA;
5146

5247
if constexpr (mPartOneType == o2::aod::femtodreamparticle::ParticleType::kTrack && mPartTwoType == o2::aod::femtodreamparticle::ParticleType::kTrack) {
53-
histdetadpi[0][0] = mHistogramRegistry->add<TH2>((static_cast<std::string>(histNames[0][0])).c_str(), "; #Delta #eta; #Delta #phi", kTH2F, {{100, -2.5, 2.5}, {100, -2.5, 2.5}});
54-
histdetadpi[0][1] = mHistogramRegistry->add<TH2>((static_cast<std::string>(histNames[1][0])).c_str(), "; #Delta #eta; #Delta #phi", kTH2F, {{100, -2.5, 2.5}, {100, -2.5, 2.5}});
48+
std::string dirName = static_cast<std::string>(dirNames[0]);
49+
histdetadpi[0][0] = mHistogramRegistry->add<TH2>((dirName + static_cast<std::string>(histNames[0][0])).c_str(), "; #Delta #eta; #Delta #phi", kTH2F, {{100, -0.15, 0.15}, {100, -0.15, 0.15}});
50+
histdetadpi[0][1] = mHistogramRegistry->add<TH2>((dirName + static_cast<std::string>(histNames[1][0])).c_str(), "; #Delta #eta; #Delta #phi", kTH2F, {{100, -0.15, 0.15}, {100, -0.15, 0.15}});
5551
if (plotForEveryRadii) {
5652
for (int i = 0; i < 9; i++) {
57-
histdetadpiRadii[0][i] = mHistogramRegistryQA->add<TH2>((static_cast<std::string>(histNamesRadii[0][i])).c_str(), "; #Delta #eta; #Delta #phi", kTH2F, {{100, -2.5, 2.5}, {100, -2.5, 2.5}});
53+
histdetadpiRadii[0][i] = mHistogramRegistryQA->add<TH2>((dirName + static_cast<std::string>(histNamesRadii[0][i])).c_str(), "; #Delta #eta; #Delta #phi", kTH2F, {{100, -0.15, 0.15}, {100, -0.15, 0.15}});
5854
}
5955
}
6056
}
6157
if constexpr (mPartOneType == o2::aod::femtodreamparticle::ParticleType::kTrack && mPartTwoType == o2::aod::femtodreamparticle::ParticleType::kV0) {
6258
for (int i = 0; i < 2; i++) {
63-
histdetadpi[0][i] = mHistogramRegistry->add<TH2>((static_cast<std::string>(histNames[0][i])).c_str(), "; #Delta #eta; #Delta #phi", kTH2F, {{100, -2.5, 2.5}, {100, -2.5, 2.5}});
64-
histdetadpi[1][i] = mHistogramRegistry->add<TH2>((static_cast<std::string>(histNames[1][i])).c_str(), "; #Delta #eta; #Delta #phi", kTH2F, {{100, -2.5, 2.5}, {100, -2.5, 2.5}});
59+
std::string dirName = static_cast<std::string>(dirNames[1]);
60+
histdetadpi[i][0] = mHistogramRegistry->add<TH2>((dirName + static_cast<std::string>(histNames[0][i])).c_str(), "; #Delta #eta; #Delta #phi", kTH2F, {{100, -0.15, 0.15}, {100, -0.15, 0.15}});
61+
histdetadpi[i][1] = mHistogramRegistry->add<TH2>((dirName + static_cast<std::string>(histNames[1][i])).c_str(), "; #Delta #eta; #Delta #phi", kTH2F, {{100, -0.15, 0.15}, {100, -0.15, 0.15}});
6562
if (plotForEveryRadii) {
6663
for (int j = 0; j < 9; j++) {
67-
histdetadpiRadii[i][j] = mHistogramRegistryQA->add<TH2>((static_cast<std::string>(histNamesRadii[i][j])).c_str(), "; #Delta #eta; #Delta #phi", kTH2F, {{100, -2.5, 2.5}, {100, -2.5, 2.5}});
64+
histdetadpiRadii[i][j] = mHistogramRegistryQA->add<TH2>((dirName + static_cast<std::string>(histNamesRadii[i][j])).c_str(), "; #Delta #eta; #Delta #phi", kTH2F, {{100, -0.15, 0.15}, {100, -0.15, 0.15}});
6865
}
6966
}
7067
}
@@ -102,14 +99,13 @@ class FemtoDreamDetaDphiStar
10299
bool pass = true;
103100
for (int i = 0; i < 2; i++) {
104101
auto daughter = particles.begin() + part2.indices()[i];
105-
auto deta = part1.eta() - part2.eta();
106-
auto dphiAvg = AveragePhiStar(part1, daughter, i);
102+
auto deta = part1.eta() - daughter.eta();
103+
auto dphiAvg = AveragePhiStar(part1, *daughter, i);
107104
histdetadpi[i][0]->Fill(deta, dphiAvg);
108105
if (pow(dphiAvg, 2) / pow(deltaPhiMax, 2) + pow(deta, 2) / pow(deltaEtaMax, 2) < 1.) {
109-
return false;
106+
pass = false;
110107
} else {
111108
histdetadpi[i][1]->Fill(deta, dphiAvg);
112-
return true;
113109
}
114110
}
115111
return pass;
@@ -122,6 +118,8 @@ class FemtoDreamDetaDphiStar
122118
private:
123119
HistogramRegistry* mHistogramRegistry = nullptr; ///< For main output
124120
HistogramRegistry* mHistogramRegistryQA = nullptr; ///< For QA output
121+
static constexpr std::string_view dirNames[2] = {"kTrack_kTrack/", "kTrack_kV0/"};
122+
125123
static constexpr std::string_view histNames[2][2] = {{"detadphidetadphi0Before_0", "detadphidetadphi0Before_1"},
126124
{"detadphidetadphi0After_0", "detadphidetadphi0After_1"}};
127125
static constexpr std::string_view histNamesRadii[2][9] = {{"detadphidetadphi0Before_0_0", "detadphidetadphi0Before_0_1", "detadphidetadphi0Before_0_2",
@@ -145,6 +143,9 @@ class FemtoDreamDetaDphiStar
145143
float magfield;
146144
bool plotForEveryRadii = false;
147145

146+
std::array<std::array<std::shared_ptr<TH2>, 2>, 2> histdetadpi{};
147+
std::array<std::array<std::shared_ptr<TH2>, 9>, 2> histdetadpiRadii{};
148+
148149
/// Calculate phi at all required radii stored in tmpRadiiTPC
149150
template <typename T>
150151
void PhiAtRadiiTPC(const T& part, std::vector<float>& tmpVec)
@@ -170,8 +171,8 @@ class FemtoDreamDetaDphiStar
170171
}
171172

172173
/// Calculate average phi
173-
template <typename T>
174-
float AveragePhiStar(const T& part1, const T& part2, int iHist)
174+
template <typename T1, typename T2>
175+
float AveragePhiStar(const T1& part1, const T2& part2, int iHist)
175176
{
176177
std::vector<float> tmpVec1;
177178
std::vector<float> tmpVec2;

0 commit comments

Comments
 (0)