Multiple observations sharing priors and likelihood model

As a follow-up, I’ve managed to successfully implement the idea using the following code:

# Define the prior probability densities 
self.P1 = pm.Uniform('P1', lower = lbP1, upper = ubP1, shape = shapeP1)
self.P2 = pm.Uniform('P2', lower = lbP2, upper = ubP2, shape = shapeP2)

# Define the models
self.M_det1 =  theano.tensor.dot(theano.shared(self.R_det1.T), self.P1) + theano.tensor.dot(theano.shared(self.R_det1.T), self.P2)

self.M_det2 =  theano.tensor.dot(theano.shared(self.R_det2.T), self.P1) + theano.tensor.dot(theano.shared(self.R_det2.T), self.P2)
            
# Define the likelihood
self.L_det1 = pm.Poisson('Likelihood_Det1',  mu = self.M_det1, observed = theano.shared(self.Data_Det1, borrow = False), shape = (self.Data_Det1.size, 1))

self.L_det2 = pm.Poisson('Likelihood_Det2', mu = self.M_det2, observed = theano.shared(self.Data_Det2, borrow = False),  shape = (self.Data_Det2.size, 1))

This seems to work pretty well so far. Comments?