def __init__(self, batchsize, buffersizeA, buffersizeB, buffersizeC):
        self.batchsize = batchsize
        self.buffersizeA = buffersizeA
        self.buffersizeB = buffersizeB
        self.buffersizeC = buffersizeC
        self.samples = []

        for i, seed in enumerate(seeds):
            # print('Running {}th simulation at {}'.format(i, str(time() - start_time)))
            factory = Factory(11, 8, self.batchsize, self.buffersizeA,
                              self.buffersizeB, self.buffersizeC, seed, duration, silent=True)
            factory.play()
            factory.start()

            factory.update_stats()
            sample = Sample(seed,
                            factory.stats['time'],
                            factory.stats['total produced'],
                            factory.stats['average produced'],
                            factory.stats['average throughput'])

            self.samples.append(sample)

        self.mean_produced, self.deviation_produced, *self.confidence_interval_produced = (
            self.mean_confidence_interval([float(s.total_produced) for s in self.samples])
        )

        self.mean_throughput, self.deviation_throughput, *self.confidence_interval_throughput = (
            self.mean_confidence_interval([float(s.average_throughput) for s in self.samples])
        )