Trial matching: capturing variability with data-constrained spiking neural networks