Skip to content

Commit 2ebfcba

Browse files
sdudi123Sandeep  Dudirolavick
authored
[PWGUD] Track combination policy is fixed (AliceO2Group#8960)
Co-authored-by: Sandeep Dudi <[email protected]> Co-authored-by: rolavick <[email protected]>
1 parent 7bc2546 commit 2ebfcba

File tree

1 file changed

+39
-7
lines changed

1 file changed

+39
-7
lines changed

PWGUD/Tasks/sginclusivePhiKstarSD.cxx

Lines changed: 39 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -591,7 +591,13 @@ struct SGResonanceAnalyzer {
591591
}
592592
}
593593
}
594-
if (kstar && selectionPIDKaon1(t0) && std::abs(t0.tpcNSigmaPi()) > 3.0 && selectionPIDPion1(t1) && std::abs(t1.tpcNSigmaKa()) > 3.0) {
594+
}
595+
for (auto& [t0, t1] : combinations(o2::soa::CombinationsFullIndexPolicy(tracks, tracks))) {
596+
if (!trackselector(t0, parameters) || !trackselector(t1, parameters))
597+
continue;
598+
if (t0.globalIndex() == t1.globalIndex())
599+
continue;
600+
if (kstar && selectionPIDKaon1(t0) && selectionPIDPion1(t1)) {
595601
// Apply kaon hypothesis and create pairs
596602
v0.SetXYZM(t0.px(), t0.py(), t0.pz(), o2::constants::physics::MassKaonCharged);
597603
v1.SetXYZM(t1.px(), t1.py(), t1.pz(), o2::constants::physics::MassPionCharged);
@@ -656,7 +662,13 @@ struct SGResonanceAnalyzer {
656662
}
657663
}
658664
}
659-
if (kstar && selectionPIDKaon1(t0) && std::abs(t0.tpcNSigmaPi()) > 3.0 && selectionPIDPion1(t1) && std::abs(t1.tpcNSigmaKa()) > 3.0) {
665+
}
666+
for (auto& [t0, t1] : combinations(o2::soa::CombinationsFullIndexPolicy(tracks, tracks))) {
667+
if (!trackselector(t0, parameters) || !trackselector(t1, parameters))
668+
continue;
669+
if (t0.globalIndex() == t1.globalIndex())
670+
continue;
671+
if (kstar && selectionPIDKaon1(t0) && selectionPIDPion1(t1)) {
660672
// Apply kaon hypothesis and create pairs
661673
v0.SetXYZM(t0.px(), t0.py(), t0.pz(), o2::constants::physics::MassKaonCharged);
662674
v1.SetXYZM(t1.px(), t1.py(), t1.pz(), o2::constants::physics::MassPionCharged);
@@ -720,7 +732,13 @@ struct SGResonanceAnalyzer {
720732
}
721733
}
722734
}
723-
if (kstar && selectionPIDKaon1(t0) && std::abs(t0.tpcNSigmaPi()) > 3.0 && selectionPIDPion1(t1) && std::abs(t1.tpcNSigmaKa()) > 3.0) {
735+
}
736+
for (auto& [t0, t1] : combinations(o2::soa::CombinationsFullIndexPolicy(tracks, tracks))) {
737+
if (!trackselector(t0, parameters) || !trackselector(t1, parameters))
738+
continue;
739+
if (t0.globalIndex() == t1.globalIndex())
740+
continue;
741+
if (kstar && selectionPIDKaon1(t0) && selectionPIDPion1(t1)) {
724742
// Apply kaon hypothesis and create pairs
725743
v0.SetXYZM(t0.px(), t0.py(), t0.pz(), o2::constants::physics::MassKaonCharged);
726744
v1.SetXYZM(t1.px(), t1.py(), t1.pz(), o2::constants::physics::MassPionCharged);
@@ -756,6 +774,7 @@ struct SGResonanceAnalyzer {
756774
for (auto& [t0, t1] : combinations(tracks, tracks)) {
757775
if (!trackselector(t0, parameters) || !trackselector(t1, parameters))
758776
continue;
777+
759778
if (phi && selectionPIDKaon1(t0) && selectionPIDKaon1(t1)) {
760779
// Apply kaon hypothesis and create pairs
761780
v0.SetXYZM(t0.px(), t0.py(), t0.pz(), o2::constants::physics::MassKaonCharged);
@@ -814,7 +833,13 @@ struct SGResonanceAnalyzer {
814833
}
815834
}
816835
}
817-
if (rho && selectionPIDPion1(t0) && selectionPIDPion1(t1)) {
836+
}
837+
for (auto& [t0, t1] : combinations(o2::soa::CombinationsFullIndexPolicy(tracks, tracks))) {
838+
if (!trackselector(t0, parameters) || !trackselector(t1, parameters))
839+
continue;
840+
if (t0.globalIndex() == t1.globalIndex())
841+
continue;
842+
if (rho && selectionPIDProton(t0, use_tof, nsigmatpc_cut, nsigmatof_cut) && selectionPIDPion1(t1)) {
818843
v0.SetXYZM(t0.px(), t0.py(), t0.pz(), mproton);
819844
v1.SetXYZM(t1.px(), t1.py(), t1.pz(), o2::constants::physics::MassPionCharged);
820845
v01 = v0 + v1;
@@ -842,7 +867,7 @@ struct SGResonanceAnalyzer {
842867
}
843868
}
844869
}
845-
if (kstar && selectionPIDKaon1(t0) && std::abs(t0.tpcNSigmaPi()) > 3.0 && selectionPIDPion1(t1) && std::abs(t1.tpcNSigmaKa()) > 3.0) {
870+
if (kstar && selectionPIDKaon1(t0) && selectionPIDPion1(t1)) {
846871
v0.SetXYZM(t0.px(), t0.py(), t0.pz(), o2::constants::physics::MassKaonCharged);
847872
v1.SetXYZM(t1.px(), t1.py(), t1.pz(), o2::constants::physics::MassPionCharged);
848873
v01 = v0 + v1;
@@ -968,7 +993,8 @@ struct SGResonanceAnalyzer {
968993
continue;
969994
auto posThisColl = posTracks->sliceByCached(aod::udtrack::udCollisionId, collision1.globalIndex(), cache);
970995
auto negThisColl = negTracks->sliceByCached(aod::udtrack::udCollisionId, collision2.globalIndex(), cache);
971-
for (auto& [track1, track2] : o2::soa::combinations(o2::soa::CombinationsFullIndexPolicy(posThisColl, negThisColl))) {
996+
// for (auto& [track1, track2] : o2::soa::combinations(o2::soa::CombinationsFullIndexPolicy(posThisColl, negThisColl))) {
997+
for (auto& [track1, track2] : o2::soa::combinations(posThisColl, negThisColl)) {
972998
if (!trackselector(track1, parameters) || !trackselector(track2, parameters))
973999
continue;
9741000
if (selectionPIDKaon1(track1) && selectionPIDKaon1(track2)) {
@@ -988,7 +1014,13 @@ struct SGResonanceAnalyzer {
9881014
}
9891015
}
9901016
}
991-
if (selectionPIDKaon1(track1) && std::abs(track1.tpcNSigmaPi()) > 3.0 && selectionPIDPion1(track2) && std::abs(track2.tpcNSigmaKa()) > 3.0) {
1017+
}
1018+
for (auto& [track1, track2] : o2::soa::combinations(o2::soa::CombinationsFullIndexPolicy(posThisColl, negThisColl))) {
1019+
if (!trackselector(track1, parameters) || !trackselector(track2, parameters))
1020+
continue;
1021+
if (track1.globalIndex() == track2.globalIndex())
1022+
continue;
1023+
if (selectionPIDKaon1(track1) && selectionPIDPion1(track2)) {
9921024
v0.SetXYZM(track1.px(), track1.py(), track1.pz(), o2::constants::physics::MassKaonCharged);
9931025
v1.SetXYZM(track2.px(), track2.py(), track2.pz(), o2::constants::physics::MassPionCharged);
9941026
v01 = v0 + v1;

0 commit comments

Comments
 (0)