ROOT

Da Wikipedia, l'enciclopedia libera.
bussola Disambiguazione – Se stai cercando altri significati della parola, vedi Root.
ROOT
Logo
Grafico esemplificativo in ROOT, mostrante regioni di interesse in una distribuzione bidimensionale
Grafico esemplificativo in ROOT, mostrante regioni di interesse in una distribuzione bidimensionale
Sviluppatore CERN
Ultima versione 5.34 (30 maggio 2012)
Sistema operativo Multipiattaforma
Linguaggio C++
Genere Analisi dei dati
Licenza LGPL
(Licenza libera)
Sito web root.cern.ch

ROOT è un Pacchetto Software orientato ad oggetti di analisi dei dati sviluppato dal CERN per sostituire i precedenti pacchetti (tra i quali PAW - Workstation di analisi Fisica e CERNLIB). Il progetto fu avviato da René Brun nel 1994. ROOT è scritto in C++, e rilasciato sotto licenza LGPL. Fornisce un accesso indipendente dalla piattaforma al sottosistema grafico del computer e al sistema operativo, utilizzando dei livelli di astrazione. Sono parte della piattaforma di astrazione l'interfaccia grafica, le classi contenitore, la riflessione, l'interprete a riga di comando CINT, nonché la persistenza e la serializzazione degli oggetti.

Dettagli[modifica | modifica sorgente]

I pacchetti forniti da ROOT includono funzionalità, tra cui:

Una caratteristica chiave di ROOT è il contenitore di dati chiamato tree (albero), con le sue sottostrutture branches (rami) e leaves (foglie). Questa struttura può essere vista come una finestra scorrevole di accesso ai dati grezzi, come quando sono memorizzati in un file. Si può accedere ai dati nel successivo record nel file incrementando il valore dell'indice nell'albero. Questa tecnica evita problemi di allocazione della memoria concernenti la creazione di oggetti, e permette all'albero di comportarsi come un contenitore "leggero", mentre si maneggia il buffer in maniera trasparente.

ROOT pone l'attenzione sulle prestazioni a causa dell'ammontare di dati che gli esperimenti della Large Hadron Collider raccoglieranno, il cui incremento stimato è di svariati petabyte all'anno. Ci si aspetta che i fisici analizzino i dato proprio avvalendosi di ROOT, che per l'appunto è, al momento attuale, prevalentemente utilizzato nell'acquisizione ed analisi dei dati in applicazioni di Fisica ad alta energia - la maggior parte dei grafici e dei risultati ottenuti in questa disciplina sono stati ottenuti utilizzando ROOT.

Critiche[modifica | modifica sorgente]

ROOT è stato criticato da molti per la sua struttura monolitica, la tendenza a reinventare tecnologie già esistenti, la troppa fiducia nell'interprete CINT e lo scarso uso della programmazione ad oggetti. Manca spesso la type safety, e gli utenti sono costretti ad usare cast per ottenere oggetti del tipo giusto, con potenziali rischi di consistenza dei risultati.

Inoltre la documentazione è scarsa. Alcune classi di ROOT non si comportano sempre come ci si aspetta dalla documentazione.

Esiste un'alternativa all'ambiente di sviluppo ROOT, si chiama OpenScientist. Questo è un'integrazione di diversi strumenti open source già esistenti per svolgere compiti analoghi a quelli di ROOT. Il punto di forza è proprio la caratteristica di sfruttare codice stabile, perché sviluppato da terze parti che si sono dedicate solamente a quel particolare aspetto.

Applicazioni basate su ROOT[modifica | modifica sorgente]

Molti ricercatori di fisica della particelle hanno scritto del software basato su ROOT, spesso non usando soluzioni generiche (come l'uso dei container di ROOT al posto di quelli della Standard Template Library).

  • Esperimenti futuri di fisica delle particelle che stanno sviluppando software basato su ROOT

Voci correlate[modifica | modifica sorgente]

Collegamenti esterni[modifica | modifica sorgente]