This is the source material for the analysis essentials website, a series of lessons for helping high-energy physics analysts become more comfortable working with the shell, version control, and programming.
The lessons introduce the basics of the bash shell, the git version control system, and the Python programming language. They are developed for and taught during the Starterkit, and aim to teach students enough to be able to follow the experiment-specific lessons that are taught afterwards.
Contributions to the lessons are highly encouraged. Please see the contributing guide for details on how to participate.
There are two options for running these lessons. Running locally should be prefered on Linux and macOS as it is faster and makes it easier to save you work. On Windows it is likely easier to use Binder however care is needed to prevent notebooks being lost when the server is shut down.
This tutorial uses
Python 3.7 and requires some packages.
It is recommended to use Conda to install the correct packages.
Conda you will need to do the following:
Condaaccording to the instructions here
- You can add
source /my/path/for/miniconda/etc/profile.d/conda.shto your
- Add the channel:
conda config --add channels conda-forge
Now to use your first
- Create an environment with some packages already installed:
conda create -n my-analysis-env python=3.7 jupyterlab ipython matplotlib uproot numpy pandas scikit-learn scipy tensorflow xgboost hep_ml wget
- Activate your environment by doing:
conda activate my-analysis-env
- You can install additional packages by doing:
conda install package_name
- For the lessons to work fully you will also need to install a special helper package with pip:
pip install git+https://github.com/hsf-training/python-lesson.git
You should now be able to use the tutorial.
- First clone with git:
git clone https://github.com/hsf-training/analysis-essentials.git
- For more information on getting started with git please see the Analysis Essentials course
cd analysis-essentials jupyter lab
This should open a Jupyter webpage with the current directory displayed. Navigate to one of the lessons to start the tutorial.
If you have any problems or questions, you can open an issue on this repository.
.. toctree:: :maxdepth: 3 :includehidden: :caption: Contents: python/README.md advanced-python/README.md shell/README.md shell-extras/README.md git/README.md CONTRIBUTING.md