diff --git a/Generators/FaserParticleGun/python/RadialPosSampler.py b/Generators/FaserParticleGun/python/RadialPosSampler.py
index a0ae101c5f83e0bd680480a0f4f179c9202aee51..ad7d4f273de516e591b236609f9c27729dc8666b 100644
--- a/Generators/FaserParticleGun/python/RadialPosSampler.py
+++ b/Generators/FaserParticleGun/python/RadialPosSampler.py
@@ -34,14 +34,18 @@ class RadialPosSampler(Sampler):
     @property
     def r(self):
         "r position sampler"
+
         fwhm = 2*self.radius
         sig = fwhm/(2 * sqrt(2 * log(2)))
 
         if self.radius < 0:
-            return random.uniform(0, abs(self.radius))
+            return sqrt(random.uniform(0, abs(self.radius**2)))
         else:
-            return random.gauss(0, self.radius)
-        # return random.gauss(0, sig)
+            x = random.gauss(0, self.radius)
+            y = random.gauss(0, self.radius)
+            return sqrt(x**2 + y**2)
+
+        #return random.gauss(0, sig)
 
     @property 
     def phi(self):
@@ -59,7 +63,7 @@ class RadialPosSampler(Sampler):
         return ROOT.TLorentzVector(x, y, z, t)
 
 if __name__ == "__main__":
-# test when run from command line
+    # test when run from command line
 
     import numpy as np
     import matplotlib.pyplot as plt
@@ -67,8 +71,8 @@ if __name__ == "__main__":
     xlist = []
     ylist = []
 
-    r = RadialPosSampler(r = 1, x = 10, y = -10, z = 10)
-    for i in range (10000):
+    r = RadialPosSampler(r = -10, x = 0, y =  0, z = 10)
+    for i in range (100000):
         res = r.shoot()
         xlist.append(res.X())
         ylist.append(res.Y())
@@ -78,10 +82,12 @@ if __name__ == "__main__":
 
     plt.figure(figsize = (5,5))
     plt.subplot(2,2,1)
-    plt.scatter(xarr, yarr, marker = "*")
+    plt.hist2d(xarr, yarr)
     plt.subplot(2,2,2)
     plt.hist(yarr)
     plt.subplot(2,2,3)
     plt.hist(xarr)
+    plt.subplot(2,2,4)
+    plt.hist(np.sqrt(xarr**2 + yarr**2))    
     plt.tight_layout()
     plt.show()