cms-sw/cmssw — pull request #3531 by lgray (2014-04-27 04:31:58+00:00)
Title: bugfix from followup of #3385 for fastsim.

This PR addresses the follow up at the end of the PFBlockAlgo overhaul to see what was going on in the fast sim workflow since there was an event with changed block content.

Further study showed that there was some strange behavior in the old version of PFBlockAlgo where tracks that were included in multiple conversion vertices would be imported multiple times (bad behavior for linking, PFEGammaAlgo). In the new version of PFBlockAlgo only the ref from the last-encountered conversion was being saved (bad behavior for linking). Furthermore, in the old PFBlockAlgo only the last found element was updated if it overlapped with a muon or nuclear interaction vertex.

Now the PFBlockElementTrack can store multiple conversion refs, and the tracks are only imported once. This ensures optimal behavior of the linker as well as content of the blocks.

Compared to CMSSW_7_1_X_2014-04-24-1400 without 3385. The one discrepant event for block.element.size() is still there, but now blocks.size() agrees for all events in wf5.1. There could be possible knock on effects in terms of conversion multiplicity (judging from 3385 validation probably not so much), but this new behavior is known to be more correct.

I saw no effect on the block content in 1k events of wf38 compared to #3385.