Skip to content

Commit 67d69e9

Browse files
authored
[ALICE3] Save additional daughter information in otf multi-charm task (#11335)
1 parent 520383c commit 67d69e9

File tree

1 file changed

+22
-3
lines changed

1 file changed

+22
-3
lines changed

ALICE3/TableProducer/alice3-multicharm.cxx

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,8 @@ struct alice3multicharm {
131131
ConfigurableAxis axisDecayLength{"axisDecayLength", {2000, 0, 2000}, "Decay lenght (#mum)"};
132132
ConfigurableAxis axisTOFTrack{"axisTOFTrack", {1000, 0, 5000}, "TOF track time"};
133133

134+
ConfigurableAxis axisPiMass{"axisPiMass", {200, 0.089f, 0.189f}, "Pi Inv Mass (GeV/c^{2})"};
135+
ConfigurableAxis axisPrMass{"axisPrMass", {200, 0.838f, 1.038f}, "Pr Inv Mass (GeV/c^{2})"};
134136
ConfigurableAxis axisXiMass{"axisXiMass", {200, 1.221f, 1.421f}, "Xi Inv Mass (GeV/c^{2})"};
135137
ConfigurableAxis axisXiCMass{"axisXiCMass", {200, 2.368f, 2.568f}, "XiC Inv Mass (GeV/c^{2})"};
136138
ConfigurableAxis axisXiCCMass{"axisXiCCMass", {200, 3.521f, 3.721f}, "XiCC Inv Mass (GeV/c^{2})"};
@@ -412,7 +414,15 @@ struct alice3multicharm {
412414

413415
histos.add("hEtaXiCC", "hEtaXiCC", kTH1D, {axisEta});
414416
histos.add("hPtXiCC", "hPtXiCC", kTH1D, {axisPt});
415-
histos.add("h3dMassXiCC", "h3dMassXiCC", kTH3D, {axisPt, axisEta, axisXiCCMass});
417+
histos.add("h3dXicc", "h3dXicc", kTH3D, {axisPt, axisEta, axisXiCCMass});
418+
histos.add("h3dXic", "h3dXic", kTH3D, {axisPt, axisEta, axisXiCMass});
419+
histos.add("h3dXi", "h3dXi", kTH3D, {axisPt, axisEta, axisXiMass});
420+
histos.add("h3dPicc", "h3dPicc", kTH3D, {axisPt, axisEta, axisPiMass});
421+
histos.add("h3dPi1c", "h3dPi1c", kTH3D, {axisPt, axisEta, axisPiMass});
422+
histos.add("h3dPi2c", "h3dPi2c", kTH3D, {axisPt, axisEta, axisPiMass});
423+
histos.add("h3dBach", "h3dBach", kTH3D, {axisPt, axisEta, axisPiMass});
424+
histos.add("h3dPos", "h3dPos", kTH3D, {axisPt, axisEta, axisPrMass});
425+
histos.add("h3dNeg", "h3dNeg", kTH3D, {axisPt, axisEta, axisPiMass});
416426

417427
histos.add("hDCAXiCDaughters", "hDCAXiCDaughters", kTH1D, {axisDCAXiCDaughters});
418428
histos.add("hDCAXiCCDaughters", "hDCAXiCCDaughters", kTH1D, {axisDCAXiCCDaughters});
@@ -516,6 +526,11 @@ struct alice3multicharm {
516526
auto piFromLa = xiCand.negTrack_as<alice3tracks>(); // de-reference neg track
517527
auto prFromLa = xiCand.posTrack_as<alice3tracks>(); // de-reference pos track
518528

529+
histos.fill(HIST("h3dXi"), xi.pt(), xi.eta(), xiCand.mXi());
530+
histos.fill(HIST("h3dBach"), piFromXi.pt(), piFromXi.eta(), o2::constants::physics::MassPionCharged);
531+
histos.fill(HIST("h3dNeg"), piFromLa.pt(), piFromLa.eta(), o2::constants::physics::MassPionCharged);
532+
histos.fill(HIST("h3dPos"), prFromLa.pt(), prFromLa.eta(), o2::constants::physics::MassProton);
533+
519534
if (!bitcheck(xi.decayMap(), kTrueXiFromXiC))
520535
continue;
521536

@@ -543,6 +558,7 @@ struct alice3multicharm {
543558
if (pi1cTOFDiffInner > piFromXiC_tofDiffInner)
544559
continue; // did not arrive at expected time
545560

561+
histos.fill(HIST("h3dPi1c"), pi1c.pt(), pi1c.eta(), o2::constants::physics::MassPionCharged);
546562
histos.fill(HIST("hInnerTOFTrackTimeRecoPi1c"), pi1cTOFDiffInner);
547563
// second pion from XiC decay for starts here
548564
for (auto const& pi2c : tracksPiFromXiCgrouped) {
@@ -564,6 +580,8 @@ struct alice3multicharm {
564580
continue; // did not arrive at expected time
565581

566582
histos.fill(HIST("hInnerTOFTrackTimeRecoPi2c"), pi2cTOFDiffInner);
583+
histos.fill(HIST("h3dPi2c"), pi2c.pt(), pi2c.eta(), o2::constants::physics::MassPionCharged);
584+
567585
// if I am here, it means this is a triplet to be considered for XiC vertexing.
568586
// will now attempt to build a three-body decay candidate with these three track rows.
569587

@@ -613,7 +631,7 @@ struct alice3multicharm {
613631
histos.fill(HIST("hDCAxyXiC"), std::fabs(xicdcaXY * 1e+4));
614632
histos.fill(HIST("hDCAzXiC"), std::fabs(xicdcaZ * 1e+4));
615633
histos.fill(HIST("hMassXiC"), thisXiCcandidate.mass);
616-
634+
histos.fill(HIST("h3dXic"), thisXiCcandidate.pt, thisXiCcandidate.eta, thisXiCcandidate.mass);
617635
// attempt XiCC finding
618636
uint32_t nCombinationsCC = 0;
619637
for (auto const& picc : tracksPiFromXiCCgrouped) {
@@ -633,6 +651,7 @@ struct alice3multicharm {
633651
continue; // did not arrive at expected time
634652

635653
histos.fill(HIST("hInnerTOFTrackTimeRecoPicc"), piccTOFDiffInner);
654+
histos.fill(HIST("h3dPicc"), picc.pt(), picc.eta(), o2::constants::physics::MassPionCharged);
636655

637656
o2::track::TrackParCov piccTrack = getTrackParCov(picc);
638657
nCombinationsCC++;
@@ -710,7 +729,7 @@ struct alice3multicharm {
710729
histos.fill(HIST("hMassXiCC"), thisXiCCcandidate.mass);
711730
histos.fill(HIST("hPtXiCC"), thisXiCCcandidate.pt);
712731
histos.fill(HIST("hEtaXiCC"), thisXiCCcandidate.eta);
713-
histos.fill(HIST("h3dMassXiCC"), thisXiCCcandidate.pt, thisXiCCcandidate.eta, thisXiCCcandidate.mass);
732+
histos.fill(HIST("h3dXicc"), thisXiCCcandidate.pt, thisXiCCcandidate.eta, thisXiCCcandidate.mass);
714733

715734
// produce multi-charm table for posterior analysis
716735
if (fillDerivedTable) {

0 commit comments

Comments
 (0)