@@ -82,8 +82,8 @@ struct alice3multicharm {
8282 Configurable<float > magneticField{" magneticField" , 20 .0f , " Magnetic field (in kilogauss)" };
8383 Configurable<bool > doDCAplots{" doDCAplots" , true , " do daughter prong DCA plots for D mesons" };
8484 Configurable<bool > mcSameMotherCheck{" mcSameMotherCheck" , true , " check if tracks come from the same MC mother" };
85- Configurable<float > dcaXiCDaughtersSelection{" dcaXiCDaughtersSelection" , 200 . 0f , " DCA between XiC daughters (cm)" };
86- Configurable<float > dcaXiCCDaughtersSelection{" dcaXiCCDaughtersSelection" , 200 . 0f , " DCA between XiCC daughters (cm)" };
85+ Configurable<float > dcaXiCDaughtersSelection{" dcaXiCDaughtersSelection" , 0 . 002f , " DCA between XiC daughters (cm)" };
86+ Configurable<float > dcaXiCCDaughtersSelection{" dcaXiCCDaughtersSelection" , 0 . 002f , " DCA between XiCC daughters (cm)" };
8787
8888 Configurable<float > piFromXiC_dcaXYconstant{" piFromXiC_dcaXYconstant" , 0 .001f , " [0] in |DCAxy| > [0]+[1]/pT" };
8989 Configurable<float > piFromXiC_dcaXYpTdep{" piFromXiC_dcaXYpTdep" , 0.0 , " [1] in |DCAxy| > [0]+[1]/pT" };
@@ -94,6 +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" };
9798
9899 Configurable<float > minXiCRadius{" minXiCRadius" , 0.001 , " Minimum R2D for XiC decay (cm)" };
99100 Configurable<float > massWindowXi{" massWindowXi" , 0.015 , " Mass window around Xi peak" };
@@ -107,8 +108,8 @@ struct alice3multicharm {
107108 ConfigurableAxis axisXiCMass{" axisXiCMass" , {200 , 2 .368f , 2 .568f }, " XiC Inv Mass (GeV/c^{2})" };
108109 ConfigurableAxis axisXiCCMass{" axisXiCCMass" , {200 , 3 .521f , 3 .721f }, " XiCC Inv Mass (GeV/c^{2})" };
109110
110- ConfigurableAxis axisDCAXiCDaughters{" axisDCAXiCDaughters" , {200 , 0 , 100 }, " DCA (cm )" };
111- ConfigurableAxis axisDCAXiCCDaughters{" axisDCAXiCCDaughters" , {200 , 0 , 100 }, " DCA (cm )" };
111+ ConfigurableAxis axisDCAXiCDaughters{" axisDCAXiCDaughters" , {200 , 0 , 100 }, " DCA (mum )" };
112+ ConfigurableAxis axisDCAXiCCDaughters{" axisDCAXiCCDaughters" , {200 , 0 , 100 }, " DCA (mum )" };
112113
113114 ConfigurableAxis axisNConsidered{" axisNConsidered" , {200 , -0 .5f , 199 .5f }, " Number of considered track combinations" };
114115
@@ -395,7 +396,7 @@ struct alice3multicharm {
395396 // CombinationsXiCC: doublets XiC-pi considered per XiC
396397 histos.add (" hCombinationsXiC" , " hCombinationsXiC" , kTH1D , {axisNConsidered});
397398 histos.add (" hCombinationsXiCC" , " hCombinationsXiCC" , kTH1D , {axisNConsidered});
398-
399+ histos. add ( " hNCollisions " , " hNCollisions " , kTH1D , {{ 2 , 0.5 , 2.5 }});
399400 if (doDCAplots) {
400401 histos.add (" h2dDCAxyVsPtXiFromXiC" , " h2dDCAxyVsPtXiFromXiC" , kTH2D , {axisPt, axisDCA});
401402 histos.add (" h2dDCAxyVsPtPiFromXiC" , " h2dDCAxyVsPtPiFromXiC" , kTH2D , {axisPt, axisDCA});
@@ -419,6 +420,12 @@ struct alice3multicharm {
419420 // *+-+*+-+*+-+*+-+*+-+*+-+*+-+*+-+*+-+*+-+*
420421 void processFindXiCC (aod::Collision const & collision, alice3tracks const & tracks, aod::McParticles const &, aod::UpgradeCascades const & cascades)
421422 {
423+ histos.fill (HIST (" hNCollisions" ), 1 );
424+ if (tracks.size () < minMultiplicity)
425+ return ;
426+
427+ histos.fill (HIST (" hNCollisions" ), 2 );
428+
422429 // group with this collision
423430 // n.b. cascades do not need to be grouped, being used directly in iterator-grouping
424431 auto tracksPiFromXiCgrouped = tracksPiFromXiC->sliceByCached (aod::track::collisionId, collision.globalIndex (), cache);
@@ -448,7 +455,7 @@ struct alice3multicharm {
448455 continue ; // out of mass region
449456
450457 uint32_t nCombinationsC = 0 ;
451- auto xi = xiCand.cascadeTrack_as <alice3tracks>(); // de-reference cascade track
458+ auto xi = xiCand.cascadeTrack_as <alice3tracks>(); // de-reference cascade track
452459 auto piFromXi = xiCand.bachTrack_as <alice3tracks>(); // de-reference bach track
453460 auto piFromLa = xiCand.negTrack_as <alice3tracks>(); // de-reference neg track
454461 auto prFromLa = xiCand.posTrack_as <alice3tracks>(); // de-reference pos track
@@ -481,7 +488,7 @@ struct alice3multicharm {
481488
482489 nCombinationsC++;
483490 histos.fill (HIST (" hCharmBuilding" ), 0 .0f );
484- if (!buildDecayCandidateThreeBody (xi, pi1c, pi2c, 1.32171 , 0.139570 , 0.139570 ))
491+ if (!buildDecayCandidateThreeBody (xi, pi1c, pi2c, o2::constants::physics::MassXiMinus, o2::constants::physics::MassPionCharged, o2::constants::physics::MassPionCharged ))
485492 continue ; // failed at building candidate
486493
487494 if (std::abs (thisXiCcandidate.mass - o2::constants::physics::MassXiCPlus) > massWindowXiC)
@@ -510,7 +517,7 @@ struct alice3multicharm {
510517 }
511518
512519 histos.fill (HIST (" hMassXiC" ), thisXiCcandidate.mass );
513- histos.fill (HIST (" hDCAXiCDaughters" ), thisXiCcandidate.dca );
520+ histos.fill (HIST (" hDCAXiCDaughters" ), thisXiCcandidate.dca * 1e+4 );
514521
515522 // attempt XiCC finding
516523 uint32_t nCombinationsCC = 0 ;
@@ -525,15 +532,15 @@ struct alice3multicharm {
525532 o2::track::TrackParCov piccTrack = getTrackParCov (picc);
526533 nCombinationsCC++;
527534 histos.fill (HIST (" hCharmBuilding" ), 2 .0f );
528- if (!buildDecayCandidateTwoBody (xicTrack, piccTrack, 2.46793 , 0.139570 ))
535+ if (!buildDecayCandidateTwoBody (xicTrack, piccTrack, o2::constants::physics::MassXiCPlus, o2::constants::physics::MassPionCharged ))
529536 continue ; // failed at building candidate
530- histos.fill (HIST (" hCharmBuilding" ), 3 .0f );
531537
538+ histos.fill (HIST (" hCharmBuilding" ), 3 .0f );
532539 histos.fill (HIST (" hMassXiCC" ), thisXiCCcandidate.mass );
533540 histos.fill (HIST (" hPtXiCC" ), thisXiCCcandidate.pt );
534541 histos.fill (HIST (" hEtaXiCC" ), thisXiCCcandidate.eta );
535542 histos.fill (HIST (" h3dMassXiCC" ), thisXiCCcandidate.pt , thisXiCCcandidate.eta , thisXiCCcandidate.mass );
536- histos.fill (HIST (" hDCAXiCCDaughters" ), thisXiCCcandidate.dca );
543+ histos.fill (HIST (" hDCAXiCCDaughters" ), thisXiCCcandidate.dca * 1e+4 );
537544
538545 const std::array<float , 3 > momentumCC = {
539546 thisXiCCcandidate.prong0mom [0 ] + thisXiCCcandidate.prong1mom [0 ],
0 commit comments