En este repositorio se encuentra el trabajo especial de grado de Mariana Vivas, requisito parcial para obtener la licenciatura en física en la Universidad Central de Venezuela (UCV)
- Sobre el proyecto
- Contenido del repositorio
- Reproducción de resultados
- Construcción del Jupyter Book
- Construcción de la presentacion
- Licencia
Búsqueda de nueva física utilizando técnicas de aprendizaje automático en eventos de múltiples jets: análisis comparativo de algoritmos de clasificación en términos de reproducibilidad y rendimiento
El trabajo tiene como objetivo la busqueda de nuevas partículas en eventos con lluvias colimadas de partículas de color neutro, conocidas como jets. Esta topología es particularmente interesante porque los jets son la firma experimental de los quarks y gluones, los componentes más pequeños de la materia, y múltiples teorías más allá del modelo estándar plantean nuevas partículas que decaen a jets. Además, son eventos muy común en colisiones protón-protón altamente energéticas.
En el proyecto, se exploran técnicas de aprendizaje automático para la búsqueda de nueva física en eventos de dos jets, o dijet, y se desarrollan herramientas para determinar el rendimiento de diferentes métodos. Se comparan métodos sencillos implementados en librerias de Python, con dos modelos más complejos participantes en las olimpiadas LHC 2020, una competencia para estudiar el uso de técnicas de detección de anomalías en la búsqueda de nueva física.
Todo el trabajo se realizó en el contexto de ciencia abierta y reproducible, siguiendo The Turing Way.
Las herramientas computacionales desarrolladas para el análisis se pueden encontrar este repositorio.
El trabajo completo se encuentra en un Jupyter Book publicado en este sitio web
Nombre | Role | Github | |
---|---|---|---|
Reina Camacho Toro | Investigadora en LPNHE/CNRS | [email protected] | @camachoreina |
Camila Rangel Smith | Investigadora científica de datos en El Instituto Alan Turing | [email protected] | @crangelsmith |
José Antonio López | Universidad Central de Venezuela | [email protected] | - |
El repositorio se encuentra organizado de la siguiente forma:
- 📊 Análisis: Datos y código utilizado para obtener los resultados.
- ✏️ Notas: Documentos relacionados con el desarrollo del proyecto.
- 📖 Tesis: Aquí se encuentra el documento de la tesis.
La comparación de los algoritmos se realiza utilizando benchtool
, el paquete de herramientas basado en Python desarrollado para este trabajo. Instrucciones sobre como instalar el paquete y utilizar el pipeline de benchtools
se encuentran en el archivo README del repositorio.
Específicamente, el pipeline se utilizó para el conjunto R&D de la siguiente forma:
benchtools_run --RD --all_data --training --ext_clf ext-RnD.txt --name RnD
Y luego, para el conjunto BB1:
benchtools_run --box 1 --all_data --ext_clf ext-BB1.txt --name BB1
El documento del trabajo se realizó en un Jupyter Book. Para usarlo y construirlos se siguen los pasos a continuación:
Primero, hay que clonar el repositorio.
git clone https://github.com/marianaiv/tesis_grado_UCV.git
Entramos al repositorio.
cd tesis_grado_UCV
Creamos un ambiente virtual con el archivo eviroment.yml (agregado proximamente*) usando conda y lo activamos.
conda env create -f environment.yml
conda activate tesis_UCV
Construimos el book:
jb build tesis
Para construir el documento en latex:
git checkout latexpdf
jb build tesis --builder pdflatex
La presentación de este proyecto se realizó utilizando slides que se encuentran en la carpeta presentación. Los slides fueron hechos a partir del jupyter notebook que se encuentra en esa carpeta utilizando nbconvert. El archivo .ipynb contiene las notas de lo dicho en la presentación.
Para generar el archivo .htlm (los slides) que se encuentra en presentacion a partir del archivo .ipynb:
Entramos a la carpeta presentacion
cd presentacion
Corremos:
jupyter nbconvert --to slides --TemplateExporter.exclude_input=True --SlidesExporter.reveal_number=c/t --template=template presentacion.ipynb
El contenido del trabajo escrito está licenciado bajo Licencia Internacional Pública de Atribución-CompartirIgual 4.0 Internacional.
El código está licenciado bajo GNU General Public License v3.0 (GNU GPLv3).