Python in High Energy Physics

Pratyush Das (~pratyush26)


This talk presents the thoughts and perspectives of a computer science student who develops software for use in High Energy Physics and presents his experiences after having worked closely with particle physicists. The talk closely examines what makes python ideal for scientists and why it is used as much as it is and examines the gradual shift from C++ to Python in the particle physics world. The talk will also walk you through the python libraries developed for physics analysis as well as the popular python packages that scientists make use of actively.
The audience will be told about the current status of Python in High Energy Physics and then shown the various possible approaches being taken to incorporate Python into the High Energy Physics world.

This talk is aimed at python users who want to know how python is used for research in High Energy Physics to make important discoveries, such as the discovery of the Higgs Boson. This is also aimed at physicists who are curious about the usage of Python in their field or feel more comfortable using Python and want to know the active progress of Python being used as a programming language for regular analysis of data.

Talk Outline - (Topic might have more than 1 slide)
Introduction -
What is High Energy Physics?
Few of the first computers were built for Physics
Visible influence of Physics in Computer Science

Computing in High Energy Physics
Where is computing required?
Problems in Physics computing
Programming languages in High Energy Physics
Requirements of a language to be used in HEP
How do Physicists do what they do? - ROOT

Python in High Energy Physics
What is ROOT?
How Python fits into a Physicist's workflow
ROOT and Python
Dynamic Python bindings for C++
Python in Physics from the ground up - uproot
Non-rectangular data - Awkward arrays
Python faster than C++?

Python in the Future
How Physics analysis workflows are starting to look
Current divide in ecosystems
The scikit-hep project
Evolution of Python in High Energy Physics
Role of Machine Learning

A Physicist's perspective
Python in other Physics fields
Two approaches to Python in High Energy Physics
Concluding remarks

Content URLs:

Draft slides -

Speaker Info:

Pratyush Das is an undergraduate majoring in Computer Science in India. He has experience developing software for High Energy Physics, mainly working on different implementations of the ROOT framework - Spark-ROOT, root4j and uproot. He has worked as a Visiting Scientist at the Fermi National Accelerator Laboratory as a part of the CMS collaboration of CERN on a fellowship awarded by DIANA-HEP where he had the chance to interact closely with physicists and understand their use cases. He is currently an IRIS-HEP fellow at Fermi National Accelerator Laboratory, continuing his work on uproot - a ROOT I/O library written purely in python and numpy. uproot has been a runaway success in the High Energy Physics world getting over 15000 downloads a month.

Speaker Links:

Relevant Talks -
ROOT User's Workshop (Academy of Sciences and Arts of Bosnia and Herzegovina) - Writing ROOT files with uproot
DIANA-Meeting - Updates on ROOT I/O (Vidyo) - I/O for uproot

Relevant Open Source Projects -

Publications -
Authorship attribution of short texts using multi-layer perceptron

Mentions -
IRIS-HEP - Fellows, Pratyush Das
DIANA-HEP - Team, Fellows
Princeton University article - CoDaS-HEP


Future accepted talks-
PyHEP 2019
CHEP 2019 (co-author)

Id: 1066
Section: Scientific Computing
Type: Talks
Target Audience: Beginner
Last Updated: