Closed apuignav closed 5 years ago
Something towards RapidSim
would be great, but I see it rather as a new package or similar. Phasespace does a good job at what it is, building a RapidSim
I see more as having a PDF from zfit to even incorporate simple dynamics, the sampling from phasespace and applying effects by hooking into the sampling of the pdf, e.g. with a Function
, since we may need this functions anyway.
So having a (inheritable, mixin?) class with preconfigured hooks that takes functions for smearing the sampling etc and applies them
sim = RapidSim(dynamics=dynamics_func, smearing=False, inefficiencies=blabla,...)
sample = sim.sample()
just a thought. But this allows to do pahsespace * matrixelement_squared very simple.
Rethinking it: If the scope would be limited enough, we could. But I would still prefer a new package. And add probably several "premade" post-effects plus e.g. pre-configured boosting (for the experiments).
So that we can fill the package with content. Not so much about the technicalities, but content. And phasespace
is no nicely self contained.
I was also thinking about it, and I think the hooks are not necessary. Anybody can just run their smearing functions on the output of generate_tensor.
I think I close this, but feel free to reopen if you disagree.
We could add the possibility of running arbitrary "post-generation-hooks" on particles. This would allow to apply smearing or other detector effects à la
RapidSim
.