tudo-astroparticlephysics / PROPOSAL

Monte Carlo Simulation propagating charged Leptons through Media as C++ Library
GNU Lesser General Public License v3.0
35 stars 21 forks source link

Selection of tau decay modes #392

Closed distefanoc closed 1 month ago

distefanoc commented 1 month ago

We use PROPOSAL to propagate muons in the gSeaGen code. We would like to use PROPOSAL also for taus. gSeaGen currently simulates taus that decay into muons separately from the others. This allows us to optimize the size of the neutrino interaction volume. To do this we would need to toggle the tau decay modes on/off. Is it possible to do this in PROPOSAL?

Jean1995 commented 1 month ago

Do you mean that you would like to have a stable tau? You can use the ParticleBuilder to create a clone of an existing particle with adapted properties.

For a TauMinus, you can do the following:

builder = pp.particle.ParticleDefBuilder()
builder.SetParticleDef(pp.particle.TauMinusDef())
builder.SetLifetime(np.inf)
builder.SetParticleType(10015) # you need to choose an arbitrary particle id that is not already taken
stable_tau = builder.build()

Then you can pass the stable_tau to the Propagator. The same would be possible in C++.

maxnoe commented 1 month ago

taus that decay into muons separately from the others. [...] To do this we would need to toggle the tau decay modes on/off.

It seems they only want to disable one particular decay channel, not make the particle stable.

distefanoc commented 1 month ago

Thanks a lot for the answers. Yes I don't mean a stable tau but one that is forced for example to decay into a muon excluding the other decay channels. but I think the solution is the same, if I understand correctly I have to define my decay table in the new definition of the tau.

Jean1995 commented 1 month ago

Yes, the solution will work the same way. Using the Particle Builder, you can define your own decay channels (and only add those you are interested in)

distefanoc commented 1 month ago

thanks again, I close the git issue