[SPA-ENG] "Citizen Science" Project - Report - Part Five | Reporte - Quinta parte

avatar
(Edited)

Este es mi reporte de la quinta parte del proyecto de ciencia ciudadana. En la parte anterior, usamos MadAnalysis5 para analizar los datos que habíamos obtenido en la segunda parte. Para más detalles, pueden leer mi reporte o el de cualquiera de mis compañeros de proyecto en la etiqueta #citizenscience. En esta parte, simularemos la señal de neutrinos que vamos a estudiar. Si quieren conocer más sobre este proyecto, pueden ingresar a este post de @lemouth, que es quien está liderando este experimento en Hive.

This is my report of the fifth part of the citizen science project. In the previous part, we used MadAnalysis5 to analyze the data we had obtained in the second part. For more details, you can read my report or that of any of my colleagues in the project under the hashtag #citizenscience. In this part, we are going to simulate the neutrino signal that we are going to study. If you want to learn more about this project, you can go to this post by @lemouth, who is leading this experiment at Hive.

Tarea 1 - Instalación de un modelo de física de partículas en MG5aMC

Installation of a particle physics model in MG5aMC - task 1

La primera tarea consistía en agregar a MG5aMC una extensión del Modelo Estándar que incluye nuevos neutrinos masivos. Para ello había que situarse dentro de la carpeta models de la instalación de MG5aMC y correr un comando con curl. En mi caso, no tenía instalado curl, así que tuve que instalarlo primero:

The first task was to add to MG5aMC an extension of the Standard Model that includes new massive neutrinos. To do this, we had to go to the models folder of the MG5aMC installation and run a command with curl. In my case, I did not have curl installed, so I had to install it first:

Ya con curl instalado, pude agregar el modelo a MG5aMC.

With curl installed, I was able to add the model to MG5aMC.

Y SM_HeavyN_NLO ya aparece dentro de la carpeta models.

And SM_HeavyN_NLO already appears inside the models folder.

Preparación de la simulación de una señal de neutrinos pesados - tarea 2

Preparing the simulation of a heavy neutrino signal - task 2

Antes de pasar a la segunda tarea, voy a tratar de explicar con mis palabras lo que vamos a hacer. Pueden leerlo mejor explicado en el artículo de lemouth que cité en la introducción, pero reformularlo me ayuda a comprender mejor qué estoy haciendo, en lugar de solo repetir comandos en la terminal de linux. Lo que vamos a simular es la colisión de dos quarks a altas energías, tal como ocurre en el LHC. En esa colisión, cada quark tiene una determinada probabilidad de emitir un bosón W. Estos, a su vez, intercambian un neutrino pesado (para eso instalamos la extensión del modelo estándar) y se producen dos leptones (electrones, muones, taus, neutrinos, y sus antipartículas) con la misma carga eléctrica. En una investigación del año 2020, lemouth y sus colaboradores analizaron el caso de la producción de dos muones o antimuones. La idea es que nosotros en Hive estudiemos el resto de las combinaciones de leptones. Antes de dar ese paso, sin embargo, vamos a tratar de reproducir los resultados de la investigación ya realizada con los muones, para testear que todo esté funcionando correctamente.

Before moving on to the second task, I will try to explain in my own words what we are going to do. You can read it better explained in the lemouth article I quoted in the introduction, but rephrasing it helps me to better understand what I am doing, instead of just repeating commands in the linux terminal. What we are going to simulate is the collision of two quarks at high energies, as occurs at the LHC. In that collision, each quark has a certain probability of emitting a W boson. These, in turn, exchange a heavy neutrino (for that we installed the standard model extension) and two leptons (electrons, muons, taus, neutrinos, and their antiparticles) with the same electric charge are produced. In a 2020 investigation, lemouth and his collaborators analyzed the case of the production of two muons or anti-muons. The idea is for us at Hive to study the rest of the lepton combinations. Before taking that step, however, we will try to reproduce the results of the research already carried out with muons, to test that everything is working correctly.

Ahora sí, entonces, volvamos a la terminal de linux para iniciar MG5aMC. La idea es convertir el modelo que descargamos en una versión para Python 3. Como no recordaba qué versión de Python tenía, primero lo comprobé de este modo:

Now then, let's go back to the linux terminal to start MG5aMC. The idea is to convert the model we downloaded into a version for Python 3. Since I didn't remember which version of Python I had, I first checked it this way:

Luego, convertí el modelo:

Then, I converted the model:

Y lo importé:

And I imported it:

El siguiente paso es excluir la posibilidad de tener un bottom quark en los protones que van a colisionar, ya que estos quarks no se consideran sin masa como los otros (que en realidad tienen una masa, pero insignificante). Para ello escribí los siguientes comandos en la terminal:

The next step is to exclude the possibility of having a bottom quark in the protons that are going to collide, since these quarks are not considered massless like the others (which actually have a mass, but negligible). To do this I typed the following commands in the terminal:

Luego, generé la colisión de dos protones que produce dos antimuones y dos jets:

Then, I generated the collision of two protons that produces two anti-muons and two jets:

Y le agregué la colisión que produce dos muones y dos jets:

And I added the collision that produces two muons and two jets:

Con esto, entonces, tenemos ya los casos estudiados en la publicación de 2020, es decir, aquellos en que la colisión de dos quarks (que no son bottom) producen dos muones o dos antimuones. Finalmente, creé la carpeta test_signal con los resultados.

With this, then, we already have the cases studied in the 2020 publication, that is, those in which the collision of two quarks (which are not bottom) produce two muons or two antimuons. Finally, I created the test_signal folder with the results.

En el siguiente paso, tipeé “open index.html” para acceder a los 80 diagramas generados, que se encuentran en el enlace “Process Information”.

In the next step, I typed "open index.html" to access the 80 generated diagrams, which are located in the "Process Information" link.

Algunos de los diagramas generados:

Some of the generated diagrams:

Diagramas de Feynman - ejercicio 1

Feynman diagrams - assignment 1

¿Cuáles son las diferencias entre los diagramas generados? ¿Por qué hay tantos diagramas?
Los diagramas generados son muy similares. En principio, veo que hay dos grandes grupos de diagramas, aquellos en los que se generan dos muones (mu- mu-) y aquellos en los que se generan dos antimuones (mu+ mu+), que es justamente lo que buscábamos. En cada uno de estos grupos hay diferentes diagramas según el tipo de quark que se considere en cada caso (u, d, c, s y u~, d~, c~, s~). No hay bottom quark porque lo excluimos en uno de los pasos anteriores. ¿Por qué no hay quark top? Revisando los pasos anteriores veo que tampoco lo habíamos incluido, pero desconozco la razón de ello. ¿lemouth?

What are the differences between the generated diagrams? Why are there so many diagrams?
The generated diagrams are very similar. In principle, I see that there are two large groups of diagrams, those in which two muons are generated (mu- mu-) and those in which two anti-muons are generated (mu+ mu+), which is exactly what we were looking for. In each of these groups there are different diagrams according to the type of quark considered in each case (u, d, c, s and u~, d~, c~, s~). There is no bottom quark because we excluded it in one of the previous steps. Why there is no top quark? Reviewing the previous steps I see that we had not included it either, but I don't know the reason for that. lemouth?

Cálculo de la tasa de producción de señales - tarea 3

Calculation of the signal production rate - task 3

Para calcular la tasa a la que se produce el proceso en el LHC Run 2, escribí el comando “launch” en MG5aMC y luego “0”, ya que no es necesario activar ninguna de las opciones que aparecen.

To calculate the rate at which the process occurs in LHC Run 2, I typed the command "launch" in MG5aMC and then "0", since it is not necessary to activate any of the options that appear.

Luego, escribí “1” para poder modificar los parámetros del archivo “param_card.dat”. En esta parte, hay que usar VI, al cual no estoy acostumbrado, pero voy aprendiendo de a poco.

Then, I wrote “1” to be able to modify the parameters of the "param_card.dat" file. In this part, I had to use VI, which I am not used to, but I am learning little by little.

Como solo queremos que esté activo un neutrino pesado, seteé la masa del primer neutrino con un valor pequeño y la de los demás con un valor grande.

Since we only want one heavy neutrino to be active, I set the mass of the first neutrino to a small value and the others to a large value.

Luego, en la parte de “Information for numixing”, seteé “VmuN1” con un valor de “1” y todo el resto con “0”.

Then, in the "Information for numixing" part, I set "VmuN1" with a value of "1" and all the rest with "0".

Por último, en “Information for decay” configuré WN1 como “Auto”.

Finally, in "Information for decay" I configured WN1 as "Auto".

Luego, edité el archivo “run_card.dat”.

Then, I edited the "run_card.dat" file.

En la sección “PDF Choice” cambié los parámetros por “lhapdf” y “262000”.

In the "PDF Choice" section I changed the parameters to "lhapdf" and "262000".

En “Minimum and maximum pt’s” seteé “0.0 = ptl”.

In "Minimum and maximum pt's" I set "0.0 = ptl".

Finalmente, en “Store info for systematics studies” configuré “False = use_syst”.

Finally, in “Store info for systematics studies” I set "False = use_syst".

Al correr el programa, recibí un error de lhapdf.

When running the program, I received an error from lhapdf.

Hice una búsqueda por internet, instalé python3.7-distutils y luego volví a instalar lhapdf. Corrí otra vez el comando launch y esta vez sí funcionó.

I did an internet search, installed python3.7-distutils and then reinstalled lhapdf. I ran the launch command again and this time it worked.

El valor, sin embargo, no se parece al esperado.

The value, however, does not resemble the expected one.

Así que salí de MG5aMC y realicé todo el proceso nuevamente. El error estaba en la información de la masa.

So I exited MG5aMC and did the whole process again. The error was in the mass information.

Esta vez los resultados fueron los siguientes.

This time the results were as follows.

Como se puede ver en la imagen el proceso demoró 21 minutos (estoy en una máquina virtual con poca memoria) y obtuve una cross-section de 0.0123 pb, que era lo esperado.

As you can see in the image the process took 21 minutes (I am in a virtual machine with little memory) and I obtained a cross-section of 0.0123 pb, which was expected.

Dependencia de la tasa de señalización de la masa del neutrino - ejercicio 2

Signal rate dependence on the neutrino mass - assignment 2

Para este ejercicio, modifiqué los valores de la masa de este modo:

For this exercise, I modified the mass values in this way:

Este proceso demoró mucho tiempo, alrededor de 50 minutos para cada valor de masa. Con los resultados obtenidos, creé un gráfico. En mi caso, lo hice con un compilador online de Matplotlib. No sé cómo usar Matplotlib, así que tuve que aprender un poco y no estoy seguro de haberlo hecho bien. El resultado fue el siguiente:

This process took a long time, about 50 minutes for each mass value. With the results obtained, I created a graph. In my case, I did it with an online Matplotlib compiler. I don't know how to use Matplotlib, so I had to learn a bit and I'm not sure I did it right. The result was as follows:

El gráfico no es igual al de la publicación, mi curva es más pronunciada, pero no llego a darme cuenta del porqué.

The graph is not the same as in the publication, my curve is steeper, but I can't figure out why.

Tasa de señal en el LHC run 3 - ejercicio final

Signal rate at LHC run 3 - final assignment

Finalmente, repetí el ejercicio, pero simulando el LHC run 3, en el cual la energía se incrementa a 13,600 GeV. Para ello, cambié los valores en la sección “Collider type and energy” de run_card.dat a 6,800 cada uno. El resultado fue el siguiente:

Finally, I repeated the exercise, but simulating LHC run 3, in which the energy is increased to 13,600 GeV. To do this, I changed the values in the "Collider type and energy" section of run_card.dat to 6,800 each. The result was as follows:

Los resultados son los que esperaba, sin muchas diferencias, ya que el incremento de la energía no es muy grande.

The results are what I expected, without much difference, since the increase in energy is not very large.



Edit 1.
Estos son los valores numéricos de las secciones que computé.

These are the numerical values of the cross sections I computed.

13 TeV

run_name | mass#9900012 | cross
run_02 | 5.000000e+01 | 3.571500e-03
run_03 | 2.500000e+02 | 1.486460e-02
run_04 | 5.000000e+02 | 1.612570e-02
run_05 | 1.000000e+03 | 1.236940e-02
run_06 | 2.500000e+03 | 4.945940e-03
run_07 | 5.000000e+03 | 1.700190e-03
run_08 | 7.500000e+03 | 8.291700e-04
run_09 | 1.000000e+04 | 4.824600e-04
run_10 | 1.500000e+04 | 2.222810e-04
run_11 | 2.000000e+04 | 1.257860e-04

13.6 TeV

run_name | mass#9900012 | cross
run_12 | 5.000000e+01 | 3.826500e-03
run_13 | 2.500000e+02 | 1.624760e-02
run_14 | 5.000000e+02 | 1.797650e-02
run_15 | 1.000000e+03 | 1.389010e-02
run_16 | 2.500000e+03 | 5.726200e-03
run_17 | 5.000000e+03 | 2.006680e-03
run_18 | 7.500000e+03 | 9.817200e-04
run_19 | 1.000000e+04 | 5.714330e-04
run_20 | 1.500000e+04 | 2.623340e-04
run_21 | 2.000000e+04 | 1.496460e-04

Edit 2.
Gracias a @travelingmercies, pude rehacer mis gráficos de modo que se parezcan más a los de la publicación de referencia.

Thanks to @travelingmercies, I was able to redo my graphics so that they more closely resemble those in the reference publication.



Original en español. Traducido con Deepl.
Todas las imágenes son capturas de pantallas tomadas en mi computadora.

Original in Spanish. Translated with Deepl.
All images are screenshots taken on my computer.



0
0
0.000
24 comments
avatar

good job on the report!
!1UP

You can earn passive income by delegation of tribe tokens to "The Cartel".

dlmmqb-TheCartel-banner
Click this banner to join "The Cartel" discord server to know more.

0
0
0.000
avatar

thanks for your support!

0
0
0.000
avatar

oh just one ps : You can use " python --version" to check the version of your python ;) , sometimes we have more than one version of python installed in the linux so a ls wouldn't solve which one is being used

0
0
0.000
avatar

Yes, I figured there was a better way to do it, thank you very much! I'm writing it down for next time.

0
0
0.000
avatar

I am sure that you meant: amazing job! ^^

0
0
0.000
avatar

Congratulations @agreste! You have completed the following achievement on the Hive blockchain and have been rewarded with new badge(s):

You got more than 1000 replies.
Your next target is to reach 1250 replies.

You can view your badges on your board and compare yourself to others in the Ranking
If you no longer want to receive notifications, reply to this comment with the word STOP

0
0
0.000
avatar

Thanks for your contribution to the STEMsocial community. Feel free to join us on discord to get to know the rest of us!

Please consider delegating to the @stemsocial account (85% of the curation rewards are returned).

Thanks for including @stemsocial as a beneficiary, which gives you stronger support. 
 

0
0
0.000
avatar

Thanks for this report and apologies for the late comments. I am pushed for time to prepare a presentation for tomorrow, and so I am less present for activities on Hive (I know this is recurrent with me; this is how the world of teaching and research is ;) ).

Anyway, I have been through everything you did and I have a few comments. First of all, I will congratulate you for having achieving this. You are the first (in the world!) who came up with some results for the 13.6 TeV LHC for this model. This must be emphasised! I will try to shed some light on this (at least on Twitter)!

Now, I will move on with a few comments, suggestions and clarifications according to what you wrote in your report.

In my case, I did not have curl installed, so I had to install it first:

You could have equivalently used the wget package, if available on your system.

What we are going to simulate is the collision of two quarks at high energies, as occurs at the LHC.

In fact, the LHC collides protons (hydrogen nuclei). There is indeed no way to prepare a beam of quarks, as free quarks do not exist as such. They instead combine to form composite particles (such as protons, neutrons, etc.).

What is going on is that at high energy, the constituents of the protons scatter, namely quarks and gluons, instead of the protons themselves. This is why whereas we collide protons, we can consider a quark-quark initial state. In addition, the remnants of the protons will have to be considered for a full description of what is going on, and how we map the protons onto their constituents.

In each of these groups there are different diagrams according to the type of quark considered in each case (u, d, c, s and u~, d~, c~, s~). There is no bottom quark because we excluded it in one of the previous steps. Why there is no top quark? Reviewing the previous steps I see that we had not included it either, but I don't know the reason for that. lemouth?

This is the correct answer to the assignment. All possible quark combinations are considered from the proton content.

The reason why we didn’t consider the top quark is because of its high mass. It is equal to 175 times the proton mass, so that considering it massless (and thus a constituent of the proton) makes little sense. In fact, we could do this, but the correct treatment is by far hard to deal with and not naive (it is not sufficient to include a top quark in the proton).

Also, the corresponding density of top quarks in the proton is very small, so that we would find that the correction it brings is small. To make it short, the expected effects are much much more smaller than those of the bottom quarks, that we neglect already. For comparison, the bottom mass is about 4.5 times the proton mass.

Does it answer your question?

En “Minimum and maximum pt’s” seteé “0.0 = ptl”.

In principle, there is no need to touch the maximum pt and we should let it to the default -1 value. I guess this is what the code self-fix without telling it (maybe there is a warning message printed to the screen).

I did an internet search, installed python3.7-distutils and then reinstalled lhapdf. I ran the launch command again and this time it worked.

Glad to see you fixed by by yourself. I am impressed.


Concerning your results, I suggest that you post the numerical values of the cross sections you computed, so that @eniolw, @gentleshaid or @travelingmercies could double check them. In research, it is very important to have every result (at least) double checked.

The graph is not the same as in the publication, my curve is steeper, but I can't figure out why.

I think that it look the same. Note that the Y axis range you choose is very different from that in the publication. This may yield to an apparent effect of your curve appearing steeper.

There is also an important difference in the simulations, which we will address in the next episode of our project (after the summer break): we computed the leading bits of the rates, whereas the results in the publication includes the leading and next-to-leading ones. This should however not affect the shapes of the cross section curve too much.

0
0
0.000
avatar

Yeah, you can try using the same range of the Y axis ([0, 107]) in the reference blog. :)

And, congratulations for doing such a great job! 💥👏🏻

0
0
0.000
avatar

Thank you very much! How can I achieve that in matplotlib?

0
0
0.000
avatar

Looking at your code using the online Matplotlib compiler, you can add plt.ylim(0,10000000) below plt.loglog(x,y). Hope this works. 😀

0
0
0.000
avatar

Oh, that's great! Now it really looks like the one in the publication. thank you so much!

0
0
0.000
avatar

Nice nice! I have posted my numbers in the new blog. They are similar to yours.

Cheers!

0
0
0.000
avatar

Great, I'm glad the results are similar! Cheers!

0
0
0.000
avatar

Thank you very much for the answers, clarifications and corrections! I didn't know that nobody had yet obtained those results for the 13.6 TeV LHC, I am honored by that! I am also glad that the curve is as expected. I'm not used to logarithmically scaled graphs and not used to using matplotlib either. I put it together with what I found on the internet, but certainly my mathematical background is pretty basic. Regarding the numerical values I got, I will look for the logs and edit the post, so they are available for anyone who wants to consult them. Cheers!

0
0
0.000
avatar

Thanks for updating the post. I hope this will be useful for the others!

0
0
0.000
avatar

¡Muy interesante!
!PIZZA !LOLZ

0
0
0.000
avatar

¡Muchas gracias! Todavía estás a tiempo de unirte al proyecto.

0
0
0.000