Changed float to double for uniform_real_distribution because uniform<float>
(a, b) could possibly generate b
Replaced -1 by the fe-to-pk conversion factor