1 Punkte von GN⁺ 2024-06-02 | 1 Kommentare | Auf WhatsApp teilen

√-1ROOT: Software für großskalige Datenanalyse und Visualisierung

Überblick über ROOT

  • ROOT ist eine Hochleistungssoftware, die die statistische Analyse und Visualisierung großer Datenmengen ermöglicht.
  • Es ist überwiegend in C++ geschrieben und unter Linux, macOS und Windows verfügbar.
  • Als Open-Source-Software kann es frei genutzt, verändert und mit Beiträgen weiterentwickelt werden.

Hauptfunktionen

  • Bietet einen leistungsfähigen C++-Interpreter für schnelles Prototyping.
  • Ermöglicht durch die nahtlose Integration mit Python dynamische Bindings zwischen Python und C++.
  • Kann auch in Jupyter-Notebooks verwendet werden.

RNTuple: Gegenwart und Zukunft

  • RNTuple wird als Nachfolger von TTree entwickelt und soll in Run 4 eingesetzt werden.
  • Es erläutert die Notwendigkeit des neuen Systems, den aktuellen Stand, die Arbeiten vor dem ersten Production Release sowie die weiteren Pläne.
  • Es wird bereits eine Möglichkeit angeboten, RNTuple auszuprobieren.

Standardkonfiguration für webbasiertes Canvas

  • Die Implementierung von webbasiertem TCanvas wurde in der ROOT-Master-Version zur Standardeinstellung gemacht.
  • Sie ist seit 2017 in ROOT vorhanden und wird auch im webbasierten TBrowser verwendet.

Neue Klasse TScatter

  • Vorstellung der neuen Klasse TScatter.

Verbesserungen der ROOT-Entwicklungsumgebung

  • Es wird vorgeschlagen, wie sich die Entwicklungs- und Debugging-Umgebung für ROOT mit QtCreator verbessern lässt.
  • In der Eclipse IDE können CERN-ROOT-Skripte und ROOT-basierte Programme debuggt werden.

Neueste Releases

  • Release 6.32/00 - 28. Mai 2024
  • Release 6.30.06 - 3. April 2024
  • Release 6.30.04 - 31. Januar 2024
  • Release 6.30/02 - 28. November 2023
  • Release 6.30/00 - 7. November 2023

Meinung von GN⁺

  • ROOT ist ein für die Analyse großer Datenmengen optimiertes Werkzeug und besonders für die wissenschaftliche Forschung nützlich.
  • Dank der Integration mit Python ist es auch für Nutzer leicht zugänglich, die mit C++ nicht vertraut sind.
  • Die Standardeinstellung für das webbasierte Canvas kann die Benutzererfahrung deutlich verbessern.
  • Von der Einführung von RNTuple sind Verbesserungen bei Leistung und Funktionsumfang zu erwarten.
  • Die Verbesserung der Entwicklungsumgebung mit QtCreator und Eclipse IDE trägt dazu bei, die Produktivität zu steigern.

1 Kommentare

 
GN⁺ 2024-06-02
Hacker-News-Kommentar
  • Erinnerungen an früher: In der Teilchenphysik wurde ROOT viel verwendet. Es gab viel technische Schuld und viele Eigenheiten, aber für bestimmte Aufgaben wie Histogramme oder die Verarbeitung strukturierter Daten war ROOT einfacher. Die objektorientierte API war intuitiv.
  • Der Wandel: Ich bin vor 5 Jahren ausgestiegen, aber ROOT war im Wandel. Der CINT-Interpreter wurde entfernt und auf Clang-basierten Code umgestellt, und jetzt kann man Analysen in Jupyter mit C++ oder Python durchführen.
  • Neue Analysewerkzeuge: Für neue Analysen ist es besser, statt ROOT benutzerfreundlichere Werkzeuge wie uproot zu verwenden. Manche werden ROOT wegen Legacy-Workflows weiterhin nutzen.
  • Interessante 404-Seite: Die 404-Seite von ROOT ist witzig. (Hat nichts mit Zimmer 404 zu tun.)
  • Wissenschaftliche Entdeckungen: Es ist großartig, dass große Softwareprojekte für wissenschaftliche Entdeckungen eingesetzt werden. Zum Beispiel wurden bei LIGO Gravitationswellen mit GStreamer entdeckt.
  • Probleme von ROOT: ROOT hat viele Funktionen, aber das API-Design ist nicht gut und die Trennung zwischen Bibliothek und Programm ist unzureichend. In ROOT 6 wurde versucht, einige Probleme zu beheben, aber das braucht Zeit.
  • Probleme mit dem I/O-Format: Das I/O-Format des alten ROOT war nicht gut dokumentiert. Dank groot und uproot lassen sich ROOT-Daten inzwischen leicht lesen und schreiben.
  • Dankbarkeit für ROOT 6: Ich bin dankbar, dass ich täglich eine Version ab ROOT 6 verwenden kann.
  • Erinnerungen ans Debugging: Ich erinnere mich daran, wie ich die ganze Nacht Code debuggt habe, den brillante Physiker ohne Informatik-Hintergrund geschrieben hatten.
  • Rückgrat der Teilchenphysik: ROOT ist das Rückgrat vieler Arbeiten in der experimentellen Teilchenphysik, für neue Doktoranden aber ein Albtraum.
  • Verwendung von Cling: In Jupyter-Notebooks verwende ich den C++-Interpreter Cling und Xeus. Das ist viel schneller als Python 3. Ich nutze Cling hauptsächlich als JIT für Sprachen, die nach C++ kompiliert werden.
  • Quellcode: Den Quellcode des ROOT-Projekts gibt es auf GitHub.
  • Debugging-Albtraum: CERN-ROOT-Skripte und -Programme in der Eclipse IDE zu debuggen war ein Albtraum. Es zeigt aber, dass man selbst in schrecklichen Umgebungen Erstaunliches schaffen kann.