I used MobaXterm, which was the recommended x-server terminal for use in CMSC216, to connect to the LHC Cluster. Outlined steps below:
1. Opened MobaXterm
2. Clicked Session in the top left corner
3. Clicked SSH
4. Typed "hepcms.umd.edu" for remote host and specified my username.
5. Went to Advanced SSH settings and ensured X11-Forwarding is enabled
6. Clicked OK and logged in as prompted
After I logged out and exited the terminal, the session details are saved so that next time I just need to click the session name to reconnect
Starting with linux
Basic command structure
[Command_name] <Options> <Options> <Options>
Options usually -(some letter)
usually --help will allow you to access manual for the command
Directory structure
use "pwd" to show current directory
use "ls" to list contents of directory
use "mkdir" to create a new directory
Files
use "touch" to make a new file
use "cat" to print contents of a file in shell
use "find" to search for specific files
check --help for details about use
use "rm" to permenetly remove file
HW: Go through HW1-HW3 for Linux stuff
Emacs
"-nw" option means no windows, opening emacs in terminal mode
Maybe install VScode?
https://code.visualstudio.com/docs/setup/linux
Shell Scripts
make a ".tcsh" file which contains the script
$1, $2, $3, etc as input arguments when running the script
to run the script, use "tcsh" command with the filename and arguments after
cntl + x to write buffer, basically saving your changes to the file, and cntl + c to close
Make sure to have a newline at the end of the file to make sure all lines are read for scripting and coding purposes
Physics stuff
Fundamental particles
Spin
For fundamental particles, based on symmetry...?
either up or down for electrons
One of the first properties identified about fundamental particles
Measure is = to how many "spins" to takes to return to "original state"...?
Fermions
Half spins
Leptons and Quarks
Bosons
0 or integer spins
HW1
Goals:
Connecting to Cluster
refer to 9/15/2020 entry
Similarities and differences of the electron, muon, and tau leptons
Similarities
All negatively charged
Differences
Only the electron is stable, muon and tau both decay very quickly
All three have different mass, in increasing order: electron, muon, and tau
What do the commands 'mkdir' and 'cd ../ ..' do?
mkdir is a command which makes a directory:
cd is a command which changes the directory:
the option '..' is the parent of the current directory
HW2
Goals:
What are the fundamental particles and forces? How many particles does the standard model of particle physics have?
There are the leptons: electrons, muons, and tau with their respective neutrino pairs, and the quarks: up, down, charm, strange, top, and bottom
There are four fundamental forces: gravity, electromagnetism, strong nuclear, and weak nuclear
The standard model has 17 particles
What is spin of a fundamental particle?
This is a good question... I'm not really sure how to explain it, but here's a video:
What is the difference between bosons and fermions?
Fermions have 1/2 spin
Bosons have integer value spins
What is Linux?
A class of operating systems which are based on the Linux kernal
What is a Linux Shell?
A command-line interpreter
How do you find which shell you are working in?
'echo $0' or 'echo $SHELL'
What is the basic linux command structure?
[command name] -[options] [targets]
What do the following commands do?
'pwd'
prints current directory
'ls', 'ls -l', 'ls -lr', 'ls ..', 'ls -CFx'
lists directory contents
'-l' option lists contents in long format
'-lr' compound option lists contents in long format and reverse order
'ls ..' lists contents of parent directory
'-CFx' compound option lists entries in columns, with indicators appended to classify files vs directories, and listed in lines instead of by columns
'cd', 'cd ..'
refer to HW1
'mkdir'
refer to HW1
'find'
finds files that match the given regex given a target directory and a regex
'rmdir'
removes the target directory
'which'
searches for command in path
'whoami'
prints username
'echo'
console repeats target
'cat'
prints file contents in console
'more'
prints file contents in console, but one screen at a time
What is the difference between 'ls', 'ls .', and 'ls ..', 'ls /', 'ls ./'?
'ls' and 'ls .' both list the current directory
'ls ..' lists contents of the parent of current directory
'ls /' lists contents of root directory
'ls ./' lists contents of current directory
How can I get help to learn more about Linux commands on the command line?
use --help option after the command
What is the symbol '~' used for in the directory structure?
home directory
What do uparrow and enter keys do?
go through command history and run command
What kind of programs/apps can you use to open the following file types:
'.txt'
'.c'
'.cpp'
'.root'
'.sh'
'.csh'
you can open all of these files with text editors. Emacs is an example
What do operators, '>' and '>>' do?
both redirect std out to a file or create that file if it doesn't already exist, '>' will overwrite anything in the file whereas '>>' will append it to the end
What is emacs?
a text editor
What is the difference between the commands
emacs -nw mycode.c
opens the mycode.c file in emacs in the terminal (no window)
emacs mycode.c
opens the mycode.c file in emacs in a separate window
emacs mycode.c &
opens the mycode.c file in emacs in a separate window from a different process
main process can still process shell commands
What do you expect to happen if you run the command 'emacs myfile.txt &' where the file 'myfile.txt' does not exist already?
emacs creates the file
How to you save a file in emacs?
ctrl + x, or with the button at the top if in windowed mode
How do you search some string in emacs?
ctrl + s, then the string, then enter
TODO:
What did it seem like the 'touch' command does?
Creates new file if it doesn't exist, and updates the timestamp for the file if it does
Why do you think we include '.' after the 'find' commands?
To specify that we want it to search in the current 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)
In classic regular expressions, * is often used to specify 0 or more of the preceding character
in unix though, it just means 0 or more of any character
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' is specifically for removing files, whereas 'rmdir' is for removing directories
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)
'rm *' will remove all files in the current directory since all files match with '*'
What do the '>' and '>>' operators do? How are they similar? How are they different?
both redirect std out to a file or create that file if it doesn't already exist, '>' will overwrite anything in the file whereas '>>' will append it to the end
What is one potential danger of using the '>' operator?
overwriting the contents of a file which you might not have wanted to overwrite
What do you expect to see if you run: 'ls -l > log.txt' then 'cat log.txt'
I would expect to see the output of 'ls -l'
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 of phrase in a large text file. Show that your commands actually work.
cp - copy file to a directory
mv - move file to a directory
grep - find lines in a file with certain keywords
diff - finds differences between two files
jobs - displays current jobs and their statuses
kill - kills processes
history - displays history of command usage
clear - clears the terminal of commands
before
after
head - displays the first few lines of a file
sudo
I better not for this one...
Quantum Mechanics
probability and uncertainty
all calculations have a probability associated with it
uncertainty - measurements interfere with the object being observed
bar h is the plank constant
constants of nature
the parameters of nature in our equations which need to be measured
we know that two things have some proportional relationship, but we need to measure the world itself to find that particular proportion
can they change?
yes, our universe may be in a quasi-stable stable, which could change as we fall to a lower energy state, which would change all of the constants of nature
vacuum decay video: https://www.youtube.com/watch?v=ijFm6DxNVyI
Duality between particles and waves
wavefunction
a good way of visualizing particle interactions
the act of looking at something... changes its existence?
Computing
'ssh -xy siab-1' to connect to a terminal with vs code
x-terminal set-up doesn't work, maybe because it's an indirect connection...?
issue with not allowing to logout because a task is suspended:
'ps ux' to display tasks and their information
then 'kill [PID]' for the task you need to kill
then, 'logout' should work
Do HW 3 by the end of the week
Link to my webnovel (as requested): https://www.webnovel.com/book/three-trees_10664707705095205
Don't expect too much, I don't upload regularly and the story hasn't even gotten going yet.
Quantum Mechanics (Continued)
Fermions and Bosons
half integer and integer spins
Quantum number
are conserved in quantum interactions
Examples:
charge
spin
not actually spin, just algebraically similar
spin is 1/ how many times a particle needs to be rotated before it looks identical
rotation?
mathematical transformation
identical?
same "position" in the multidimensional grid
isospin
again, not actually spin
related to the strong force
hypercharge
weak spin
weak hypercharge
lepton number
baryon number
strange-ness
top-ness
bottom-ness
Symmetries
continuous space-time transformations
discrete transformations
transformations of internal symmetries
Weak force bosons must have mass to limit the range of the force
other force particles don't have mass?
led to prediction of the higgs boson
HW3
Goals:
What is a shell script?
A series of shell commands that are put in a file for the shell to run
What does the line #!/bin/tcsh on top of a shell script mean?
It specifies that the program that should run this file is the tcsh program in bin
What is command 'chmod +x' used for?
'chmod' modifies the file permissions of a file. The +x makes the file an executable one.
What do 'touch' command do?
touch creates a file, or updates the timestamp on a file that already exists
How do you execute shell scripts?
use 'tcsh' command on it or make it an executable and just execute it
What is the difference between 'sometext' and '$sometext' in a shell script?
a string vs a variable
What is piping (|) in Linux and how do you use it?
piping is transferring data from now process to another
it is used between commands to transfer information from left command to right command
How can you search and replace something in a file from command line or from within a shell script?
'sed'
TODO:
Can you figure out what this script does?
Yes
What do you think chmod command does?
Change the file permissions for a file
Now, as an exercise, try using emacs to write a simple a simple script based on testscript.tcsh called homesearch.tcsh which takes one input, <input>. homesearch.tcsh should search your home directory and its subdirectories for any files which contain <input> somewhere in their name. Finally, homesearch.tcsh should log the results of the search to a file called homesearch_<input>.txt. (Don't forget to 'chmod+x' your new script!)
Try:
touch testfile
./homesearch.tcsh testfile
cat homesearch_testfile.txt
What is the output of this script?
In Linux, what is piping (done with the symbol | )? Write a short description.
<left> | <right>; the pipe pipes command output from the left to right
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"
sed -i -e 's/was/is/g' test.txt
Accelerator process
Hydrogen gas has its electrons stripped and accelerated by electromagnets
first stage is straight
second stage is circular with pulsing magnetic fields
95% speed of light
stage 3
larger circular accelerator
99% speed of light
increase mass/energy not momentum
stage 4
like stage 3, but larger circle and higher energies
stage 5 (actual collider)
like stage 4, but even higher energy
electromagnets kept super cold to maintain superconductivity
7000 times heavier than original proton mass
Energy and Mass measured in same units
Linear vs circular accelerators
circular provides infinite distance as the loop is reused
circle diameter needs to be increased as particles gain mass as it becomes more difficult to make them change direction
the amount of force superconductors can push on them with is limited
Special terms
energy = energy of the collision
cross section = probability a particular particle is produced from a particular collision
luminosity = number of collisions that can be produced per cm^2
Read chapters 1-2 of discovery of the god particle and chapter 6 of elementary particle physics by next Monday
Do HW4 by this Friday
Particle detection
Common "stable" particles
photons
electrons
muons
charged hadron
neutral hadron
"neutrino"
Multiple materials which interact differently with different particles
Tracking chamber
layers of semiconductors
only detects charged particles
Electromagnetic calorimeter
material that interacts with electromagnetic particles
"catches" photons and electrons
Hadron calorimeter
material that interacts with hadrons
"catches" hadrons
Muon chamber
iron return yoke?
no calorimeter?
Particles that are indirectly detected
neutrinos through conservation of energy
the signitures of unstable particles can be observed due to a shift in trajectory
There are lots of collisions, problem of filtering and identifying trajectories
Damage to detector
Tracking chamber and calorimeter need to be replaced, and damage to the detector needs to be accounted for in observations
Radiation hardness is a significant consideration for determining detector material
parts are replaced every few years.
Physics
Why do 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 it does not interact much with the two types of calorimeters. The calorimeters, both electromagnetic and hadronic, work because their material interacts with the incoming particle in ways that cause the particle to lose its energy, which is absorbed and measured by the calorimeter. The hadronic calorimeter is designed to interact via the strong nuclear force, so it catches the charged and neutral hardons. The electromagnetic calorimeter interacts via the electromagnetic force, allowing it to catch electrons and photons. The muon interacts electromagnetically and weakly, not strongly, so the hadronic calorimeter does not catch them. And, although they interact electromagnetically, it is also classified as a minimum ionizing particle, meaning its energy loss rate through matter is close to the minimum (and something to do with its high mass relative to electrons). So, while the other particles are all captured and measured, muons continue travelling.
Sources:
https://www.lhc-closer.es/taking_a_closer_look_at_lhc/1.detectors
https://en.wikipedia.org/wiki/Stopping_power_(particle_radiation)#Minimum_ionizing_particle
https://www.quora.com/Why-do-muons-penetrate-the-calorimeters-in-a-particle-accelerator
For the code below, comment on each line to show what it does and paste the commented code in the logbook for grading. This includes any questions embedded in the discussion of the code.
Getting Started
Variables
Some operations with numbers
Non-numeric variable
Loops
1:
2:
3:
Debugging
Calorimeters
Electromagnetic
doesn't really interact much with hadronic particles because they're too massive to have significant interactions
"Showering" of hadronic particles can still happen here, but it's less common than in the hadronic calorimeter
Hadronic
Material designed to interact with hadronic particles and produce "showers"
"Shower" means to produce more particles from an interaction
Using Tools
Online 3D Event Display
https://ispy-webgl.web.cern.ch/#
Demo video: https://www.screencast.com/t/SLQyyXy8
Jets from gluons and quarks
Chromodynamics
Group theory
Look up SU3 group
So, must have 3 particles
but, can't see them
so, they must not be able to exist independently...?
Since they can't live alone, when they break off, they produce lots of pairs, resulting in a jet which is composed of the products of the quark decay
Do Homework 5 by Friday
Channels of data
Tracker has ~70M different channels
Entire structure has ~100M different channels
Each channel is a separate stream of data
Detectors only detect certain "stable" particles
Original particle can be predicted from its feynman diagram
"stable" particles have certain signitures in terms of charge, energy, etc. that are measured by the various layers of the detector
Quarks and gluons can be identified as jets due to chromodynamics
Jets can be seen as clusters of measurements on phi eta space
High energy clusters
phi eta space
the surface of the cylindrical detector spread flat into a sheet
positions on the cylinder are defined with r, theta, and phi
r = radius of the cylinder
theta = from 0 to pi along the edge of the cylinder
eta, related to theta, but different
phi = from 0 to 2pi to transverse the circle at the end of the cylinder
Why two angles and one length instead of two lengths and one angle?
more useful for our current application
we care about the direction of showers and jets, which is best described with 2 angles
angles are easier to work with, I think, computing-wise
value can be capped, with a given resolution
Resolution
tracker:
10^-6 meters
Read Chapters 5 and 7 by Monday
Goals
Logic statements in C++, if-else.
See exercises
How do you define pointers in C++? How can you get the address and the value of a pointer?
Use the '*' operator in the declaration of the variable to define the pointer.
Use the '&' operator to get the address of a variable; Use the '*' operator in front of the pointer to get the value at that address
How can you define a pointer with a new memory address?
the 'new' keyword
Use 'date' and 'awk' commands in a script.
See exercises
Exercises
logic statements
Pointers
Program 1
Program 2
'new' construct
Computing
Write a small C++ code that shows examples of if and while logic statements. (START in class). Explain what the code does by using cout statements.
Alter the script given below so that it outputs the list of files that were updated within the current month. Note that the marks which surround date | awk `{print $2}` are not apostrophes, but rather backticks. The backtick can be found on the same key as '~' (to the left of the '1/!' key). (Hint: the resulting script will be shorter and simpler :-))
will be done with bash due to connection issues with the cluster (bash and tcsh are very similar anyways):
LHC Cluster Down
HW5 due date delayed to this Friday
Reminder for self: lookup more SU3 group info
Building blocks
3 quark families
up and down
charm and strange
top and bottom
3 leptons
electron and its neutrino
muon and its neutrino
tau and its neutrino
force carriers particles
Theory composition
QM + fields + relativity + symmetry
Accelerators and detector
collides protons and high-resolution camera
Particle Detection
stable particles
elections
muons
photons
kaons
pions
protons
neutrons
quarks
gluons
neutrinos
Neutrinos detected indirectly through conservation of energy and momentum
possibly some other particles which interact minimally
Relativity
E=mc^2
"Matter tells spacetime how to curve, and spacetime tells matter how to move."
Reference frame
Newtonian transformation:
x = x' +vt
t = t'
where v = velocity of the frame x
The same applies to y and z axises
Lorentz transformation:
x = `gamma`(x'+vt)
t = `gamma`(t' + v x' / c^2)
`gamma`=1/sqrt(1 - v^2/c^2)
when v is far less than c, approaches Newtonian transformation
as v approaches c, `gamma` goes to infinity, creating a limit on v
m = `gamma` m_0
inertial reference frame
physics stay the same within the frame
speed of light is a constant
Google HW Exercise: Speed of light as a constant vs. speed of light changes depending on its medium
Phase velocity and group velocity in relation to the speed of light
In a vacuum and in medium
Cherenkov radiation
Brian Greene's world science
what is the value of C?
Binomial expansion
decreasing series, so later terms can be ignored depending on how specific you want your answer to be
4 vectors
distance: (x, y, z, ct)
because we need the t to be the same units as the other distance measurements
momentum: (P_x, P_y, P_z, E)
P is momentum
E is energy
Eta, a variable that stays constant despite a change in frame of reference
Natural Units
set c as 1
set h as 1
everything becomes units of energy
Read Chapter 3 from Experimental Higgs Physics
Relativity
Fundamental assumptions
Laws of physics stay the same
speed of light, c, is a constant
as v << c
Einsteinian Physics --> Newtonian Physics
Time dilation
relative to an observer at rest, a frame in motion experiences time slower than the observer at rest
Twins paradox
there are two twins, one is sent away on a spaceship traveling at the speed of light and then returns
Both twins see the other moving away at light speed, so according to the other, each undergoes time dilation, so when they meet again, who is younger?
The twin on the spaceship, because one is accelerating, so not in an inertial frame of reference...? (look this up)
Google: Limit on graviton mass from gravitational wave experiments
Why is velocity relative but acceleration not? -ish
More like why does acceleration put you out of an inertial frame of reference.
Speed of light as a constant vs. speed of light changes depending on the medium
So... its speed is different in a medium because of wave interference
phase velocity and group velocity
Phase velocity is the velocity of a basic sin wave
group velocity is the velocity of a combination of basic waves into a single wave structure
Cherenkov radiation
charged particles moving faster than light because in a medium
What is the value of c?
299792458 meters per second
the speed of light in a vacuum
Limit on graviton mass from gravitational wave experiments
7.7×10−23
Lorentz transformation
Postulates of relativity
c = constant
x, t are no longer absolute
x(x', t')
t(x', t')
dependent on the frame of reference
factor or gamma
gamma = sqrt(1-v^2/c^2)
Contraction of length and dilation of time
beta = v/c (percentage of lightspeed)
gamma = sqrt(1-(beta)^2)
natural units
h = 1
c = 1
Proper time (tau)
the measure of time from the frame where the position is stationary
from the reference frame of the object itself
The frame of reference with the smallest time
t = 1/gamma * tau
where t is the time observed from the frame of reference
v is the velocity of the frame of reference
When doing experiments at LHC, it is down from the center of mass frame
Proper length
length as measured from a stationary frame of reference as opposed to relative to the object being measured
L = gamma * l
Do HW6 by the end of the week
Google Monte Carlo Distribution / Simulation
Cluster is back, do not use hn server anymore!
Core-vectors?
x, t (position and time)
results in time dilation and length contraction
E, P (Energy and Momentum)
E= KE + mc^2
KE = ('gamma'-1)mc^2
E ~ P when KE is tiny
Relativity creates a non-linear relationship between energy and velocity
as v approaches c, 'gamma' approaches v
Action at a distance (entanglement)
seems to violate the speed limit
Breakout exercise
A page on quantum entanglement, action at a distance, relativity (speed limit of light)
Muon lifetime and relativity
Accessing ROOT on the cluster
Updated directions in HW6
Goals
What is ROOT? (answer in the context of LHC data analysis. We are not concerned with any other uses of the word ‘root’)
ROOT is a c++ data analysis and visualization library.
What does command ‘cmsenv’ do?
It sets up an environment for ROOT.
What happens when you run command ‘root'?
The program root is run, which switches terminal input to the root shell interpreter.
What is the difference between commands ‘root' and 'root -l’
Run the root program with or without the splash screen.
How do you quit a root session?
.q
How can you add single and multiline comments in C++?
Use "//" before single line comments and "/* */" around multiline comments.
How to read data from a file in C++ code?
Open a file with an ifstream from the fstream library, then extract contents with ">>"
How to create, write into, and close a txt file in C++?
Use either an ofstream or an ifstream for writing or reading, respectively.
Opening a file with ofstream which doesn't currently exist will create a new file.
Using the .close() function on the file stream closes the file and flushes the read/write buffers
What is the difference between a vector and a scalar in C++?
Vectors hold multiple values whereas scalars hold only one.
How to use vectors in C++?
Declare using type and then follow the variable name with a [n] where n is the desired 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?
TODO in P2
What do we mean by the ’seed’ of a random number generator?
TODO in P2
What changes in the distribution of random numbers as you increase statistics?
TODO in P2
What is ‘class' in C++?
TODO in P2
Name two classes you have used in C++ code in this class?
TODO in P2
How do you run C++ code with root?
TODO in P2
How do you book, fill, draw, and save a histogram in C++ code to be used in root?
TODO in P2
Arrays and vectors in C++
How are these elements distributed in rows and columns?
The elements fill the rows first before starting to fill the next column.
{{1, 2, 3}, {4, 5, 6}}
Note: you can, and in some cases should, use braces to specify rows and columns. Find a simple example on google.
use more {} to specify division between rows
Reading data from a file
Computing
Modify main.cpp and dotprod.cpp from HW6 to actually use std::vector
Quantum entanglement and relativity write-up
Computing
ROOT setup
Top of HW6
Make sure X-11 forwarding is enabled!
Using root
.L to load code file
after loading ana.C, ana can be used as a command to create an ana object with a given name
"ana t" creates ana object called t
TBrowser
opens a windowed interface for viewing data
FINISH HW6 BY THIS WEEK
Reading research papers
Try to understand the general process
Don't go down too many rabbits holes
don't stray too far from the topic
Computing tips
wsl doesn't seem to support recursive X-11 forwarding
use something like PuTTY or MobaXTerm instead
Research paper interpretation
Interpretation:
Introduction (paragraph generalizations):
The standard model of elementary particles describes interactions through the exchange of force carriers. Its predictions have been extensively confirmed, but we don't know how the W and Z bosons have mass, while the photon doesn't.
Spontaneous symmetry breaking could explain why W and Z bosons have mass while the photon doesn't and also predicts the Higgs field/ Higgs boson. Over the course of many experiments, the range of possible masses for the Higgs boson has been further and further limited.
There were more experiments at higher energies that further narrowed down the range of possible masses to search through. In particular, 125 Gev seemed to have an excess of events.
There are five decay modes for the Higgs in the mass range from 110 to 160 GeV. The cross-section of the decay is predicted to have values between 23 or 29 on the higher end and 10 or 14 on the lower end in pb. Of the decay states, one or more ZZ and WW will be off the mass shell, meaning they don't obey classic motion equations.
The methods of analysis used for the current study were reoptimized for the higher energy equipment, and more formalized than previous studies.
Given all of the above, the experiment is consistent with the production of a new particle with a mass near 125 GeV, of which the decay modes which most strongly support this are H --> \gamma\gamma and H --> ZZ. The decay into to photons (\gamma) indicates that the new particle is a boson with a spin different from one (somehow).
Standard model
SU(1) *SU(2) * SU(3)
group theory
involves QM, relativity, fields, and symmetries
particles predicted by symmetry groups
SU(1) associated with the electromagnetic force
SU(2) associated with weak nuclear force
SU(3) associated with strong nuclear force
Electroweak force
combination of EM and the weak nuclear force
"strength" of forces varies with energy
Computing:
reference ROOT docs for details on functions
Google tip:
use site: "foo.net" ("query")
searches for "query" specifically on "foo.net"
Goals (cont.)
How to use a random number generator in C++? Which #include file is needed to use this function in your C++ code?
Use the stand function provided by the stdlib library. Include <stdlib.h> and <time.h> to be able to use it.
What do we mean by the ’seed’ of a random number generator?
The seed of the random number generator is the input for the complicated math function which produces the "random" number.
What changes in the distribution of random numbers as you increase statistics?
TODO in P2
What is ‘class' in C++?
A blueprint for the creation of a complex variable (combinations of fields and methods)
Name two classes you have used in C++ code in this class?
String
ana
How do you run C++ code with root?
TODO in P2
How do you book, fill, draw, and save a histogram in C++ code to be used in root?
TODO in P2
Vectors and combine code from different files
main
dotprod
Random numbers
Try removing the & and see how the result changes. What does the & do?
The & makes the function parameter refer to the address of the argument, since usually for primitive types, values are passed in by copy, which means that the value of inew can now be changed from inside the function.
Without the &, the value of inew stays the same and the function returns the same number every time as a consequence.
Show why unsigned n-byte data with a value up to 2^{8n}-1 can be stored.
technically, this is only true for unsigned integers (not for floats). If you have m bits, then the maximum value that can be stored will be m ones. A 1 in the (m+1)th position = 2^m, and a number of m ones is just 1 less than that (adding one to it will produce a 1 in the m+1 position and zero in all previous positions), so the value of m ones must be 2^m-1. And since there are 8 bits in a byte, a number with n bytes can hold up to the value 2^{8n}-1.
What happens when you run the executable multiple times?
The number numbers come out in the same order (the first 10 numbers were always the same).
What happens when you change the seed?
The numbers change when you change the seed.
What happens to the contents of the histogram as you iterate more and more?
They even out. The probability of being in any bin becomes equal.
Classes
They exist...
Physics
Set N=1 and run it. From this "data", what would you guess the mass of the mother particle is? And, how far would you guess the true mother mass could be from this measured value?
It looks like it has a mass of about 56. I would guess that it's about 35 off (since after reading through the code, it looks like the actual mass was set to be 91).
Now change N to 10. What do you find?
The range of values for the mass is now spread from about 85 to 135. there was one repeat value at about 105.
Change N to 100. What do you find?
The spread of the values is now between about 5 and 140. There are multiple repeat values, with a peak of 3 at about 70.
Change N to 1000. What do you find?
It's looking more and more like a binomial distribution centered around 90.
Now open secretparameters.txt and change the first number in it to 1. Repeat with N=1, 10, 100, and 1000. What have you learned?
It looks like the first number in secret parameters is the actual mass, as indicated by its name in the code.
It was demonstrated that having more data is better because it better shows the whole distribution of possible values the actual mass could be.
Higgs paper
Modes of detection
the decay routes that are being examined
Importance of photon mode (vs. bb)
detection of photons is much more precise
bb are quarks (can't live alone), results in a jet which
Book Recommendation
The God Particle
Higgs field
photons don't have mass (don't interact with the Higgs field), but Higgs has photon-photon decay mode?
indirectly producing photons, usually through top quarks
top quarks decay before hadronizing (quantum properties aren't disturbed by paired quark)
Higgs boson is just the Higgs field interacting with itself
How does it fit in with relativity?
It works with special relativity
For general relativity though... more work is needed
Statistics
sigma is traditionally 68%
more sigma means more deviation from simulated values, which means a smaller p-value
Computing
use scp to transfer files between servers
MadGraph, explore details here:
Research Paper (Class discussions)
Read the CMS section on your own
Event reconstruction
converting direct input into human understandable data
some hardware
mostly software
decay modes for high mass resolution
BDT
boosted decision trees
Despite the high number of collisions, there ware very few decay events from Higgs
More background events that Higgs decay events
Big dip in observed vs expected values at 125 GeV
very small p-value
H -> ZZ
ZZ decays into 4 leptons
Importance of local deviations
maybe not significant overall, but if deviations consistently tend towards a certain direction, then it may still be a significant result.
Look into BDT
Research Paper (Breakout room discussions)
The chart on page 9
ggH: gluon gluon Higgs
VBF: Vector Boson Fusion?
VH: ZZ or WW Higgs?
ttH: top top Higgs
FWHM: Full width at half mass
Used as a lower bound for standard deviation (according to Zach)
The graph on page 10
the dotted line represents how far the observed data dip should be if the Higgs boson had that mass
Computing
a little on Monte Carlo
events are generated completely at random and events that don't conform with the constraints (the theory) are filtered out
Don't forget to use TBrowser command to view result graphics
PID
particles are assigned ID numbers
Finish HW 7 by the end of the week
can ignore the questions on filtering and graphing top quark events (not purple)
use the Higgs discovery paper and iSpy for the purple questions
disregard errors about lines being skipped
they don't affect the root interpretability of the produced root file
Goals
A brief intro to the major parts of detectors in the CMS detector.
Refer to first magenta question
What is missing energy?
leftover energy not accounted for by the observed particles and their energies
What are jets?
the resulting shower from hadronic interaction events
How to distinguish between physics objects in the detector?
electrons
tracked by tracker, caught by EM calorimeter
muons
Tracked by all detector layers
photons
not tracked by tracker, caught by EM calorimeter
jets
Caught by hadronic calorimeter
missing energy
calculated based off of observed tracks
vertices
calculated based off of observed tracks
What is the MadGrapgh package used for?
Generating simulated data for particular collisions
How is tar command used? what is the difference between xvzf and cvzf options for tar?
tar is used to zip and unzip files; -xvzf for unzip and -cvzf for zipping
What kind of information can you find in the madgraph output .lhe file?
data specifying the collision events in a given run
What is Montecarlo (MC) ID?
The id for a particular particle in the simulation
Write a brief description of the major parts of the CMS detector. Beam pipe, tracker, calorimeter, solenoid, muon tracker. What are the physical dimensions of each part?
Beam pipe
tracker
calorimeter
solenoid
muon tracker
Find how to change the display to show you a view along the beam pipe?
Drag mouse while holding down left mouse to change view orientation, or slick a button on the top tab to perfectly orient with the x-y plane
Which color tracks are electrons
green
Which color tracks are muon?
red
Which color track missing energy is represented with?
magenta
How are jets depicted in this visualization?
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)
Looking at the muon tracks, it looks like a clockwise curvature is associated with a positive charge while a counter-clockwise curvature is associated with a negative charge
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?
electrons
muons
photons
jets
missing energy
vertices
Hto4l_120-130GeV.ig:Events/Run_201191/Event_1357605031
electrons: 4
muons: 2
photons: 4
jets: 49
missing energy: 1
vertices: 15
Hto4l_120-130GeV.ig:Events/Run_199319/Event_1203594102
electrons: 2
muons: 4
photons: 0
jets: 44
missing energy: 1
vertices: 11
Goals
How to use TLorentz vector class to get the invariant mass of a particle that decays into two particles?
Use the parameters of the two particles to create TLorentz vectors and then add them to get the TLorentz vector for the original particle. Then, the invariant mass of that particle can be fetched with a method.
How to get C++ class code automatically from a root file?
From inside of root, run the 'HZZ4LeptonsAnalysisReduced->MakeClass("HiggsAnalysis")' Command
What does this command do? HZZ4LeptonsAnalysisReduced->MakeClass("HiggsAnalysis")
This command creates the c++ code files (.c and .h) for HZZ4LeptonsAnalysis and calls them HiggsAnalysis.c and HiggsAnalysis.c, respectively.
HiggsAnalysis.C
in the above code add new TLorentzVector el3, el4 for the 3rd and 4th lepton and set their pt, eta phi, mass.
Add these two vectors to get a new vector TLorentzVector zCandidate2.
Add the two vectors zCandidate and zCandidate2 to get a new TLorentzVector Higgs.
DEfine a new histogram H_zz
TH1F* H_zz = new TH1F("H_zz", "ZZ candidate invariant mass", 200, 0, 300);
Fill the H_zz histogram with HIggs mass. (using Higgs.M() )
Write the H_zz histogram.
open the output file and paste the Z_ee and H_zz histograms in your HW file.
Z_ee
H_zz
Everyone else finishing HW8...
Machine Learning
Cuts
Setting a threshold for a certain measurement metric to filter between signal and background
for example, for finding the Higgs boson, any electron with energy lower than ~40 GeV could not have decayed from a Higgs, so we cut them out
not necessarily accurate, but that's the general idea
The presentation should generally have the same sections as the paper
maybe goes off on certain tangents to explain sub-topics
Use graphics and videos for clarity (fewer words)
Python
and operator
returns the first value if it is false and the second value if it is true
0 is false
really small floats round to zero
& operator
bitwise and
Finish HW9 by the end of the week
https://colab.research.google.com/drive/14IVMHbp3JhXmAAIrGg9J0Ip2I5QM7su8?usp=sharing
EOF Stub