Pietro Vischia: h=c=±1=±i=±2
ItalianoEnglish

ROOT tutorial, versione 0.1

Al momento, supportate le mere basi infime per chi deve usarlo in Laboratorio di Fisica A. Prossimamente, un po' alla volta, tutta la mia esperienza di 3 anni di uso di ROOT nell'ambito di CDF riversata su questa pagina.
Per quanto riguarda ad esempio la macro che ho scritto per l'esperienza di Compton, non venitemi a chiedere di spedirvela: io ci ho sudato, voi ci suderete: qui sotto, comunque, troverete tutti gli elementi teorici che vi serviranno per scrivervi la vostra in autonomia e allegria

Organizzazione dei dati
I dati vengono organizzati in files strutturati, detti n-tuple, che riportano evento per evento il valore delle variabili considerate.
Le n-tuple sono scritte in files particolari, riconoscibili dal suffisso .root: i dati contenuti in tali file possono essere estratti e manipolati tramite comandi dati dalla riga di comando dell'eseguibile ROOT. Poiché spesso c'e' la necessità di eseguire operazioni complesse sui dati, c'è la possibilità di raggruppare la sequenza di comandi in macro che vengono successivamente eseguite da riga di comando.
La sintassi dei comandi è essenzialmente analoga a quella del C++.
Comandi di base: apertura e chiusura di files, esecuzione di macro
Ricordate che i comandi dati all'interno della riga di comando di root iniziano sempre con un . (punto) se sono comandi di sistema (chiudere l'applicazione, eseguire una macro...), mentre finiscono sempre con un ;(punto e virgola) se sono comandi che agiscono sui dati (apertura dei files, selezione dei dati e così via).
Ricordate inoltre che TUTTO (cosa ovvia per chi intelligentemente utilizza Linux come OS) è case-sensitive (i comandi cambiano a seconda se li scrivete con lettere maiuscole o minuscole: se siete fortunati, la scrittura sbagliata non corrisponde ad un comando esistente, se siete sfigati corrisponde ad un comando che dunque viene eseguito... comando ovviamente diverso da quello che volevate eseguire)
Apertura dell'applicazione (da console)
root
Chiusura dell'applicazione
.q
Apertura di un file di dati
TFile * nome_di_comodo = new TFile("nome_del_file_compreso_il.root");
Chiusura di un file in precedenza aperto
nome_di_comodo->Close();
Apertura di una finestra di browser (NON l'internet browser, qui si parla del browser dell'applicazione ROOT
TBrowser * nome_di_comodo = new TBrowser();
All'interno di un TBrowser();
Se aprite un oggetto TBrowser();, vi apparirà una finestra divisa in due: nel menu a sinistra, potrete cliccare su ROOT files, e a destra apparirà la lista dei rootfiles che avete aperto: se effettuerete un doppio clic su tali nomi, si aprirà la struttura del file in esame, e potrete esplorarlo: in particolare, arrivati alle foglie in cui sono immagazzinate le variabili, con un doppio clic tale variabile vi verrà immediatamente riportata in istogramma in un TCanvas() aperto automaticamente.

Uso delle TCanvas();

Il meraviglioso mondo delle macro
E ora che avete dato una occhiata ai comandi fondamentali, è ora che impariate come organizzare tutto ciò in strutture di analisi complesse, che vi rendono in grado di eseguire pressoché qualsiasi operazione sui dati che per qualche strano motivo desiderate follemente analizzare...
Una macro è un file contenente una serie di comandi: essa può essere utilizzata in tre modi:
1) Passarla direttamente all'interprete che la esegue "on the fly"
2) Compilarla, indi passare all'interprete l'eseguibile compilato
3) Cancellarla dal disco e andare a bersi una birra
Indipendentemente da quale via si scelga, prima la macro andrà scritta: questo avviene seguendo essenzialmente le regole di sintattiche e le operazioni sulle variabili utilizzate in C++... Come prima cosa devo avvertirvi che passare un comando direttamente alla riga di comando di ROOT non richiede alcun caricamento di librerie, mentre la sua esecuzione tramite una macro richiede di includere l'apposito header file (.h) all'inizio della macro...

Inizio della pagina   ∴   Pagina iniziale

Last site update:
20 Mar 2010, 00.51 (GMT+1)

Sito creato in sorgente
Powered by GNU-Emacs Logo GNU-Emacs

Pagine visitate:
Online:

Dài visibilità al mio sito votandomi sulle top 100: ci metti poco e non ti costa nulla!

Votatemi sulla Heracleum Top Sites
Convalidato!
W3CCSS 3
W3CXHTML 1.0
DIVTABLE FREE

Google logo
Search WWW Search pietrovischia.altervista.org

Creative Commons License
This work is copyright © Pietro Vischia, 2005, and is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 2.5 License.