Sorry, my bad, my brain completely ignored the “Effector” part.
In Python effector there are global variables predefined, like in other parts of C4D’s Python scripting.
Mainly interesting probably:
op - In Python effector this is the effector itself
doc - The scene/document
With these you basically have two ways of accessing other objects.
Via doc (BaseDocument) you have functions like GetFirstObject(), GetObjects() or also SearchObject() and probably some more. In case of SearchObject() be aware, though, that in C4D object names are not necessarily unique.
Via op (or maybe also from an object found by above means) you can iterate the hierarchy with the standard GeListNode (a BaseObject is derived from GeListNode) methods: GetDown(), GetUp(), GetNext(), GetPred() plus a bunch of others.
Another option could be to add a User Data to the Python effector with a Link datatype. And then link the object in question there for easier access. Not only could this spare you the iteration/search part, but it would also make it more robust against scene hierarchy or naming changes.
In theory this should as long as the data read from another object is “static”. Like you want to read the radius of a sphere, which is not influenced by anything else (like Xpresso, …). Otherwise you will sooner or later run into priority issues, which may get difficult to solve (if at all).
@Cairyn has a nice series of Python tutorials. The hierarchy iteration got discussed here: https://www.patreon.com/posts/python-spoonfed-30982663
Cheers