Two weeks ago, I sketched a crazy idea detailing how Utopian could consist in a handle on external contributions to state-of-the-art particle physics research. I honestly did not know what to expect, and I was really amazed by the positive reaction of the community.
Thanks a lot to all!!! I am now over-motivated by this project and I really want to see it realized.
For more information, please check this post (and its comment section).
[image credits: Pixabay (CC0)]
In a nutshell, this project fits into what is commonly called the preservation of the results of the LHC experiments.
One here aims to implement, within a public and open-source platform, several LHC analyses that target the discovery of new phenomena.
The main motivation is that theorists are continuously developing new ideas and new theories, and it is crucial to be able to test their viability with respect to LHC data.
In this context, a colleague and I have developed a framework called MadAnalysis 5. This framework can do many things, and reinterpreting the results of the LHC analyses is one of these things.
Although this platform is kind of developer-friendly, we are currently lacking of manpower for implementing new LHC analyses. For some reasons that I could speak about during hours (but I will not), physicists are mainly users and not developers.
This is where the Utopian community could enter into the game In particular, @alexdory, @elguille, @howo, @irelandscape, @jorge-caceres, @mactro, @mcfarhat, @sathyasankar and @roj have shown strong interests in this project. Thanks to all of them (again :p )!
I will be of course glad to add any new name to this list. Just let me know.
IN PRACTICE: THE ROADMAP
For practical purposes, I have decided to factor this project into smaller pieces easier to tackle separately. Moreover, there will be no timeline, as the progress of the participants will dictate the timeline.
I am now listing below the different milestones that I have defined, tagging them either as regular blog posts (on the Steem blockchain) addressing particle physics stuff, or as task requests (on Utopian). Through blog posts, I will provide material to digest the physics, whereas through task requests, we will focus together on the coding part.
STEP 0: Getting started (see below).
Installation of a local copy of the MadAnalysis 5 platform by the participants. This should not take too long.STEP 1: Physics objects and analyses of interest (a blog post to appear next week).
I will provide information about the physics objects that are reconstructed in an LHC detector. Those are the objects which we will have to deal with within the code, together with their properties.
I will also present a selection of LHC analyses (at least one per participant to the project) that we could consider, explaining why they are important. Each participant will pick (at least) one.STEP 2: Playing with detector-level objects (a task to appear by the end of next week).
As a first exercise, one will investigate the structure of a MadAnalysis C++ analysis, create a fresh (blank) analysis and learn how to deal with the physics objects reconstructed in a detector in terms of code. A few exercises will be proposed so that everyone could get used to both the MadAnalysis 5 language and the physics behind it.STEP 3: Definition of the physics objects relevant for the selected analyses (task).
Each participant will implement a snippet of code selecting the objects relevant for the considered analyses. For instance, we may detect dozens of electrons after one specific collision, but only those satisfying certain criteria are interesting for a given analysis. This selection will be implemented in C++.STEP 4: About LHC analysis strategies for unravelling new phenomena (post/task).
I will detail how one designs an LHC analysis from scratch, what is a signal region (i.e. a specific analysis strategy) and a cut (a selection of specific collisions exhibiting given properties).
I will then detail how to implement regions and cuts in the MadAnalysis 5 framework. Each participant will then be welcome to implement the regions and cuts related to his/her own analysis.STEP 5: Simulating LHC collisions (blog post).
I will detail how one can simulate efficiently millions of LHC collisions on a simple laptop. This will be useful to the next step. I will provide some funny exercises.STEP 6: Validation (task).
This is the toughest part of the project. Having a running code is not sufficient. One will confront predictions made with it, for a well-defined scenario, to experimental simulations and verify their agreement. This will include the tuning of the detector simulation and the definition of simulated signals of interest. Potential discrepancies may appear and will have to be fixed.STEP 7: Victory! Bonus: a physics project and publication?
After that the reimplementations will be validated, the codes will be merged to the main branch of the MadAnalysis 5 program. Each analysis code will in addition be assigned a Digital Object Identifier so that it will become citable by physicists in real research work.
Utopian being about realizing his/her dreams, why not moving on with extra analyses or a real physics project to be run on the Steem blockchain, using the work produced so far? Who knows where this will bring us? ;)
GETTING STARTED
In order to start this project, each participant must install locally a version of the MadAnalysis 5 program. Note that I know that the steps below trivially work on Linux and Mac OS. I am more scared by Windows… Any Windows user in the room?
I assume that each participant has a system with a recent version of the gcc compiler installed, as well as with the gmake utility available.
One should first install the latest version of the root framework, to be downloaded from CERN. This is a requirement in order to allow for the simulation of the LHC detectors.
It is then time to download MadAnalysis 5 from launchpad. Please take version 1.6.
Unpack the tarball, and start the code by typing, from the directory in which the tarball has been unpacked,
./bin/ma5
This initializes the MadAnalysis 5 command line interface, checks the presence of all mandatory packages and which of the optional packages are available. After a successful initialization step, the prompt ma5> is shown on the screen and we are ready to go.If everything is fine at this stage, please type, within the MadAnalysis 5 interpreter,
install delphes
This will install a simulator of the LHC detectors within the framework. And this simulator is called Delphes.Finally, if everything is still fine at this stage, the last necessary step is to type
install PAD
This will create a directory named PAD in which all currently existing reimplementations will be downloaded. Everything that will be downloaded is documented on the MadAnalysis5 Public Analysis Database.
Please let me know whether this works. If not, do not hesitate to comment or to grab me on discord (@lemouth#8260).