Weight paint on normal map on Z axis

Hello, I used a “normal” on Texture Coordinate in shader editor, with that I achieved that the grass texture is only on top of the object.

But now what I want to achieve is to weight paint on “normal” on Z axis, so that I can have all the grass particles being emitted where the grass shader is. I don’t want to waste time manually weight painting the parts that have grass texture over it, I want it to be done automatically just like the “normal” on Texture coordinates did it with grass texture.