Skip to content

Commit 18d65c4

Browse files
committed
[PWGLF] eta-pt distribution of antiprotons, extend pt range for reweighting, add jet aperture vs pt
1 parent c2db361 commit 18d65c4

File tree

1 file changed

+32
-28
lines changed

1 file changed

+32
-28
lines changed

PWGLF/Tasks/Nuspex/antinucleiInJets.cxx

Lines changed: 32 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -219,6 +219,9 @@ struct AntinucleiInJets {
219219
// Jet effective area over piR^2
220220
registryData.add("jetEffectiveAreaOverPiR2", "jet effective area / piR^2", HistType::kTH1F, {{2000, 0, 2, "Area/#piR^{2}"}});
221221

222+
// angle between track and jet axis
223+
registryData.add("theta_track_jet", "theta_track_jet", HistType::kTH2F, {{100, 0, 100, "#it{p}^{jet}_{T} (GeV/#it{c})"}, {400, 0, 20.0, "#theta_{track-jet} (deg)"}});
224+
222225
// Antiprotons
223226
registryData.add("antiproton_jet_tpc", "antiproton_jet_tpc", HistType::kTH2F, {{nbins, min, max, "#it{p}_{T} (GeV/#it{c})"}, {400, -20.0, 20.0, "n#sigma_{TPC}"}});
224227
registryData.add("antiproton_jet_tof", "antiproton_jet_tof", HistType::kTH2F, {{nbins, min, max, "#it{p}_{T} (GeV/#it{c})"}, {400, -20.0, 20.0, "n#sigma_{TOF}"}});
@@ -270,6 +273,10 @@ struct AntinucleiInJets {
270273
// Normalization histogram
271274
registryMC.add("antiproton_deltay_deltaphi_jet", "antiproton_deltay_deltaphi_jet", HistType::kTH2F, {{2000, -1.0, 1.0, "#Delta#it{y}"}, {2000, 0.0, 2.0, "#Delta#phi"}});
272275
registryMC.add("antiproton_deltay_deltaphi_ue", "antiproton_deltay_deltaphi_ue", HistType::kTH2F, {{2000, -1.0, 1.0, "#Delta#it{y}"}, {2000, 0.0, 2.0, "#Delta#phi"}});
276+
277+
// 2d kinematic distributions (eta,pt) in jets and UE
278+
registryMC.add("antiproton_eta_pt_jet", "antiproton_eta_pt_jet", HistType::kTH2F, {{500, 0.0, 5.0, "#it{p}_{T} (GeV/#it{c})"}, {18, -0.9, 0.9, "#eta"}});
279+
registryMC.add("antiproton_eta_pt_ue", "antiproton_eta_pt_ue", HistType::kTH2F, {{500, 0.0, 5.0, "#it{p}_{T} (GeV/#it{c})"}, {18, -0.9, 0.9, "#eta"}});
273280
}
274281

275282
// Reconstructed antiproton spectra in jets and UE (MC-matched) with TPC/TOF PID
@@ -297,9 +304,6 @@ struct AntinucleiInJets {
297304
registryMC.add("antiproton_all_dca_jet", "antiproton_all_dca_jet", HistType::kTH2F, {{nbins, min, max, "#it{p}_{T} (GeV/#it{c})"}, {200, -1, 1, "DCA_{xy} (cm)"}});
298305
registryMC.add("antiproton_all_dca_ue", "antiproton_all_dca_ue", HistType::kTH2F, {{nbins, min, max, "#it{p}_{T} (GeV/#it{c})"}, {200, -1, 1, "DCA_{xy} (cm)"}});
299306

300-
// nsigmaITS for antiproton candidates
301-
registryMC.add("antiproton_nsigma_its_mc", "antiproton_nsigma_its_mc", HistType::kTH2F, {{nbins, min, max, "#it{p}_{T} (GeV/#it{c})"}, {400, -20.0, 20.0, "n#sigma_{ITS}"}});
302-
303307
// nsigmaTOF for antiprotons
304308
registryMC.add("antiproton_nsigma_tof_jet_mc", "antiproton_nsigma_tof_jet_mc", HistType::kTH2F, {{nbins, min, max, "#it{p}_{T} (GeV/#it{c})"}, {400, -20.0, 20.0, "n#sigma_{TOF}"}});
305309
}
@@ -349,11 +353,14 @@ struct AntinucleiInJets {
349353
registryMC.add("antihelium3_rec_tpc_ue", "antihelium3_rec_tpc_ue", HistType::kTH1F, {{nbins, 3 * min, 3 * max, "#it{p}_{T} (GeV/#it{c})"}});
350354

351355
// Generated spectra needed for reweighting
352-
registryMC.add("protonBar", "protonBar", HistType::kTH1F, {{5000, 0, 5, "#it{p}_{T} (GeV/#it{c})"}});
353-
registryMC.add("lambdaBar", "lambdaBar", HistType::kTH1F, {{5000, 0, 5, "#it{p}_{T} (GeV/#it{c})"}});
354-
registryMC.add("xiBar", "xiBar", HistType::kTH1F, {{5000, 0, 5, "#it{p}_{T} (GeV/#it{c})"}});
355-
registryMC.add("omegaBar", "omegaBar", HistType::kTH1F, {{5000, 0, 5, "#it{p}_{T} (GeV/#it{c})"}});
356-
registryMC.add("sigmaBar", "sigmaBar", HistType::kTH1F, {{5000, 0, 5, "#it{p}_{T} (GeV/#it{c})"}});
356+
registryMC.add("protonBar", "protonBar", HistType::kTH1F, {{1000, 0, 10, "#it{p}_{T} (GeV/#it{c})"}});
357+
registryMC.add("lambdaBar", "lambdaBar", HistType::kTH1F, {{1000, 0, 10, "#it{p}_{T} (GeV/#it{c})"}});
358+
registryMC.add("xiBar", "xiBar", HistType::kTH1F, {{1000, 0, 10, "#it{p}_{T} (GeV/#it{c})"}});
359+
registryMC.add("omegaBar", "omegaBar", HistType::kTH1F, {{1000, 0, 10, "#it{p}_{T} (GeV/#it{c})"}});
360+
registryMC.add("sigmaBar", "sigmaBar", HistType::kTH1F, {{1000, 0, 10, "#it{p}_{T} (GeV/#it{c})"}});
361+
362+
// nsigmaITS for antiproton candidates
363+
registryMC.add("antiproton_nsigma_its_mc", "antiproton_nsigma_its_mc", HistType::kTH2F, {{nbins, min, max, "#it{p}_{T} (GeV/#it{c})"}, {400, -20.0, 20.0, "n#sigma_{ITS}"}});
357364
}
358365

359366
// Systematic uncertainties (Data)
@@ -621,20 +628,6 @@ struct AntinucleiInJets {
621628
47.61, 44.02, 32.15, 46.21, 34.75, 40.17, 37.14, 30.55, 45.42, 42.30,
622629
41.79, 33.21, 39.12, 47.98, 36.52, 31.58, 49.44, 38.02, 35.56, 43.49};
623630

624-
static std::vector<double> minEtaSyst = {
625-
-0.804, -0.844, -0.751, -0.784, -0.819, -0.823, -0.768, -0.781, -0.845, -0.787,
626-
-0.758, -0.828, -0.776, -0.842, -0.808, -0.763, -0.849, -0.770, -0.799, -0.754,
627-
-0.825, -0.847, -0.806, -0.783, -0.796, -0.835, -0.777, -0.752, -0.838, -0.813,
628-
-0.785, -0.802, -0.795, -0.846, -0.780, -0.829, -0.817, -0.773, -0.765, -0.789,
629-
-0.800, -0.839, -0.758, -0.820, -0.833, -0.762, -0.792, -0.809, -0.827, -0.751};
630-
631-
static std::vector<double> maxEtaSyst = {
632-
0.804, 0.844, 0.751, 0.784, 0.819, 0.823, 0.768, 0.781, 0.845, 0.787,
633-
0.758, 0.828, 0.776, 0.842, 0.808, 0.763, 0.849, 0.770, 0.799, 0.754,
634-
0.825, 0.847, 0.806, 0.783, 0.796, 0.835, 0.777, 0.752, 0.838, 0.813,
635-
0.785, 0.802, 0.795, 0.846, 0.780, 0.829, 0.817, 0.773, 0.765, 0.789,
636-
0.800, 0.839, 0.758, 0.820, 0.833, 0.762, 0.792, 0.809, 0.827, 0.751};
637-
638631
// Track Selection
639632
if (requirePvContributor && !(track.isPVContributor()))
640633
return false;
@@ -650,7 +643,7 @@ struct AntinucleiInJets {
650643
return false;
651644
if (track.itsChi2NCl() > maxChiSquareItsSyst[isyst])
652645
return false;
653-
if (track.eta() < minEtaSyst[isyst] || track.eta() > maxEtaSyst[isyst])
646+
if (track.eta() < minEta || track.eta() > maxEta)
654647
return false;
655648
if (track.pt() < minPt)
656649
return false;
@@ -871,6 +864,11 @@ struct AntinucleiInJets {
871864
if (std::fabs(dcaxy) > maxDcaxy || std::fabs(dcaz) > maxDcaz)
872865
continue;
873866

867+
// Fill angular distribution of tracks wrt jet axis
868+
TVector3 trackDirection(track.px(), track.py(), track.pz());
869+
double thetaTrackJet = (180.0 / PI) * jetAxis.Angle(trackDirection);
870+
registryData.fill(HIST("theta_track_jet"), jet.pt(), thetaTrackJet);
871+
874872
// Particle identification using the ITS cluster size
875873
bool passedItsPidProt(true), passedItsPidDeut(true), passedItsPidHel(true);
876874
double nSigmaITSprot = static_cast<double>(itsResponse.nSigmaITS<o2::track::PID::Proton>(track));
@@ -1374,6 +1372,11 @@ struct AntinucleiInJets {
13741372
passedItsPidHel = false;
13751373
}
13761374

1375+
// Fill nsigmaITS for antiproton candidates
1376+
if (track.sign() < 0 && particle.pdgCode() == PDG_t::kProtonBar && isHighPurityAntiproton(track)) {
1377+
registryMC.fill(HIST("antiproton_nsigma_its_mc"), pt, nSigmaITSprot);
1378+
}
1379+
13771380
// Fill histograms of antiprotons
13781381
if (track.sign() < 0 && particle.pdgCode() == PDG_t::kProtonBar && passedItsPidProt) {
13791382
if (nsigmaTPCPr > minNsigmaTpc && nsigmaTPCPr < maxNsigmaTpc) {
@@ -1522,6 +1525,9 @@ struct AntinucleiInJets {
15221525

15231526
// Fill histogram for generated antiprotons
15241527
registryMC.fill(HIST("antiproton_gen_jet"), particle.pt());
1528+
1529+
// Fill 2d (pt,eta) distribution of antiprotons
1530+
registryMC.fill(HIST("antiproton_eta_pt_jet"), particle.pt(), particle.eta());
15251531
}
15261532

15271533
// Set up two perpendicular cone axes for underlying event estimation
@@ -1562,6 +1568,9 @@ struct AntinucleiInJets {
15621568

15631569
// Fill histogram for antiprotons in the UE
15641570
registryMC.fill(HIST("antiproton_gen_ue"), protonVec.Pt());
1571+
1572+
// Fill 2d (pt,eta) distribution of antiprotons
1573+
registryMC.fill(HIST("antiproton_eta_pt_ue"), protonVec.Pt(), protonVec.Eta());
15651574
}
15661575
}
15671576
if (isAtLeastOneJetSelected) {
@@ -1738,11 +1747,6 @@ struct AntinucleiInJets {
17381747
// nsigmaITS for antiprotons
17391748
double nSigmaITSprot = static_cast<double>(itsResponse.nSigmaITS<o2::track::PID::Proton>(track));
17401749

1741-
// Fill nsigmaITS for antiproton candidates
1742-
if (isHighPurityAntiproton(track)) {
1743-
registryMC.fill(HIST("antiproton_nsigma_its_mc"), pt, nSigmaITSprot);
1744-
}
1745-
17461750
// Particle identification using the ITS cluster size
17471751
bool passedItsPidProt(true);
17481752
if (applyItsPid && pt < ptMaxItsPidProt && (nSigmaITSprot < nSigmaItsMin || nSigmaITSprot > nSigmaItsMax)) {

0 commit comments

Comments
 (0)