I think the problem is more an issue of the kind of object being passed (one or a collection, and maybe there are more technicalities, if you see the filter names the modules are different - are they producing the same output?). I will try. Note that I think that for compatibility issues with other analysis it does not hurt to keep this as close as possible to the general implementation of goodOfflinePrimaryVertices, since I will have to synch with them. 

PS: what does that rho mean btw? I will test what happens with it in the goodOfflinePrimaryVertices...