gibuu is hosted by Hepforge, IPPP Durham
GiBUU

Version 6 (modified by mosel, 6 years ago) (diff)

--

'perturbative' and 'real' particles; the perturbative weigth

'perturbative' and 'real' particles

(following text is taken - slightly modified - from: O.Buss, PhD thesis, pdf, Appendix B.1)

Reactions which are so violent that they disassemble the whole target nucleus can be treated only by explicitly propagating all particles, the ones in the target and the ones produced in the collision on the same footing.

For reactions which are not violent enough to disrupt the whole target nucleus, e.g. low-energy πA, γA or neutrino A collisions at not too high energies, the target nucleus stays very close to its ground state. Henceforth, one keeps as an approximation the phase-space density of the target nucleus constant in time ('frozen approximation'). In GiBUU this is controlled by the switch freezeRealParticles. The test-particles which represent this constant target nucleus are called real test-particles. However, one also wants to consider the final state particles. Thus one defines another type of test-particles which are called perturbative. The perturbative test-particles are propagated and may collide with real ones, the products are perturbative particles again. However, perturbative particles may not scatter among each other. Furthermore, their feedback on the actual densities is neglected. One can simulate in this fashion the effects of the almost constant target on the outgoing pparticles without modifying the target. E.g. in πA collisions we initialize all initial state pions as perturbative test-particles. Thus the target automatically remains frozen and all products of the collisions of pions and target nucleons are assigned to the perturbative regime.

Furthermore, since the perturbative particles do not react among themselves or modify the real particles in a reaction, one can also split a perturbative particle into \(N_{test}\) pieces (several perturbative particles) during a run. Each piece is given a corresponding weight \(1/N_{test}\) and one simulates like this \(N_{test}\) possible final state scenarios of the same perturbative particle during one run.

The perturbative weigth 'perWeight'

Usually, in the cases mentioned above, where one uses the seperation into real and perturbative particles, one wants to calculate some final quantity like \(d\sigma^A_{tot}=\int_{nucleus}d^3r\int \frac{d^3p}{(2\pi)^3} d\sigma^N_{tot}\,\times\,\dots \). Here we are hiding all medium modifications, as e.g. Pauli blocking, flux corrections or medium modifications of the cross section in the part "\(\,\times\,\dots \)". Now, solving this via the testparticle ansatz (with \(N_{test}\) being the number of test particles), this quantity is calulated as \(d\sigma^A_{tot}=\frac{1}{N_{test}}\sum_{j=1}^{N_{test}\cdot A}d\sigma^j_{tot}\,\times\,\dots \), with \(d\sigma^j_{tot}\) standing for the cross section of the \(j\)-th test-particle.

The internal implementation of calculations like this in GiBUU is, that a loop runs over all \(N_{test}\cdot A\) target nucleons and creates some event. Thus all these events have the same probability. But since they should be weighted according \(d\sigma^j_{tot}\), this is corrected by giving all (final state) particles coming out of event \(j\) the weight \(d\sigma^j_{tot}\).

This information is stored in the variable perWeight in the definition of the particle type.

Thus, in order to get the correct final cross section, one has to sum the perWeight, and not the particles.

As an example: if you want to calculate the inclusive pion production cross section, you have to loop over all particles and sum the perWeights of all pions. Simply taking the number of all pions would give false results.