code: def test_multiple_simulators(self, seeded_test):
      true_a = 2
      true_b = -2
  
      data1 = np.random.normal(true_a, 0.1, size=1000)
      data2 = np.random.normal(true_b, 0.1, size=1000)
  
      with pm.Model() as m:
          a = pm.Normal("a", mu=0, sigma=3)
          b = pm.Normal("b", mu=0, sigma=3)
          sim1 = pm.Simulator(
              "sim1",
              self.normal_sim,
              a,
              0.1,
              distance="gaussian",
              sum_stat="sort",
              observed=data1,
          )
          sim2 = pm.Simulator(
              "sim2",
              self.normal_sim,
              b,
              0.1,
              distance="laplace",
              sum_stat="mean",
              epsilon=0.1,
              observed=data2,
          )
  
      assert self.count_rvs(m.logp()) == 2
  
      # Check that the logps use the correct methods
      logp_sim1_fn = m.compile_fn(m.logp(sim1), point_fn=False)
      logp_sim2_fn = m.compile_fn(m.logp(sim2), point_fn=False)
  
      assert any(
          node
          for node in logp_sim1_fn.maker.fgraph.toposort()
          if isinstance(node.op, SortOp)
      )
  
      assert not any(
          node
          for node in logp_sim2_fn.maker.fgraph.toposort()
          if isinstance(node.op, SortOp)
      )
  
      with m:
          trace = pm.sample_smc(return_inferencedata=False)
  
      assert abs(true_a - trace["a"].mean()) < 0.05
      assert abs(true_b - trace["b"].mean()) < 0.05
  
imports: import warnings
  import cloudpickle
  import numpy
  import pytensor
  import pytest
  import scipy.stats
  from pytensor.graph import ancestors
  from pytensor.tensor.random.op import RandomVariable
  from pytensor.tensor.random.var import RandomGeneratorSharedVariable, RandomStateSharedVariable
  from pytensor.tensor.sort import SortOp
  import pymc
  from pymc import floatX
  from pymc.initial_point import make_initial_point_fn
  from pymc.pytensorf import compile_pymc
  from pymc.smc.kernels import IMH
label_desc: Use image node_id 11 for calling the TestSimulator obj's underlying member method code with example usage: obj.test_multiple_simulators(seeded_test) without return types