Add E-scheme preprocessor fixing cluster history indices #211
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The
ptschemeandpt2schemepreprocessors already assign correct history indices to jet objects. The defaulteschemedoes not currently have its own preprocessor: it either copies the full vector of jets when they are alreadyPseudoJet/EEJet(assuming their cluster indices are correct), or it converts toPseudoJet/EEJetand assigns new history indices during that conversion.As described in #200, relying on the input jets for
eschemeto already have correct cluster indices can be easy to overlook. Instead of performing checks and index fix-ups as suggested there, this proposal introduces a dedicated preprocessor foreschemethat always copies jets and assigns correct history indices. This would become the default behavior for e-scheme (other scheme preprocessors already include fixing indices). Users who know their input jets already have valid history indices can opt out by specifyingnothingas the preprocessor to avoid unnecessary work.I also noticed that two forms of preprocessor functions exist: one that accepts an output type and performs conversion, and one that does not. The docs describes user-provided preprocessors as the non-converting type, but the implementation only uses the converting form. I fix the docs and remove the unused methods.
Finally, this PR includes fixes for history-index in SoftKiller (#191), as it is related and there has been no recent activity on that issue.
Closes #200 #191