instances don’t get passed: each worker creates its own. The second argument to the TPySelector constructor (“aapje” in the example) is the name of a python module that is to contain the TPySelector derived class. It should be locatable through the normal means (PYTHONPATH, most like) on the worker nodes.
I came across this thread which made me think passing an instance would be possible:
But, rereading I probably misinterpreted. However, I am in a situation where it would be very beneficial to be able to configure a very general TPySelector instance on the fly and then use this in TTree::Process. Is there some way to configure the TPySelector object without hard coding it into the module?
well, what I’m missing is the connection between use of TTree::Process(pySelector) and the use of workers. If you call TTree::Process by handing it an instance of a TSelector derived class, what happens is that the tree is run through that local selector only (that is, if I’m not misreading the code; haven’t tried). So, no workers involved in that case.
Which one are you trying to accomplish? Run locally with a local instance, or on multiple (non-local) workers?