Getting started in HEP
This page is intended to introduce new students to material that will be useful while starting out. Working in high energy experiment requires the acquisition of a number of skills not directly related to the physics. Below are introductions in a number of skills that are critical, roughly in the order they will be encountered
Linux and the terminal
Much of the computing that is done uses Linux machines. As a student, you will be working almost exclusively on Linux machines and must be familiar with the environment. Furthermore, much of your work will be done using the command line, commonly referred to as the terminal. Working with massive amounts of data requires tools that are available exclusively on the command line. Many students are initially intimidated or skeptical of the utility of the terminal, but with time and experience it will become clear how powerful a tool it is.
The best way to get started is simply to start using Linux. Obviously you will be using it at work, but if you have a personal laptop PC, it is very straight forward to set it up to dual boot to both Linux and your current operating system. Linux has an extremely diverse selection of distributions (commonly referred to as distros), and trying to pick one out can be intimidating to a first time user. Mint
is very popular and very easy to install and maintain. Scientific Linux
is what's most commonly used by the experiments, but it has a larger learning curve.
Once you are working in a Linux environment, try to avoid GUI file manipulation and instead opt to use the terminal. Become familiar with the basic commands such as cd, ls, and rm. There is a near infinite number of tutorials and references, so use google frequently to find solutions. Also a good reference is the CommonUnixCommands
article on useful commands complete with examples of usage.
Programming is a critical skill to succeed in HEP. The language of choice in the experiments that MSU is involved in is C++. Most students learn C++ as they encounter the need for it, but a solid foundation in the computer science of programming will significantly improve the quality of code that is produced. A good book on object oriented programming will be extremely useful.
ROOT is a C++ library that is used for data analysis and plotting. The webpage
is an excellent resource for getting started. It has many tutorials and a well written user's guide. Google indexes the reference pages extremely well, so if you are looking for the references for an object, say TLorentzVector
, a google search for "TLorentzVector" will bring up the reference page as the first result. The LearningROOT
article also has great resources for learning the basics.
As with any field, HEP has a significant amount of specialized vocabulary. The CommonTerms
article is an excellent reference, and if you have an ATLAS account, there is a twiki article
that explains a lot of the ATLAS specific terminology.
- 14 Aug 2012