JetCalibTools: Fix infinite loop in smearing correction
This fixes a problem introduced by !52501 (merged) which occasionally causes an infinite loop in JetSmearingCorrection
.
The smearing correction is generated pseudo-randomly (but deterministically) using a seed based on the jet phi. If this would result in a negative jet pt or mass (i.e. you happen to sample a point far out in the left tail of the distribution), it tries again until it gets a non-negative result. !52501 (merged) changed the behavior to reset the seed to the same value at every attempt, resulting in an infinite loop. This fixes the problem by only setting the seed once before the first attempt.
Tagging @jbossios, who first encountered this, and @sawyer, @schaarsc, @sschramm.
Edited by Jonathan Bossio