Order particles by momentum instead of memory address to remove reproducibility issues
FilterUnique
currently selects one among duplicates by ordering them by memory address and picking the last one. This leads to reproducibility issues when having multiple overlapping containers as input, with the containers having gone through slightly different reconstruction, as documented in Stripping#41.
Here, I propose ordering the particles in ascending momentum instead of address. In local 1k tests, this removes the reproducibility issues.
This seemed like the most minimally invasive solution. Other proposals involved making FilterUnique
aware of how many distinct containers it was receiving as input and telling it to bias towards a particular container in case of overlap. This would require a lot more surgery on the code