You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: PWGLF/TableProducer/Strangeness/strangenessbuilder.cxx
+16-2Lines changed: 16 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -275,7 +275,7 @@ struct StrangenessBuilder {
275
275
276
276
// first order deduplication implementation
277
277
// more algorithms to be added as necessary
278
-
Configurable<int> deduplicationAlgorithm{"deduplicationAlgorithm", 1, "0: disabled; 1: best pointing angle wins"};
278
+
Configurable<int> deduplicationAlgorithm{"deduplicationAlgorithm", 1, "0: disabled; 1: best pointing angle wins; 2: best DCA daughters wins; 3: best pointing and best DCA wins"};
279
279
280
280
// V0 buffer for V0s used in cascades: master switch
281
281
// exchanges CPU (generate V0s again) with memory (save pre-generated V0s)
@@ -784,6 +784,9 @@ struct StrangenessBuilder {
784
784
float bestPointingAngle = 10; // a nonsense angle, anything's better
785
785
size_t bestPointingAngleIndex = -1;
786
786
787
+
float bestDCADaughters = 1e+3; // an excessively large DCA
788
+
size_t bestDCADaughtersIndex = -1;
789
+
787
790
for (size_t ic = 0; ic < v0tableGrouped[iV0].collisionIds.size(); ic++) {
788
791
// get track parametrizations, collisions
789
792
auto posTrackPar = getTrackParCov(pTrack);
@@ -819,13 +822,24 @@ struct StrangenessBuilder {
819
822
bestPointingAngle = straHelper.v0.pointingAngle;
820
823
bestPointingAngleIndex = ic;
821
824
}
825
+
if (straHelper.v0.daughterDCA < bestDCADaughters) {
826
+
bestDCADaughters = straHelper.v0.daughterDCA;
827
+
bestDCADaughtersIndex = ic;
828
+
}
822
829
} // end build V0
823
830
} // end candidate loop
824
831
825
832
// mark de-duplicated candidates
826
833
for (size_t ic = 0; ic < v0tableGrouped[iV0].collisionIds.size(); ic++) {
0 commit comments