Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

ROOT - это объектно-ориентированная программа и библиотека, разработанная CERN . Первоначально он был разработан для анализа данных физики элементарных частиц и содержит несколько функций, характерных для этой области, но также используется в других приложениях, таких как астрономия и интеллектуальный анализ данных . Последний выпуск - 6.22.00 по состоянию на 02.07.2020. [2]

Описание [ править ]

ЦЕРН в течение многих лет поддерживал программную библиотеку, написанную на ФОРТРАНЕ ; разработка и поддержка были прекращены в 2003 году в пользу ROOT, написанного на C ++ . Разработка ROOT была инициирована Рене Бруном и Фонс Радемакерс в 1994 году. Некоторые части публикуются под LGPL , а другие основаны на программном обеспечении GPL и, таким образом, также публикуются на условиях GPL. Он обеспечивает независимый от платформы доступ к графической подсистеме и операционной системе компьютера с использованием абстрактных слоев . Части абстрактной платформы: графический пользовательский интерфейс и построитель GUI , классы контейнеров,отражение , сценарий C ++ и интерпретатор командной строки ( CINT в версии 5, цепляние в версии 6), сериализация и сохранение объектов .

Пакеты, предоставляемые ROOT, включают пакеты для

  • Гистограмма и построение графиков для просмотра и анализа распределений и функций ,
  • подгонка кривой (регрессионный анализ) и минимизация функционалов ,
  • инструменты статистики , используемые для анализа данных ,
  • матричная алгебра,
  • четырехвекторные вычисления, используемые в физике высоких энергий ,
  • стандартные математические функции ,
  • многомерный анализ данных , например, с использованием нейронных сетей ,
  • манипулирование изображениями, используемое, например, для анализа астрономических изображений,
  • доступ к распределенным данным (в контексте Grid ),
  • распределенные вычисления для распараллеливания анализа данных ,
  • сохранение и сериализация объектов, которые могут справиться с изменениями в определениях классов постоянных данных,
  • доступ к базам данных ,
  • 3D визуализации (геометрия),
  • создание файлов в различных графических форматах, таких как PDF , PostScript , PNG , SVG , LaTeX и т. д.
  • взаимодействие кода Python и Ruby в обоих направлениях,
  • взаимодействуют с генераторами событий Монте-Карло .
4 июля 2012 года эксперименты ATLAS представили статус поиска Хиггса по Стандартной модели. Все графики, представленные в тот день, были сделаны с использованием ROOT.

Ключевой особенностью ROOT является контейнер данных, называемый деревом , с его подструктурами, ветвями и листьями . Дерево можно рассматривать как скользящее окно с необработанными данными, хранящимися в файле. Данные из следующей записи в файле можно получить, переместив индекс в дереве. Это позволяет избежать проблем с распределением памяти, связанных с созданием объекта, и позволяет дереву действовать как облегченный контейнер при невидимой обработке буферизации.

ROOT разработан для обеспечения высокой вычислительной эффективности , так как он необходим для обработки данных экспериментов Большого адронного коллайдера , которые оцениваются в несколько петабайт в год. По состоянию на 2009 год ROOT в основном используется для анализа и сбора данных в экспериментах по физике элементарных частиц ( физика высоких энергий), и большинство текущих экспериментальных графиков и результатов в этих подполях получены с использованием ROOT.

Включение интерпретатора C ++ ( CINT до версии 5.34, Cling с версии 6.00) делает этот пакет очень универсальным, поскольку его можно использовать в интерактивном, скриптовом и скомпилированном режимах аналогично коммерческим продуктам, таким как MATLAB .

4 июля 2012 года эксперименты ATLAS и CMS LHC представили статус поиска Стандартной модели Хиггса. Все графики, представленные в тот день, были сделаны с использованием ROOT .

Критика [ править ]

Критика ROOT включает его сложность для начинающих, а также различные аспекты его дизайна и реализации. Частые причины разочарования включают чрезмерное раздувание кода, интенсивное использование глобальных переменных [3] и извращенную иерархию классов. Время от времени эти вопросы обсуждаются в списке рассылки пользователей ROOT. [4] [5] Хотя учёным, недовольным ROOT, в прошлом удавалось обходить его недостатки, [6] некоторые из недостатков регулярно исправляются командой ROOT. Интерпретатор CINT, например, был заменен интерпретатором Cling [7], и с каждым выпуском исправляются многочисленные ошибки.

Приложения ROOT [ править ]

Несколько коллабораций в области физики элементарных частиц написали программное обеспечение на основе ROOT, часто в пользу использования более общих решений (например, с использованием контейнеров ROOT вместо STL ).

  • Некоторые из текущих экспериментов по физике элементарных частиц с использованием программного обеспечения на основе ROOT
    • Алиса
    • АТЛАС
    • BaBar эксперимент
    • Belle Experiment (электронно-позитронный коллайдер в KEK (Япония))
    • Эксперимент Belle II (преемник эксперимента Belle)
    • BES III
    • CB-ELSA / ОТВОДИТЕЛИ
    • CMS
    • КОМПАС эксперимент (Общий мюонный и протонный аппарат для структуры и спектроскопии)
    • CUORE (Криогенная подземная обсерватория редких событий)
    • D0 эксперимент
    • GlueX Experiment
    • ВИНОГРАД-3 (гамма-астрономия PeV EnergieS)
    • H1 (детектор частиц) на коллайдере HERA в DESY, Гамбург
    • LHCb
    • MINERνA (эксперимент с главным инжектором для ν-A)
    • MINOS (поиск нейтринных осцилляций главного инжектора)
    • Эксперимент NA61 ( Эксперимент SPS с тяжелыми ионами и нейтрино)
    • NOνA
    • ОПЕРНЫЙ эксперимент
    • Детектор PHENIX
    • Эксперимент PHOBOS на коллайдере релятивистских тяжелых ионов
    • СНО +
    • Детектор STAR (соленоидный трекер на RHIC)
    • T2K эксперимент
  • Будущие эксперименты по физике элементарных частиц, в настоящее время разрабатывается программное обеспечение на основе ROOT
    • Mu2e
    • Эксперимент со сжатым барионным веществом (CBM)
    • Эксперимент ПАНДА (Аннигиляция антипротонов в Дармштадте (ПАНДА))
    • Эксперимент Deep Underground Neutrino (DUNE)
    • Гипер-Камиоканде (Гонконг (Япония))
  • Астрофизические проекты ( рентгеновская и гамма-астрономия , физика астрономических частиц ) с использованием ROOT
    • ГИБКИЙ
    • Альфа-магнитный спектрометр (AMS)
    • Антарктическая импульсная переходная антенна (ANITA)
    • Детектор нейтрино АНТАРЕС
    • КРЕСТ (поиск темной материи)
    • DMTPC
    • DEAP- 3600 / Криогенная астрофизика низких энергий с неоном (CLEAN)
    • Космический гамма-телескоп Ферми
    • КУБИК ЛЬДА
    • HAWC
    • Стереоскопическая система высокой энергии (HESS)
    • Хитоми (ASTRO-H)
    • МАГИЯ
    • Milagro
    • Обсерватория Пьера Оже
    • ВЕРИТАС
    • ПАМЕЛА
    • ПОЛЯРНЫЙ
    • PoGOLite
  • Проекты вычислительной нейробиологии с использованием ROOT
    • Домашняя страница проекта MIIND

См. Также [ править ]

  • Matplotlib - система построения графиков и анализа для Python
  • SciPy - система анализа научных данных для Python , основанная на классах NumPy
  • Perl Data Language - набор расширений для программирования массивов для языка программирования Perl.
  • HippoDraw - альтернативная система анализа данных на C ++
  • Java Analysis Studio - основанная на Java система анализа данных, совместимая с AIDA.
  • Язык программирования R
  • AIDA (computing) - открытые интерфейсы и форматы для обработки данных физики элементарных частиц
  • Geant4 - платформа для моделирования прохождения частиц через материю с использованием методов Монте-Карло
  • Лапа
  • ИГОРЬ Профи
  • Научный Linux
  • Научные вычисления
  • OpenDX
  • OpenScientist
  • Программная библиотека CERN - устаревшая программная библиотека, написанная на Fortran77, все еще доступна, но не обновлена

Ссылки [ править ]

  1. ^ «Основатели проекта» . root.cern . Проверено 19 июня 2019 .
  2. ^ "загрузка ROOT | ROOT фреймворка анализа данных" . root.cern . Проверено 25 июня 2019 .
  3. ^ Бакли, Энди (2007-08-27). «Проблема с ROOT (он же ROOT всего зла)» . InsectNation . Дата обращения 3 мая 2016 .
  4. ^ "Re: критика Википедии о корне" . Дата обращения 3 мая 2016 .
  5. ^ "RE: Re: Критика Википедии о корне" . Дата обращения 3 мая 2016 .
  6. ^ "Что такое ROOT?" . 1 июня 2009 . Дата обращения 3 мая 2016 .
  7. ^ «Примечания к выпуску ROOT версии 6.06» . 2 июня 2015 . Дата обращения 3 мая 2016 .

Внешние ссылки [ править ]

  • Домашняя страница системы ROOT
  • Галереи изображений
  • Руководство пользователя ROOT
  • Справочное руководство ROOT
  • ROOT Форум
  • RooFit Инструментарий для моделирования данных , расширение к ROOT для облегчения максимального правдоподобия припадки
  • Набор инструментов для многомерного анализа данных с помощью ROOT (TMVA) - это интегрированный с ROOT проект, обеспечивающий среду машинного обучения для обработки и оценки многомерной классификации, как бинарной, так и многоклассовой, а также методов регрессии, нацеленных на приложения в физике высоких энергий ( здесь или здесь ).