Skip to content

Commit 94cd061

Browse files
committed
Adjusted for lastest Femto update
1 parent fed8ccb commit 94cd061

6 files changed

Lines changed: 131 additions & 90 deletions

File tree

‎PWGCF/Femto/Core/sigma0Builder.h‎

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -279,7 +279,7 @@ class Sigma0Builder
279279

280280
/// Build Sigma0 candidates from Lambda and photon tables belonging to the same collision.
281281
template <typename TProducts, typename TLambdas, typename TPhotons, typename TTracks>
282-
void fillSigma0s(TProducts& products, TLambdas const& lambdas, TPhotons const& photons, TTracks const& tracks)
282+
void fillSigma0s(TProducts& products, TLambdas const& lambdas, TPhotons const& photons, TTracks const& /*tracks*/)
283283
{
284284
if (!mFillAnyTable) {
285285
return;
@@ -300,8 +300,10 @@ class Sigma0Builder
300300
if (!selectLambda(lambda)) {
301301
continue;
302302
}
303-
const auto posDau = lambda.posDau();
304-
const auto negDau = lambda.negDau();
303+
// const auto posDau = lambda.posDau();
304+
// const auto negDau = lambda.negDau();
305+
const auto& posDau = lambda.template posDau_as<TTracks>();
306+
const auto& negDau = lambda.template negDau_as<TTracks>();
305307

306308
const auto photonRows = photonRowsPerCollision.find(lambda.fColId());
307309
if (photonRows == photonRowsPerCollision.end()) {

‎PWGCF/Femto/Core/sigma0HistManager.h‎

Lines changed: 35 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,8 @@ enum Sigma0Hist {
5757
kDecayVtxY,
5858
kDecayVtxZ,
5959
kDecayVtx,
60+
kPosDauEta,
61+
kNegDauEta,
6062
// 2d qa
6163
kPtVsEta,
6264
kPtVsPhi,
@@ -110,6 +112,8 @@ struct ConfSigma0QaBinning : o2::framework::ConfigurableGroup {
110112
o2::framework::ConfigurableAxis massAntiSigma0{"massAntiSigma0", {{100, 1, 1.2}}, "mass for antiparticle hypothesis"};
111113
};
112114

115+
constexpr char PrefixSigma0Se[] = "Sigma0/SE/";
116+
constexpr char PrefixSigma0Me[] = "Sigma0/ME/";
113117
constexpr const char PrefixSigma0QaBinning[] = "Sigma0QaBinning";
114118
using ConfSigma0QaBinningDefault = ConfSigma0QaBinning<PrefixSigma0QaBinning>;
115119

@@ -128,6 +132,8 @@ constexpr std::array<histmanager::HistInfo<Sigma0Hist>, kSigma0HistLast> HistTab
128132
{kDecayVtxY, o2::framework::HistType::kTH1F, "hDecayVtxY", "Y coordinate of decay vertex ; DV_{Y} (cm); Entries"},
129133
{kDecayVtxZ, o2::framework::HistType::kTH1F, "hDecayVtxZ", "Z coordinate of decay vertex ; DV_{Z} (cm); Entries"},
130134
{kDecayVtx, o2::framework::HistType::kTH1F, "hDecayVtx", "Distance of decay vertex from primary vertex ; DV (cm); Entries"},
135+
{kPosDauEta, o2::framework::HistType::kTH1F, "hPosDAuEta", "#eta of positive v0 track ; #eta; Entries"},
136+
{kNegDauEta, o2::framework::HistType::kTH1F, "hNegDAuEta", "#eta of negative v0 track ; #eta; Entries"},
131137
{kPtVsEta, o2::framework::HistType::kTH2F, "hPtVsEta", "p_{T} vs #eta; p_{T} (GeV/#it{c}) ; #eta"},
132138
{kPtVsPhi, o2::framework::HistType::kTH2F, "hPtVsPhi", "p_{T} vs #varphi; p_{T} (GeV/#it{c}) ; #varphi"},
133139
{kPhiVsEta, o2::framework::HistType::kTH2F, "hPhiVsEta", "#varphi vs #eta; #varphi ; #eta"},
@@ -167,6 +173,8 @@ constexpr std::array<histmanager::HistInfo<Sigma0Hist>, kSigma0HistLast> HistTab
167173
{kDecayVtxY, {(confQa).decayVertex}}, \
168174
{kDecayVtxZ, {(confQa).decayVertex}}, \
169175
{kDecayVtx, {(confQa).decayVertex}}, \
176+
{kPosDauEta, {(confAnalysis).eta}}, \
177+
{kNegDauEta, {(confAnalysis).eta}}, \
170178
{kPtVsEta, {(confAnalysis).pt, (confAnalysis).eta}}, \
171179
{kPtVsPhi, {(confAnalysis).pt, (confAnalysis).phi}}, \
172180
{kPhiVsEta, {(confAnalysis).phi, (confAnalysis).eta}}, \
@@ -177,6 +185,7 @@ constexpr std::array<histmanager::HistInfo<Sigma0Hist>, kSigma0HistLast> HistTab
177185
{kPtVsAntiSigma0Mass, {(confAnalysis).pt, (confQa).massAntiSigma0}}, \
178186
{kSigma0MassVsAntiSigma0Mass, {(confQa).massSigma0, (confQa).massAntiSigma0}},
179187

188+
180189
// NOLINTNEXTLINE(cppcoreguidelines-macro-usage)
181190
#define SIGMA0_HIST_MC_QA_MAP(confAnalysis, confQa) \
182191
{kNoMcParticle, {(confAnalysis).pt, (confQa).cosPa}}, \
@@ -303,11 +312,16 @@ class Sigma0HistManager
303312
}
304313
}
305314

306-
// wrapper for tripletProcessHelpers
315+
//FIXME: dummy wrapper to satisfy triplet process helpers; rehaul Sigma0 QA and find a better solution for process helpers table consumption
307316
template <modes::Mode mode, typename T1, typename T2>
308-
void fill(T1 const& sigma0candidate, T2 const& tracks)
317+
void fill(T1 const& sigma0candidate, T2 const& trackTable)
309318
{
310319
this->fillAnalysis(sigma0candidate);
320+
auto posDau = trackTable.rawIteratorAt(sigma0candidate.posDauId() - trackTable.offset());
321+
auto negDau = trackTable.rawIteratorAt(sigma0candidate.negDauId() - trackTable.offset());
322+
if constexpr (modes::isFlagSet(mode, modes::Mode::kQa)) {
323+
this->fillQaLite(sigma0candidate, posDau, negDau);
324+
}
311325
}
312326

313327
// fill sigma0 + lambda + photon
@@ -329,11 +343,16 @@ class Sigma0HistManager
329343
this->template fillMc<mode>(sigma0candidate, col, mcParticles, mcMothers, mcPartonicMothers);
330344
}
331345
}
332-
// wrapper for tripletProcessHelpers
346+
//FIXME: dummy wrapper to satisfy triplet process helpers; rehaul Sigma0 QA and find a better solution for process helpers table consumption
333347
template <modes::Mode mode, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6>
334348
void fill(T1 const& sigma0candidate, T2 const& trackTable, T3 const& col, T4 const& mcParticles, T5 const& mcMothers, T6 const& mcPartonicMothers)
335349
{
336350
this->template fillMc<mode>(sigma0candidate, col, mcParticles, mcMothers, mcPartonicMothers);
351+
auto posDau = trackTable.rawIteratorAt(sigma0candidate.posDauId() - trackTable.offset());
352+
auto negDau = trackTable.rawIteratorAt(sigma0candidate.negDauId() - trackTable.offset());
353+
if constexpr (modes::isFlagSet(mode, modes::Mode::kQa)) {
354+
this->fillQaLite(sigma0candidate, posDau, negDau);
355+
}
337356
}
338357
// fill mc + lambda + photon
339358
template <modes::Mode mode, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7>
@@ -383,6 +402,9 @@ class Sigma0HistManager
383402
mHistogramRegistry->add(qaDir + getHistNameV2(kDecayVtxY, HistTable), getHistDesc(kDecayVtxY, HistTable), getHistType(kDecayVtxY, HistTable), {Sigma0Specs.at(kDecayVtxY)});
384403
mHistogramRegistry->add(qaDir + getHistNameV2(kDecayVtxZ, HistTable), getHistDesc(kDecayVtxZ, HistTable), getHistType(kDecayVtxZ, HistTable), {Sigma0Specs.at(kDecayVtxZ)});
385404
mHistogramRegistry->add(qaDir + getHistNameV2(kDecayVtx, HistTable), getHistDesc(kDecayVtx, HistTable), getHistType(kDecayVtx, HistTable), {Sigma0Specs.at(kDecayVtx)});
405+
mHistogramRegistry->add(qaDir + getHistNameV2(kDecayVtx, HistTable), getHistDesc(kDecayVtx, HistTable), getHistType(kDecayVtx, HistTable), {Sigma0Specs.at(kDecayVtx)});
406+
mHistogramRegistry->add(qaDir + getHistNameV2(kPosDauEta, HistTable), getHistDesc(kPosDauEta, HistTable), getHistType(kPosDauEta, HistTable), {Sigma0Specs.at(kPosDauEta)});
407+
mHistogramRegistry->add(qaDir + getHistNameV2(kNegDauEta, HistTable), getHistDesc(kNegDauEta, HistTable), getHistType(kNegDauEta, HistTable), {Sigma0Specs.at(kNegDauEta)});
386408

387409
if (mPlot2d) {
388410
mHistogramRegistry->add(qaDir + getHistNameV2(kPtVsEta, HistTable), getHistDesc(kPtVsEta, HistTable), getHistType(kPtVsEta, HistTable), {Sigma0Specs.at(kPtVsEta)});
@@ -458,6 +480,15 @@ class Sigma0HistManager
458480
}
459481
}
460482

483+
//TODO: currently wrapper for triplet process helpers, eventually a wrapper for Tracks-only dependent QA filling
484+
template <typename T1, typename T2>
485+
void fillQaLite(T1 const& sigma0candidate, T2 const& posDau, T2 const& negDau)
486+
{
487+
this->template fillQa(sigma0candidate);
488+
mHistogramRegistry->fill(HIST(sigma0Prefix) + HIST(QaDir) + HIST(getHistName(kPosDauEta, HistTable)), posDau.eta());
489+
mHistogramRegistry->fill(HIST(sigma0Prefix) + HIST(QaDir) + HIST(getHistName(kNegDauEta, HistTable)), negDau.eta());
490+
}
491+
461492
template <modes::Mode mode, typename T1, typename T2, typename T3, typename T4, typename T5>
462493
void fillMc(T1 const& sigma0Candidate, T2 const& col, T3 const& /*mcParticles*/, T4 const& /*mcMothers*/, T5 const& /*mcPartonicMothers*/)
463494
{
@@ -520,4 +551,4 @@ class Sigma0HistManager
520551
photonhistmanager::PhotonHistManager<PrefixPhoton> mPhotonManager;
521552
};
522553
}; // namespace o2::analysis::femto::sigma0histmanager
523-
#endif // PWGCF_FEMTO_CORE_Sigma0HISTMANAGER_H_
554+
#endif // PWGCF_FEMTO_CORE_SIGMA0HISTMANAGER_H_

0 commit comments

Comments
 (0)