Skip to content

Commit 009d2b5

Browse files
authored
[PWGLF] Variable binning was added to momentum and AxisSpec was moved (#9804)
1 parent e893da6 commit 009d2b5

File tree

1 file changed

+26
-19
lines changed

1 file changed

+26
-19
lines changed

PWGMM/UE/Tasks/dedxAnalysis.cxx

Lines changed: 26 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,8 @@ using namespace o2::framework;
3434
using namespace constants::physics;
3535

3636
using PIDTracks = soa::Join<
37-
aod::Tracks, aod::TracksExtra, aod::TracksDCA, aod::pidTOFbeta,
38-
aod::pidTOFmass, aod::TrackSelection, aod::TrackSelectionExtension,
39-
aod::pidTPCFullPi, aod::pidTPCFullKa, aod::pidTPCFullPr, aod::pidTPCFullDe,
40-
aod::pidTPCFullTr, aod::pidTPCFullHe, aod::pidTOFFullPi, aod::pidTOFFullKa,
41-
aod::pidTOFFullPr, aod::pidTOFFullDe, aod::pidTOFFullTr, aod::pidTOFFullHe, aod::pidTOFFullEl>;
37+
aod::Tracks, aod::TracksExtra, aod::TrackSelectionExtension,
38+
aod::pidTOFFullPi, aod::pidTOFFullPr, aod::pidTOFFullEl>;
4239

4340
using SelectedCollisions = soa::Join<aod::Collisions, aod::EvSels, aod::CentFT0Cs>;
4441

@@ -87,9 +84,11 @@ struct DedxAnalysis {
8784
Configurable<bool> eventSelection{"eventSelection", true, "event selection"};
8885
Configurable<bool> calibrationMode{"calibrationMode", false, "calibration mode"};
8986
// Histograms names
90-
static constexpr std::string_view kDedxvsMomentum[4] = {"dEdx_vs_Momentum_all", "dEdx_vs_Momentum_Pi_v0", "dEdx_vs_Momentum_Pr_v0", "dEdx_vs_Momentum_El_v0"};
87+
static constexpr std::string_view kDedxvsMomentumPos[4] = {"dEdx_vs_Momentum_all_Pos", "dEdx_vs_Momentum_Pi_v0_Pos", "dEdx_vs_Momentum_Pr_v0_Pos", "dEdx_vs_Momentum_El_v0_Pos"};
88+
static constexpr std::string_view kDedxvsMomentumNeg[4] = {"dEdx_vs_Momentum_all_Neg", "dEdx_vs_Momentum_Pi_v0_Neg", "dEdx_vs_Momentum_Pr_v0_Neg", "dEdx_vs_Momentum_El_v0_Neg"};
9189
static constexpr double EtaCut[9] = {-0.8, -0.6, -0.4, -0.2, 0.0, 0.2, 0.4, 0.6, 0.8};
92-
static constexpr double Correction[8] = {56.0452, 56.632, 57.2627, 57.8265, 57.8403, 57.5441, 57.2386, 56.7532};
90+
static constexpr double Correction[8] = {54.5281, 54.6548, 54.6513, 54.6781, 54.6167, 54.7384, 55.0047, 54.9592};
91+
ConfigurableAxis binP{"binP", {VARIABLE_WIDTH, 0.1, 0.12, 0.14, 0.16, 0.18, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45, 0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95, 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2.0, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 3.0, 3.2, 3.4, 3.6, 3.8, 4.0, 4.5, 5.0, 5.5, 6.0, 6.5, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 18.0, 20.0}, ""};
9392

9493
void init(InitContext const&)
9594
{
@@ -103,6 +102,8 @@ struct DedxAnalysis {
103102
{{100, 0.0, 6.4, "#phi"}, {100, 0.0, 600.0, "dE/dx MIP (a. u.)"}});
104103

105104
} else {
105+
AxisSpec pAxis = {binP, "#it{p}/Z (GeV/c)"};
106+
106107
registryDeDx.add(
107108
"hdEdxMIP_vs_eta_calibrated", "dE/dx", HistType::kTH2F,
108109
{{8, -0.8, 0.8, "#eta"}, {10, 30.0, 70.0, "dE/dx MIP (a. u.)"}});
@@ -112,8 +113,10 @@ struct DedxAnalysis {
112113

113114
// De/Dx for ch and v0 particles
114115
for (int i = 0; i < 4; ++i) {
115-
registryDeDx.add(kDedxvsMomentum[i].data(), "dE/dx", HistType::kTH3F,
116-
{{100, -20, 20, "#it{p}/Z (GeV/c)"}, {100, 0.0, 600.0, "dE/dx (a. u.)"}, {8, -0.8, 0.8, "#eta"}});
116+
registryDeDx.add(kDedxvsMomentumPos[i].data(), "dE/dx", HistType::kTH3F,
117+
{{pAxis}, {100, 0.0, 600.0, "dE/dx (a. u.)"}, {8, -0.8, 0.8, "#eta"}});
118+
registryDeDx.add(kDedxvsMomentumNeg[i].data(), "dE/dx", HistType::kTH3F,
119+
{{pAxis}, {100, 0.0, 600.0, "dE/dx (a. u.)"}, {8, -0.8, 0.8, "#eta"}});
117120
}
118121
}
119122
// Event Counter
@@ -306,7 +309,7 @@ struct DedxAnalysis {
306309
float signedP = trk.sign() * trk.tpcInnerParam();
307310

308311
// MIP for pions
309-
if (trk.tpcInnerParam() >= 0.25 && trk.tpcInnerParam() <= 0.35) {
312+
if (trk.tpcInnerParam() >= 0.35 && trk.tpcInnerParam() <= 0.45) {
310313
if (calibrationMode) {
311314
registryDeDx.fill(HIST("hdEdxMIP_vs_eta"), trk.eta(), trk.tpcSignal());
312315
registryDeDx.fill(HIST("hdEdxMIP_vs_phi"), trk.phi(), trk.tpcSignal());
@@ -323,7 +326,11 @@ struct DedxAnalysis {
323326
if (!calibrationMode) {
324327
for (int i = 0; i < 8; ++i) {
325328
if (trk.eta() > EtaCut[i] && trk.eta() < EtaCut[i + 1]) {
326-
registryDeDx.fill(HIST(kDedxvsMomentum[0]), signedP, trk.tpcSignal() * 50 / Correction[i], trk.eta());
329+
if (signedP > 0) {
330+
registryDeDx.fill(HIST(kDedxvsMomentumPos[0]), signedP, trk.tpcSignal() * 50 / Correction[i], trk.eta());
331+
} else {
332+
registryDeDx.fill(HIST(kDedxvsMomentumNeg[0]), std::abs(signedP), trk.tpcSignal() * 50 / Correction[i], trk.eta());
333+
}
327334
}
328335
}
329336
}
@@ -378,11 +385,11 @@ struct DedxAnalysis {
378385
for (int i = 0; i < 8; ++i) {
379386
if (negTrack.eta() > EtaCut[i] && negTrack.eta() < EtaCut[i + 1]) {
380387

381-
registryDeDx.fill(HIST(kDedxvsMomentum[1]), signedPneg, negTrack.tpcSignal() * 50 / Correction[i], negTrack.eta());
388+
registryDeDx.fill(HIST(kDedxvsMomentumNeg[1]), std::abs(signedPneg), negTrack.tpcSignal() * 50 / Correction[i], negTrack.eta());
382389
}
383390
if (posTrack.eta() > EtaCut[i] && posTrack.eta() < EtaCut[i + 1]) {
384391

385-
registryDeDx.fill(HIST(kDedxvsMomentum[1]), signedPpos, posTrack.tpcSignal() * 50 / Correction[i], posTrack.eta());
392+
registryDeDx.fill(HIST(kDedxvsMomentumPos[1]), signedPpos, posTrack.tpcSignal() * 50 / Correction[i], posTrack.eta());
386393
}
387394
}
388395
}
@@ -402,11 +409,11 @@ struct DedxAnalysis {
402409
for (int i = 0; i < 8; ++i) {
403410
if (negTrack.eta() > EtaCut[i] && negTrack.eta() < EtaCut[i + 1]) {
404411

405-
registryDeDx.fill(HIST(kDedxvsMomentum[1]), signedPneg, negTrack.tpcSignal() * 50 / Correction[i], negTrack.eta());
412+
registryDeDx.fill(HIST(kDedxvsMomentumNeg[1]), std::abs(signedPneg), negTrack.tpcSignal() * 50 / Correction[i], negTrack.eta());
406413
}
407414
if (posTrack.eta() > EtaCut[i] && posTrack.eta() < EtaCut[i + 1]) {
408415

409-
registryDeDx.fill(HIST(kDedxvsMomentum[2]), signedPpos, posTrack.tpcSignal() * 50 / Correction[i], posTrack.eta());
416+
registryDeDx.fill(HIST(kDedxvsMomentumPos[2]), signedPpos, posTrack.tpcSignal() * 50 / Correction[i], posTrack.eta());
410417
}
411418
}
412419
}
@@ -426,11 +433,11 @@ struct DedxAnalysis {
426433
for (int i = 0; i < 8; ++i) {
427434
if (negTrack.eta() > EtaCut[i] && negTrack.eta() < EtaCut[i + 1]) {
428435

429-
registryDeDx.fill(HIST(kDedxvsMomentum[2]), signedPneg, negTrack.tpcSignal() * 50 / Correction[i], negTrack.eta());
436+
registryDeDx.fill(HIST(kDedxvsMomentumNeg[2]), std::abs(signedPneg), negTrack.tpcSignal() * 50 / Correction[i], negTrack.eta());
430437
}
431438
if (posTrack.eta() > EtaCut[i] && posTrack.eta() < EtaCut[i + 1]) {
432439

433-
registryDeDx.fill(HIST(kDedxvsMomentum[1]), signedPpos, posTrack.tpcSignal() * 50 / Correction[i], posTrack.eta());
440+
registryDeDx.fill(HIST(kDedxvsMomentumPos[1]), signedPpos, posTrack.tpcSignal() * 50 / Correction[i], posTrack.eta());
434441
}
435442
}
436443
}
@@ -450,11 +457,11 @@ struct DedxAnalysis {
450457
for (int i = 0; i < 8; ++i) {
451458
if (negTrack.eta() > EtaCut[i] && negTrack.eta() < EtaCut[i + 1]) {
452459

453-
registryDeDx.fill(HIST(kDedxvsMomentum[3]), signedPneg, negTrack.tpcSignal() * 50 / Correction[i], negTrack.eta());
460+
registryDeDx.fill(HIST(kDedxvsMomentumNeg[3]), std::abs(signedPneg), negTrack.tpcSignal() * 50 / Correction[i], negTrack.eta());
454461
}
455462
if (posTrack.eta() > EtaCut[i] && posTrack.eta() < EtaCut[i + 1]) {
456463

457-
registryDeDx.fill(HIST(kDedxvsMomentum[3]), signedPpos, posTrack.tpcSignal() * 50 / Correction[i], posTrack.eta());
464+
registryDeDx.fill(HIST(kDedxvsMomentumPos[3]), signedPpos, posTrack.tpcSignal() * 50 / Correction[i], posTrack.eta());
458465
}
459466
}
460467
}

0 commit comments

Comments
 (0)