I consider myself lucky enough to have people around me who show me math problems, outside of sports and football. This time, it was my friend and fellow physics student Devey, who messaged me the day before my last final about a particular question related to a high-energy physics simulation he was working on.

A welcome distraction from studying. And the problem ended up being quite interesting as well.

But first, a bit of background. The program Devey was developing was a simulation of particle interactions in a hydrogen bubble chamber. The bubble chamber (filled with liquid hydrogen) essentially acts a way to detect and trace the behavior of high-energy particles. An example of the resulting tracks is shown below:

Scanning the image from left to right, we see the tracks of particles (horizontal lines) moving through the chamber; looking at the track highlighted in red, we see a track that suddenly splits off into multiple tracks – this is an example of the particle decaying into several smaller particles.

In our case, we will consider the original particle to be a ** kaon** which decays into a

**and a**

*positive pion (pi+)***. During this decay some physical properties must be conserved, namely total energy and total momentum; that is the energy and momentum of the kaon has to equal the total momentum and energy of the pions after the decay.**

*negative pion (pi-)*In order to simulate the particle interactions, we would want to be able to randomly generate pion tracks given an initial kaon. The catch, of course, is that our pion tracks must obey the physical constraints we just outlined: they should conserve energy and momentum. We can formalize these constraints as follows:

That is, 1) the total energy from the original particle is the sum of the energies of the “children” particles (*Ei*), and 2) the total momentum from the original particle is the sum of the momentum of the “children” particles (*pi*).

And… a third constraint? This is where the problem starts getting interesting. If momentum and energy were completely independent of each other, then the problem is actually pretty straightforwards – just randomly divide total energy and momentum into n parts. But actually, energy and momentum *are* related, by that third constraint, which says the energy of each particle squared is equal to its momentum squared plus its mass squared. It’s important to note that the “mass” we mean here is the *rest mass* of the particle; this becomes relevant later on once we realize the pion masses don’t actually sum to the kaon mass.

So now the question becomes: how do we assign momentum and energy to each “child” particle (i.e. to pi+ and pi-) such that all three equations hold? Moreover, does a solution always exist? And secondly, how many are there? Each of those three questions are essential for implementing a proper simulation: the first describes what a correct particle decay “looks” like, the second determines under what conditions the simulation holds, and the third helps us to truly simulate by giving us a set of possible, valid momentum/energy combinations from which we can randomly choose from.

It’s not immediately clear just from looking at the equations as to how we can solve for the momentum and energy… So instead let’s change the question by framing it slightly differently. Starting from the bottom, we have the relation between energy, momentum and mass which we can rearrange slightly to get:

Momentum is a vector, so “squaring” the momentum vector means taking the dot product of it with itself, which is the same as the squared value of its magnitude. So by taking the square root of both sides we get:

That is, the magnitude of each “child” particle is that expression on the right… How does this help us? Given an initial total energy E and the daughter particles’ rest masses m_n, we can easily divide it into n (here n = 2) parts randomly. This then gives us values for ||p_n||. Now let’s think about the geometric representation of a 2-D vector: it’s like an arrow starting at the origin which points in some direction and has some magnitude/size. Now we don’t know the direction the arrow points (yet) but now we do know it has a particular magnitude, which we can interpret geometrically as some distance from the origin, meaning all our possible solutions lie on a circle with radius ||p||!

Now it’s up to us to find out what parts of that circle actually give valid solutions; i.e. we need to find what directions our momentum vector can point in. This turns out to be rather straightforward because of the second constraint: momentum must be conserved. So if we think of the momentum of the original particle as some arrow with a particular direction and distance, then the arrows corresponding to the momentum vectors of the “children” particle must “add up” to the original arrow; by add here, we mean that after connecting the arrows of the children particles tip-to-tail we should end up at the same location that the original particle’s arrow pointed to.

Putting it all together, we have a parent particle (the kaon), for which we have a momentum vector and a corresponding energy (which is just a magnitude, but for visual sake we’ll just represent it as a circle with radius of the same magnitude as the energy). Spawning from the parent kaon, we have the children pions, each with their own momentum vectors and energy values.

And now we have the transformed question: How can we find pion momentum vectors so that a) they sum to the kaon momentum vector (conserve momentum, constraint #2), and b) the magnitude of the pion vectors sum to the total energy of the kaon (conserve energy, constraint #1)?

Now that we know what a solution looks like (quite literally), we actually have all we need to show when solutions actually exist! The first condition for a solution to exist is to make sure that the energy of each pion particle is greater than its mass so that the square root in Equation 1 gives us a real number. Past that however, we can see that solutions **always** exist! This is because of something called the *triangle inequality*, which says that the sum of two sides of a triangle is greater than or equal to the third side; in fact, the case of equality means that all three sides lie on a single line (so not really a triangle after all).

Back to our problem, essentially we want to know if it’s always possible to create a triangle with the sides of the kaon, pion+ and pion- vectors, which we can confirm algebraically as well as follows:

Moreover, we can confirm that the case of equality **never** holds (i.e. we always have a strict inequality and hence a real triangle) due to the rest masses of the particles being non-zero and how the children rest masses don’t sum to the parent rest mass, as we noted earlier. That means that the magnitude of the pion momentum vectors must be greater than the original in order to compensate for the mass discrepancy (and hence conserve energy).

OK, so now we know what solutions look like and that they always exist, how many are there? Can we neatly characterize all solutions, given an original kaon momentum?

Let’s return to the what a single solution looks like: a pair of pion vectors which are able to combine with the kaon vector to form a triangle, such that the the pion magnitudes sum to a particle value (energy). Then we could generate our set of all solutions by finding all such triangles… and luckily there happens to be a particular curve which is defined by the very properties we’re looking for!

An ellipse is not just some oval, its a curve that encompasses two “focal” points such that the sum of the distances from any point on the curve to the focal points is a constant value. That constant sounds pretty handy if we want to conserve some value… like energy? And that’s exactly how we can use it; the focal points become the origin and the kaon momentum vector, and the constant becomes the energy; in this way, the pair of vectors which are produced by connecting the focal points to any point on the ellipse are guaranteed to conserve momentum and energy!

However, the entire ellipse isn’t a solution since we need to account for the fact that particle energies must be greater than the corresponding masses… so essentially we just constrain our ellipse to those points which give us vectors with large enough magnitudes to avoid that situation.

But that’s it! Given an original momentum vector we can simply find the appropriate ellipse which contains all solutions to the children particle vectors and then randomly choose from the set in order to simulate particle decay! I’m leaving a simple interactive visual below to show how the set of solutions vary with different original momentum vectors:

Mouse X – Vary Initial Momentum Vector