Fix rare bug in jet smearing RNG seed
This fixes a bug in the jet smearing affecting jets with very small eta phi values (roughly |phi| < 1e-5). This was causing a value of 0 to be passed to TRandom3::SetSeed()
, which is a special value that causes non-deterministic behavior rather than literally setting the seed to 0. This fix adjusts the seed generation so that no longer happens.
Note that this will change the smearing output for all jets. This is fine, but people who are doing precise validation checks, CI tests, etc. should be made aware. Edit: We decided to use a definition which doesn't change existing unaffected jets.
This has already been fixed in master (at least in JetCalibTools), so no need for a sweep.
Tagging @sschramm, @cdelitzs, and @sawyer. We should probably let analysis teams know about this - it came up now because a SUSY analysis noticed the effect in one of their events.