Skip to content

Commit 269a63c

Browse files
authored
[ALICE3] Additional QA histograms to multicharm task (#10795)
1 parent ee90738 commit 269a63c

File tree

2 files changed

+28
-4
lines changed

2 files changed

+28
-4
lines changed

ALICE3/TableProducer/OTF/onTheFlyTracker.cxx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -323,6 +323,7 @@ struct OnTheFlyTracker {
323323
histos.add("h2dVerticesVsContributors", "h2dVerticesVsContributors", kTH2F, {axes.axisMultiplicity, axes.axisNVertices});
324324
histos.add("hRecoVsSimMultiplicity", "hRecoVsSimMultiplicity", kTH2F, {axes.axisMultiplicity, axes.axisMultiplicity});
325325
histos.add("h2dDCAxy", "h2dDCAxy", kTH2F, {axes.axisMomentum, axes.axisDCA});
326+
histos.add("h2dDCAz", "h2dDCAz", kTH2F, {axes.axisMomentum, axes.axisDCA});
326327

327328
histos.add("hSimTrackX", "hSimTrackX", kTH1F, {axes.axisX});
328329
histos.add("hRecoTrackX", "hRecoTrackX", kTH1F, {axes.axisX});
@@ -1042,6 +1043,7 @@ struct OnTheFlyTracker {
10421043
}
10431044
if (doExtraQA && (!extraQAwithoutDecayDaughters || (extraQAwithoutDecayDaughters && !trackParCov.isDecayDau))) {
10441045
histos.fill(HIST("h2dDCAxy"), trackParametrization.getPt(), dcaXY * 1e+4); // in microns, please
1046+
histos.fill(HIST("h2dDCAz"), trackParametrization.getPt(), dcaZ * 1e+4); // in microns, please
10451047
histos.fill(HIST("hTrackXatDCA"), trackParametrization.getX());
10461048
}
10471049
if (cascadeDecaySettings.doXiQA) {
@@ -1107,6 +1109,7 @@ struct OnTheFlyTracker {
11071109
}
11081110
if (doExtraQA && (!extraQAwithoutDecayDaughters || (extraQAwithoutDecayDaughters && !trackParCov.isDecayDau))) {
11091111
histos.fill(HIST("h2dDCAxy"), trackParametrization.getPt(), dcaXY * 1e+4); // in microns, please
1112+
histos.fill(HIST("h2dDCAz"), trackParametrization.getPt(), dcaZ * 1e+4); // in microns, please
11101113
histos.fill(HIST("hTrackXatDCA"), trackParametrization.getX());
11111114
}
11121115
tracksDCA(dcaXY, dcaZ);

ALICE3/TableProducer/alice3-multicharm.cxx

Lines changed: 25 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ struct alice3multicharm {
9494

9595
Configurable<float> minPiCPt{"minPiCPt", 0.15, "Minimum pT for XiC pions"};
9696
Configurable<float> minPiCCPt{"minPiCCPt", 0.3, "Minimum pT for XiCC pions"};
97-
Configurable<float> minMultiplicity{"minMultiplicity", 0, "Minimum multiplicity"};
97+
Configurable<float> minNTracks{"minNTracks", -1, "Minimum number of tracks"};
9898

9999
Configurable<float> minXiCRadius{"minXiCRadius", 0.001, "Minimum R2D for XiC decay (cm)"};
100100
Configurable<float> massWindowXi{"massWindowXi", 0.015, "Mass window around Xi peak"};
@@ -108,6 +108,7 @@ struct alice3multicharm {
108108
ConfigurableAxis axisXiCMass{"axisXiCMass", {200, 2.368f, 2.568f}, "XiC Inv Mass (GeV/c^{2})"};
109109
ConfigurableAxis axisXiCCMass{"axisXiCCMass", {200, 3.521f, 3.721f}, "XiCC Inv Mass (GeV/c^{2})"};
110110

111+
ConfigurableAxis axisDCAXi{"axisDCAXi", {200, 0, 200}, "DCA (mum)"};
111112
ConfigurableAxis axisDCAXiCDaughters{"axisDCAXiCDaughters", {200, 0, 100}, "DCA (mum)"};
112113
ConfigurableAxis axisDCAXiCCDaughters{"axisDCAXiCCDaughters", {200, 0, 100}, "DCA (mum)"};
113114

@@ -390,13 +391,19 @@ struct alice3multicharm {
390391

391392
histos.add("hDCAXiCDaughters", "hDCAXiCDaughters", kTH1D, {axisDCAXiCDaughters});
392393
histos.add("hDCAXiCCDaughters", "hDCAXiCCDaughters", kTH1D, {axisDCAXiCCDaughters});
394+
histos.add("hDCAXi", "hDCAXi", kTH1D, {axisDCAXi});
395+
histos.add("hPi1cPt", "hPi1cPt", kTH1D, {axisPt});
396+
histos.add("hPi2cPt", "hPi2cPt", kTH1D, {axisPt});
397+
histos.add("hPiccPt", "hPiccPt", kTH1D, {axisPt});
393398

394399
// These histograms bookkeep the exact number of combinations attempted
395400
// CombinationsXiC: triplets Xi-pi-pi considered per Xi
396401
// CombinationsXiCC: doublets XiC-pi considered per XiC
397402
histos.add("hCombinationsXiC", "hCombinationsXiC", kTH1D, {axisNConsidered});
398403
histos.add("hCombinationsXiCC", "hCombinationsXiCC", kTH1D, {axisNConsidered});
399404
histos.add("hNCollisions", "hNCollisions", kTH1D, {{2, 0.5, 2.5}});
405+
histos.add("hNTracks", "hNTracks", kTH1D, {{500, 0, 5000}});
406+
400407
if (doDCAplots) {
401408
histos.add("h2dDCAxyVsPtXiFromXiC", "h2dDCAxyVsPtXiFromXiC", kTH2D, {axisPt, axisDCA});
402409
histos.add("h2dDCAxyVsPtPiFromXiC", "h2dDCAxyVsPtPiFromXiC", kTH2D, {axisPt, axisDCA});
@@ -421,7 +428,9 @@ struct alice3multicharm {
421428
void processFindXiCC(aod::Collision const& collision, alice3tracks const& tracks, aod::McParticles const&, aod::UpgradeCascades const& cascades)
422429
{
423430
histos.fill(HIST("hNCollisions"), 1);
424-
if (tracks.size() < minMultiplicity)
431+
histos.fill(HIST("hNTracks"), tracks.size());
432+
433+
if (tracks.size() < minNTracks)
425434
return;
426435

427436
histos.fill(HIST("hNCollisions"), 2);
@@ -463,6 +472,11 @@ struct alice3multicharm {
463472
if (!bitcheck(xi.decayMap(), kTrueXiFromXiC))
464473
continue;
465474

475+
if (xi.dcaXY() < xiFromXiC_dcaXYconstant)
476+
continue;
477+
478+
histos.fill(HIST("hDCAXi"), xi.dcaXY() * 1e+4);
479+
466480
for (auto const& pi1c : tracksPiFromXiCgrouped) {
467481
if (mcSameMotherCheck && !checkSameMother(xi, pi1c))
468482
continue;
@@ -471,6 +485,8 @@ struct alice3multicharm {
471485
if (pi1c.pt() < minPiCPt)
472486
continue;
473487

488+
histos.fill(HIST("hPi1cPt"), pi1c.pt());
489+
474490
// second pion from XiC decay for starts here
475491
for (auto const& pi2c : tracksPiFromXiCgrouped) {
476492

@@ -483,6 +499,8 @@ struct alice3multicharm {
483499
if (pi2c.pt() < minPiCPt)
484500
continue;
485501

502+
histos.fill(HIST("hPi2cPt"), pi2c.pt());
503+
486504
// if I am here, it means this is a triplet to be considered for XiC vertexing.
487505
// will now attempt to build a three-body decay candidate with these three track rows.
488506

@@ -523,12 +541,15 @@ struct alice3multicharm {
523541
uint32_t nCombinationsCC = 0;
524542
for (auto const& picc : tracksPiFromXiCCgrouped) {
525543

544+
if (mcSameMotherCheck && !checkSameMotherExtra(xi, picc))
545+
continue;
526546
if (xiCand.posTrackId() == picc.globalIndex() || xiCand.negTrackId() == picc.globalIndex() || xiCand.bachTrackId() == picc.globalIndex())
527547
continue; // avoid using any track that was already used
528548
if (picc.pt() < minPiCCPt)
529549
continue;
530-
if (mcSameMotherCheck && !checkSameMotherExtra(xi, picc))
531-
continue;
550+
551+
histos.fill(HIST("hPiccPt"), picc.pt());
552+
532553
o2::track::TrackParCov piccTrack = getTrackParCov(picc);
533554
nCombinationsCC++;
534555
histos.fill(HIST("hCharmBuilding"), 2.0f);

0 commit comments

Comments
 (0)