Автор (ы) оригинала | Рене Брун, Фон Радемакерс [1] |
---|---|
Разработчики) | ЦЕРН |
Стабильный выпуск | 6.22.02 / 17 августа 2020 г . |
Репозиторий | |
Написано в | C ++ |
Операционная система | Microsoft Windows , OS X , Linux , Solaris , IBM AIX |
Платформа | IA-32 , x86-64 |
Размер | 42–169 МБ |
Тип | Анализ данных , построение графиков |
Лицензия | LGPL / GPL |
Веб-сайт | корень |
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 в обоих направлениях,
- взаимодействуют с генераторами событий Монте-Карло .
Ключевой особенностью 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, все еще доступна, но не обновлена
Ссылки [ править ]
- ^ «Основатели проекта» . root.cern . Проверено 19 июня 2019 .
- ^ "загрузка ROOT | ROOT фреймворка анализа данных" . root.cern . Проверено 25 июня 2019 .
- ^ Бакли, Энди (2007-08-27). «Проблема с ROOT (он же ROOT всего зла)» . InsectNation . Дата обращения 3 мая 2016 .
- ^ "Re: критика Википедии о корне" . Дата обращения 3 мая 2016 .
- ^ "RE: Re: Критика Википедии о корне" . Дата обращения 3 мая 2016 .
- ^ "Что такое ROOT?" . 1 июня 2009 . Дата обращения 3 мая 2016 .
- ^ «Примечания к выпуску ROOT версии 6.06» . 2 июня 2015 . Дата обращения 3 мая 2016 .
Внешние ссылки [ править ]
В Викиучебнике есть книга на тему: ROOT |
- Домашняя страница системы ROOT
- Галереи изображений
- Руководство пользователя ROOT
- Справочное руководство ROOT
- ROOT Форум
- RooFit Инструментарий для моделирования данных , расширение к ROOT для облегчения максимального правдоподобия припадки
- Набор инструментов для многомерного анализа данных с помощью ROOT (TMVA) - это интегрированный с ROOT проект, обеспечивающий среду машинного обучения для обработки и оценки многомерной классификации, как бинарной, так и многоклассовой, а также методов регрессии, нацеленных на приложения в физике высоких энергий ( здесь или здесь ).