Skip to content

Commit 3d0973c

Browse files
maciaccoalibuild
andauthored
add THnSparse for particle numbers + add subsample analysis + add del… (#4642)
* add THnSparse for particle numbers + add subsample analysis + add deltaEta analysis * Please consider the following formatting changes * fix temporary stored eta --------- Co-authored-by: ALICE Action Bot <alibuild@cern.ch>
1 parent 42a7799 commit 3d0973c

File tree

1 file changed

+97
-63
lines changed

1 file changed

+97
-63
lines changed

PWGLF/Tasks/Nuspex/antidLambdaEbye.cxx

Lines changed: 97 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
// or submit itself to any jurisdiction.
1111

1212
#include <vector>
13+
#include <random>
1314

1415
#include "Framework/runDataProcessing.h"
1516
#include "Framework/AnalysisTask.h"
@@ -45,7 +46,6 @@ using TracksFull = soa::Join<aod::Tracks, aod::TracksExtra, aod::TracksDCA, aod:
4546

4647
namespace
4748
{
48-
// constexpr double betheBlochDefault[1][6]{{-1.e32, -1.e32, -1.e32, -1.e32, -1.e32, -1.e32}};
4949
constexpr double betheBlochDefault[1][6]{{-136.71, 0.441, 0.2269, 1.347, 0.8035, 0.09}};
5050
static const std::vector<std::string> betheBlochParNames{"p0", "p1", "p2", "p3", "p4", "resolution"};
5151
static const std::vector<std::string> particleNamesBB{"d"};
@@ -54,21 +54,30 @@ static const std::vector<std::string> pidHypotheses{"Electron", "Muon", "Pion",
5454

5555
struct antidLambdaEbye {
5656
o2::pid::tof::Beta<TracksFull::iterator> responseBeta;
57+
std::mt19937 gen32;
58+
59+
int nSubsamples;
5760

5861
Configurable<int> cfgMaterialCorrection{"cfgMaterialCorrection", static_cast<int>(o2::base::Propagator::MatCorrType::USEMatCorrNONE), "Type of material correction"};
62+
Configurable<LabeledArray<double>> cfgBetheBlochParams{"cfgBetheBlochParams", {betheBlochDefault[0], 1, 6, particleNamesBB, betheBlochParNames}, "TPC Bethe-Bloch parameterisation for deuteron"};
5963

60-
ConfigurableAxis zVtxAxis{"zVtxBins", {100, -20.f, 20.f}, "Binning for the vertex z in cm"};
61-
ConfigurableAxis massLambdaAxis{"massLambdaAxis", {400, o2::constants::physics::MassLambda0 - 0.03f, o2::constants::physics::MassLambda0 + 0.03f}, "binning for the lambda invariant-mass"};
6264
ConfigurableAxis centAxis{"centAxis", {106, 0, 106}, "binning for the centrality"};
65+
ConfigurableAxis subsampleAxis{"subsampleAxis", {30, 0, 30}, "binning of the subsample axis"};
66+
ConfigurableAxis deltaEtaAxis{"deltaEtaAxis", {4, 0, 0.8}, "binning of the delta eta axis"};
67+
ConfigurableAxis ptAntidAxis{"ptAntidAxis", {VARIABLE_WIDTH, 0.7f, 0.8f, 0.9f, 1.0f, 1.2f, 1.4f, 1.6f, 1.8f}, "binning of the antideuteron pT axis (GeV/c)"};
68+
ConfigurableAxis ptLambdaAxis{"ptLambdaAxis", {VARIABLE_WIDTH, 0.5f, 0.6f, 0.7f, 0.8f, 0.9f, 1.0f, 1.1f, 1.2f, 1.3f, 1.4f, 1.5f, 1.6f, 1.7f, 1.8f, 1.9f, 2.0f, 2.2f, 2.4f, 2.6f, 2.8f, 3.0f}, "binning of the (anti)lambda pT axis (GeV/c)"};
69+
70+
ConfigurableAxis zVtxAxis{"zVtxBins", {100, -20.f, 20.f}, "Binning for the vertex z in cm"};
6371

72+
// binning of (anti)lambda QA histograms
73+
ConfigurableAxis massLambdaAxis{"massLambdaAxis", {400, o2::constants::physics::MassLambda0 - 0.03f, o2::constants::physics::MassLambda0 + 0.03f}, "binning for the lambda invariant-mass"};
6474
ConfigurableAxis cosPaAxis{"cosPaAxis", {1e3, 0.95f, 1.00f}, "binning for the cosPa axis"};
6575
ConfigurableAxis radiusAxis{"radiusAxis", {1e3, 0.f, 100.f}, "binning for the radius axis"};
6676
ConfigurableAxis dcaV0daughAxis{"dcaV0daughAxis", {2e2, 0.f, 2.f}, "binning for the dca of V0 daughters"};
6777
ConfigurableAxis dcaDaughPvAxis{"dcaDaughPvAxis", {1e3, -10.f, 10.f}, "binning for the dca of positive daughter to PV"};
6878

69-
Configurable<LabeledArray<double>> cfgBetheBlochParams{"cfgBetheBlochParams", {betheBlochDefault[0], 1, 6, particleNamesBB, betheBlochParNames}, "TPC Bethe-Bloch parameterisation for He3"};
79+
// binning of deuteron QA histograms
7080
ConfigurableAxis tpcNsigmaAxis{"tpcNsigmaAxis", {100, -5.f, 5.f}, "tpc nsigma axis"};
71-
// ConfigurableAxis tofNsigmaAxis{"tofNsigmaAxis", {100, -5.f, 5.f}, "tof nsigma axis"};
7281
ConfigurableAxis tofMassAxis{"tofMassAxis", {1000, 0., 3.f}, "tof mass axis"};
7382
ConfigurableAxis momAxis{"momAxis", {60., 0.f, 3.f}, "momentum axis binning"};
7483
ConfigurableAxis momAxisFine{"momAxisFine", {5.e2, 0.f, 5.f}, "momentum axis binning"};
@@ -104,6 +113,11 @@ struct antidLambdaEbye {
104113
Configurable<float> lambdaMassCut{"lambdaMassCut", 0.005f, "maximum deviation from PDG mass"};
105114

106115
HistogramRegistry histos{"histos", {}, OutputObjHandlingPolicy::AnalysisObject};
116+
HistogramRegistry tempHistos{"tempHistos", {}, OutputObjHandlingPolicy::TransientObject};
117+
118+
std::shared_ptr<TH2> tempAntid;
119+
std::shared_ptr<TH2> tempAntiLambda;
120+
std::shared_ptr<TH2> tempLambda;
107121

108122
Filter preFilterV0 = (nabs(aod::v0data::dcapostopv) > v0setting_dcapostopv &&
109123
nabs(aod::v0data::dcanegtopv) > v0setting_dcanegtopv &&
@@ -147,25 +161,26 @@ struct antidLambdaEbye {
147161
void init(o2::framework::InitContext&)
148162
{
149163

164+
uint32_t randomSeed = static_cast<uint32_t>(std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::system_clock::now().time_since_epoch()).count());
165+
gen32.seed(randomSeed);
166+
150167
histos.add<TH1>("zVtx", ";#it{z}_{vtx} (cm);Entries", HistType::kTH1F, {zVtxAxis});
151168

152-
histos.add<TH1>("nEv", ";Centrality (%);Entries", {HistType::kTH1D}, {centAxis});
169+
auto hNev = histos.add<THnSparse>("nEv", ";Subsample;Centrality (%);", {HistType::kTHnSparseD}, {subsampleAxis, centAxis});
170+
nSubsamples = hNev->GetAxis(0)->GetNbins();
153171

154-
histos.add<TH1>("q1antid", ";Centrality (%);#it{q}_{1}(#bar{d})", {HistType::kTH1D}, {centAxis});
155-
histos.add<TH1>("q1sqantid", ";Centrality (%);#it{q}_{1}^{2}(#bar{d})", {HistType::kTH1D}, {centAxis});
156-
histos.add<TH1>("q2antid", ";Centrality (%);#it{q}_{2}(#bar{d})", {HistType::kTH1D}, {centAxis});
172+
histos.add<THnSparse>("nAntid", ";Subsample;Centrality (%);#Delta#eta;#it{p}_{T}(#bar{d}) (GeV/#it{c});", {HistType::kTHnSparseD}, {subsampleAxis, centAxis, deltaEtaAxis, ptAntidAxis});
173+
histos.add<THnSparse>("nSqAntid", ";Subsample;Centrality (%);#Delta#eta;#it{p}_{T}(#bar{d}) (GeV/#it{c});", {HistType::kTHnSparseD}, {subsampleAxis, centAxis, deltaEtaAxis, ptAntidAxis});
157174

158-
histos.add<TH1>("q1antiL", ";Centrality (%);#it{q}_{1}(#bar{#Lambda})", {HistType::kTH1D}, {centAxis});
159-
histos.add<TH1>("q1sqantiL", ";Centrality (%);#it{q}_{1}^{2}(#bar{#Lambda})", {HistType::kTH1D}, {centAxis});
160-
histos.add<TH1>("q2antiL", ";Centrality (%);#it{q}_{2}(#bar{#Lambda})", {HistType::kTH1D}, {centAxis});
175+
histos.add<THnSparse>("nAntiL", ";Subsample;Centrality (%);#Delta#eta;#it{p}_{T}(#bar{#Lambda}) (GeV/#it{c});", {HistType::kTHnSparseD}, {subsampleAxis, centAxis, deltaEtaAxis, ptLambdaAxis});
176+
histos.add<THnSparse>("nSqAntiL", ";Subsample;Centrality (%);#Delta#eta;#it{p}_{T}(#bar{#Lambda}) (GeV/#it{c});", {HistType::kTHnSparseD}, {subsampleAxis, centAxis, deltaEtaAxis, ptLambdaAxis});
161177

162-
histos.add<TH1>("q1L", ";Centrality (%);#it{q}_{1}(#Lambda)", {HistType::kTH1D}, {centAxis});
163-
histos.add<TH1>("q1sqL", ";Centrality (%);#it{q}_{1}^{2}(#Lambda)", {HistType::kTH1D}, {centAxis});
164-
histos.add<TH1>("q2L", ";Centrality (%);#it{q}_{2}(#Lambda)", {HistType::kTH1D}, {centAxis});
178+
histos.add<THnSparse>("nL", ";Subsample;Centrality (%);#Delta#eta;#it{p}_{T}(#Lambda) (GeV/#it{c});", {HistType::kTHnSparseD}, {subsampleAxis, centAxis, deltaEtaAxis, ptLambdaAxis});
179+
histos.add<THnSparse>("nSqL", ";Subsample;Centrality (%);#Delta#eta;#it{p}_{T}(#Lambda) (GeV/#it{c});", {HistType::kTHnSparseD}, {subsampleAxis, centAxis, deltaEtaAxis, ptLambdaAxis});
165180

166-
histos.add<TH1>("q11LantiL", ";Centrality (%);#it{q}_{11}(#Lambda, #bar{#Lambda})", {HistType::kTH1D}, {centAxis});
167-
histos.add<TH1>("q11Lantid", ";Centrality (%);#it{q}_{11}(#Lambda, #bar{d})", {HistType::kTH1D}, {centAxis});
168-
histos.add<TH1>("q11antiLantid", ";Centrality (%);#it{q}_{11}(#bar{#Lambda}, #bar{d})", {HistType::kTH1D}, {centAxis});
181+
histos.add<THnSparse>("nLantiL", ";Subsample;Centrality (%);#Delta#eta;#it{p}_{T}(#Lambda) (GeV/#it{c});#it{p}_{T}(#bar{#Lambda}) (GeV/#it{c});", {HistType::kTHnSparseD}, {subsampleAxis, centAxis, deltaEtaAxis, ptLambdaAxis, ptLambdaAxis});
182+
histos.add<THnSparse>("nLantid", ";Subsample;Centrality (%);#Delta#eta;#it{p}_{T}(#Lambda) (GeV/#it{c});#it{p}_{T}(#bar{d}) (GeV/#it{c});", {HistType::kTHnSparseD}, {subsampleAxis, centAxis, deltaEtaAxis, ptLambdaAxis, ptAntidAxis});
183+
histos.add<THnSparse>("nAntiLantid", ";Subsample;Centrality (%);#Delta#eta;#it{p}_{T}(#bar{#Lambda}) (GeV/#it{c});#it{p}_{T}(#bar{d}) (GeV/#it{c});", {HistType::kTHnSparseD}, {subsampleAxis, centAxis, deltaEtaAxis, ptLambdaAxis, ptAntidAxis});
169184

170185
// v0 QA
171186
histos.add<TH1>("massLambda", ";#it{M}(p + #pi^{-}) (GeV/#it{c}^{2});Entries", {HistType::kTH1F, {massLambdaAxis}});
@@ -176,29 +191,34 @@ struct antidLambdaEbye {
176191
histos.add<TH1>("dcaNegPv", ";dcaNegPv;Entries", {HistType::kTH1F}, {dcaDaughPvAxis});
177192

178193
// antid QA
179-
histos.add<TH2>("tpcNsigma", ";#it{p}_{TPC} (GeV/#it{c});tpcNsigma", {HistType::kTH2F}, {momAxis, tpcNsigmaAxis});
180-
histos.add<TH2>("tpcNsigmaGlo", ";#it{p}_{T} (GeV/#it{c});tpcNsigma", {HistType::kTH2F}, {momAxis, tpcNsigmaAxis});
181-
// histos.add<TH2>("tofNsigma", ";#it{p}_{glo};tofNsigma;Entries", {HistType::kTH2F}, {momAxis, tofNsigmaAxis});
194+
histos.add<TH2>("tpcNsigma", ";#it{p}_{TPC} (GeV/#it{c});n#sigma_{TPC} (a.u.)", {HistType::kTH2F}, {momAxis, tpcNsigmaAxis});
195+
histos.add<TH2>("tpcNsigmaGlo", ";#it{p}_{T} (GeV/#it{c});n#sigma_{TPC} (a.u.)", {HistType::kTH2F}, {momAxis, tpcNsigmaAxis});
182196
histos.add<TH2>("tofMass", ";#it{p}_{glo} (GeV/#it{c});Mass (GeV/#it{c}^{2});Entries", {HistType::kTH2F}, {momAxis, tofMassAxis});
183-
histos.add<TH2>("tofMassFull", ";#it{p}_{glo} (GeV/#it{c});Mass (GeV/#it{c}^{2});Entries", {HistType::kTH2F}, {momAxis, tofMassAxis});
184197
auto hmomCorr = histos.add<TH3>("momCorr", ";#it{p}_{glo} (GeV/#it{c});#it{p}_{TPC} - #it{p}_{glo} (GeV/#it{c});", {HistType::kTH3F}, {momAxisFine, momResAxis, trackingPidAxis});
185-
histos.add<TH2>("tpcSignal", ";#it{p}_{TPC} (GeV/#it{c});TPC signal (a.u.)", {HistType::kTH2F}, {momAxisFine, tpcAxis});
186-
histos.add<TH2>("tpcSignalBkg", ";#it{p}_{TPC} (GeV/#it{c});TPC signal (a.u.)", {HistType::kTH2F}, {momAxisFine, tpcAxis});
187-
auto htpcSignal_glo = histos.add<TH3>("tpcSignal_glo", ";#it{p}_{glo} (GeV/#it{c});TPC signal (a.u.);", {HistType::kTH3F}, {momAxisFine, tpcAxis, trackingPidAxis});
188-
auto htpcSignalBkg_glo = histos.add<TH3>("tpcSignalBkg_glo", ";#it{p}_{glo} (GeV/#it{c});TPC signal (a.u.);", {HistType::kTH3F}, {momAxisFine, tpcAxis, trackingPidAxis});
189-
histos.add<TH2>("tofSignal", ";#it{p}_{TPC} (GeV/#it{c});TOF signal (a.u.)", {HistType::kTH2F}, {momAxisFine, tofAxis});
190-
histos.add<TH2>("tofSignal_glo", ";#it{p}_{T} (GeV/#it{c});TOF signal (a.u.)", {HistType::kTH2F}, {momAxisFine, tofAxis});
198+
histos.add<TH2>("tpcSignal", ";#it{p}_{TPC} (GeV/#it{c});d#it{E}/d#it{x}_{TPC} (a.u.)", {HistType::kTH2F}, {momAxisFine, tpcAxis});
199+
histos.add<TH2>("tpcSignalBkg", ";#it{p}_{TPC} (GeV/#it{c});d#it{E}/d#it{x}_{TPC} (a.u.)", {HistType::kTH2F}, {momAxisFine, tpcAxis});
200+
histos.add<TH2>("tpcSignal_glo", ";#it{p}_{glo} (GeV/#it{c});d#it{E}/d#it{x}_{TPC} (a.u.);", {HistType::kTH2F}, {momAxisFine, tpcAxis});
201+
histos.add<TH2>("tofSignal", ";#it{p}_{TPC} (GeV/#it{c});#beta_{TOF}", {HistType::kTH2F}, {momAxisFine, tofAxis});
202+
histos.add<TH2>("tofSignal_glo", ";#it{p}_{T} (GeV/#it{c});#beta_{TOF}", {HistType::kTH2F}, {momAxisFine, tofAxis});
191203

192204
for (int i{1}; i < hmomCorr->GetNbinsZ() + 1; ++i) {
193205
hmomCorr->GetZaxis()->SetBinLabel(i, pidHypotheses[i - 1].data());
194-
htpcSignal_glo->GetZaxis()->SetBinLabel(i, pidHypotheses[i - 1].data());
195-
htpcSignalBkg_glo->GetZaxis()->SetBinLabel(i, pidHypotheses[i - 1].data());
196206
}
207+
208+
// temporary histograms
209+
tempAntid = tempHistos.add<TH2>("tempAntid", ";#Delta#eta;#it{p}_{T} (GeV/#it{c})", {HistType::kTH2D}, {deltaEtaAxis, ptAntidAxis});
210+
tempLambda = tempHistos.add<TH2>("tempLambda", ";#Delta#eta;#it{p}_{T} (GeV/#it{c})", {HistType::kTH2D}, {deltaEtaAxis, ptLambdaAxis});
211+
tempAntiLambda = tempHistos.add<TH2>("tempAntiLambda", ";#Delta#eta;#it{p}_{T} (GeV/#it{c})", {HistType::kTH2D}, {deltaEtaAxis, ptLambdaAxis});
197212
}
198213

199-
void fillEvent(TracksFull const& tracks, soa::Filtered<aod::V0Datas> const& V0s, float const& centrality, float const& multiplicity = 0)
214+
void fillEvent(TracksFull const& tracks, soa::Filtered<aod::V0Datas> const& V0s, float const& centrality)
200215
{
201-
double q1antid{0.}, q2antid{0.};
216+
tempAntid->Reset();
217+
tempLambda->Reset();
218+
tempAntiLambda->Reset();
219+
auto rnd = static_cast<float>(gen32()) / static_cast<float>(gen32.max());
220+
auto subsample = static_cast<int>(rnd * nSubsamples);
221+
202222
for (const auto& track : tracks) {
203223
if (!selectAntid(track)) {
204224
continue;
@@ -209,7 +229,7 @@ struct antidLambdaEbye {
209229
}
210230

211231
histos.fill(HIST("tpcSignal"), track.tpcInnerParam(), track.tpcSignal());
212-
histos.fill(HIST("tpcSignal_glo"), track.p(), track.tpcSignal(), track.pidForTracking());
232+
histos.fill(HIST("tpcSignal_glo"), track.p(), track.tpcSignal());
213233

214234
if (track.pt() < antidPtMin || track.pt() > antidPtMax) {
215235
continue;
@@ -232,7 +252,6 @@ struct antidLambdaEbye {
232252
// check contamination
233253
if (track.tpcInnerParam() < tpcInnerParamMax) {
234254
histos.fill(HIST("tpcSignalBkg"), track.tpcInnerParam(), track.tpcSignal());
235-
histos.fill(HIST("tpcSignalBkg_glo"), track.p(), track.tpcSignal(), track.pidForTracking());
236255
}
237256

238257
if (track.pt() > antidPtTof && hasTof) {
@@ -244,23 +263,17 @@ struct antidLambdaEbye {
244263
if (track.tpcInnerParam() < tpcInnerParamMax) {
245264
continue;
246265
}
247-
if (track.pt() > antidPtTof && !track.hasTOF()) {
248-
continue;
249-
}
250-
histos.fill(HIST("tofMassFull"), track.pt(), mass);
251-
if (track.pt() > antidPtTof && track.tofChi2() > 3) {
266+
if (track.pt() > antidPtTof && !hasTof) {
252267
continue;
253268
}
254269
histos.fill(HIST("tofMass"), track.pt(), mass);
255270

256271
if (track.pt() <= antidPtTof || (track.pt() > antidPtTof && hasTof && std::abs(mass - o2::constants::physics::MassDeuteron) < tofMassMax)) {
257272
histos.fill(HIST("tpcNsigmaGlo"), track.pt(), nSigmaTPC);
258-
q1antid += 1.; // TODO: correct for efficiency
259-
q2antid += 1.;
273+
tempHistos.fill(HIST("tempAntid"), std::abs(track.eta()), track.pt());
260274
}
261275
}
262276

263-
double q1L{0.}, q2L{0.}, q1antiL{0.}, q2antiL{0.};
264277
std::vector<int64_t> trkId;
265278
for (const auto& v0 : V0s) {
266279
if (v0.pt() < lambdaPtMin || v0.pt() > lambdaPtMax) {
@@ -287,11 +300,9 @@ struct antidLambdaEbye {
287300
histos.fill(HIST("dcaNegPv"), v0.dcanegtopv());
288301

289302
if (matter) {
290-
q1L += 1.; // TODO: correct for efficiency
291-
q2L += 1.;
303+
tempHistos.fill(HIST("tempLambda"), std::abs(v0.eta()), v0.pt());
292304
} else {
293-
q1antiL += 1.; // TODO: correct for efficiency
294-
q2antiL += 1.;
305+
tempHistos.fill(HIST("tempAntiLambda"), std::abs(v0.eta()), v0.pt());
295306
}
296307

297308
trkId.emplace_back(pos.globalIndex());
@@ -304,23 +315,46 @@ struct antidLambdaEbye {
304315
return;
305316
}
306317

307-
histos.fill(HIST("nEv"), centrality);
308-
309-
histos.fill(HIST("q1antid"), centrality, q1antid);
310-
histos.fill(HIST("q1sqantid"), centrality, std::pow(q1antid, 2));
311-
histos.fill(HIST("q2antid"), centrality, q2antid);
312-
313-
histos.fill(HIST("q1L"), centrality, q1L);
314-
histos.fill(HIST("q1sqL"), centrality, std::pow(q1L, 2));
315-
histos.fill(HIST("q2L"), centrality, q2L);
316-
317-
histos.fill(HIST("q1antiL"), centrality, q1antiL);
318-
histos.fill(HIST("q1sqantiL"), centrality, std::pow(q1antiL, 2));
319-
histos.fill(HIST("q2antiL"), centrality, q2antiL);
320-
321-
histos.fill(HIST("q11LantiL"), centrality, q1L * q1antiL);
322-
histos.fill(HIST("q11Lantid"), centrality, q1L * q1antid);
323-
histos.fill(HIST("q11antiLantid"), centrality, q1antiL * q1antid);
318+
histos.fill(HIST("nEv"), subsample, centrality);
319+
320+
for (int iEta{1}; iEta < tempAntid->GetNbinsX() + 1; ++iEta) {
321+
for (int iPtAntid{1}; iPtAntid < tempAntid->GetNbinsY() + 1; ++iPtAntid) {
322+
for (int iPtL{1}; iPtL < tempLambda->GetNbinsY() + 1; ++iPtL) {
323+
for (int iPtAntiL{1}; iPtAntiL < tempAntiLambda->GetNbinsY() + 1; ++iPtAntiL) {
324+
325+
auto eta = tempAntid->GetXaxis()->GetBinCenter(iEta);
326+
auto antidPt = tempAntid->GetYaxis()->GetBinCenter(iPtAntid);
327+
auto lPt = tempLambda->GetYaxis()->GetBinCenter(iPtL);
328+
auto antilPt = tempAntiLambda->GetYaxis()->GetBinCenter(iPtAntiL);
329+
auto antidNum = tempAntid->Integral(1, iEta, iPtAntid, iPtAntid);
330+
auto lNum = tempLambda->Integral(1, iEta, iPtL, iPtL);
331+
auto antilNum = tempAntiLambda->Integral(1, iEta, iPtAntiL, iPtAntiL);
332+
333+
if (iPtL == 1) {
334+
histos.fill(HIST("nAntiLantid"), subsample, centrality, eta, antilPt, antidPt, antilNum * antidNum);
335+
if (iPtAntiL == 1) {
336+
histos.fill(HIST("nAntid"), subsample, centrality, eta, antidPt, antidNum);
337+
histos.fill(HIST("nSqAntid"), subsample, centrality, eta, antidPt, std::pow(antidNum, 2));
338+
}
339+
}
340+
if (iPtAntiL == 1) {
341+
histos.fill(HIST("nLantid"), subsample, centrality, eta, lPt, antidPt, lNum * antidNum);
342+
if (iPtAntid == 1) {
343+
histos.fill(HIST("nL"), subsample, centrality, eta, lPt, lNum);
344+
histos.fill(HIST("nSqL"), subsample, centrality, eta, lPt, std::pow(lNum, 2));
345+
}
346+
}
347+
if (iPtAntid == 1) {
348+
histos.fill(HIST("nLantiL"), subsample, centrality, eta, lPt, antilPt, lNum * antilNum);
349+
if (iPtL == 1) {
350+
histos.fill(HIST("nAntiL"), subsample, centrality, eta, antilPt, antilNum);
351+
histos.fill(HIST("nSqAntiL"), subsample, centrality, eta, antilPt, std::pow(antilNum, 2));
352+
}
353+
}
354+
}
355+
}
356+
}
357+
}
324358
}
325359

326360
void processRun3(soa::Join<aod::Collisions, aod::EvSels, aod::CentFT0Cs>::iterator const& collision, TracksFull const& tracks, soa::Filtered<aod::V0Datas> const& V0s)

0 commit comments

Comments
 (0)