1 points par GN⁺ 2024-06-02 | 1 commentaires | Partager sur WhatsApp

√-1ROOT : un logiciel pour l’analyse et la visualisation de données à grande échelle

Présentation de ROOT

  • ROOT est un logiciel haute performance qui permet l’analyse statistique et la visualisation de grands volumes de données.
  • Il est principalement écrit en C++ et peut être utilisé sur Linux, macOS et Windows.
  • C’est un logiciel open source qui peut être utilisé, modifié et enrichi librement.

Principales fonctionnalités

  • Fournit un puissant interpréteur C++ pour le prototypage rapide.
  • Permet une liaison dynamique entre Python et C++ grâce à une intégration fluide avec Python.
  • Peut également être utilisé dans des notebooks Jupyter.

RNTuple : le présent et l’avenir

  • RNTuple est en cours de développement comme successeur de TTree et devrait être utilisé dans Run 4.
  • Présente la nécessité du nouveau système, son état actuel, les travaux à mener avant la première release de production, ainsi que les plans à venir.
  • Propose déjà un moyen d’essayer RNTuple.

Paramétrage par défaut du canvas web

  • L’implémentation TCanvas basée sur le web est devenue la configuration par défaut dans la version master de ROOT.
  • Elle est présente dans ROOT depuis 2017 et est également utilisée dans le TBrowser web.

Nouvelle classe TScatter

  • Présentation de la nouvelle classe TScatter.

Améliorations de l’environnement de développement ROOT

  • Proposition de méthodes pour améliorer l’environnement de développement et de débogage de ROOT avec QtCreator.
  • Possibilité de déboguer des scripts CERN ROOT et des programmes basés sur ROOT dans Eclipse IDE.

Dernières releases

  • Release 6.32/00 - 28 mai 2024
  • Release 6.30.06 - 3 avril 2024
  • Release 6.30.04 - 31 janvier 2024
  • Release 6.30/02 - 28 novembre 2023
  • Release 6.30/00 - 7 novembre 2023

L’avis de GN⁺

  • ROOT est un outil optimisé pour l’analyse de données à grande échelle, particulièrement utile dans la recherche scientifique.
  • Grâce à son intégration avec Python, il reste accessible même aux utilisateurs peu familiers avec C++.
  • Le passage par défaut au canvas web peut considérablement améliorer l’expérience utilisateur.
  • L’introduction de RNTuple laisse attendre des gains en performances et en fonctionnalités.
  • L’amélioration de l’environnement de développement avec QtCreator et Eclipse IDE peut contribuer à accroître la productivité.

1 commentaires

 
GN⁺ 2024-06-02
Avis Hacker News
  • Souvenirs du passé : ROOT était beaucoup utilisé en physique des particules. Il avait beaucoup de dette technique et de bizarreries, mais pour certaines tâches comme les histogrammes ou le traitement de données structurées, ROOT était plus simple. L’API orientée objet était intuitive.
  • Un processus de transformation : Je suis parti il y a 5 ans, mais ROOT était en train d’évoluer. L’interpréteur CINT a été supprimé et remplacé par du code basé sur Clang, et il est désormais possible de faire de l’analyse dans Jupyter en C++ ou en Python.
  • Nouveaux outils d’analyse : Pour les nouvelles analyses, il vaut mieux utiliser des outils plus conviviaux comme uproot plutôt que ROOT. Certains continueront peut-être à utiliser ROOT à cause de workflows legacy.
  • Une page 404 amusante : La page 404 de ROOT est drôle. (Sans rapport avec la salle 404.)
  • Découverte scientifique : C’est formidable que de grands projets logiciels servent à des découvertes scientifiques. Par exemple, LIGO a découvert les ondes gravitationnelles avec GStreamer.
  • Les problèmes de ROOT : ROOT a énormément de fonctionnalités, mais la conception de son API est mauvaise et la séparation entre bibliothèque et programme est insuffisante. ROOT 6 a essayé de corriger certains problèmes, mais cela prend du temps.
  • Problème de format d’entrée/sortie : L’ancien format d’E/S de ROOT était mal documenté. Aujourd’hui, grâce à groot et uproot, il est facile de lire et d’écrire des données ROOT.
  • Reconnaissance envers ROOT 6 : Je suis reconnaissant de pouvoir utiliser chaque jour une version de ROOT 6 ou supérieure.
  • Souvenirs de débogage : Cela me rappelle les nuits passées à déboguer du code écrit par d’excellents physiciens sans formation en informatique.
  • Pilier de la physique des particules : ROOT est le pilier de nombreux travaux en physique expérimentale des particules, mais c’est un cauchemar pour les nouveaux doctorants.
  • Utilisation de Cling : J’utilise l’interpréteur C++ Cling et Xeus dans des notebooks Jupyter. C’est bien plus rapide que Python 3. J’utilise surtout Cling comme JIT pour des langages compilés en C++.
  • Code source : Le code source du projet ROOT est disponible sur GitHub.
  • Cauchemar de débogage : Déboguer des scripts et programmes CERN ROOT dans l’IDE Eclipse était un cauchemar. Mais cela montre qu’on peut créer des choses remarquables même dans un environnement affreux.