ROT
Originalförfattare | René Brun, Fons Rademakers |
---|---|
Utvecklare | CERN |
Stabil frisättning | 6.28/00 / 3 februari 2023
|
Förvar | |
Skrivet i | C++ |
Operativ system | Microsoft Windows , OS X , Linux , Solaris , IBM AIX |
Plattform | IA-32 , x86-64 |
Storlek | 86–327 MB |
Typ | Dataanalys , plottning |
Licens | LGPL / GPL |
Hemsida |
ROOT är ett objektorienterat datorprogram och bibliotek utvecklat av CERN . Den designades ursprungligen för partikelfysisk dataanalys och innehåller flera funktioner som är specifika för området, men den används också i andra tillämpningar som astronomi och datautvinning . Den senaste mindre versionen är 6.28, från och med 2023-02-03.
Beskrivning
CERN upprätthöll CERN-programbiblioteket skrivet i FORTRAN i många år. Dess utveckling och underhåll avbröts 2003 till förmån för ROOT, som är skrivet i programmeringsspråket C++ . ROOT-utveckling initierades av René Brun och Fons Rademakers 1994. Vissa delar är publicerade under GNU Lesser General Public License (LGPL) och andra är baserade på GNU General Public License (GPL) mjukvara, och publiceras därmed också under villkoren i GPL. Det ger plattformsoberoende åtkomst till en dators grafikdelsystem och operativsystem med hjälp av abstrakta lager . Delar av den abstrakta plattformen är: ett grafiskt användargränssnitt och en GUI-byggare , containerklasser, reflektion , ett C++ -skript och kommandoradstolk ( CINT i version 5 , cling i version 6), objektserialisering och persistens .
Paketen som tillhandahålls av ROOT inkluderar de för
- Histogram och grafer för att visa och analysera distributioner och funktioner ,
- kurvanpassning (regressionsanalys) och minimering av funktioner ,
- statistikverktyg som används för dataanalys ,
- matris algebra,
- fyrvektorberäkningar , som används i högenergifysik ,
- matematiska standardfunktioner ,
- multivariat dataanalys , t.ex. med hjälp av neurala nätverk ,
- bildmanipulation, används till exempel för att analysera astronomiska bilder,
- tillgång till distribuerad data (i samband med Grid ),
- distribuerad beräkning , för att parallellisera dataanalyser ,
- beständighet och serialisering av objekt, som kan hantera förändringar i klassdefinitioner av beständiga data,
- tillgång till databaser ,
- 3D -visualiseringar (geometri),
- skapa filer i olika grafikformat, som PDF , PostScript , PNG , SVG , LaTeX , etc.
- gränssnitt för Python- kod i båda riktningarna,
- gränssnitt Monte Carlo händelsegeneratorer .
En nyckelfunktion hos ROOT är en databehållare som kallas träd , med dess understrukturer grenar och löv . Ett träd kan ses som ett skjutfönster till rådata, som lagras i en fil. Data från nästa post i filen kan hämtas genom att flytta fram indexet i trädet. Detta undviker minnesallokeringsproblem i samband med att objekt skapas, och låter trädet fungera som en lättviktsbehållare samtidigt som buffring hanteras osynligt.
ROOT är designad för hög beräkningseffektivitet , eftersom den krävs för att bearbeta data från Large Hadron Colliders experiment som uppskattas till flera petabyte per år. Från och med 2009 används ROOT huvudsakligen i dataanalys och datainsamling i experiment med partikelfysik (högenergifysik), och de flesta aktuella experimentplottar och resultat i dessa delfält erhålls med ROOT.
Inkluderandet av en C++-tolk ( CINT till version 5.34, Cling från version 6.00) gör detta paket mycket mångsidigt eftersom det kan användas i interaktiva, skriptade och kompilerade lägen på ett sätt som liknar kommersiella produkter som MATLAB .
Den 4 juli 2012 presenterade ATLAS och CMS LHC:s experiment status för Higgs standardmodellsökning. All dataplotning som presenterades den dagen använde ROOT .
Ansökningar
Flera partikelfysiksamarbeten har skrivit mjukvara baserad på ROOT, ofta till förmån för att använda mer generiska lösningar (t.ex. att använda ROOT-behållare istället för STL ).
- Några av de pågående partikelfysikexperimenten använder programvara baserad på ROOT
- ALICE
- ATLAS
- BaBar experiment
- Belle Experiment (en elektronpositronkolliderare vid KEK (Japan))
- Belle II-experiment (efterföljare till Belle-experimentet)
- BES III
- CB-ELSA/TAPS
- CMS
- COMPASS-experiment (Common Muon and Proton Apparatus for Structure and Spectroscopy)
- CUORE (Cryogenic Underground Observatory for Rare Events)
- D0 experiment
- GlueX-experiment
- GRAPES-3 (Gamma Ray Astronomy PeV EnergieS)
- H1 (partikeldetektor) vid HERA-kollideren vid DESY, Hamburg
- LHCb
- MINERνA (Main Injector Experiment for ν-A)
- MINOS (Huvudinjektor neutrinoscillationssökning)
- NA61-experiment (SPS Heavy Ion and Neutrino Experiment)
- NOνA
- OPERA experiment
- PHENIX detektor
- PHOBOS-experiment vid Relativistic Heavy Ion Collider
- SNO+
- STAR-detektor (Solenoidal Tracker på RHIC)
- T2K-experiment
- Framtida partikelfysikexperiment som för närvarande utvecklar programvara baserad på ROOT
- Mu2e
- Experiment med komprimerad baryonisk materia (CBM)
- PANDA-experiment (antiProton Annihilation at Darmstadt (PANDA))
- Deep Underground Neutrino Experiment (DUNE)
- Hyper-Kamiokande (HK (Japan))
- Astrofysikprojekt ( röntgen- och gammastrålastronomi , astropartikelfysik ) med ROOT
- VIG
- Alpha Magnetic Spectrometer (AMS)
- Antarctic Impulse Transient Antenna (ANITA)
- ANTARES neutrinodetektor
- CRESST (Dark Matter Search)
- DMTPC
- DEAP -3600/ Kryogen lågenergiastrofysik med neon (CLEAN)
- Fermi Gamma-ray rymdteleskop
- ICECUBE
- HAWC
- Högenergistereoskopiskt system (HESS)
- Hitomi (ASTRO-H)
- MAGI
- Milagro
- Pierre Auger observatorium
- VERITAS
- PAMELA
- POLÄR
- PoGOLite
- Computational Neuroscience-projekt som använder ROOT
Kritik
Kritik av ROOT inkluderar dess svårighet för nybörjare, såväl som olika aspekter av dess design och implementering. Frekventa orsaker till frustration inkluderar extrem koduppsvällning, stor användning av globala variabler och en överkomplicerad klasshierarki. Då och då diskuteras dessa frågor på ROOT-användarnas e-postlista. Medan forskare som är missnöjda med ROOT tidigare har lyckats komma över dess brister, åtgärdas några av bristerna regelbundet av ROOT-teamet. CINT-tolken, till exempel, har ersatts av Cling-tolken, och många buggar fixas med varje release.
Se även
- Matplotlib – ett plottnings- och analyssystem för Python
- SciPy – ett vetenskapligt dataanalyssystem för Python , baserat på NumPy -klasserna
- Perl Data Language – en uppsättning array-programmeringstillägg till Perl -programmeringsspråket
- HippoDraw – ett alternativt C++-baserat dataanalyssystem
- Java Analysis Studio – ett Java-baserat AIDA-kompatibelt dataanalyssystem
- R programmeringsspråk
- AIDA (computing) – öppna gränssnitt och format för partikelfysisk databehandling
- Geant4 – en plattform för simulering av partiklars passage genom materia med Monte Carlo-metoder
- TASS
- IGOR Pro
- Vetenskaplig Linux
- Vetenskaplig beräkning
- OpenDX
- OpenScientist
- CERN Program Library – äldre programbibliotek skrivet i Fortran77, fortfarande tillgängligt men inte uppdaterat
externa länkar
- ROOT Systems hemsida
- Bildgallerier
- ROOT användarhandbok
- ROOT Referensguide
- ROT-forum
- RooFit Toolkit for Data Modeling, en förlängning av ROOT för att underlätta maximala sannolikhetspassningar
- Toolkit for Multivariate Data Analysis with ROOT (TMVA) är ett ROOT-integrerat projekt som tillhandahåller en maskininlärningsmiljö för bearbetning och utvärdering av multivariat klassificering, både binär och multiklass, och regressionstekniker inriktade på applikationer inom högenergifysik ( här eller här ).
- C++ bibliotek
- CERN programvara
- Programvara för dataanalys
- Programvara för datahantering
- Experimentell partikelfysik
- Gratis programvara för fysik
- Gratis programvara för plottning
- Gratis programvara för vetenskap
- Gratis programvara programmerad i C++
- Numerisk programvara
- Fysik programvara
- Programvara för plottning