Background
To determine the mass ($m$) of a particle you need to know the 4-momenta of the particles ($\mathbf{P}$) that are detected after the collision: the energy ($E$), the momentum in the x direction ($p_x$), the momentum in the y direction ($p_y$), the momentum in the z direction ($p_z$).
$$\mathbf{P} = (E,p_x,p_y,p_z)$$\begin{equation*} m = \sqrt{E^2-(p_x^2+p_y^2 + p_z^2)} \end{equation*}Some particles are very unstable and decay (turn into) to two or more other particles. In fact, they can decay so quickly, that they never interact with your detector! Yikes!
However, we can reconstruct the parent particle (sometimes referred to as the initial state particle) and its 4-momentum by adding the 4-momenta of the child particles (sometimes referred to as the decay products).
$$\mathbf{P_{\rm parent}} = \mathbf{P_{\rm child 0}} + \mathbf{P_{\rm child 1}} + \mathbf{P_{\rm child 2}} + ...$$Let's code!
Here is the same sample code from the previous exercise. It reads in data from a CMS experiment. Below is only a small version of the text file released from CMS. Click here to access the full data file.
In [ ]:
inFile = open("dimuons_1000_collisions.txt", "r")
import cms_tools
print "Reading in the data...."
collisions = cms_tools.get_collisions(inFile)
print len(collisions)
count = 0
for collision in collisions:
jets,muons,electrons,photons,met = collision
count += 1
# To access the information about the particles.
for jet in jets:
energy,px,py,pz,btag = jet
for muon in muons:
energy,px,py,pz,charge = muon
for electron in electrons:
energy,px,py,pz,charge = electron
for photon in photons:
energy,px,py,pz = photon
# For this exercise we will not work with MET (Missing Energy in the Transverse plane)
Copy this sample code and use it to find the mass of the particle that the two muons came from. Do this for all the di-muons; but also do it when the muons are both positively charged, both negatively charged, and have opposite charges. Make a histogram of the masses.
Hint!
It is very likely that a particle exists where there is a peak in the data. However, this is not always true. A peak in the data is most likely the mass of a particle. You can look at the approximate mass to figure out which particle is found in the data.
Your histogram should look something like the following sketch. The value of the peaks should be the mass of a particle. You should be able to find two particles in their ground state. Check your answer for the first particle! Check your answer for the second particle!
In [1]:
from IPython.display import Image
Image(filename='dimuons_sketch.jpeg')
Out[1]:
In [1]:
#your code here