In [1]:
from IPython.display import Image
Image(filename='images/babar.jpg',width=400)
Out[1]:
BaBar was designed to understand the disparity between the matter and antimatter content of the universe by measuring Charge Parity violation.
BaBar focuses on the study of CP violation in the B meson system. The name of the experiment is derived from the nomenclature for the B meson (symbol B) and its antiparticle (symbol B, pronounced B bar). The experiment's mascot was accordingly chosen to be Babar the Elephant.
The BaBar detector ceased operation on 7 April 2008, but data analysis is ongoing.
The The BaBar experiment used two accelerators: the SLAC linac (linear accelerator) and the PEP-II storage ring facility.
The SLAC linac serves as an injector: it accelerates the electron or positron beams to the required high energies, and the injects them into one of PEP-II's storage rings.
SLAC National Accelerator Laboratory has a two-mile linear accelerator, which is the longest in the world!
In [2]:
from IPython.display import Image
Image(filename='images/slac.jpg',width=400)
Out[2]:
In [3]:
from IPython.display import Image
Image(filename='images/BaBar-detector.jpg',width=400)
Out[3]:
The following information was obtained at: https://www.slac.stanford.edu/BFROOT/www/doc/workbook/detector/detector.html
The BaBar detector is made up of five subdetectors. From the inside out, they are:
These types of displays of the detector can be challenging to understand and at the end of the day, it's not what we scientists actually analyze. We use this information to get the electric charge, energy, and momentum of these particles, and that's about it.
Let's go take a look at some of that data!
The first step is to import some helper functions. One is to get the collisions data out of the files, and the other is to display the particles that are produced in these collisions.
In [4]:
import sys
sys.path.append("../tools/")
import babar_tools as babar
Next, we will open the file and pull out the collision data. This will return a Python list of all the collisions in that file.
You can use these data to visualize individual collisions or to perform a data analysis on all the collisions.
In [5]:
infile = open('../data/small_BaBar_test_file.dat')
collisions = babar.get_collisions(infile)
number_of_collisions = len(collisions)
print("# of electron-positron collisions: %d" % (number_of_collisions))
import matplotlib.pylab as plt
%matplotlib notebook
# Uncomment the following line if you want your plots to be displayed in a separate interactive window.
#%pylab qt
Let's take a look at some of these collisions!
In [6]:
babar.display_collision3D(collisions[6])
In [7]:
babar.display_collision3D(collisions[100])
What are we looking at here?
You can also make plots of the properties of the particles.
In [8]:
energies = []
for collision in collisions:
pions,kaons,protons,muons,electrons,photons = collision
for pion in pions:
energy = pion[0]
energies.append(energy)
plt.figure(figsize=(4,4))
h = plt.hist(energies)
So now you know how to play around with data from BaBar. What do you want to do next? :)
In [ ]: