Skip to content

Commit ba69dfc

Browse files
rspijkersalibuild
andauthored
PWGLF: Add histograms with rapidity axis in MC cascade analysis (#7385)
* add histograms with rapidity axis. - also change hardcoded rapidity cut to configurable (in both generated and reconstructed processes) * Please consider the following formatting changes (#11) --------- Co-authored-by: ALICE Builder <alibuild@users.noreply.github.com>
1 parent 47f1385 commit ba69dfc

File tree

1 file changed

+38
-11
lines changed

1 file changed

+38
-11
lines changed

PWGLF/Tasks/Strangeness/cascadeanalysisMC.cxx

Lines changed: 38 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -78,16 +78,23 @@ struct cascadeGenerated {
7878

7979
Configurable<float> maxPt{"maxPt", 20.0, "max generated pT"};
8080
Configurable<int> nPtBins{"nPtBins", 200, "number of pT bins"};
81+
Configurable<float> rapidityCut{"rapidityCut", 0.5, "max (absolute) rapidity of generated cascade"};
82+
Configurable<int> nRapidityBins{"nRapidityBins", 200, "number of pT bins"};
8183

8284
void init(InitContext const&)
8385
{
84-
AxisSpec ptAxis = {nPtBins, 0.0f, maxPt, "it{p}_{T} (GeV/c)"};
86+
AxisSpec ptAxis = {nPtBins, 0.0f, maxPt, "#it{p}_{T} (GeV/c)"};
87+
AxisSpec rapidityAxis = {nRapidityBins, -rapidityCut, rapidityCut, "y"};
8588

8689
registry.add("hEventCounter", "hEventCounter", {HistType::kTH1F, {{10, 0.0f, 10.0f}}});
8790
registry.add("hPtXiMinus", "hPtXiMinus", {HistType::kTH1F, {ptAxis}});
8891
registry.add("hPtXiPlus", "hPtXiPlus", {HistType::kTH1F, {ptAxis}});
8992
registry.add("hPtOmegaMinus", "hPtOmegaMinus", {HistType::kTH1F, {ptAxis}});
9093
registry.add("hPtOmegaPlus", "hPtOmegaPlus", {HistType::kTH1F, {ptAxis}});
94+
registry.add("h2DXiMinus", "h2DXiMinus", {HistType::kTH2F, {ptAxis, rapidityAxis}});
95+
registry.add("h2DXiPlus", "h2DXiPlus", {HistType::kTH2F, {ptAxis, rapidityAxis}});
96+
registry.add("h2DOmegaMinus", "h2DOmegaMinus", {HistType::kTH2F, {ptAxis, rapidityAxis}});
97+
registry.add("h2DOmegaPlus", "h2DOmegaPlus", {HistType::kTH2F, {ptAxis, rapidityAxis}});
9198
}
9299

93100
void process(aod::McCollision const& /*collision*/, aod::McParticles const& mcparts)
@@ -99,16 +106,24 @@ struct cascadeGenerated {
99106
// Count all generated MC particles
100107
// WARNING: event-level losses have to be understood too
101108
for (auto& particle : mcparts) {
102-
if (TMath::Abs(particle.y()) > 0.5)
109+
if (TMath::Abs(particle.y()) > rapidityCut)
103110
continue;
104-
if (particle.pdgCode() == 3312)
111+
if (particle.pdgCode() == 3312) {
105112
registry.fill(HIST("hPtXiMinus"), particle.pt());
106-
if (particle.pdgCode() == -3312)
113+
registry.fill(HIST("h2DXiMinus"), particle.pt(), particle.y());
114+
}
115+
if (particle.pdgCode() == -3312) {
107116
registry.fill(HIST("hPtXiPlus"), particle.pt());
108-
if (particle.pdgCode() == 3334)
117+
registry.fill(HIST("h2DXiPlus"), particle.pt(), particle.y());
118+
}
119+
if (particle.pdgCode() == 3334) {
109120
registry.fill(HIST("hPtOmegaMinus"), particle.pt());
110-
if (particle.pdgCode() == -3334)
121+
registry.fill(HIST("h2DOmegaMinus"), particle.pt(), particle.y());
122+
}
123+
if (particle.pdgCode() == -3334) {
111124
registry.fill(HIST("hPtOmegaPlus"), particle.pt());
125+
registry.fill(HIST("h2DOmegaPlus"), particle.pt(), particle.y());
126+
}
112127
}
113128
}
114129
};
@@ -184,9 +199,13 @@ struct cascadeAnalysisMC {
184199
{},
185200
};
186201

202+
Configurable<float> rapidityCut{"rapidityCut", 0.5, "max (absolute) rapidity of cascade candidate"};
203+
Configurable<int> nRapidityBins{"nRapidityBins", 200, "number of pT bins"};
204+
187205
void init(InitContext const&)
188206
{
189-
AxisSpec ptAxis = {200, 0.0f, 10.0f, "it{p}_{T} (GeV/c)"};
207+
AxisSpec ptAxis = {200, 0.0f, 10.0f, "#it{p}_{T} (GeV/c)"};
208+
AxisSpec rapidityAxis = {nRapidityBins, -rapidityCut, rapidityCut, "y"};
190209
AxisSpec massAxisXi = {200, 1.222f, 1.422f, "Inv. Mass (GeV/c^{2})"};
191210
AxisSpec massAxisOmega = {200, 1.572f, 1.772f, "Inv. Mass (GeV/c^{2})"};
192211

@@ -195,6 +214,10 @@ struct cascadeAnalysisMC {
195214
registry.add("h2dMassXiPlus", "h2dMassXiPlus", {HistType::kTH2F, {ptAxis, massAxisXi}});
196215
registry.add("h2dMassOmegaMinus", "h2dMassOmegaMinus", {HistType::kTH2F, {ptAxis, massAxisOmega}});
197216
registry.add("h2dMassOmegaPlus", "h2dMassOmegaPlus", {HistType::kTH2F, {ptAxis, massAxisOmega}});
217+
registry.add("hPtYMassXiMinus", "hPtYMassXiMinus", {HistType::kTH3F, {ptAxis, rapidityAxis, massAxisXi}});
218+
registry.add("hPtYMassXiPlus", "hPtYMassXiPlus", {HistType::kTH3F, {ptAxis, rapidityAxis, massAxisXi}});
219+
registry.add("hPtYMassOmegaMinus", "hPtYMassOmegaMinus", {HistType::kTH3F, {ptAxis, rapidityAxis, massAxisOmega}});
220+
registry.add("hPtYMassOmegaPlus", "hPtYMassOmegaPlus", {HistType::kTH3F, {ptAxis, rapidityAxis, massAxisOmega}});
198221
}
199222

200223
// Selection criteria
@@ -347,29 +370,33 @@ struct cascadeAnalysisMC {
347370
TMath::Abs(casc.mLambda() - 1.115683) < cascadesetting_v0masswindow) {
348371
registry.fill(HIST("hCandidateCounter"), 3.5); // pass cascade selections
349372
if (casc.sign() < 0) { // FIXME: could be done better...
350-
if (TMath::Abs(casc.yXi()) < 0.5 && lCompatiblePID_Xi && ((!assocMC) || (lPDG == 3312))) {
373+
if (TMath::Abs(casc.yXi()) < rapidityCut && lCompatiblePID_Xi && ((!assocMC) || (lPDG == 3312))) {
374+
registry.fill(HIST("hPtYMassXiMinus"), casc.pt(), casc.yXi(), casc.mXi());
351375
if (!doCentralityStudy) {
352376
registry.fill(HIST("h2dMassXiMinus"), casc.pt(), casc.mXi());
353377
} else {
354378
registry.fill(HIST("h3dMassXiMinus"), lPercentile, casc.pt(), casc.mXi());
355379
}
356380
}
357-
if (TMath::Abs(casc.yOmega()) < 0.5 && lCompatiblePID_Om && ((!assocMC) || (lPDG == 3334))) {
381+
if (TMath::Abs(casc.yOmega()) < rapidityCut && lCompatiblePID_Om && ((!assocMC) || (lPDG == 3334))) {
382+
registry.fill(HIST("hPtYMassOmegaMinus"), casc.pt(), casc.yOmega(), casc.mOmega());
358383
if (!doCentralityStudy) {
359384
registry.fill(HIST("h2dMassOmegaMinus"), casc.pt(), casc.mOmega());
360385
} else {
361386
registry.fill(HIST("h3dMassOmegaMinus"), lPercentile, casc.pt(), casc.mOmega());
362387
}
363388
}
364389
} else {
365-
if (TMath::Abs(casc.yXi()) < 0.5 && lCompatiblePID_Xi && ((!assocMC) || (lPDG == -3312))) {
390+
if (TMath::Abs(casc.yXi()) < rapidityCut && lCompatiblePID_Xi && ((!assocMC) || (lPDG == -3312))) {
391+
registry.fill(HIST("hPtYMassXiPlus"), casc.pt(), casc.yXi(), casc.mXi());
366392
if (!doCentralityStudy) {
367393
registry.fill(HIST("h2dMassXiPlus"), casc.pt(), casc.mXi());
368394
} else {
369395
registry.fill(HIST("h3dMassXiPlus"), lPercentile, casc.pt(), casc.mXi());
370396
}
371397
}
372-
if (TMath::Abs(casc.yOmega()) < 0.5 && lCompatiblePID_Om && ((!assocMC) || (lPDG == -3334))) {
398+
if (TMath::Abs(casc.yOmega()) < rapidityCut && lCompatiblePID_Om && ((!assocMC) || (lPDG == -3334))) {
399+
registry.fill(HIST("hPtYMassOmegaPlus"), casc.pt(), casc.yOmega(), casc.mOmega());
373400
if (!doCentralityStudy) {
374401
registry.fill(HIST("h2dMassOmegaPlus"), casc.pt(), casc.mOmega());
375402
} else {

0 commit comments

Comments
 (0)