@@ -65,6 +65,7 @@ enum CandidateType {
6565 D0ToPiK,
6666 D0ToKPi,
6767 LcToPKPi,
68+ LcToPiKP,
6869 Hadron
6970};
7071
@@ -121,7 +122,7 @@ struct HfDerivedDataCreatorCorrelationsReduced {
121122 Filter filterSelectDsCandidates = aod::hf_sel_candidate_ds::isSelDsToKKPi >= selectionFlag || aod::hf_sel_candidate_ds::isSelDsToPiKK >= selectionFlag;
122123 Filter filterSelectDplusCandidates = aod::hf_sel_candidate_dplus::isSelDplusToPiKPi >= selectionFlag;
123124 Filter filterSelectD0Candidates = aod::hf_sel_candidate_d0::isSelD0 >= selectionFlag || aod::hf_sel_candidate_d0::isSelD0bar >= selectionFlag;
124- Filter filterSelectLcCandidates = aod::hf_sel_candidate_lc::isSelLcToPKPi >= selectionFlag;
125+ Filter filterSelectLcCandidates = aod::hf_sel_candidate_lc::isSelLcToPKPi >= selectionFlag || aod::hf_sel_candidate_lc::isSelLcToPiKP >= selectionFlag ;
125126 Filter filterSelectTrkData = (nabs(aod::track::eta) < etaTrkMax) && (aod::track::pt > ptTrkMin) && (aod::track::pt < ptTrkMax) && (nabs(aod::track::dcaXY) < dcaXYTrkMax) && (nabs(aod::track::dcaZ) < dcaZTrkMax);
126127
127128 Preslice<CandDsData> candsDsPerColl = aod::hf_cand::collisionId;
@@ -135,6 +136,7 @@ struct HfDerivedDataCreatorCorrelationsReduced {
135136 Partition<CandD0Data> selectedD0ToPiK = aod::hf_sel_candidate_d0::isSelD0 >= selectionFlag;
136137 Partition<CandD0Data> selectedD0ToKPi = aod::hf_sel_candidate_d0::isSelD0bar >= selectionFlag;
137138 Partition<CandLcData> selectedLcToPKPi = aod::hf_sel_candidate_lc::isSelLcToPKPi >= selectionFlag;
139+ Partition<CandLcData> selectedLcToPiKP = aod::hf_sel_candidate_lc::isSelLcToPiKP >= selectionFlag;
138140
139141 ConfigurableAxis binsInvMass{" binsInvMass" , {300 , 1.6 , 2.2 }, " " };
140142 ConfigurableAxis binsMultFT0M{" binsMultFT0M" , {100 , 0 ., 10000 .}, " Multiplicity as FT0M signal amplitude" };
@@ -222,6 +224,9 @@ struct HfDerivedDataCreatorCorrelationsReduced {
222224 if constexpr (CandType == CandidateType::LcToPKPi) {
223225 return HfHelper::invMassLcToPKPi (candidate);
224226 }
227+ if constexpr (CandType == CandidateType::LcToPiKP) {
228+ return HfHelper::invMassLcToPiKP (candidate);
229+ }
225230 return -1 .;
226231 }
227232
@@ -261,6 +266,11 @@ struct HfDerivedDataCreatorCorrelationsReduced {
261266 outputMl[iclass] = candidate.mlProbLcToPKPi ()[classMl->at (iclass)];
262267 }
263268 }
269+ if constexpr (CandType == CandidateType::LcToPiKP) {
270+ for (unsigned int iclass = 0 ; iclass < classMl->size (); iclass++) {
271+ outputMl[iclass] = candidate.mlProbLcToPiKP ()[classMl->at (iclass)];
272+ }
273+ }
264274 return outputMl;
265275 }
266276
@@ -276,7 +286,7 @@ struct HfDerivedDataCreatorCorrelationsReduced {
276286 y = HfHelper::yDplus (candidate);
277287 } else if constexpr (CandType == CandidateType::D0ToPiK || CandType == CandidateType::D0ToKPi) {
278288 y = HfHelper::yD0 (candidate);
279- } else if constexpr (CandType == CandidateType::LcToPKPi) {
289+ } else if constexpr (CandType == CandidateType::LcToPKPi || CandType == CandidateType::LcToPiKP ) {
280290 y = HfHelper::yLc (candidate);
281291 } else {
282292 return true ;
@@ -582,7 +592,8 @@ struct HfDerivedDataCreatorCorrelationsReduced {
582592 CandLcData const &)
583593 {
584594 auto candsLcToPKPi = selectedLcToPKPi->sliceByCached (aod::hf_cand::collisionId, coll.globalIndex (), cache);
585- if (forceCharmInCollision && candsLcToPKPi.size () < 1 ) {
595+ auto candsLcToPiKP = selectedLcToPiKP->sliceByCached (aod::hf_cand::collisionId, coll.globalIndex (), cache);
596+ if (forceCharmInCollision && candsLcToPKPi.size () < 1 && candsLcToPiKP.size () < 1 ) {
586597 return ;
587598 }
588599 float cent{-1 .}, mult{-1 .};
@@ -591,6 +602,7 @@ struct HfDerivedDataCreatorCorrelationsReduced {
591602 }
592603 rowCollisions (mult, coll.numContrib (), cent, coll.posZ ());
593604 fillSameEvent<CandidateType::LcToPKPi>(candsLcToPKPi, tracks, cent);
605+ fillSameEvent<CandidateType::LcToPiKP>(candsLcToPiKP, tracks, cent);
594606 }
595607 PROCESS_SWITCH (HfDerivedDataCreatorCorrelationsReduced, processLcSameEvent, " Process Same Event for Lc candidates" , false );
596608
@@ -600,7 +612,8 @@ struct HfDerivedDataCreatorCorrelationsReduced {
600612 CandLcData const &)
601613 {
602614 auto candsLcToPKPi = selectedLcToPKPi->sliceByCached (aod::hf_cand::collisionId, coll.globalIndex (), cache);
603- if (forceCharmInCollision && candsLcToPKPi.size () < 1 ) {
615+ auto candsLcToPiKP = selectedLcToPiKP->sliceByCached (aod::hf_cand::collisionId, coll.globalIndex (), cache);
616+ if (forceCharmInCollision && candsLcToPKPi.size () < 1 && candsLcToPiKP.size () < 1 ) {
604617 return ;
605618 }
606619 float cent{-1 .}, mult{-1 .};
@@ -609,6 +622,7 @@ struct HfDerivedDataCreatorCorrelationsReduced {
609622 }
610623 rowCollisions (mult, coll.numContrib (), cent, coll.posZ ());
611624 fillCharmMixedEvent<CandidateType::LcToPKPi>(candsLcToPKPi);
625+ fillCharmMixedEvent<CandidateType::LcToPiKP>(candsLcToPiKP);
612626 fillTrkMixedEvent (tracks, cent);
613627 }
614628 PROCESS_SWITCH (HfDerivedDataCreatorCorrelationsReduced, processLcMixedEvent, " Process Mixed Event for Lc candidates" , false );
0 commit comments