New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bugfix: Ensure by force that the deepest root of the connected graph is always found in PFBA #14844
Conversation
@cmsbuild please test |
The tests are being triggered in jenkins. |
A new Pull Request was created by @lgray (Lindsey Gray) for CMSSW_8_1_X. It involves the following packages: RecoParticleFlow/PFProducer @cmsbuild, @cvuosalo, @slava77, @davidlange6 can you please review it and eventually sign? Thanks. cms-bot commands are list here #13028 |
Comparison is ready @slava77 comparisons for the following workflows were not done due to missing matrix map:
|
Looking at 25202 (ttbar PU35)
comparing with full revert of the changes in PFBA to 810pre3 version
there is still more than a factor of two improvement and about 12% increase in RECO from this PR:
comparing with full revert of the changes in PFBA to 810pre3 version
the net effect from 14138 to 14441 to 14754 to 14844 for particleFlowBlock appears to be close to 20%, combined with gains in pfNoPileUp*, this is still pretty good. |
+1
|
This pull request is fully signed and it will be integrated in one of the next CMSSW_8_1_X IBs (tests are also fine). This pull request requires discussion in the ORP meeting before it's merged. @slava77, @davidlange6, @Degano, @smuzaffar |
@davidlange6 |
@slava77 Thanks. I'll go through the aftermath here with perf stat and see if we can't get anything back. |
+1 |
Quick Union algorithm was not always returning the deepest root available in a connected graph.
This is a deficiency in the underlying algorithm, luckily it is easy to patch out (just keep looking for roots of roots).
I'll fix the underlying cause in the future, thankfully it's iterlog-N on average.
I also added in a clause to skip direct connection tests if two nodes are already connected. Should help with speed. If there is incidental slow down compared to yesterday's IB I will remove it.