This is a tutorial for PHY522, Advanced Topics in Particle Physics at the University at Buffalo, State University of New York.
It will download two programs that demonstrate the use of
fastjet
(software, Phys.Lett.B641:57-61,2006, CERN-PH-TH/2011-297),
fastjet-contrib
(software), specifically the N-subjettiness JHEP 1103:015,2011 and soft drop JHEP 1405 (2014) 146 packages,
pythia
(software, LU-TP 22-16, MCNET-22-04, LU TP 14-36, MCNET-14-22, CERN-PH-TH-2014-190, FERMILAB-PUB-14-316-CD, DESY 14-178, SLAC-PUB-16122)
and root
link together.
pythia2fastjet
: usepythia
to generate events with a given configuration and cluster them with various algorithms infastjet
.pythia2root
: a more industrial-scale analysis that will generate events, cluster stable particles, and write the events and jets to a.root
file for later analysis.
- Events will be simulated with
pythia
as per the user-supplied configuration. An exampleqcd_multijets.cfg
is provided. - Jets will be constructed with the anti-$k_T$ jet algorithm with R=0.8 JHEP 0804:063,2008. A minimum jet
$p_T$ cut is applied of 50 GeV. - The clustered AK8 jets will then be reclustered with the soft drop algorithm JHEP 1405 (2014) 146 with various
$\beta$ parameters and$z_{cut}=0.1$ . - To avoid confusion, jets that contain 90% of their energy from electrons or muons are not considered as jets.
- Various n-subjettiness variables are also calculated JHEP 1103:015,2011 .
Execute these commands to download the correct software environment and docker image
- Run once:
git clone https://github.com/ubsuny/PHY522.git
cd PHY522
docker pull srappoccio/rivet-pythia-uproot:latest
- Run every time you want to run a job:
docker run --rm -it -v ${PWD}:${PWD} -w ${PWD} --entrypoint "/bin/bash" -p 8888:8888 srappoccio/rivet-pythia-uproot:latest
You will then be taken to the virtual environment for the rivet-pythia-uproot
example, which is based on the hepstore/rivet-pythia docker image from rivet
, which is ultimately an Ubuntu
image with several HEP-related libraries.
Then when you are inside the docker image, compile the executables:
make pythia2fastjet
make pythia2root
After you are done compiling, you can use these two programs to do studies.
$ ./pythia2fastjet
usage: ./pythia2fastjet config_file n_events (verbose?)
$ ./pythia2root
usage: ./pythia2root config_file root_file n_events <optional: seed (-1 = default, 0=use time, or input your own)> <optional: ptcut>
An example is provided in qcd_multijets.cfg
, containing this text:
HardQCD:all = on
PhaseSpace:pTHatMin = 10
This will create QCD multijet events with a minimum
To run the example over 10 events and print out verbose information:
./pythia2fastjet qcd_multijets.cfg 10 1
and to run the example over 1000 events and make the output root
file:
./pythia2root qcd_multijets.cfg qcd_multijets.root 1000
Now we will make some plots using the uproot
software package and matplotlib
.
First, create a jupyter
notebook to plot things:
docker run --rm -it -v ${PWD}:${PWD} -w ${PWD} -p 8888:8888 srappoccio/mlanalysis:latest
Then open and run this script.