Skip to content

Commit 33190b5

Browse files
committed
Feat: plot pT vs Mass during analysis
1 parent b1aa3c5 commit 33190b5

1 file changed

Lines changed: 20 additions & 17 deletions

File tree

PWGCF/Femto/Core/twoTrackResonanceHistManager.h

Lines changed: 20 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -46,12 +46,12 @@ enum TwoTrackResonanceHist {
4646
kEta,
4747
kPhi,
4848
kMass,
49+
kPtVsMass,
4950
kSign,
5051
// 2d qa
5152
kPtVsEta,
5253
kPtVsPhi,
5354
kPhiVsEta,
54-
kPtVsMass,
5555
kTwoTrackResonanceHistLast
5656
};
5757

@@ -89,30 +89,33 @@ constexpr std::array<histmanager::HistInfo<TwoTrackResonanceHist>, kTwoTrackReso
8989
{kPhiVsEta, o2::framework::HistType::kTH2F, "hPhiVsEta", "#varphi vs #eta; #varphi ; #eta"},
9090
{kPtVsMass, o2::framework::HistType::kTH2F, "hPtVsMass", "p_{T} vs invariant mass; p_{T} (GeV/#it{c}); m (GeV/#it{c}^{2})"}}};
9191

92+
#define TWOTRACKRESONANCE_HIST_ANALYSIS_MAP(conf) \
93+
{kPt, {conf.pt}}, \
94+
{kEta, {conf.eta}}, \
95+
{kPhi, {conf.phi}}, \
96+
{kMass, {conf.mass}}, \
97+
{kSign, {conf.sign}}, \
98+
{kPtVsMass, {conf.pt, conf.mass}},
99+
100+
#define TWOTRACKRESONANCE_HIST_QA_MAP(conf) \
101+
{kPtVsEta, {conf.pt, conf.eta}}, \
102+
{kPtVsPhi, {conf.pt, conf.phi}}, \
103+
{kPhiVsEta, {conf.phi, conf.eta}}, \
104+
{kPtVsMass, {conf.pt, conf.mass}},
105+
92106
template <typename T>
93107
std::map<TwoTrackResonanceHist, std::vector<o2::framework::AxisSpec>> makeTwoTrackResonanceHistSpecMap(const T& confBinningAnalysis)
94108
{
95109
return std::map<TwoTrackResonanceHist, std::vector<o2::framework::AxisSpec>>{
96-
{kPt, {confBinningAnalysis.pt}},
97-
{kEta, {confBinningAnalysis.eta}},
98-
{kPhi, {confBinningAnalysis.phi}},
99-
{kMass, {confBinningAnalysis.mass}},
100-
{kSign, {confBinningAnalysis.sign}}};
110+
TWOTRACKRESONANCE_HIST_ANALYSIS_MAP(confBinningAnalysis)};
101111
};
102112

103113
template <typename T>
104114
auto makeTwoTrackResonanceQaHistSpecMap(const T& confBinningAnalysis)
105115
{
106116
return std::map<TwoTrackResonanceHist, std::vector<o2::framework::AxisSpec>>{
107-
{kPt, {confBinningAnalysis.pt}},
108-
{kEta, {confBinningAnalysis.eta}},
109-
{kPhi, {confBinningAnalysis.phi}},
110-
{kMass, {confBinningAnalysis.mass}},
111-
{kSign, {confBinningAnalysis.sign}},
112-
{kPtVsEta, {confBinningAnalysis.pt, confBinningAnalysis.eta}},
113-
{kPtVsPhi, {confBinningAnalysis.pt, confBinningAnalysis.phi}},
114-
{kPhiVsEta, {confBinningAnalysis.phi, confBinningAnalysis.eta}},
115-
{kPtVsMass, {confBinningAnalysis.pt, confBinningAnalysis.mass}}};
117+
TWOTRACKRESONANCE_HIST_ANALYSIS_MAP(confBinningAnalysis)
118+
TWOTRACKRESONANCE_HIST_QA_MAP(confBinningAnalysis)};
116119
};
117120

118121
constexpr char PrefixRho[] = "Rho0/";
@@ -253,14 +256,14 @@ class TwoTrackResonanceHistManager
253256
mHistogramRegistry->add(analysisDir + getHistNameV2(kPhi, HistTable), getHistDesc(kPhi, HistTable), getHistType(kPhi, HistTable), {ResoSpecs.at(kPhi)});
254257
mHistogramRegistry->add(analysisDir + getHistNameV2(kMass, HistTable), getHistDesc(kMass, HistTable), getHistType(kMass, HistTable), {ResoSpecs.at(kMass)});
255258
mHistogramRegistry->add(analysisDir + getHistNameV2(kSign, HistTable), getHistDesc(kSign, HistTable), getHistType(kSign, HistTable), {ResoSpecs.at(kSign)});
259+
mHistogramRegistry->add(analysisDir + getHistNameV2(kPtVsMass, HistTable), getHistDesc(kPtVsMass, HistTable), getHistType(kPtVsMass, HistTable), {ResoSpecs.at(kPtVsMass)});
256260
}
257261
void initQa(std::map<TwoTrackResonanceHist, std::vector<o2::framework::AxisSpec>> const& ResoSpecs)
258262
{
259263
std::string qaDir = std::string(resoPrefix) + std::string(QaDir);
260264
mHistogramRegistry->add(qaDir + getHistNameV2(kPtVsEta, HistTable), getHistDesc(kPtVsEta, HistTable), getHistType(kPtVsEta, HistTable), {ResoSpecs.at(kPtVsEta)});
261265
mHistogramRegistry->add(qaDir + getHistNameV2(kPtVsPhi, HistTable), getHistDesc(kPtVsPhi, HistTable), getHistType(kPtVsPhi, HistTable), {ResoSpecs.at(kPtVsPhi)});
262266
mHistogramRegistry->add(qaDir + getHistNameV2(kPhiVsEta, HistTable), getHistDesc(kPhiVsEta, HistTable), getHistType(kPhiVsEta, HistTable), {ResoSpecs.at(kPhiVsEta)});
263-
mHistogramRegistry->add(qaDir + getHistNameV2(kPtVsMass, HistTable), getHistDesc(kPtVsMass, HistTable), getHistType(kPtVsMass, HistTable), {ResoSpecs.at(kPtVsMass)});
264267
}
265268

266269
template <typename T>
@@ -270,6 +273,7 @@ class TwoTrackResonanceHistManager
270273
mHistogramRegistry->fill(HIST(resoPrefix) + HIST(AnalysisDir) + HIST(getHistName(kEta, HistTable)), resonance.eta());
271274
mHistogramRegistry->fill(HIST(resoPrefix) + HIST(AnalysisDir) + HIST(getHistName(kPhi, HistTable)), resonance.phi());
272275
mHistogramRegistry->fill(HIST(resoPrefix) + HIST(AnalysisDir) + HIST(getHistName(kMass, HistTable)), resonance.mass());
276+
mHistogramRegistry->fill(HIST(resoPrefix) + HIST(AnalysisDir) + HIST(getHistName(kPtVsMass, HistTable)), resonance.pt(), resonance.mass());
273277
if constexpr (modes::isEqual(reso, modes::TwoTrackResonance::kPhi) || modes::isEqual(reso, modes::TwoTrackResonance::kRho0)) {
274278
mHistogramRegistry->fill(HIST(resoPrefix) + HIST(AnalysisDir) + HIST(getHistName(kSign, HistTable)), 0);
275279
}
@@ -284,7 +288,6 @@ class TwoTrackResonanceHistManager
284288
mHistogramRegistry->fill(HIST(resoPrefix) + HIST(QaDir) + HIST(getHistName(kPtVsEta, HistTable)), resonance.pt(), resonance.eta());
285289
mHistogramRegistry->fill(HIST(resoPrefix) + HIST(QaDir) + HIST(getHistName(kPtVsPhi, HistTable)), resonance.pt(), resonance.phi());
286290
mHistogramRegistry->fill(HIST(resoPrefix) + HIST(QaDir) + HIST(getHistName(kPhiVsEta, HistTable)), resonance.phi(), resonance.eta());
287-
mHistogramRegistry->fill(HIST(resoPrefix) + HIST(QaDir) + HIST(getHistName(kPtVsMass, HistTable)), resonance.pt(), resonance.mass());
288291
}
289292

290293
o2::framework::HistogramRegistry* mHistogramRegistry = nullptr;

0 commit comments

Comments
 (0)