Unexpected Source Particle Positions using openmc.stats.CylindricalIndependent

Hello all,
I’ve observed a small problem in my simulation where a small number source particles are being produced outside of the cell that I expect - they are being produced at a larger z value than I want, placing them in the cell above.
Hence, I’m seeking guidance and clarification on how to specify the z coordinate origin and distribution when using openmc.stats.CylindricalIndependent()

my code for the cylindrical source is as follows:

rod_radius = 0.9
zmin_drum_internal = 0.12
zmax_drum_internal = 86.38

src_r   = openmc.stats.Uniform(0,rod_radius)
src_phi = openmc.stats.Uniform(0,2*np.pi)
src_z   = openmc.stats.Uniform(zmin_drum_internal,zmax_drum_internal)

position3 = openmc.stats.CylindricalIndependent(r=src_r,phi=src_phi,z=src_z,origin=(rod_xlist[2],rod_ylist[2],zmin_drum_internal))
src_3 = openmc.IndependentSource(space=position3, angle=direction, energy=eu, particle='photon')  

note that zmax_drum_internal is specified to be 86.38, but track data for the source particles shows that 2/2500 of the tracked source particles have a z > 86.38 (values of 86.44338189
86.38827904 to be precise).

any help would be appreciated.
-Lewis

I have resolved the issue by changing the z origin value to 0 - this makes me believe that the source position coordinates are determined by taking a sample of the distribution and then adding the sampled value to the value of the origin? (previous values of z were above the maximum of the distribution by up to ~0.12, and above the minimum of the distribution by up to ~0.12, 0.12 being equal to the old origin value.)