Skip to content

Commit e2da3b0

Browse files
Add TofBetaDe column for deuteron candidates
1 parent 7af234a commit e2da3b0

1 file changed

Lines changed: 17 additions & 2 deletions

File tree

PWGHF/D2H/Tasks/taskCd.cxx

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,7 @@ DECLARE_SOA_COLUMN(NSigmaTpcKa, nSigmaTpcKa, float); //! TPC nσ
100100
DECLARE_SOA_COLUMN(NSigmaTpcPi, nSigmaTpcPi, float); //! TPC nσ for pion hypothesis
101101
DECLARE_SOA_COLUMN(NSigmaItsDe, nSigmaItsDe, float); //! ITS nσ for deuteron hypothesis
102102
DECLARE_SOA_COLUMN(NSigmaTofDe, nSigmaTofDe, float); //! TOF nσ for deuteron hypothesis
103+
DECLARE_SOA_COLUMN(TofBetaDe, tofBetaDe, float); //! TOF beta for deuteron candidate
103104
DECLARE_SOA_COLUMN(NSigmaTofKa, nSigmaTofKa, float); //! TOF nσ for kaon hypothesis
104105
DECLARE_SOA_COLUMN(NSigmaTofPi, nSigmaTofPi, float); //! TOF nσ for pion hypothesis
105106
DECLARE_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

Comments
 (0)