HONR 268N - 0101 (Fall 2020)
Finally able to log in again (thanks Dr. Jabeen!), but not without the consistent error message.
Still getting this "Connection closed by remote host" error. If anyone knows how to fix it let me know, any help is appreciated!
Tried:
-Resetting laptop
-Resetting wi-fi
HW 1 - 9/14
Similarities and differences of the electron, muon, and tau leptons
Similarities: leptons, electrically charged, very small, can not be broken down further, have uncharged neutrino counterparts
Differences:
Electron - the lightest of the leptons, the most stable, most studied and well known
Muon - unstable, decays into electron, neutrino, and antineutrino
Tau - largest of the leptons, unstable, decays into many different particles
What do commands ‘mkdir' and 'cd ../..’ do?
mkdir - allows you to make new directories
cd../.. - allows you to change your current directory, where you can go back to the root directory or to a another directory at a different location
HW 2 - 9/18
What are the fundamental particles and forces? How many particles standard model of particle physics has?
Fundamental particles: leptons (electron+neutrino, muon+neutrino, tau+neutrino), quarks (up, down, charm, strange, top , bottom), bosons
Fundamental forces: gravitational force, electromagnetic force, strong nuclear force, weak nuclear force
17 particles in the particle standard model
What is spin of a fundamental particle?
Angular momentum of a particle
What is the difference between bosons and fermions?
Fermions are matter particles, bosons are force particles
What is Linux?
Linux is an operating system, like Windows and macOS
What is a Linux Shell?
Program that takes keyboard inputs for Linux to perform
How do you find which shell your are working in?
echo $SHELL
What is basic linux command structure?
command [-options] [arguments]
What do the following commands do?
pwd: shows current directory
ls: gets list of files and folders
ls -l: gets list of files in current directory with more information
ls -lr: gets list in reverse order
ls ..: gives parent directory
ls -CFx cd: gets list of files and folders up one directory
cd ..: moves up one directory
mkdir: makes a new directory in current folder
find: searches for files in a given directory
rmdir: deletes a directory (only deletes empty directories)
which: search for executable files with given command
whoami: gives current user
echo: adds data to a file
cat: concatenates and prints files
more: filter for paging through text
What is the difference between ls, ls ., and ls .., ls /, ls ./
ls: gets list of files and folders
ls .: gets list of files including hidden files
ls ..: gives parent directory
ls /: gives root directory
ls ./: gets list of files in root directory
How can get help to learn more about linux commands on the command line?
-h, -help
What is symbol ~ used for in the directory structure?
Represents the home directory of the current user
What do uparrow and enter keys do?
Uparrow lets you scroll through past text you previously entered in the terminal
Enter lets you send something from your keyboard to the terminal
What kind of programs/apps you can use to open the following file types: .txt, .C, .cpp, .root, .sh, .csh
.txt: Notepad, Wordpad
.C: Notepad, Notepad++
.cpp: Notepad, Notepad++, repl.it
.root: ROOT, Tbrowser
.sh: GNU Bash, Vim, gVim, Apple terminal
.csh: Photshop
What do operators, > and >> do?
> lets you redirect your output to a file
>> lets you redirect your output to a file without overwriting it, instead adds more text
What is emacs?
Text editor for Linux
What is the difference between the commands
emacs -nw mycode.C
emacs mycode.C
emacs mycode.C &
What do you expect to happen if you run the command ‘emacs myfile.txt &’ where the file myfile.txt does not exist already.
Creates a new file called myfile.txt
How do you save a file in emacs?
C-x C-s
How do you search some string in emacs?
C-s, hit ENTER, type the string you need to search for, then hit ENTER again
TO-DO
What did it seem like the 'touch' command does?
Used to create and change timestamps of a file
Why do you think we include that '.' after the 'find' commands?
It shows all files in the directory
Based on the outputs from the four 'find' commands, what purpose do you think the '*' character serves? (Hint: it's called the "wildcard" character in linux jargon)
* searches for characters, text, and phrases in the name of the file
What did the 'rm' command do, and how do you think 'rm' differs from the 'rmdir' command we saw earlier? Warning: There is no way to undo the 'rm' command!
rm removes a file and rmdir removes a directory
Finally, to test your understanding, why do you think that you should never run the command 'rm *'? True story: a thoughtless 'rm *' almost deleted all of Toy Story 2! (https://www.youtube.com/watch?v=8dhp_20j0Ys)
There is no way to undo an rm command, so once it's gone it is gone forever
Try the following commands and answer the questions below.
echo "test"
echo "test1" > log.txt
ls
cat log.txt
echo "test2" > log.txt
cat log.txt
echo "test3" >> log.txt
cat log.txt
What do the '>' and '>>' operators do? How are they similar? How are they different?
> lets you redirect your output to a file
>> lets you redirect your output to a file without overwriting it, instead adds more text
What is one potential danger of using the '>' operator?
You could lose the original output before > was used
What do you expect to see if you run:
ls -l > log.txt
cat log.txt
log.txt would be filled with content from files in the current directory
Use google and collect 10 Linux commands that you think could be useful for you. For example, one such command would be to find and replace a word or phrase in a large text file.
Show that your commands actually work.
cat: reads off text from file without altering it
cp: copies a file to a different directory
ctrl+c (^C): kills a running command (very helpful in my other project)
df: shows disk size
grep: searches for certain text within a file
history: shows list of commands you previously used
less: gives simplified view of file
man: gives manual for how to use different commands
mv: moves a file to a different directory
ps: shows current processes running on the system
Lecture Notes - 9/16
cd: change directory, able to give new path
ls --help: gives additional options
Emacs - editor
emacs ~nw text.txt (nw means no window, no graphical interface)
& - allows you to enter in the terminal with a window open
shell scripts: .-[script name] - runs script in shell to automate code
#!/bin/bash
bash./testscript.bash <argument>
$1 - first word of the script is executed
echo $ARG - searches for the variable ARG
ctrl + x - save
ctrl + c - quit
Fermions spin half.
Spin is equivalent to angular momentum.
Bosons have integer spin.
All force carriers are bosons.
Not all bosons are force carriers.
Force carriers also have mass (will learn more about this and how it causes forces later).
Lecture Notes - 9/21
Quantum Mechanics:
Duality - particles, waves
Probability and uncertainty
Wave functions
60 m/hr + 5 m/hr (probability with uncertainty, based on the outcome of an observation)
Throwing photons at an electron lets you see its position or velocity, but not both at the same time
Constants of Nature: c, h, e (electron charge), G
Math Constants: pi, e (Euler's number)
Depends on axioms of models we use
Credit to Neo and Zach for this info
Particles or Waves
Wave function
Our equations aren't perfect to describe particles and waves yet
History - lets you see past commands entered since logging onto system
| - pipe
grep: lets you search for text in files
ps ux: gives task functions list
kill [7 digit code, based on ps ux]: kills specific task, useful when a command is not working properly and you need to go back
Rust: fun new coding language, similar to C++ (apparently voted best coding language by Stack Overflow since 2016) - credit to Neo for this info
HW 3 - 9/23
What is a shell script?
List of commands in a program that is run by the shell
What do line #!/bin/tcsh on top of a shell script means?
Tells the system where to execute the shell script
What is command 'chmod +x' used for?
Makes a file executable
What do ’touch’ command do?
Used to create and change timestamps of a file
How do you execute a shell scripts?
bash [filename].sh
What is the argument to a shell script?
$[number] - variable references nth argument in command line
What is the difference between ’sometext’ and ‘$sometext’ in a shell script?
$sometext means it is a variable, while sometext can be anything depending on the context
What is piping (|) in linux and how to use it?
Lets you send the output of one command to another or of one program to another
command 1 | command 2 | ... | command n
How can you search and replace something in a file from command line or from within a shell script?
You can use sed (Stream EDitor)
sed -i 's/[original text]/[new text]/g' [filename].txt
The command "sed -i -e 's/one/two/g' test.txt" searches the word "one" everywhere in the file test.txt and replaces it with the word "two."
Copy paste the following text to create test.txt file in your directory. Write a script that uses this and/or other commands to replace every "was" with "is".
"one" replaced with "two"
"was" replaced with "is"
"e" replaced with "f"
Protip: Remember your Linux password :)
Lecture Notes - 9/28
I had to install and update g++ to get this to run properly.
HW 4 - 9/30
Why muons travel farthest in the detector? You can find the answer using google. Give the reference of your source with the answer.
Muons travel the farthest in the detector because they are very heavy and are able to penetrate the first few detectors easily before decaying
http://cms.web.cern.ch/news/muon-detectors
Show that for small beta relativistic kinetic energy has the same expression as the usual KE (= 1/2 mv2)
The Taylor expansion can be used on the relativistic kinetic energy of very low speed compared to the speed of light, and this gives the same expression as the usual KE=1/2 mv^2.
Show that pseudorapidity and rapidity are same for massless particles.
Pseudorapidity and rapidity are the same for massless particles because the momentum and energy will be the same for these particles since they both have zero mass.
Why muons travel farthest in the detector.
Muons travel the farthest in the detector because they are very heavy and are able to penetrate the first few detectors easily before decaying
How can you create a file with emacs?
ctrl-x, ctrl-f, emacs will ask you for the file name which you can enter
How to print a statement in c++ code.
cout << "...";
what is ‘ #include xyz’ mean in a C++ file?
#include xyz means that the code will use a predetermined system directory that it will be able to access
How to add comments in C++?
// for single lines or */...*/ for blocks of code
How do you compile c++ code to create and executable that you can then run as './executible-name’?
g++ filename.cpp
What does the g++ compiler do?
It compiles the code and checks for any errors and where those errors are
What punctuation c++ code uses to separate the code lines?
Semicolons, parenthesis, and brackets can separate code lines
Semicolons are used for ending lines of code, while parenthesis and brackets are used to end loops and functions
What does command 'g++ dumpspecs’ do?
Prints the compiler's specs
How you define variables of kind int, double, float, bool,
You have to write the type of variable you want to use followed by the variable name (ex: int i, double money, float distance, bool choice)
What do the operators ++ and —, !=, ==, do?
++ means to add 1 to the variable
-- means to subtract 1 from the variable
!= means not equal to mathematically
== means equal to mathematically (not setting to variable)
How while and for loops work in c++?
While loops continuously check if a condition is true. If true, it will run its code then check again. When the condition is false, the while loop ends. Useful for during calculations or checking for a limit
For loops start with an initial condition, then continuously check if a condition is true. If true, it will modify the variable being checked. When the condition is false, the for loop ends. Useful for going through lists or arrays
How to add debug statements in the C++code?
std::cerr will check what to debug (do not put indents when writing so that it'll be easier to spot when needing to delete them afterwards)
main.cpp
variables.cpp
operations.cpp
nonnumeric.cpp
whileloop.cpp
forloop.cpp
beforechangeloop.cpp (while loops)
changeloop.cpp (for loops)
HW 5 - 10/7
How to read a grapgh and extract values for the hysics quantities involved?
Calculate tranverse momentum of a particle moving in electric and magnetic field.
Logic statements in C++, if-else.
Check logic statement screen shots.
How you define Pointers in C++? How you can get the address and the value of a pointer?
You define pointers by typing the variable type, an * to show that data is retrieve, and the variable name set to the memory address of a variable. Ex: (int* p = &i) declares an integer pointer p pointed at the memory address of i.
Address of the pointer is p and &i. The value of the pointer is *p and i.
How can you define a pointer with a new memory address?
You can type "int* p = new int(5);" stores the value 5 at a new location, which is returned
Using ‘date' and ‘awk' commands in a script.
Outputs the current date, can also be used for time
Logic Statements
If you set n=9, the code compiles but does not give an output.
Return 0 returns the program returns 0 to the main function, allowing it to terminate
I rewrote the code to have the while loop be less than or equal to 10, n-- go on the outside of the else statement, and return 0 be outside the while loop. And...
...I got an infinite loop. Looking back, it's because n will always be less than 10. There is nothing to stop n from counting down. If I set the while loop to say while(n>=0){} then it will stop at 0.
Pointers
Example
Date and Awk
Printing files from the current month (Oct) after modifying code from the HW Page
Lecture Notes and HW - 10/12
Standard Model
3 quark familia
3 lepton familia
force carrier particles
QM, fields, relativity, symmetry
Accelerators + Detectors In particle detection, e, u, t, k, pi, p, N are expelled; v is missing energy
conservation of energy + momentum
QM, relativity is stated through E=mc^2 (gravity becomes negligible at the smaller scale)
coordinate system (Galilean transformations / Newtonian Physics) (inertial) reference frame x=x'+vt (v = velocity of frame, distance=vt) y=y' z=z' t=t'
Lorentz transformation x=gamma(x'+vt') y=y' z=z' t=gamma(t'+vx'/c^2)
gamma=1/sqrt(1-v^2/c^2)
v<<c => gamma is essentially 1 (able to use NP) v~c => gamma=1/sqrt(1-1) v->c, v approaches c but never reaches
Postulates
Laws of Physics do not change x,t Time dilation Length confraction m=gamma*m0
Speed of Light is constant c=3.0*10^8 m/s in a vacuum
HW: phase velocity: rate at which wave propagates in some medium
group velocity: velocity of the overall size (amplitude range) of the wave in some medium
medium: material which waves travels through
vacuum: space with no matter present
exact value of c: 299792458 m/s (https://physics.nist.gov/cgi-bin/cuu/Value?c)
Binomial expansion:
gamma=1/sqrt(1-v^2/c^2) => (1-x^2)^(1/2) =1+1/2*v^2/c^2+...+(v^2/c^2)... v<<c => can ignore higher terms: 1+1/2*v^2/c^2
Lattice
4 vectors (x,y,z,t) --> (x,y,z,ct) to keep units [4D] (px,py,pz,E) -> another 4 vectors
d=sqrt(x^2+y^2)+t ct=[m/s*s]
r, theta (eta), phi
E=1/2*mv*2=KE E=gamma*m
Natural Units c -> 1 h -> 1 eV
Lecture Notes and HW - 10/14
*login: hepcms-hn.umd.edu since cluster went down
Relativity
Laws of Physics are the same
c is constant
for v<<c, EP-->NP
vf=vi+at
t is not constant or absolute
x,t
time dilated --> Twin's Paradox (Zach discussed the premise behind this)
length is contracted --> think how things get squished when moving at v close to c
HW
Limits of graviton mass from LIGO: can not be heavier than 6.8*10^-23 eV/c^2
This is based off previous orbital data of the planets and considering that a massive graviton has a finite range of gravity and moves at less than the speed of light (https://physicsworld.com/a/motions-of-the-planets-put-new-limit-on-graviton-mass/#:~:text=Their%20analysis%20gave%20them%20a,2%20%E2%80%93heavier%20than%20Will's%20result.)
Light moves slower in denser mediums because it interacts with the substance particles
Things can also move faster than light using this property, by having light move slower in a denser medium while another particle doesn't decelerate as much in this medium
HW 6 - 10/23
Calculate the energy of the particle in LEP tunnel. What happens if you increase the circumference to the earth’s equator?
The energy of the particle in LEP tunnel was measured to be about 91 GeV. Increasing the circumference of the Earth's equator can increase the energy of the particle since it can move at a faster speed.
https://home.cern/science/accelerators/large-electron-positron-collider
Particle production in colliders like the LHC is governed by quantum mechanics. What are two fundamental properties on QM that come into play in particle interactions?
The Laws of Physics are the same everywhere
The speed of light is constant and the fastest velocity (3x10^8 m/s)
What is ROOT? (answer in the context of LHC data analysis. We are not concerned with any other uses of the word ‘root’)
Graphing software for data analysis
What does command ‘cmsenv’ do?
Initializes ROOT environment
What happens when you run command ‘root'?
Brings up ROOT from the terminal
What is the difference between commands ‘root' and 'root -l’
'root' opens ROOT normally, 'root -l' does not display the welcome screen
How do you quit a root session?
.q or .quit
Working with arrays in C++.
How can you add single and multiline comments in C++?
//single, /*...*/ for multiline comments
How to read data from a file in C++ code?
ifstream reads in data from a file
How to create, write into, and close a txt file in C++
ofstream writes data into a file, it can also create a new file if no existing file has the corresponding name
.close() can be used to close a txt file
What is the difference between a vector and a scalar in C++?
Vectors can store multiple values, scalars can only hold one
How to use vectors in C++?
Declare the variable type then declare the length of the vector
How to use a random number generator in C++? Which #include file is needed to use this function in your C++ code?
*Check the random number code down below
math.h is needed to perform calculations for random numbers
What do we mean by the ’seed’ of a random number generator?
A 'seed' is the "starting point" for the code to calculate a random number
What changes in the distribution of random numbers as you increase statistics?
The distribution levels out as statistics increase
What is ‘class' in C++?
An object that can store many types of variables and do operations (like a mega variable)
Name two classes you have used in C++ code in this class?
String, stream
I believe ana is a class, too?
How do you run C++ code with root?
root -l [filename].cpp
How do you book, fill, draw, and save a histogram in C++ code to be used in root?
*Check random numbers and Calorimeter Problem codes down below
Arrays and Vectors in C++
In the second array code, 3 is printed twice and 6 did not print out. I think it is because the code checks for 3 elements in the column vector (k), but there are only 2 so it moves on to the next row. After it checks the 3 elements, it moves on to the next row. This is why 3 is printed twice because it is the extra 3rd element from the first row (j=0) and the 1st element from the second row (j=1). It is also why 6 is never printed since the indices never reach it.
By setting the while loops to j<3 and k<2, this fixes the code.
Reading Data from a File
There are no reading.cpp or example.txt in initial ls.
Now, both files are in the ls.
And here is the output in the new example.txt file.
Vectors and Combining Codes from Different Files
Modified code to include a scalar multiplier
Random Number Generator code
Removing the & makes the histogram group up only under 1 bin. & allows the address to be changed, so by removing it, it makes all the = be all together.
2^(8n)-1 = largest integer for n bytes
There are only 2 values (0 and 1), and it is raised to 8, the number of bits in a byte, times n, the number of bytes. It is subtracted by 1 because it starts counting at 0, so it needs to be taken into account.
To print the first 10 random numbers, I added an if statement for i is less than 10. Then I printed each value of atmp on a line. It is located in the for loop that calls the getFlatRandom function.
Here is the output. If executed multiple times with the same loop iterations, it will produce the same first 10 numbers and histogram. That is why this is called pseudo-random number generator because the random numbers are only based on the seed of the program.
By changing the initial seed (now it is 1983), new random numbers are produced with a new histogram to show.
Running different loop iterations with a seed of 1983:
For 10
For 100
For 1000
For 1000000
In each of these runs, the first 10 numbers stay the same because they all use the same initial seed. However, the histograms changed as the loop iterations changed. As the loop increased, the histogram leveled out. This is shown with 100000 loops, the histogram has equal sized bars in each bin.
Calorimeter Problem
The error is a missing bracket at the end of the file. However, Zach and Bryan said that adding a bracket before the plot is drawn makes the code run faster.
N=1
The mother mass based on the data looks to be about 74 GeV. Based on what the code says, the true mother mass is the first number in secretparameters.txt. It should be 91 GeV, so this plot is off by 17 GeV.
N=10
There are now multiple bars to indicate what the mass could be. The min is 20 GeV and the max is 131 GeV, and the center is close to 85. It gives a smaller range and better idea of what the mother mass really is.
N=100
Now, the min is 38 GeV and the max is 147 GeV, and the center is close to 95 GeV. A bell shape is roughly visible to tell you what the mother mass really is.
N=1000
Now, the min is 21 GeV and the max is 152 GeV, and the center is close to 95 GeV again. The bell shape is more shapely now, and the peak is much high than when N=100. This means that the data shows that the mother mass is much closer to being near 95 GeV.
In secretparameters.txt, when the first number is changed to a 1
N=1 (min = 0, max = 0, avg = 0)
N=10 (min = 0, max = 36, avg = 25)
N=100 (min = 0, max = 59, avg = 20)
N=1000 (min = 0, max = 69, avg = 22)
These plots show that the first number in secretparameters.txt is indeed the true mother mass. Changing this value will cause the plots to shift the average of the bell curve closer to the new value. Since the mass is 1 GeV, the plots are more 1 tailed since negative values aren't shown.
Zoom Call - 11/1
-Met with Will to see what the problem was with my display of my Ubuntu terminal
-Code and commands all work fine, just no second window
-emacs &
-root graphs and plots
-Tried downloading VM Player and Pop OS
-Motherboard did not grant access to all required programs
-Tried finding a way to output coordinate points of plots in the terminal and use it to make the graph
-Might have to try downloading the Windows programs on the HW Page
-Will talk to Dr. Jabeen about this
Lecture Notes - 11/1
-Check Neo's logbook with another WSL
-Read up on Classes in C++
p-value: probability of result you don't expect to see
sqrt(s): CM Energy
GeV --> mass
E=mc^2 --> in natural units, c means nothing (E=m)
-a%b --> when a divided by b, outputs remainder
-Talked with Bryan, Connor, and Gaurav about the random number generator code (will talk more with Zach about this)
-Read part of the Higgs Discovery Paper
Under the Standard Model of elementary particles, the weak force is carried by W and Z bosons and the electromagnetic force is carried by photons. Together, these two forces make up the electroweak force. W and Z bosons have mass but photons remain massless, even after the SM has been thoroughly tested by physicists. Through the mechanisms of the electroweak force and the complex scalar doublet fields (explained by Dr. Jabeen), the breaking of symmetry gives us the masses of the W and Z bosons. However, it does not give us the masses of other particles that come out of a proton-proton collision. This breaking of symmetry also predicts the existence of the SM Higgs Boson. Theoretical calculations suggest a mass smaller than 1 TeV, but laboratory experiments have recently reported the mass to be between 120 and 135 GeV at a 95% confidence level (p=0.05).
11/8
I switched to MobaXTerm following Neo's suggestion since my emacs and root were not working properly (I followed the installation steps on his logbook).
emacs [file] &, root, are all working now! post pics here
I got MadGraph to work on my terminal. As Zach said, I did not update to the current version.
HW 7 - 11/22
Write a brief description of major parts of the CMS detector. What are the physical dimensions of each part? - write more here
Beam pipe:
The beam pipe is the space where the LHC beams collide.
Tracker:
Trackers reconstruct the paths of high energy particles.
Calorimeter:
Calorimeters detect the particles that are released from the LHC beams.
Solenoid:
The solenoid is a giant magnet inside of the CMS detector.
Muon tracker:
Muon trackers are specifically used to detect muons. Muons are able to penetrate several layers of iron, so the calorimeters will not work in detecting them like other particles.
Find how to change the display to show you a view along the beam pipe?
At the top of the HUD, there are settings where you can choose from the YX, YZ, and XY planes.
Which color tracks are electrons
Electrons are green tracks.
Which color tracks are muon?
Muons are red tracks.
Which color track missing energy is represented with?
Missing energy are pink tracks.
How are jets depicted in this visualization?
Jets are depicted as orange cones.
Can you figure out if a track has clockwise curvature, it is +vely charged or negatively charged? (when looking at the x-y view, with x along the horizontal axis)
If the track has clockwise curvature, then it is positively charged.
Study at least 2 events from each category in the files available with the display and specify how many objects of each kind are seen in every event?
Hto4l_120-130GeV.ig:Events/Run_201191/Event_1357605031
electrons: 4
muons: 6
photons: 4
jets: 49
missing energy: 1
vertices: 15
Hto4l_120-130GeV.ig:Events/Run_199319/Event_1203594102
electrons: 2
muons: 12
photons: 0
jets: 44
missing energy: 1
vertices: 11
HW 8 - 11/30
Z_ee
H_zz
Looks different so will go back to this later
HW 9 - 12/2
Syntax, Variables, and Numbers
In Method 1, a is already overwritten by b so the lists can't be switched anymore. By setting a temp value, a can be stored in another variable so that a and b are able to switch now.
Functions
Built-In Functions
Booleans and Conditionals
The elif statement is printed because 10 < 20.
The if statement is printed because 20 > 10.
The else statement is printed because 10 = 10.
Modulus Operator
Lists
Loops
Dictionaries
External Libraries
Python for CMS Analysis
HONR 269L - 0101 (Spring 2021)
Research Projects - 1/28
Bill Dorland (Theory) NOT Available:
A new tool called Gkeyll (or Hyde depending on the cooperation of the plasmas) is being developed for the study of fusion and astrophysical plasmas. This will be used to solve a set of equations called the Vlasov-Maxwell system. This is one of the few places on Earth to be studying and coding simulations of fusion, astrophysical plasmas, and the Vlasov-Maxwell system.
Kaustubh Agashe (Theory/Phenomenology):
Top quarks are studied in the LHC. These quarks are so heavy that they decay before they can hadronize (formation of hadrons from quarks). This will allow the opportunity to study "bare" quarks. Models and simulations will take place in MadGraph.
IceCube UMD Group
IceCube Neutrino Observatory (Experimental):
A 1 cubic km tank filled with detectors underneath the surface at Antarctica is used to detect neutrinos. Neutrinos are detected when they pass through the ice and into the tank, causing charged leptons to be created and release radiation that is detected in the tank. Scientists from all over the world participate in the study and analysis of these neutrinos. This project will analyze data taken from IceCube.
LZ Next Generation Dark Matter Experiment (Experimental):
Dark matter (which makes up 85% of the Universe) does not interact with EM like light and can not be explained with the Standard Model, current theories, and interactions. In an underground lab in South Dakota, liquid Xenon will be used to detect dark matter particles using the Xenon nucleus. The dark matter would energize the nucleus, which would charged particles and EM radiation. Software will be developed to calibrate observed energy and analyze the data using ROOT and Python.
Segment Crystal Calorimeters for Future Colliders Sarah Eno (Experimental):
Calorimeters at LHC are useful for detecting photons/electrons or hadrons/quarks. However, a new proposed calorimeter can use modern techniques to detect both sets of particles. A simple calorimeter will be made in a simulation using GEANT4. Students will learn how to run it and how to adjust parameters for specific research purposes.
CMS LHC Group (Experimental)
Sarah Eno, Alberto Belloni, Andris Skuja, Shabnam Jabeen:
Studies of the W and Z bosons will help us better understand the Standard Model and how it can be improved, as well as new physics beyond what we already know. These particles will be studied using data from LHC. The Worldwide LHC Computing Grid at LHC is composed of "tiers" (made up of several computer centers), which process, store, and analyze data. Tier3 is owned by a research group at UMD, giving access to a computing and management tool within LHC.
Student Self Arranged Projects:
Students would contact a professor or faculty member to conduct research for the class. The meeting with the professor must be made in advance so that the project can be approved for the course. Past projects include studying the neurological effects of alcohol on crayfish and an amphibious quadcopter with smooth powered air-water transition with Dr. Chopra of the Aerospace Engineering Department
IceCube Project with Dr. Erik Blaufuss Overview - 2/11
IceCube is a large neutrino observatory located in Antarctica. Its primary equipment is located underneath the icy surface. Its main focus is neutrino astronomy to study the astrophysical sources where the particles come from. A 1 cubic km tank filled with detectors underneath the surface at Antarctica is used to detect neutrinos. Neutrinos are detected when they pass through the ice and into the tank, causing charged leptons to be created and release radiation that is detected in the tank. This radiation is Cherenkov light, which is when the charged particle travels faster in a medium (the Antarctic ice) than light does is the same medium. The special light is detected by one of the 5160 digital optical modules (DOMs) underground. The data detected is then sent up to computers where patterns are studied to determine the direction and energy of the original source. Scientists from all over the world participate in the study and analysis of these neutrinos. This project we will be working with Dr. Erik Blaufuss, a UMD research professor who is one of the scientific collaborators at IceCube. We will be working with experimental data detected at IceCube and analyzing it using programming we have learned in this course last semester.
2-11
IceCube Observatory in the South Pole
-Detects neutrinos and their energies and paths
-Used to simulate direction of neutrino source
-Made up of large array of digitical optical modules (DOMs) below the ice
-Detect the Cherenkov radiation produced
Array of DOMs below IceCube
Chereknov radiation being detected by DOMs
https://en.wikipedia.org/wiki/IceCube_Neutrino_Observatory
Cherenkov Radiation:
-Neutinos mostly pass through matter undetected and unphased
-Small chance that they to interact with matter
-Produce charged particles that move faster than light in the same medium --> ice surrounding IceCube array
-Charged particles produce Cherenkov radiation --> detected and simulated by DOMs
Cherenkov radiation at an underwater reactor
https://en.wikipedia.org/wiki/Cherenkov_radiation
2-18 - SNOW DAY
2-25
Project Updates:
-Introduction to Python
-Used to analyze data
-NumPy: library that adds support for large arrays and matrices
-Matplotlib: allows plotting on Python similar to Matlab
-Access to public data release of IceCube data
-Read up on papers that talk more about IceCube and neutrino analysis
3-4
Point Source Analysis:
-When Cherenkov radiation is detected, the energy and timestamp are recorded by DOMs and sent to computers at IceCube
-Position of light based on time stamps give direction of light --> direction of neutrino
-Pattern or correlation between incoming neutrino events?
Binned Methods:
-Segment sky into buckets
-Compare number of events to expected number of events from background scrambing
-Scrambling: randomizing sky data so that there is a constant background signal
-Use p-values to report significance of each bucket
-If one bucket has a lot of events, focus on studying that area of the sky
-Introduction to Docker: software platform to store data files and code in packages called containers
3-11
How point source neutrinos are distributed against background neutrinos
Plot of # of Events for Position, with a signal source being shown at xsrc
Plot of # of Events vs Position, with a constant background signal being shown across all x
Plot of # of Events vs Position, with signal and background events combined to show how the signal events produce much more events at a position x compared to background
Probability: want to check probability of data being consistent with background signal compared to data of just background data
-Quantify if point source is present in data
3-18 SPRING BREAK
3-25
Sky Map:
-Colors coordinate to number of events being by IceCube from the segment of the sky (direction of neutrino)
-Most events coming in from equator
-High energy neutrinos can pass through enough Earth to reach IceCube
-Less events coming in from North Hemisphere
-Neutrinos need to pass through Earth to reach IceCube --> lose energy as they go through matter
-Upgoing events
-More neutrinos coming in from Southern Hemisphere
-Neutrinos do not need to pass through Earth
-More than just signal events are detected (cosmic ray neutrinos also detected)
-High standard for detection, so signal is mostly constant
-Downgoing events
Plot of Event Detections:
-(-1.00 - 0.00) Southern Hemisphere
-More events are detected since they do not pass through Earth
-Need to limit what is considered "interesting" since there are so many incoming neutrino events
-Energy standard keeps signal constant
-(0.00 - 1.00) Northern Hemisphere
-Less events coming in since they pass through Earth
-No energy standard needed
4-1
Hypotheses:
Alternate Hypothesis: The bin contains at least on significant point source in the sky.
Null Hypothesis: The bin does not contain any significant point sources in the sky.
Statistics of Project:
-Compare actual data map to scrambled data map
-Values in bins don't really matter --> comparisons
-Background signal: ratio of what we observe vs what we simulate
-P-value: probability that data is as extreme as what the null hypothesis states
-Alpha: threshold value to determine how extreme the p-value is (usually 0.05)
-If p is less than alpha, data is extreme --> reject null, support alternate
-If p is greater than alpha, data is consistent --> fail to reject null, do not support alternate
Plot of Events vs -log(P-Values)
-Smaller p-value gives a larger number
-Alpha is 10^-7
-If p-value smaller than alpha, then point is significant
On plot, larger number means point is significant
-~20 is a significant point source because it does not follow the curve like the other values
Sky Map of P-Values
-Mostly low p-values --> most points are no significant
-One yellow point at equator --> p-value of ~20 shows this is the significant point source from the previous plot
4-8
Problems of Binned Analysis:
-Create artifacts: points that lie on the border of a bin
-Which bin do they account for?
-Points can only go in 1 bin
-Multiple simulation runs will put points in different bins, creating different influences on the data
Solution - Unbinned Analysis
-Each neutrino events is treated as a point in the sky
-Makes use of a point spread function and and energy distribution of simulated neutrino events --> given in IceCube Python code
-Separates signal from background events
-Better than binned because points are not limited to single bin
Likelihood Approach
-Compares probability of having most probable observed data with given observed data
-Simplified version used for this project
-Compare signal + background process to background process
-Determine potential of point source discovery
-Whole sky can be searched instead of checking each bin
4-15
Plot of Probability Density vs Position of Signal Events:
-Probability density is # of events scaled to 1 --> gives probability of detecting signal event
-S(x) function given in Python code by Dr. Blaufuss
Plot of Probability Density vs Position of Background Events:
-Probability density is # of events scaled to 1 --> gives probability of detecting constant background signal
-B(x) function given in Python code by Dr. Blaufuss
Likelihood Function: gives the probability of having most probable observed data with given observed data
ns = # of signal events
N = total # of events
xi = position where ith event occurred
S(x) = probability density of finding a signal event at x
B(x) = probability density of finding a background event at x
To combine events, multiply them together!
Test Statistic Function: gives the measurement of a data point being different from nearby points
-Quantifies how different an event is
ns = # of signal events
N = total # of events
xi = position where ith event occurred
S(x) = probability density of finding a signal event at x
B(x) = probability density of finding a background event at x
To combine events, add them together!
4-22
Full Likelihood Function: expanded function that gives the probability of having most probable observed data with given observed data
ns = # of signal events
nb = # of background events
N = total # of events
S(x) = probability density of finding a signal event at x
B(x) = probability density of finding a background event at x
xi = position of event reconstruction [1, N]
sigmai = uncertainty of event reconstruction
xsrc = desired position of evaluation
-all measured in units of radians
Plots of # of Trials vs Test Statistic
Top Graph
-Likelihood of signal occurring at a test statistic
-At signal of 0, very likely to get a TS of ~4, but very unlikely to get TS beyond ~10
-At signal of 10, very likely to get a TS of ~13, and still likely to get TS between ~5 and ~25
-High TS value means more "interesting" the data --> significant point source
Bottom Graph
-50% of background + signal TS distribution more extreme than 90% of background only indicates "unusual" event
-Signal + background distribution lies mostly beyond the Background 50% line, so it means that this distribution shows an interesting point source
Semester Project: Point Source Searches at IceCube
Goals:
-Decide between binned and unbinned analysis
-Create an event reconstruction of TXS 0506+056 (known neutrino point source detected at IceCube
-Apply event analysis to determine if PSO J0309+27 is a signal event (recently discovered blazar)
Tools:
-Docker* / Google Colaboratory
-Python with many libraries (NumPy, matplotlib, healPy, etc)
-10-years of data from IceCube
Unbinned analysis was chosen because it is more accurate than binned analysis and there are no downsides to using it over binned analysis other than more technical understanding and coding. Binned analysis was a fundamental step to understanding what unbinned analysis was (think of it as crawling before walking). IceCube exclusively uses unbinned analysis for all their research.
Chosen Point Sources for Analysis:
TXS 0506+056 (https://en.wikipedia.org/wiki/TXS_0506%2B056):
-Located in the Orion constellation
-First detected as a radio source in 1983
-First detected by IceCube in 2017
-First source of high energy astrophysical neutrinos (previous events were cosmic rays or low energy neutrinos from supernovae)
-Looking back at 10-year data, scientists saw that there were excess amount of neutrinos in that area of the sky
PSO J0309+27 (https://en.wikipedia.org/wiki/PSO_J030947.49%2B271757.31)
-Located in the Aries constellation
-Most distant known blazar --> currently about 30 billion light years away from Earth
-First observed in 2019 by National Institute for Astrophysics in 2019
-Due to recent discovery, we chose PSO as a potential point source
Problems:
We were supposed to use Docker for this project. However, I needed to download and install it on my computer. It automatically saved to my C Drive, which was already low on storage. Dr. Blaufuss recommended that I save it to my D Drive since I kept getting a memory error, but this required me to uninstall then reinstall it. When I tried to reinstall it, I had missing or corrupted files. I asked Dr. Blaufuss, Meghan, and Bryan for help, but nothing seemed to work.
The solution I came up with was Google Colaboratory. The code we are running is Python, and I remember from last semester that Colab worked fine in running commands. Luckily, Colab was able to work out great with some minor issues.
Another issue I had was after I picked up Colab for the project. The code Dr. Blaufuss sent us assumed we were using Docker, so the file paths needed to be adjusted. Bryan was able to help me out with this one. I had to look into Colab more so I can understand the environment more. This required me having to mount my Google Drive and inputting a key to get the GPU running. I then needed to download the necessary zipped folders containing the files of IceCube's 10-year data. After some pathing and folder notations, I was able to get my file paths working for the code.
The last major issue I had was importing libraries into Colab. Initially, I ran the code Dr. Blaufuss sent me but it gave me this error.
Dr. Blaufuss told me this was an installation error. I needed to go back and correct my formatting for importing libraries on Colab, as well as properly cloning the repository from git hub and pulling it into my drive. After doing these steps, the code was working fine.
Python code available on my GitHub: https://github.com/JaredAllanigue/Jared/blob/master/Jared_mla_analysis_RUN3.ipynb
-Most of it already came from Dr. Blaufuss, we just needed to make adjustments and tweak it for our point sources
-Meghan and Bryan also developed the code
About the plots:
-Fraction of Trails vs TS values
-Test Statistic: gives the measurement of a data point being different from nearby points [check TS function from 4-15]
-Different flux functions plotted (these values are determined by Dr. Blaufuss or IceCube code)
-Flux is amount of neutrinos are coming in from certain area of the sky
-Higher flux value means more neutrinos coming in from that area of the sky
-Unblinded value is the actual TS of the source
-Sensitivity value is where 90% of TS values are greater than background
-If TS is greater than Sensitivity (and less than Discovery), then could be an interesting source --> need more data analysis
-If TS is less than Sensitivity, then consistent with background --> not interesting source
-Discovery value is where 90% of TS values are greater than 3 sigma level to declare something as an interesting source
-If TS is greater than Discovery, then it is an interesting source
-If TS is less than Discovery (and more than Sensitivity), then could be an interesting source --> need more data analysis
TXS plot with 10 trials each flux level, 50 trials background
-Not nearly enough trials to show any results --> more so to "warm up" my computer to prepare for longer trials
-Coin flip comparison
-If 10 total coin flips, getting 6 heads in a row is very unusual
-If 1000 total coin flips, getting 6 heads more reasonable
-Shows that more trials are needed before any results can be declared interesting from the data
TXS plot with 100 trials each flux level, 500 trials background
-Still not nearly enough trials
-More defined flux functions to show distribution across TS values
-Same flux functions used, so same TS value
TXS plot with 500 trials each flux level, 2500 trials background
-Not enough trials still, results can be analyzed but more trials give a better picture
-Flux function value changed based off Dr. Blaufuss's recommendation to look at smaller area of the sky --> actual TS value changes with it
-Even more defined functions so show distribution across TS values
More trials caused my computer to overload and crash, so Meghan and Bryan carried on with the code
-Sensitivity and Discovery TS values also shown for easier comparison
Final TXS 0506+056 plot (to verify TSX as an interesting point source)
-1000 trials for each flux level, 10000 trials for background
-Unblinded (actual TS) value is higher than discovery threshold --> TXS is significantly different from the background
-Confirms TXS is an interesting source
-"Look Elsewhere" Effect
-IceCube scientists look at all points across the sky to make comparisons --> makes finding very significantly different sources (3.5 sigma) difficult
-We only limited our searches to TSX and PSO in the sky
-Bias in that we already knew TSX was an interesting point source so we did not have to check entire sky
-Limited due to time constraints of semester and operating power of systems
-Ignoring this effect makes our data show TXS was closer to 3.5 sigma, instead of IceCube's 3 sigma
Final PSO J0309+27 plot (to apply code to check if PSO is an interesting source)
-1200 trials for each flux level, 13000 trials for background
-Unblinded (actual TS) value is lower than both discovery and sensitivity threshold --> PSO is consistent with background
-Shows PSO is not an interesting neutrino point source
-Consistent with IceCube data - not shown to be an interesting point source in the their studies either
Special thanks to Dr. Blaufuss, Dr. Jabeen, Meghan, and Bryan for an awesome and thought-provoking semester!