PyHEP 2022

Constructing HEP vectors and analyzing HEP data using Vector

Talk Binder Open In Colab

Vector is a Python library for 2D, 3D, and Lorentz vectors, including arrays of vectors, designed to solve common physics problems in a NumPy-like way. Vector currently supports pure Python Object, NumPy, Awkward, and Numba-based (Numba-Object, Numba-Awkward) backends.

This talk will focus on introducing Vector and its backends to the HEP community through a data analysis pipeline. The session will build up from pure Python Object based vectors to Awkward based vectors, ending with a demonstration of Numba support. Furthermore, we will discuss the latest developments in the library’s API and showcase some recent enhancements.


There are two ways to follow along (or run this notebook after the talk) -

  1. Locally

    • Clone this repository -
       git clone
    • Change directory
       cd Constructing-HEP-vectors-and-analyzing-HEP-data-using-Vector
    • Launch the classic Jupyter notebook or Jupyter lab -
       jupyter notebook
       # or
       jupyter lab
  2. On cloud (recommended)

    • Binder (recommended) Binder
    • Google Colab Open In Colab

We will be directly importing vector, awkward, numpy, numba, and uproot in this tutorial. Hence, a user must install these packages if this notebook is being run locally or on Google Colab.

Caption photos easily. On the left, a road goes through a tunnel. Middle, leaves artistically fall in a hipster photoshoot. Right, in another hipster photoshoot, a lumberjack grasps a handful of pine needles.
This image can also have a caption. It's like magic.

You can also put regular text between your rows of images. Say you wanted to write a little bit about your project before you posted the rest of the images. You describe how you toiled, sweated, bled for your project, and then… you reveal its glory in the next row of images.

You can also have artistically styled 2/3 + 1/3 images, like these.

The code is simple. Just wrap your images with <div class="col-sm"> and place them inside <div class="row"> (read more about the Bootstrap Grid system). To make images responsive, add img-fluid class to each; for rounded corners and shadows use rounded and z-depth-1 classes. Here’s the code for the last row of images above:

<div class="row justify-content-sm-center">
    <div class="col-sm-8 mt-3 mt-md-0">
        {% include figure.html path="assets/img/6.jpg" title="example image" class="img-fluid rounded z-depth-1" %}
    <div class="col-sm-4 mt-3 mt-md-0">
        {% include figure.html path="assets/img/11.jpg" title="example image" class="img-fluid rounded z-depth-1" %}