Skip to content

Commit 0ba4447

Browse files
committed
make code more readable and variables more understandable
1 parent 4b4d93b commit 0ba4447

File tree

1 file changed

+123
-47
lines changed

1 file changed

+123
-47
lines changed

PWGHF/TableProducer/treeCreatorLcToPKPi.cxx

Lines changed: 123 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -510,6 +510,27 @@ struct HfTreeCreatorLcToPKPi {
510510
const float functionCt = hfHelper.ctLc(candidate);
511511
const float functionY = hfHelper.yLc(candidate);
512512
const float functionE = hfHelper.eLc(candidate);
513+
float valueTpcNSigmaPi;
514+
float valueTpcNSigmaPr;
515+
float valueTofNSigmaPi;
516+
float valueTofNSigmaPr;
517+
float valueTpcTofNSigmaPi;
518+
float valueTpcTofNSigmaPr;
519+
if (candFlag == 0) {
520+
valueTpcNSigmaPi = trackPos1.tpcNSigmaPi();
521+
valueTpcNSigmaPr = trackPos2.tpcNSigmaPr();
522+
valueTofNSigmaPi = trackPos1.tofNSigmaPi();
523+
valueTofNSigmaPr = trackPos2.tofNSigmaPr();
524+
valueTpcTofNSigmaPi = trackPos1.tpcTofNSigmaPi();
525+
valueTpcTofNSigmaPr = trackPos2.tpcTofNSigmaPr();
526+
} else {
527+
valueTpcNSigmaPi = trackPos2.tpcNSigmaPi();
528+
valueTpcNSigmaPr = trackPos1.tpcNSigmaPr();
529+
valueTofNSigmaPi = trackPos2.tofNSigmaPi();
530+
valueTofNSigmaPr = trackPos1.tofNSigmaPr();
531+
valueTpcTofNSigmaPi = trackPos2.tpcTofNSigmaPi();
532+
valueTpcTofNSigmaPr = trackPos1.tpcTofNSigmaPr();
533+
}
513534
if (fillCandidateLiteTable) {
514535
rowCandidateLite(
515536
candidate.posX(),
@@ -526,15 +547,15 @@ struct HfTreeCreatorLcToPKPi {
526547
candidate.impactParameter0(),
527548
candidate.impactParameter1(),
528549
candidate.impactParameter2(),
529-
candFlag == 0 ? trackPos1.tpcNSigmaPi() : trackPos2.tpcNSigmaPi(),
550+
valueTpcNSigmaPi,
530551
trackNeg.tpcNSigmaKa(),
531-
candFlag == 0 ? trackPos2.tpcNSigmaPr() : trackPos1.tpcNSigmaPr(),
532-
candFlag == 0 ? trackPos1.tofNSigmaPi() : trackPos2.tofNSigmaPi(),
552+
valueTpcNSigmaPr,
553+
valueTofNSigmaPi,
533554
trackNeg.tofNSigmaKa(),
534-
candFlag == 0 ? trackPos2.tofNSigmaPr() : trackPos1.tofNSigmaPr(),
535-
candFlag == 0 ? trackPos1.tpcTofNSigmaPi() : trackPos2.tpcTofNSigmaPi(),
555+
valueTofNSigmaPr,
556+
valueTpcTofNSigmaPi,
536557
trackNeg.tpcTofNSigmaKa(),
537-
candFlag == 0 ? trackPos2.tpcTofNSigmaPr() : trackPos1.tpcTofNSigmaPr(),
558+
valueTpcTofNSigmaPr,
538559
1 << candFlag,
539560
functionInvMass,
540561
candidate.pt(),
@@ -597,15 +618,15 @@ struct HfTreeCreatorLcToPKPi {
597618
candidate.errorImpactParameter0(),
598619
candidate.errorImpactParameter1(),
599620
candidate.errorImpactParameter2(),
600-
candFlag == 0 ? trackPos1.tpcNSigmaPi() : trackPos2.tpcNSigmaPi(),
621+
valueTpcNSigmaPi,
601622
trackNeg.tpcNSigmaKa(),
602-
candFlag == 0 ? trackPos2.tpcNSigmaPr() : trackPos1.tpcNSigmaPr(),
603-
candFlag == 0 ? trackPos1.tofNSigmaPi() : trackPos2.tofNSigmaPi(),
623+
valueTpcNSigmaPr,
624+
valueTofNSigmaPi,
604625
trackNeg.tofNSigmaKa(),
605-
candFlag == 0 ? trackPos2.tofNSigmaPr() : trackPos1.tofNSigmaPr(),
606-
candFlag == 0 ? trackPos1.tpcTofNSigmaPi() : trackPos2.tpcTofNSigmaPi(),
626+
valueTofNSigmaPr,
627+
valueTpcTofNSigmaPi,
607628
trackNeg.tpcTofNSigmaKa(),
608-
candFlag == 0 ? trackPos2.tpcTofNSigmaPr() : trackPos1.tpcTofNSigmaPr(),
629+
valueTpcTofNSigmaPr,
609630
1 << candFlag,
610631
functionInvMass,
611632
candidate.pt(),
@@ -626,6 +647,30 @@ struct HfTreeCreatorLcToPKPi {
626647
}
627648

628649
if constexpr (reconstructionType == aod::hf_cand::VertexerType::KfParticle) {
650+
float chi2primProton;
651+
float chi2primPion;
652+
float dcaProtonKaon;
653+
float dcaPionKaon;
654+
float chi2GeoProtonKaon;
655+
float chi2GeoPionKaon;
656+
float mass;
657+
if (candFlag == 0) {
658+
chi2primProton = candidate.kfChi2PrimProng0();
659+
chi2primPion = candidate.kfChi2PrimProng2();
660+
dcaProtonKaon = candidate.kfDcaProng0Prong1();
661+
dcaPionKaon = candidate.kfDcaProng1Prong2();
662+
chi2GeoProtonKaon = candidate.kfChi2GeoProng0Prong1();
663+
chi2GeoPionKaon = candidate.kfChi2GeoProng1Prong2();
664+
mass = candidate.kfMassPKPi();
665+
} else {
666+
chi2primProton = candidate.kfChi2PrimProng2();
667+
chi2primPion = candidate.kfChi2PrimProng0();
668+
dcaProtonKaon = candidate.kfDcaProng1Prong2();
669+
dcaPionKaon = candidate.kfDcaProng0Prong1();
670+
chi2GeoProtonKaon = candidate.kfChi2GeoProng1Prong2();
671+
chi2GeoPionKaon = candidate.kfChi2GeoProng0Prong1();
672+
mass = candidate.kfMassPiKP();
673+
}
629674
const float svX = candidate.xSecondaryVertex();
630675
const float svY = candidate.ySecondaryVertex();
631676
const float svZ = candidate.zSecondaryVertex();
@@ -635,18 +680,12 @@ struct HfTreeCreatorLcToPKPi {
635680
const float pvErrX = candidate.kfXPVError();
636681
const float pvErrY = candidate.kfYPVError();
637682
const float pvErrZ = candidate.kfZPVError();
638-
const float chi2primProton = candFlag == 0 ? candidate.kfChi2PrimProng0() : candidate.kfChi2PrimProng2();
639683
const float chi2primKaon = candidate.kfChi2PrimProng1();
640-
const float chi2primPion = candFlag == 0 ? candidate.kfChi2PrimProng2() : candidate.kfChi2PrimProng0();
641-
const float dcaProtonKaon = candFlag == 0 ? candidate.kfDcaProng0Prong1() : candidate.kfDcaProng1Prong2();
642684
const float dcaProtonPion = candidate.kfDcaProng0Prong2();
643-
const float dcaPionKaon = candFlag == 0 ? candidate.kfDcaProng1Prong2() : candidate.kfDcaProng0Prong1();
644-
const float chi2GeoProtonKaon = candFlag == 0 ? candidate.kfChi2GeoProng0Prong1() : candidate.kfChi2GeoProng1Prong2();
645685
const float chi2GeoProtonPion = candidate.kfChi2GeoProng0Prong2();
646-
const float chi2GeoPionKaon = candFlag == 0 ? candidate.kfChi2GeoProng1Prong2() : candidate.kfChi2GeoProng0Prong1();
647686
const float chi2Geo = candidate.kfChi2Geo();
648687
const float chi2Topo = candidate.kfChi2Topo();
649-
const float l = candidate.kfDecayLength();
688+
const float decayLength = candidate.kfDecayLength();
650689
const float dl = candidate.kfDecayLengthError();
651690
const float pt = std::sqrt(candidate.kfPx() * candidate.kfPx() + candidate.kfPy() * candidate.kfPy());
652691
const float deltaPt = std::sqrt(candidate.kfPx() * candidate.kfPx() * candidate.kfErrorPx() * candidate.kfErrorPx() +
@@ -656,23 +695,22 @@ struct HfTreeCreatorLcToPKPi {
656695
const float deltaP = std::sqrt(pt * pt * deltaPt * deltaPt +
657696
candidate.kfPz() * candidate.kfPz() * candidate.kfErrorPz() * candidate.kfErrorPz()) /
658697
p;
659-
const float t = l * MassLambdaCPlus / LightSpeedCm2PS / p;
698+
const float lifetime = decayLength * MassLambdaCPlus / LightSpeedCm2PS / p;
660699
const float deltaT = dl * MassLambdaCPlus / LightSpeedCm2PS / p;
661-
const float mass = candFlag == 0 ? candidate.kfMassPKPi() : candidate.kfMassPiKP();
662700
rowCandidateKF(
663701
candidate.collisionId(),
664702
svX, svY, svZ, svErrX, svErrY, svErrZ,
665703
pvErrX, pvErrY, pvErrZ,
666704
chi2primProton, chi2primKaon, chi2primPion,
667705
dcaProtonKaon, dcaProtonPion, dcaPionKaon,
668706
chi2GeoProtonKaon, chi2GeoProtonPion, chi2GeoPionKaon,
669-
chi2Geo, chi2Topo, l, dl, l / dl, t, deltaT,
707+
chi2Geo, chi2Topo, decayLength, dl, decayLength / dl, lifetime, deltaT,
670708
mass, p, pt, deltaP, deltaPt,
671709
functionSelection, sigbgstatus,
672710
collision.multNTracksPV());
673711
}
674712
if (fillCandidateMcTable) {
675-
float p, pt, svX, svY, svZ, pvX, pvY, pvZ, l, t;
713+
float p, pt, svX, svY, svZ, pvX, pvY, pvZ, decayLength, lifetime;
676714
if (!isMcCandidateSignal) {
677715
p = UndefValueFloat;
678716
pt = UndefValueFloat;
@@ -682,8 +720,8 @@ struct HfTreeCreatorLcToPKPi {
682720
pvX = UndefValueFloat;
683721
pvY = UndefValueFloat;
684722
pvZ = UndefValueFloat;
685-
l = UndefValueFloat;
686-
t = UndefValueFloat;
723+
decayLength = UndefValueFloat;
724+
lifetime = UndefValueFloat;
687725
} else {
688726
auto mcParticleProng0 = candidate.template prong0_as<soa::Join<TracksWPid, o2::aod::McTrackLabels>>().template mcParticle_as<soa::Join<aod::McParticles, aod::HfCand3ProngMcGen>>();
689727
auto indexMother = RecoDecay::getMother(particles, mcParticleProng0, o2::constants::physics::Pdg::kLambdaCPlus, true);
@@ -699,12 +737,12 @@ struct HfTreeCreatorLcToPKPi {
699737
svX = mcParticleProng0.vx();
700738
svY = mcParticleProng0.vy();
701739
svZ = mcParticleProng0.vz();
702-
l = RecoDecay::distance(std::array<float, 3>{svX, svY, svZ}, std::array<float, 3>{pvX, pvY, pvZ});
703-
t = mcParticleProng0.vt() * NanoToPico / gamma; // from ns to ps * from lab time to proper time
740+
decayLength = RecoDecay::distance(std::array<float, 3>{svX, svY, svZ}, std::array<float, 3>{pvX, pvY, pvZ});
741+
lifetime = mcParticleProng0.vt() * NanoToPico / gamma; // from ns to ps * from lab time to proper time
704742
}
705743
rowCandidateMC(
706744
p, pt,
707-
svX, svY, svZ, l, t,
745+
svX, svY, svZ, decayLength, lifetime,
708746
pvX, pvY, pvZ);
709747
}
710748
}
@@ -895,6 +933,27 @@ struct HfTreeCreatorLcToPKPi {
895933
const float functionCt = hfHelper.ctLc(candidate);
896934
const float functionY = hfHelper.yLc(candidate);
897935
const float functionE = hfHelper.eLc(candidate);
936+
float valueTpcNSigmaPi;
937+
float valueTpcNSigmaPr;
938+
float valueTofNSigmaPi;
939+
float valueTofNSigmaPr;
940+
float valueTpcTofNSigmaPi;
941+
float valueTpcTofNSigmaPr;
942+
if (candFlag == 0) {
943+
valueTpcNSigmaPi = trackPos1.tpcNSigmaPi();
944+
valueTpcNSigmaPr = trackPos2.tpcNSigmaPr();
945+
valueTofNSigmaPi = trackPos1.tofNSigmaPi();
946+
valueTofNSigmaPr = trackPos2.tofNSigmaPr();
947+
valueTpcTofNSigmaPi = trackPos1.tpcTofNSigmaPi();
948+
valueTpcTofNSigmaPr = trackPos2.tpcTofNSigmaPr();
949+
} else {
950+
valueTpcNSigmaPi = trackPos2.tpcNSigmaPi();
951+
valueTpcNSigmaPr = trackPos1.tpcNSigmaPr();
952+
valueTofNSigmaPi = trackPos2.tofNSigmaPi();
953+
valueTofNSigmaPr = trackPos1.tofNSigmaPr();
954+
valueTpcTofNSigmaPi = trackPos2.tpcTofNSigmaPi();
955+
valueTpcTofNSigmaPr = trackPos1.tpcTofNSigmaPr();
956+
}
898957
if (fillCandidateLiteTable) {
899958
rowCandidateLite(
900959
candidate.posX(),
@@ -911,15 +970,15 @@ struct HfTreeCreatorLcToPKPi {
911970
candidate.impactParameter0(),
912971
candidate.impactParameter1(),
913972
candidate.impactParameter2(),
914-
candFlag == 0 ? trackPos1.tpcNSigmaPi() : trackPos2.tpcNSigmaPi(),
973+
valueTpcNSigmaPi,
915974
trackNeg.tpcNSigmaKa(),
916-
candFlag == 0 ? trackPos2.tpcNSigmaPr() : trackPos1.tpcNSigmaPr(),
917-
candFlag == 0 ? trackPos1.tofNSigmaPi() : trackPos2.tofNSigmaPi(),
975+
valueTpcNSigmaPr,
976+
valueTofNSigmaPi,
918977
trackNeg.tofNSigmaKa(),
919-
candFlag == 0 ? trackPos2.tofNSigmaPr() : trackPos1.tofNSigmaPr(),
920-
candFlag == 0 ? trackPos1.tpcTofNSigmaPi() : trackPos2.tpcTofNSigmaPi(),
978+
valueTofNSigmaPr,
979+
valueTpcTofNSigmaPi,
921980
trackNeg.tpcTofNSigmaKa(),
922-
candFlag == 0 ? trackPos2.tpcTofNSigmaPr() : trackPos1.tpcTofNSigmaPr(),
981+
valueTpcTofNSigmaPr,
923982
1 << candFlag,
924983
functionInvMass,
925984
candidate.pt(),
@@ -983,15 +1042,15 @@ struct HfTreeCreatorLcToPKPi {
9831042
candidate.errorImpactParameter0(),
9841043
candidate.errorImpactParameter1(),
9851044
candidate.errorImpactParameter2(),
986-
candFlag == 0 ? trackPos1.tpcNSigmaPi() : trackPos2.tpcNSigmaPi(),
1045+
valueTpcNSigmaPi,
9871046
trackNeg.tpcNSigmaKa(),
988-
candFlag == 0 ? trackPos2.tpcNSigmaPr() : trackPos1.tpcNSigmaPr(),
989-
candFlag == 0 ? trackPos1.tofNSigmaPi() : trackPos2.tofNSigmaPi(),
1047+
valueTpcNSigmaPr,
1048+
valueTofNSigmaPi,
9901049
trackNeg.tofNSigmaKa(),
991-
candFlag == 0 ? trackPos2.tofNSigmaPr() : trackPos1.tofNSigmaPr(),
992-
candFlag == 0 ? trackPos1.tpcTofNSigmaPi() : trackPos2.tpcTofNSigmaPi(),
1050+
valueTofNSigmaPr,
1051+
valueTpcTofNSigmaPi,
9931052
trackNeg.tpcTofNSigmaKa(),
994-
candFlag == 0 ? trackPos2.tpcTofNSigmaPr() : trackPos1.tpcTofNSigmaPr(),
1053+
valueTpcTofNSigmaPr,
9951054
1 << candFlag,
9961055
functionInvMass,
9971056
candidate.pt(),
@@ -1012,6 +1071,30 @@ struct HfTreeCreatorLcToPKPi {
10121071
}
10131072

10141073
if constexpr (reconstructionType == aod::hf_cand::VertexerType::KfParticle) {
1074+
float chi2primProton;
1075+
float chi2primPion;
1076+
float dcaProtonKaon;
1077+
float dcaPionKaon;
1078+
float chi2GeoProtonKaon;
1079+
float chi2GeoPionKaon;
1080+
float mass;
1081+
if (candFlag == 0) {
1082+
chi2primProton = candidate.kfChi2PrimProng0();
1083+
chi2primPion = candidate.kfChi2PrimProng2();
1084+
dcaProtonKaon = candidate.kfDcaProng0Prong1();
1085+
dcaPionKaon = candidate.kfDcaProng1Prong2();
1086+
chi2GeoProtonKaon = candidate.kfChi2GeoProng0Prong1();
1087+
chi2GeoPionKaon = candidate.kfChi2GeoProng1Prong2();
1088+
mass = candidate.kfMassPKPi();
1089+
} else {
1090+
chi2primProton = candidate.kfChi2PrimProng2();
1091+
chi2primPion = candidate.kfChi2PrimProng0();
1092+
dcaProtonKaon = candidate.kfDcaProng1Prong2();
1093+
dcaPionKaon = candidate.kfDcaProng0Prong1();
1094+
chi2GeoProtonKaon = candidate.kfChi2GeoProng1Prong2();
1095+
chi2GeoPionKaon = candidate.kfChi2GeoProng0Prong1();
1096+
mass = candidate.kfMassPiKP();
1097+
}
10151098
const float x = candidate.xSecondaryVertex();
10161099
const float y = candidate.ySecondaryVertex();
10171100
const float z = candidate.zSecondaryVertex();
@@ -1021,15 +1104,9 @@ struct HfTreeCreatorLcToPKPi {
10211104
const float errPVX = candidate.kfXPVError();
10221105
const float errPVY = candidate.kfYPVError();
10231106
const float errPVZ = candidate.kfZPVError();
1024-
const float chi2primProton = candFlag == 0 ? candidate.kfChi2PrimProng0() : candidate.kfChi2PrimProng2();
10251107
const float chi2primKaon = candidate.kfChi2PrimProng1();
1026-
const float chi2primPion = candFlag == 0 ? candidate.kfChi2PrimProng2() : candidate.kfChi2PrimProng0();
1027-
const float dcaProtonKaon = candFlag == 0 ? candidate.kfDcaProng0Prong1() : candidate.kfDcaProng1Prong2();
10281108
const float dcaProtonPion = candidate.kfDcaProng0Prong2();
1029-
const float dcaPionKaon = candFlag == 0 ? candidate.kfDcaProng1Prong2() : candidate.kfDcaProng0Prong1();
1030-
const float chi2GeoProtonKaon = candFlag == 0 ? candidate.kfChi2GeoProng0Prong1() : candidate.kfChi2GeoProng1Prong2();
10311109
const float chi2GeoProtonPion = candidate.kfChi2GeoProng0Prong2();
1032-
const float chi2GeoPionKaon = candFlag == 0 ? candidate.kfChi2GeoProng1Prong2() : candidate.kfChi2GeoProng0Prong1();
10331110
const float chi2Geo = candidate.kfChi2Geo();
10341111
const float chi2Topo = candidate.kfChi2Topo();
10351112
const float l = candidate.kfDecayLength();
@@ -1044,7 +1121,6 @@ struct HfTreeCreatorLcToPKPi {
10441121
p;
10451122
const float t = l * MassLambdaCPlus / LightSpeedCm2PS / p;
10461123
const float deltaT = dl * MassLambdaCPlus / LightSpeedCm2PS / p;
1047-
const float mass = candFlag == 0 ? candidate.kfMassPKPi() : candidate.kfMassPiKP();
10481124
rowCandidateKF(
10491125
candidate.collisionId(),
10501126
x, y, z, errX, errY, errZ,

0 commit comments

Comments
 (0)