ROOT
ROOT — це об'єктно-орієнтована програма та бібліотека, розроблена в ЦЕРНi (англ. CERN) для аналізу та візуалізації даних, котрі характерні для ядерної фізики, фізики елементарних частинок та релятивістської фізики високих енергій, однак зараз широко використовується в інших областях для аналізу та різноманітної обробки даних. Майже стандартно застосовується наприклад в обробці експериментальних даних в атомній та молекулярній фізиці, лазерній фізиці, а також в астрономії.
Зміст |
Історія [ред.]
Впродовж багатьох років в ЦЕРНі було розроблено на фортрані дуже багато специфічних бібліотек для аналізу різноманітних даних з фізики високих енергій та елементарних частинок. Однак подальший розвиток, абстракція та узагальнення бібліотек зіткнулися з проблемою росту, оскільки тодішній стандарт фортрану та компілятори не дозволяли ефективно використовувати об'єктно-орієнтовану модель програмування. Також висловлювались сумніви, чи наявне програмне забезпечення дозволить ефективно аналізувати гігантський потік даних з детекторів LHC.
Розвиток ROOT бере свій початок від розробників Рене Брюн (René Brun) та Фонс Радемекерз (Fons Rademakers), котрі ініціювали цей проект в 1994 році (використовуючи мову C++) в якості заміни бібліотеки PAW, котра раніше також була створена в ЦЕРН. Розвиток PAW було припинено на користь ROOT в 2003 році. ROOT вийшов під ліцензією LGPL/GPL i забезпечує незалежний від платформи доступ до операційної системи і зокрема до графічної підсистеми комп'ютера за допомогою стандартних абстрактних інтерфейсів. Складовими абстрактної платформи є: графічний інтерфейс користувача та конструктор для нього, найрізноманітніші класи-контейнери, підтримка рефлексії (відображення), серіалізації об'єктів та персистентності.
Можливості [ред.]
ROOT надає доступ до десятків різноманітних спеціалізованих пакетів у вигляді об'єктної моделі:
- побудова різноманітних гістограм, графів та графіків для перегляду і аналізу розподілу функції
- регресійний аналіз та мінімізація функціоналів
- статистичні інструменти для аналізу та вибірки даних
- матрична алгебра
- 4-вектори для релятивістських обчислень у фізиці високих енергій
- усі стандартні математичні функції та велика кількість спеціальних (як вбудованих, так і через інтерфейс до GSL)
- багатовимірний аналіз даних, наприклад, з використанням нейронних мереж
- імпорт, створення та запис файлів в різних графічних форматах а також аналіз та математична обробка графічних файлів
- доступ до розподілених даних (в контексті Grid)
- розподілені обчислення, розпаралелювання аналізу даних (PROOF)
- доступ до баз даних
- 3D візуалізація (геометрія)
- двосторонній інтерфейс взаємодії та доступу з/до Python і Ruby
- серіалізація та персистентність об'єктів
- інтерфейс до Монте-Карло генераторів випадкових величин
ROOT був вибраний внаслідок високої ефективності обчислень як основний інструмент для обробки даних експериментів на Великому адронному колайдері, котрих набігає у декілька десятків петабайт на рік. Включення інтерпретатора CINT зробило ROOT досить універсальною програмою і його можна використовувати зараз в інтерактивному режимі чи в режимі виконання скриптів на C++, за аналогією з таким комерційним продуктом, як MATLAB. Критика ROOT полягає в досить високих вимогах до рівня знань C++ у початківців, а також різні не зовсім вдалі рішення, аспекти розробки та реалізації.
Див. також [ред.]
Примітки [ред.]
Література [ред.]
- Офіційна сторінка системи ROOT
- Список розсилки для користувачів ROOT
- Довідник користувача ROOT (англійською), Версія 5.26, PDF 11 MB
- Офіційна сторінка PAW
| ВікіСховище має мультимедійні дані за темою: ROOT |
| На цю статтю не посилаються інші статті Вікіпедії.
Будь ласка, скористайтеся підказкою та розставте посилання відповідно до прийнятих рекомендацій.
|

