diff --git a/ALICE3/Tasks/alice3-cdeuteron.cxx b/ALICE3/Tasks/alice3-cdeuteron.cxx index 63c4df86e35..07b0c6da141 100644 --- a/ALICE3/Tasks/alice3-cdeuteron.cxx +++ b/ALICE3/Tasks/alice3-cdeuteron.cxx @@ -40,6 +40,7 @@ struct Alice3CDeuteron { Configurable minDcaPion{"minDcaPion", -100, "Minimum DCA of the pion to the primary vertex"}; Configurable maxDca{"maxDca", 100, "Maximum track DCA to the primary vertex"}; Configurable minCpa{"minCpa", 0, "Minimum CPA"}; + Configurable usePdg{"usePdg", 1, "Flag to use the PDG instead of the TOF/RICH PID"}; HistogramRegistry histos{"Histos", {}, OutputObjHandlingPolicy::AnalysisObject}; o2::vertexing::DCAFitterN<3> fitter; @@ -55,7 +56,7 @@ struct Alice3CDeuteron { fitter.setMaxChi2(1e9); fitter.setUseAbsDCA(true); - const AxisSpec axisInvMass{100, 2.5, 4, "Inv. Mass_{c-d}"}; + const AxisSpec axisInvMass{1000, 2.5, 4, "Inv. Mass_{c-d}"}; const AxisSpec axisDecayRadius{2000, 0, 0.1, "Decay radius"}; const AxisSpec axisDecayRadiusReso{2000, -0.01, 0.01, "Decay radius resolution"}; const AxisSpec axisPionProdRadiusXY{2000, 0, 0.01, "Pion production radius in xy"}; @@ -88,18 +89,6 @@ struct Alice3CDeuteron { h->GetXaxis()->SetBinLabel(8, "minDca"); h->GetXaxis()->SetBinLabel(9, "maxDca"); - histos.add("event/cuts", "cuts", kTH1D, {{10, 0, 10}}); - h = histos.get(HIST("event/cuts")); - h->GetXaxis()->SetBinLabel(1, "magField"); - h->GetXaxis()->SetBinLabel(2, "minRadius"); - h->GetXaxis()->SetBinLabel(3, "maxRadius"); - h->GetXaxis()->SetBinLabel(4, "minMomPt"); - h->GetXaxis()->SetBinLabel(5, "minKaonPt"); - h->GetXaxis()->SetBinLabel(6, "minPionPt"); - h->GetXaxis()->SetBinLabel(7, "minVtxContrib"); - h->GetXaxis()->SetBinLabel(8, "minDca"); - h->GetXaxis()->SetBinLabel(9, "maxDca"); - h->SetBinContent(1, magField); h->SetBinContent(2, minRadius); h->SetBinContent(3, maxRadius); @@ -124,11 +113,13 @@ struct Alice3CDeuteron { histos.add("event/track1dcaxy", "track1dcaxy Deuteron", kTH1D, {axisDcaXY}); histos.add("event/track1dcaz", "track1dcaz Deuteron", kTH1D, {axisDcaZ}); histos.add("event/candperdeuteron", "candperdeuteron", kTH1D, {{1000, 0, 10000}}); - histos.add("event/trackspdg", "trackspdg", kTH1D, {{3, 0.5, 3.5}}); + histos.add("event/particlespdg", "particlespdg", kTH1D, {{100, 0, 100}}); + histos.add("event/trackspdg", "trackspdg", kTH1D, {{4, 0.5, 4.5}}); h = histos.get(HIST("event/trackspdg")); h->GetXaxis()->SetBinLabel(1, "d"); h->GetXaxis()->SetBinLabel(2, "K"); h->GetXaxis()->SetBinLabel(3, "#pi"); + h->GetXaxis()->SetBinLabel(4, "Rest"); histos.add("event/multiplicity", "multiplicity", kTH1D, {{1000, 0, 10000}}); #define MakeHistos(tag) \ @@ -173,8 +164,9 @@ struct Alice3CDeuteron { const soa::Join& tracks, const aod::McParticles& mcParticles) { - - for (auto i : mcParticles) { + const auto particlesInCollision = mcParticles.sliceBy(aod::mcparticle::mcCollisionId, coll.mcCollision().globalIndex()); + for (const auto& i : particlesInCollision) { + histos.get(HIST("event/particlespdg"))->Fill(Form("%i", i.pdgCode()), 1); if (i.pdgCode() != 12345) { continue; } @@ -206,6 +198,8 @@ struct Alice3CDeuteron { histos.fill(HIST("event/trackspdg"), 2); } else if (t.mcParticle().pdgCode() == 211) { histos.fill(HIST("event/trackspdg"), 3); + } else { + histos.fill(HIST("event/trackspdg"), 4); } ntrks++; }