Towards an Utopian contribution to particle physics - the roadmap and how to get started

in #utopian-io7 years ago

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?

  1. 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.

  2. 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.

  3. It is then time to download MadAnalysis 5 from launchpad. Please take version 1.6.

  4. 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.

  5. 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.

  6. 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).

Sort:  

Installed and ready to run !

I stumbled upon a few issues which were solved by going in to the root folder and running

cd bin
. thisroot.sh

don't forget the dot before thisisroot.sh

and then go back tot he ma5 folder and run it like indicated :)

You shouldn't have more issues as thisisroot.sh will set all the correct binary paths.

Thanks for specifying this. I forgot to mention it, but this is necessary to tell your environment variable where root is :)

Yeah, so far root has been a bigger issue than ma5 for installing on WSL. More info soon, but for reference, 'source thisroot.sh' was the correct command for me.

If you happen to know the person responsible for naming a package that likes to live in *nix 'root', please do pinch them for me.

I am also sourcing the file here (it is actually embedded within my bashrc ;) )

If you happen to know the person responsible for naming a package that likes to live in *nix 'root', please do pinch them for me.

I don't know him personally. He works at CERN :)

Hi, it was nice to read and we are looking forward to seeing more progress of this project as it sounds awesome. There is one small caveat which I believe could be resolve easily.

We currently support projects hosted on GitHub and it would be really great if you could mirror it there. You can read about this requirement the rules page in the section Github Integration and Repositories.

We would like to avoid making exceptions if possible, one reason is that the posts may be reviewed by different people and if they follow our defined requirements, we might face a misunderstanding.

If you do have a GitHub repository, remember to put the link at the top so it can be easily recognized.

Your contribution has been evaluated according to Utopian rules and guidelines, as well as a predefined set of questions pertaining to the category.

To view those questions and the relevant answers related to your post, click here


Need help? Write a ticket on https://support.utopian.io/.
Chat with us on Discord.
[utopian-moderator]

Thanks for comment and providing the review to my post.. Let me answer it in various steps.

For various reasons, I cannot move the entire MadAnalysis project to GitHub. The main of these reasons is that this code is widely used in the particle physics community (the three corresponding articles are gathering several hundreds of citations as a proof) and I don't want to confuse my own community. However, the Utopian-MadAnalysis project has nothing to do with the development of MadAnalysis. Having the main MadAnalysis repository on LaunchPad instead of GitHub is therefore not a blocking point in my opinion. None of the tasks done within this project will impact the core code.

The idea of this project is to work on the Physics Analysis Database of MadAnalysis. This database is a collection of external contributions that are stored on Inspire (again not GitHub) and that allows to associate a DOI to them, so that they could be cited in physics papers. This project is to develop some of these external contributions.

However, what matters is that the finalized code is submitted to Inspire to get the DOI. This does not prevent the development to be done on GitHub and be mirrored to Inspire at the very end. I can even connect the main program to the github repository as well if necessary.

This is what I had in mind actually, and I think that it fits the Utopian rules so that there is no need to make any exception.

Note that I am fine to continue this discussion either here or on discord (I am not planning to post the next episode before next week anyways, or at least before next Friday).

This is really something new for me. But I would like to try it.. I'll try if it works on Windows and I'll tell you friend

Maybe with something like cygwin it could work. But this, you will have to tell me. Another option is to add a linux partition on your system ;)

Or simply run it on virtual machine, i.e. VirtualBox is pretty simple to use.

True. I didn't think about it but yes, this would work too (and is possibly a better option).

Downloaded, installed, works! (I think) What you could add is some final verification step that would show everything works correctly. Maybe plot something,?

There are so many things to do with the code and I don't like asking people to do things without understanding (there are many particle physics concepts to explain). However, you can maybe try some tutorials.

As you said, it is never too late to learn anything. But I have failed to satisfy one basic criteria. As of now I have no computer with me and I'm using steemit through my mobile phone. Let me see what I can do to arrange a laptop to be a part of this great initiative if you think my participation can be of any help!

Meanwhile I would like to hear from @dexterdev who is fond of python and many other computer programming languages. I think he can be of a great help in accomplishing this concept!

@sathyasankar : I am more of a Jack of all trades, master of none. I have very basic knowledge of C++. Even I am not expert in python. :)

Many physicists are like you... so ;)

You can brush up your knowledge then!

If you don't have any computer, I am afraid there is nothing I can do for you. Sorry about that.

Meanwhile I would like to hear from @dexterdev who is fond of python and many other computer programming languages. I think he can be of a great help in accomplishing this concept!

This project focuses more on the c++ part of the platform than on its pythonic side. But I will always be happy to read comments about it ^^

Yes I know. I have already taken steps to arrange a laptop and it is not going to be that big a deal for me. I hadn't felt the need to use it before this. Thanks you have provided the timeline of 1 week before your next blog would appear! I'm already aware of the fact that as this platform is build upon blockchain technology and decentralised in nature, we can extract loads of data from here and use them appropriately.

This project focuses more on the c++ part of the platform than on its pythonic side.

We have internet. Nothing is impossible if one has the desire to learn.

Of course :)

Oh wow, this looks like a really interesting intersection of the blockchain and real life. Please do keep us updated.

I'm running a bunch of *nix software under the WSL Bash shell, I'll try to make some time to see how your code plays with that environment.

I didn't know the existence of the WSL bash shell. Thanks for bringing this to my attention, and please keep me updated. This may give an alternative to our windows users. I always have 2-3 students running on windows when I am lecturing this at international schools... ;)

I'm hoping to give an install a try later this week, I'll report back.

We always have a few students running Macs, which screws us up since a lot of the software we use in the courses is Win based. Our uni has a virtual computing lab and they've really been helpful for this problem. We spend a little time creating an os image with the software fully installed, and students can remote in to a virtual machine. It completely eliminates our old problems of spending 90% of the demo time getting people up and running.

Ahah! Linux should actually be used.... it is free software. All the codes involved in this project runs nicely on linux (and therefore on mac os) :)

This is very awesome man. I wish I could help (in grad school for physics with undergrad research in particle physics), but I have qualifying exams in 2 months. After that, I would love to dedicate some time to help.

Well, although there is a timeline here, it will never be too late to join after your exams. I am pretty sure we won't be done by then. Also, all the information will be stored on the blockchain so that this could continue in the future without any time limit.

In short: you are welcome to join at any time!

Thanks for the guidance, @lemouth. I will install the software in the next days and post about it. The project looks very nice. I will have a chance to probe my very basic knowledge about particle physics and learn much more.

Just let me know if you have issues. I am here to help :)

Whao ,@lemouth I see this to be a great project which can be a point of reference in years to come. I know about C++ a bit but , application in physics is super high for me. Though am really much interested to follow how it progress. Are we going to have have access to read about it on your blog?, I mean are we going to have access to read about the program as it progresses?. This blog is steering something up within me .÷) don't know yet 😁

Thanks!

Yes, everything will be fully transparent. Progresses, successes, failures, etc... and of course physics! :)

Am looking forward

Hey @lemouth
Thanks for contributing on Utopian.
We’re already looking forward to your next contribution!

Contributing on Utopian
Learn how to contribute on our website or by watching this tutorial on Youtube.

Want to chat? Join us on Discord https://discord.gg/h52nFrV.

Vote for Utopian Witness!

The pleasure is for me ^^

would you look at that, contact and liftoff lol ... great to see connections at this level of practicality , that should be in plain sight to the "outside world" multiple uses of the steemit blockchain and community in the real world, hmz ...

i used to run all that seti and distributed folding and what not on my pcs but these celerons i have today are pretty useles for anything but text and multimedia i'm afraid. Glad to see you people connect though

We don't need a huge CPU power here. We instead need a lot of golden fingers if you see what I mean ^^

i think i see, but to actually construst virtual hardware parts of a supercollider in code ? its 100% possible ofcourse, its what computers were built for in the first place but when you say simulate x number of collisions on a laptop i somehow doubt that will go at near to lightspeed on said laptop lol. It looks VERY interesting if i were a bit less chaotic and a bit of a teamplayer who can fit in a pipeline id seriously like to try my inexperience hands at it but i'm afraid id get in the way. I hope i can keep an eye on it though. I have been known to have ideas. For instance, and i don't want to cause a divide but for your particular project don't you think a specifid dedicated blockchain would be better than using an existing one that's already specialized for something else. I don't know enough about it, i would very much like to look into the linux foundation hyperledger, assuming its the geekest of the geek with all people doing it for free so to speak so since money's not the motivator and you have the highest geek% per capita there i dare assume the hyperledger must be something advanced (but i dont know and i dont like to speak before i checked and have a general idea). You seem to be somewhat of an unstoppable force though, dedicated through and through, i bet you had physics for a hobby before you turned to school lol. The kind of people who make things work and act as catalysts for a community.

'developing' a framework on the side ;-) i sure would like to keep my eye on it at the very least but i'm sure you will keep everone updated here from time to time as well ?
like a textbook example of the scientists who isnt interested in power (or witness programs) but could if he or she would rally people to their side by sheer presence lol
well i'm out before anyone thinks i'm kissing up here. You're by far one of the most interesting people i have bumped into here. I'm always looking forward to more !!!

Hey @rudyardcatling
Here's a tip for your valuable feedback! @Utopian-io loves and incentivises informative comments.

Contributing on Utopian
Learn how to contribute on our website.

Want to chat? Join us on Discord https://discord.gg/h52nFrV.

Vote for Utopian Witness!

Loading...

i think i see, but to actually construst virtual hardware parts of a supercollider in code ?

This can be done with the delphes package, that actually contains parameterizations of present and potentially future colliders.

. For instance, and i don't want to cause a divide but for your particular project don't you think a specifid dedicated blockchain would be better than using an existing one that's already specialized for something else

No, a blockchain is not useful here. I don't see what going beyond a repository like github would bring. Please telle me and if I am convinced, I will chain my mind ^^

'developing' a framework on the side ;-) i sure would like to keep my eye on it at the very least but i'm sure you will keep everone updated here from time to time as well ?

I will definitely! Both from the physics side and from the progress side! You can count on me!

You're by far one of the most interesting people i have bumped into here. I'm always looking forward to more !!!

Thanks. I am writing a post for you now (the one on time, but I won't finish it tonight... most probably tomorrow or after tomorrow) ^^

well, there's no rush, i won't be going anywhere anytime soon lol, it's just some thoughts off the top of my hat (i get those all the time, it's hard to not think isn't it) i wouldn't dare try to push my opinion on something i have only 'a clue' about lol, but its very interesting and somewhat stimulating , i'm looking forward to your clinical view on time :D but please by all means, life first, steemit after

but please by all means, life first, steemit after

Offline life always comes first! :)

Have I mentioned that I basically consider you the single coolest person on Steemit? If not, I really should have.

Seriously, this project is awesome.

Wow! That is very nice! Thanks a lot for the nice comment both towards myself and the project :)

I mean it, this is so cool!

@lemouth
A project with high chances of success, i dont really know much about physics, but from what i have read so far about this project, it is sure a promising one.
More strenght and grace to you as you keep educating the community. You efforts on steemstem has been awesome, kudos sir
@cyprianj

Thanks for passing by. This is a huge project, and if it works, it will create a precedent: an Utopian contribution to state-of-the-art research. I am really excited ^^ :)

Mega project getting revealed further :D
I will try to allocate some time to go through the steps in details this week .. i hope

I hope too! I would like to see you contributing ^^

Even though I have zero idea of either python or CC++ programming language, I would say this concept is new, exciting and useful for sharing the knowledge of science. Who wouldn't like a database of information that is free for the taking? I know I will.

Edit: I use windows always :)

Lol, they're over my head too.

Never too late to learn, isn't it? :D

Nope, never! :)

Who wouldn't like a database of information that is free for the taking?

We all want it! :)

Edit: I use windows always :)

Never too late to move to a better paradigm :p

I'd give Mac OS a try very soon.

Virtual machines could also be a nice way to go :)

In every work first step is so important for next step. So I think whatever you all think to do please go ahead with hard enthusiasm. Maybe you will be success.

I am very optimistic. People seem motivated, this is what matters so far. Afterwards, the babystep by babystep manner is probably the best :)

Folding at home has a new competitor :P

Particle physics cannot be really compared with folding@home. If you refer to the folding@home project I have in mind, of course :)

Though not a physicist nor enthusiast neither am I a programmer but I honestly believe this project have got huge value to bless steem ecosystem with.

@eurogee of @euronation community

Thanks for your words and passing by :)

God bless you too

A second thank you ^^

Can't wait for the rest of the articles to contribute :D

You will have to wait... I didn't even start to write the next episode ^^

Ok will install this on my laptop as soon as I get a chance.

Bit busy today so it might happen tomorrow instead.

Don't worry. The next step is not for tomorrow too. Please take your time (and let me know if you need anything).

OK, I've installed successfully Delphes and PAM.

It didn't work initially. After digging I was missing some packages on Ubuntu 17.10: libtbb-dev, libtiff-dev, libjpeg-dev and tclsh

I guess we should familiarize ourself with the root primer document?

Knowledge of the root software is not necessary. This is a requirement to run the LHC detector simulator that is integrated to the package (i.e. Delphes).

If you want to get familiarized with the platform, I can recommend this page that should be updated one day... However, the available material is still ok as a starter ;)

This is a cool project. Even though I'm not too knowledgeable in C++, I would still have to look at the program.

Note that I know that the steps below trivially work on Linux and Mac OS. I am more scared by Windows

I'm a Windows user BTW

As I said to others, never too late to change. .. ;)

Note that you can also use a virtual machine to emulate a linux environment :)

Yeah; it's never too late to change.
But I think I'll pick the option of using a Linux emulator. Sounds like an easy way out :D

Please let me know whether you manage :)

ı hope that Progeny is also successful!!

Crazy idea :D tipuvote!

Thanks a lot! :)

Hi @lemouth! You have received 1.0 SBD @tipU upvote from @cardboard !



@tipU upvotes with 210% of the payment and shares 100% profit + 50% curation rewards with all investors, allows to automatically reinvest selected part of your payout and can do other cool stuff :) Click here for more info.

Congratulations @lemouth! You have completed some achievement on Steemit and have been rewarded with new badge(s) :

Award for the number of upvotes

Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click here

If you no longer want to receive notifications, reply to this comment with the word STOP

Upvote this notification to help all Steemit users. Learn why here!

Good

Source
Generic comments could be mistaken for spam.

More information:
The Art of Commenting
Comment Classifications