@@ -100,6 +100,7 @@ DECLARE_SOA_COLUMN(NSigmaTpcKa, nSigmaTpcKa, float); //! TPC nσ
100100DECLARE_SOA_COLUMN (NSigmaTpcPi, nSigmaTpcPi, float ); // ! TPC nσ for pion hypothesis
101101DECLARE_SOA_COLUMN (NSigmaItsDe, nSigmaItsDe, float ); // ! ITS nσ for deuteron hypothesis
102102DECLARE_SOA_COLUMN (NSigmaTofDe, nSigmaTofDe, float ); // ! TOF nσ for deuteron hypothesis
103+ DECLARE_SOA_COLUMN (TofBetaDe, tofBetaDe, float ); // ! TOF beta for deuteron candidate
103104DECLARE_SOA_COLUMN (NSigmaTofKa, nSigmaTofKa, float ); // ! TOF nσ for kaon hypothesis
104105DECLARE_SOA_COLUMN (NSigmaTofPi, nSigmaTofPi, float ); // ! TOF nσ for pion hypothesis
105106DECLARE_SOA_COLUMN (NItsClusters, nItsClusters, float ); // ! Number of ITS clusters used in the track fit
@@ -145,6 +146,7 @@ DECLARE_SOA_TABLE(HfCandCdLite, "AOD", "HFCANDCDLITE",
145146 full::NSigmaTpcPr,
146147 full::NSigmaItsDe,
147148 full::NSigmaTofDe,
149+ full::TofBetaDe,
148150 full::CtRec,
149151 full::CandidateSelFlag,
150152 full::CandidateSign,
@@ -175,6 +177,7 @@ DECLARE_SOA_TABLE(HfCandCdFull, "AOD", "HFCANDCDFULL",
175177 full::NSigmaTpcPr,
176178 full::NSigmaItsDe,
177179 full::NSigmaTofDe,
180+ full::TofBetaDe,
178181 full::NSigmaTpcPi,
179182 full::NSigmaTofPi,
180183 full::NSigmaTpcKa,
@@ -235,8 +238,8 @@ struct HfTaskCd {
235238 using CdCandidates = soa::Filtered<soa::Join<aod::HfCand3Prong, aod::HfSelCd, aod::HfCand3ProngWPidPiKaDe>>;
236239 using CdCandidatesMc = soa::Filtered<soa::Join<aod::HfCand3Prong, aod::HfSelCd, aod::HfCand3ProngWPidPiKaDe, aod::HfCand3ProngMcRec>>;
237240 using McParticles3ProngMatched = soa::Join<aod::McParticles, aod::HfCand3ProngMcGen>;
238- using HFTracks = soa::Join<aod::FullTracks, aod::TracksDCA, aod::pidTPCFullPi, aod::pidTPCFullKa, aod::pidTPCFullDe, aod::pidTOFFullPi, aod::pidTOFFullKa, aod::pidTOFFullDe>;
239- using HFTracksMc = soa::Join<aod::FullTracks, aod::TracksDCA, aod::pidTPCFullPi, aod::pidTPCFullKa, aod::pidTPCFullDe, aod::pidTOFFullPi, aod::pidTOFFullKa, aod::pidTOFFullDe, aod::McTrackLabels>;
241+ using HFTracks = soa::Join<aod::FullTracks, aod::TracksDCA, aod::pidTOFbeta, aod:: pidTPCFullPi, aod::pidTPCFullKa, aod::pidTPCFullDe, aod::pidTOFFullPi, aod::pidTOFFullKa, aod::pidTOFFullDe>;
242+ using HFTracksMc = soa::Join<aod::FullTracks, aod::TracksDCA, aod::pidTOFbeta, aod:: pidTPCFullPi, aod::pidTPCFullKa, aod::pidTPCFullDe, aod::pidTOFFullPi, aod::pidTOFFullKa, aod::pidTOFFullDe, aod::McTrackLabels>;
240243
241244 Filter filterSelectCandidates = aod::hf_sel_candidate_cd::isSelCdToDeKPi >= selectionFlagCd || aod::hf_sel_candidate_cd::isSelCdToPiKDe >= selectionFlagCd;
242245 Preslice<aod::HfCand3Prong> candCdPerCollision = aod::hf_cand::collisionId;
@@ -518,13 +521,16 @@ struct HfTaskCd {
518521 float nSigmaTpcDe = 0 .f , nSigmaTpcKa = 0 .f , nSigmaTpcPi = 0 .f , nSigmaTpcPr = 0 .f ;
519522 float nSigmaItsDe = 0 .f ;
520523 float nSigmaTofDe = 0 .f , nSigmaTofKa = 0 .f , nSigmaTofPi = 0 .f ;
524+ float tofBetaDe = -999 .f ;
521525
522526 float dcaDeuteron = 0 .f , dcaKaon = 0 .f , dcaPion = 0 .f ;
523527
524528 const bool selDeKPi = (candidate.isSelCdToDeKPi () >= selectionFlagCd);
525529 const bool selPiKDe = (candidate.isSelCdToPiKDe () >= selectionFlagCd);
526530
531+ auto prong0 = candidate.template prong0_as <HFTracksMc>();
527532 auto prong1 = candidate.template prong1_as <HFTracksMc>();
533+ auto prong2 = candidate.template prong2_as <HFTracksMc>();
528534
529535 auto prong0Its = tracksWithItsPid.iteratorAt (candidate.prong0Id () - tracksWithItsPid.offset ());
530536 auto prong2Its = tracksWithItsPid.iteratorAt (candidate.prong2Id () - tracksWithItsPid.offset ());
@@ -540,6 +546,7 @@ struct HfTaskCd {
540546 nSigmaTpcDe = candidate.nSigTpcDe0 ();
541547 nSigmaTpcPr = candidate.nSigTpcPr0 ();
542548 nSigmaTofDe = candidate.nSigTofDe0 ();
549+ tofBetaDe = (prong0.hasTOF () && prong0.beta () > 0 .f ) ? prong0.beta () : -999 .f ;
543550 nSigmaTpcPi = candidate.nSigTpcPi2 ();
544551 nSigmaTofPi = candidate.nSigTofPi2 ();
545552 nSigmaItsDe = prong0Its.itsNSigmaDe ();
@@ -553,6 +560,7 @@ struct HfTaskCd {
553560 nSigmaTpcDe = candidate.nSigTpcDe2 ();
554561 nSigmaTpcPr = candidate.nSigTpcPr2 ();
555562 nSigmaTofDe = candidate.nSigTofDe2 ();
563+ tofBetaDe = (prong2.hasTOF () && prong2.beta () > 0 .f ) ? prong2.beta () : -999 .f ;
556564 nSigmaTpcPi = candidate.nSigTpcPi0 ();
557565 nSigmaTofPi = candidate.nSigTofPi0 ();
558566 nSigmaItsDe = prong2Its.itsNSigmaDe ();
@@ -591,6 +599,7 @@ struct HfTaskCd {
591599 nSigmaTpcPr,
592600 nSigmaItsDe,
593601 nSigmaTofDe,
602+ tofBetaDe,
594603 candidate.ct (o2::constants::physics::MassCDeuteron) * cmToMum,
595604 candFlag,
596605 candSign,
@@ -622,6 +631,7 @@ struct HfTaskCd {
622631 nSigmaTpcPr,
623632 nSigmaItsDe,
624633 nSigmaTofDe,
634+ tofBetaDe,
625635 nSigmaTpcPi,
626636 nSigmaTofPi,
627637 nSigmaTpcKa,
@@ -833,6 +843,7 @@ struct HfTaskCd {
833843 float nSigmaTpcDe = 0 .f , nSigmaTpcKa = 0 .f , nSigmaTpcPi = 0 .f , nSigmaTpcPr = 0 .f ;
834844 float nSigmaItsDe = 0 .f ;
835845 float nSigmaTofDe = 0 .f , nSigmaTofKa = 0 .f , nSigmaTofPi = 0 .f ;
846+ float tofBetaDe = -999 .f ;
836847
837848 float dcaDeuteron = 0 .f , dcaKaon = 0 .f , dcaPion = 0 .f ;
838849 // int itsNClusterSizeDe = 0;
@@ -870,6 +881,7 @@ struct HfTaskCd {
870881 nSigmaTpcDe = candidate.nSigTpcDe0 ();
871882 nSigmaTpcPr = candidate.nSigTpcPr0 ();
872883 nSigmaTofDe = candidate.nSigTofDe0 ();
884+ tofBetaDe = (prong0.hasTOF () && prong0.beta () > 0 .f ) ? prong0.beta () : -999 .f ;
873885 nSigmaTpcPi = candidate.nSigTpcPi2 ();
874886 nSigmaTofPi = candidate.nSigTofPi2 ();
875887 nSigmaItsDe = prong0Its.itsNSigmaDe ();
@@ -888,6 +900,7 @@ struct HfTaskCd {
888900 nSigmaTpcDe = candidate.nSigTpcDe2 ();
889901 nSigmaTpcPr = candidate.nSigTpcPr2 ();
890902 nSigmaTofDe = candidate.nSigTofDe2 ();
903+ tofBetaDe = (prong2.hasTOF () && prong2.beta () > 0 .f ) ? prong2.beta () : -999 .f ;
891904 nSigmaTpcPi = candidate.nSigTpcPi0 ();
892905 nSigmaTofPi = candidate.nSigTofPi0 ();
893906 nSigmaItsDe = prong2Its.itsNSigmaDe ();
@@ -945,6 +958,7 @@ struct HfTaskCd {
945958 nSigmaTpcPr,
946959 nSigmaItsDe,
947960 nSigmaTofDe,
961+ tofBetaDe,
948962 candidate.ct (o2::constants::physics::MassCDeuteron),
949963 candFlag,
950964 candSign,
@@ -977,6 +991,7 @@ struct HfTaskCd {
977991 nSigmaTpcPr,
978992 nSigmaItsDe,
979993 nSigmaTofDe,
994+ tofBetaDe,
980995 nSigmaTpcPi,
981996 nSigmaTofPi,
982997 nSigmaTpcKa,
0 commit comments