@@ -527,7 +527,7 @@ struct HigherMassResonances {
527527 }
528528
529529 template <typename T, typename V0s>
530- bool isSelectedV0Daughter (T const & track, float charge, double nsigmaV0DaughterTPC, V0s const & /* candidate */ )
530+ bool isSelectedV0Daughter (T const & track, float charge, double nsigmaV0DaughterTPC, V0s const & v0candidate )
531531 {
532532 if (config.qAPID ) {
533533 // Filling the PID of the V0 daughters in the region of the K0 peak.
@@ -576,7 +576,13 @@ struct HigherMassResonances {
576576 }
577577 rEventSelection.fill (HIST (" htrackscheck_v0_daughters" ), 8.5 );
578578
579- // if (std::abs())
579+ if (std::abs (v0candidate.tofNSigmaK0PiPlus ()) > config.confDaughPIDCutTOF && track.hasTOF ()) {
580+ return false ;
581+ }
582+
583+ if (std::abs (v0candidate.tofNSigmaK0PiMinus ()) > config.confDaughPIDCutTOF && track.hasTOF ()) {
584+ return false ;
585+ }
580586
581587 if (config.qAPID ) {
582588 (charge == 1 ) ? rKzeroShort.fill (HIST (" hNSigmaPosPionK0s_after" ), track.tpcInnerParam (), track.tpcNSigmaPi ()) : rKzeroShort.fill (HIST (" hNSigmaNegPionK0s_after" ), track.tpcInnerParam (), track.tpcNSigmaPi ());
@@ -586,7 +592,8 @@ struct HigherMassResonances {
586592 }
587593
588594 using EventCandidatesDerivedData = soa::Join<aod::StraCollisions, aod::StraCents, aod::StraEvSels, aod::StraStamps>;
589- using V0CandidatesDerivedData = soa::Join<aod::V0CollRefs, aod::V0Cores, aod::V0Extras>;
595+ using V0CandidatesDerivedData = soa::Join<aod::V0CollRefs, aod::V0Cores, aod::V0Extras, aod::V0TOFPIDs, aod::V0TOFNSigmas>;
596+ // using DauTracks = soa::Join<aod::DauTrackExtras, aod::DauTrackTPCPIDs, aod::DauTrackTOFPIDs>;
590597 using DauTracks = soa::Join<aod::DauTrackExtras, aod::DauTrackTPCPIDs>;
591598
592599 template <typename TV0>
@@ -618,10 +625,20 @@ struct HigherMassResonances {
618625 return false ;
619626 }
620627
628+ // // check TOF PID if TOF exists
629+
621630 if (config.isApplyDCAv0topv && (std::abs (v0.dcapostopv ()) < config.cMaxV0DCA || std::abs (v0.dcanegtopv ()) < config.cMaxV0DCA )) {
622631 return false ;
623632 }
624633
634+ if (std::abs (v0.tofNSigmaK0PiPlus ()) > config.confDaughPIDCutTOF && posTrackExtra.hasTOF ()) {
635+ return false ;
636+ }
637+
638+ if (std::abs (v0.tofNSigmaK0PiMinus ()) > config.confDaughPIDCutTOF && negTrackExtra.hasTOF ()) {
639+ return false ;
640+ }
641+
625642 // rKzeroShort.fill(HIST("negative_pt"), negTrackExtra.pt());
626643 // rKzeroShort.fill(HIST("positive_pt"), posTrackExtra.pt());
627644 // rKzeroShort.fill(HIST("negative_eta"), negTrackExtra.eta());
@@ -662,11 +679,11 @@ struct HigherMassResonances {
662679 // Defining the type of the daughter tracks
663680 using EventCandidates = soa::Filtered<soa::Join<aod::Collisions, aod::EvSels, aod::FT0Mults, aod::FV0Mults, aod::MultZeqs, aod::CentFT0Ms, aod::CentFT0As, aod::CentFT0Cs, aod::CentFV0As, aod::Mults, aod::PVMults>>;
664681 using TrackCandidates = soa::Filtered<soa::Join<aod::Tracks, aod::TrackSelection, aod::TracksExtra, aod::TracksDCA, aod::pidTPCFullPi, aod::pidTOFFullPi>>;
665- using V0TrackCandidate = aod::V0Datas;
682+ using V0TrackCandidate = soa::Join< aod::V0Datas, aod::V0TOFPIDs, aod::V0TOFNSigmas> ;
666683 // For Monte Carlo
667684 using EventCandidatesMC = soa::Join<aod::Collisions, aod::EvSels, aod::McCollisionLabels, aod::CentFT0Cs, aod::CentFT0Ms, aod::CentFT0As, aod::CentFV0As, aod::PVMults>;
668685 using TrackCandidatesMC = soa::Filtered<soa::Join<aod::Tracks, aod::TracksExtra, aod::TracksDCA, aod::TrackSelection, aod::pidTPCFullKa, aod::pidTOFFullKa, aod::pidTPCFullPi, aod::pidTOFFullPi, aod::McTrackLabels>>;
669- using V0TrackCandidatesMC = soa::Filtered<soa::Join<aod::V0Datas, aod::McV0Labels>>;
686+ using V0TrackCandidatesMC = soa::Filtered<soa::Join<aod::V0Datas, aod::V0TOFPIDs, aod::V0TOFNSigmas, aod:: McV0Labels>>;
670687 // zBeam direction in lab frame
671688
672689 template <typename T>
@@ -851,7 +868,7 @@ struct HigherMassResonances {
851868 // }
852869 }
853870
854- void processSE (EventCandidates::iterator const & collision, TrackCandidates const & /* tracks*/ , aod::V0Datas const & V0s)
871+ void processSE (EventCandidates::iterator const & collision, TrackCandidates const & /* tracks*/ , V0TrackCandidate const & V0s)
855872 {
856873 multiplicity = 0.0 ;
857874
@@ -921,16 +938,33 @@ struct HigherMassResonances {
921938 continue ;
922939 }
923940
924- if (postrack1.hasTOF () && negtrack1.hasTOF () && postrack2.hasTOF () && negtrack2.hasTOF ()) {
925- double nTOFSigmaPos1{postrack1.tofNSigmaPi ()};
926- double nTOFSigmaNeg1{negtrack1.tofNSigmaPi ()};
927- double nTOFSigmaPos2{postrack2.tofNSigmaPi ()};
928- double nTOFSigmaNeg2{negtrack2.tofNSigmaPi ()};
929- if ((std::abs (nTOFSigmaPos1) > config.confDaughPIDCutTPC ) || (std::abs (nTOFSigmaNeg1) > config.confDaughPIDCutTPC ) ||
930- (std::abs (nTOFSigmaPos2) > config.confDaughPIDCutTPC ) || (std::abs (nTOFSigmaNeg2) > config.confDaughPIDCutTPC )) {
931- continue ;
932- }
933- }
941+ // if (postrack1.hasTOF()) {
942+ // double nTOFSigmaPos1{postrack1.tofNSigmaPi()};
943+ // if ((std::abs(nTOFSigmaPos1) > config.confDaughPIDCutTOF)) {
944+ // continue;
945+ // }
946+ // }
947+
948+ // if (negtrack1.hasTOF()) {
949+ // double nTOFSigmaNeg1{negtrack1.tofNSigmaPi()};
950+ // if (std::abs(nTOFSigmaNeg1) > config.confDaughPIDCutTOF) {
951+ // continue;
952+ // }
953+ // }
954+
955+ // if (postrack2.hasTOF()) {
956+ // double nTOFSigmaPos2{postrack2.tofNSigmaPi()};
957+ // if ((std::abs(nTOFSigmaPos2) > config.confDaughPIDCutTOF)) {
958+ // continue;
959+ // }
960+ // }
961+
962+ // if (negtrack2.hasTOF()) {
963+ // double nTOFSigmaNeg2{negtrack2.tofNSigmaPi()};
964+ // if (std::abs(nTOFSigmaNeg2) > config.confDaughPIDCutTOF) {
965+ // continue;
966+ // }
967+ // }
934968
935969 if (std::find (v0indexes.begin (), v0indexes.end (), v1.globalIndex ()) == v0indexes.end ()) {
936970 v0indexes.push_back (v1.globalIndex ());
0 commit comments