For completeness, I think this is what @ckrapu was suggesting above:
with pm.Model() as m:
mu = pm.Normal("mu")
sigma = pm.HalfNormal("sigma")
pm.Potential(
'likelihood',
pm.logp(pm.Normal.dist(mu, sigma), obs_dataset)[mask]
)
m.point_logps() # {'mu': -0.92, 'sigma': -0.73, 'likelihood': -61.98}