@@ -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