ROOT Tutorial.

Slides:



Advertisements
Presentazioni simili
Esempi di analisi dati con ROOT
Advertisements

Shell: variabili di sistema PATH HOME USER PWD SHELL HOSTNAME HOSTTYPE Per visualizzare il valore di tutte le variabili dambiente si usa il comando set.
Programmazione in Java
Lezione 8 Anno accademico Titolare corso: Prof. Costanza Torricelli
Alcune semplici istruzioni per iniziare a lavorare con i treeviewer in root Laboratorio di Fisica 2 A.A Dott. Francesco Noferini.
Microsoft PowerPoint: appunti di base OPERAZIONI DI BASE
MODULO 3 – ELABORAZIONE TESTI
AVVIARE IL COMPUTER WINDOWS ‘98 Queta fase è definita BOOTSTRAP
Ogni PC, per iniziare a lavorare, ha bisogno di un sistema operativo. Infatti questo è il primo programma che viene eseguito e che permette all'utente.
CONOSCIAMO IL WINDOWS '95.
MATLAB.
GLUT & OpenGL Ing. Tommaso Coviello Politecnico di Bari
Differenze tra C e C++ Commenti: Adesso puoi inserire dei commenti tra // e la fine della linea. Usare le librerie C: In C++ puoi anche chiamare una funzione.
Dr. Giovanni Stracquadanio
3 a lezione - laboratorio a.a Corso di Laurea Ingegneria MECCANICA.
SISTEMA DI ACQUISIZIONE
Ordine dei Dottori Commercialisti e degli Esperti Contabili di Ivrea, Pinerolo, Torino1 effettuate le operazioni di generazione dell'Ambiente di sicurezza.
Quinta lezione: Stampare e salvare una mappa Stampa e salvataggio in vari formati. Utilizzare il prodotto per inserirlo in relazioni Utilizzarlo come base.
Argomenti dalla linea dei comandi Gli argomenti possono essere passati a qualsiasi funzione di un programma, compresa la main(), direttamente dalla linea.
JAVASCRIPT DIFFERENZA TRA JAVASCRIPT E JAVA TAG LO SCRIPT OGGETTI LE CLASSI FUNZIONE GESTORE DI EVENTI ELEMENTI DEL LINGUAGGI è un vero e proprio linguaggio.
Corso Linux Base 2. Uso del Sistema. © Corso Linux Base - Uso del Sistema Logging In (1) Una volta partito il sistema lutente esegue la procedura.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Introduzione a JAVA Anno Accademico 2009/2010.
1 Corso di Informatica (Programmazione) Lezione 6 (31 ottobre 2008) Introduzione a Java: primo programma, installazione dellambiente di sviluppo, compilazione.
MATLAB. …oggi… Programmare in Matlab Programmare in Matlab m-file m-file script script Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali.
MATLAB. …oggi… Programmare in Matlab Programmare in Matlab Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali Esercizi vari Esercizi.
Guida Linux Molto rapida…. Due parole sullambiente grafico Potete usare: KDE o GNOME Si sceglie prima di mettere la password. Questione di gusti…
Laboratorio 1: Usare Linux. File system Il file system è la componente del sistema operativo che si occupa della gestione di file e cartelle Con laccount.
Windows Sistema operativo con interfaccia grafica per PC IBM compatibili (varie versioni dal 95) La gestione dei file viene fatta secondo le modalità.
introduzione a Windows
e per generare Bibliografie
WINDOWS XP PRIMI PASSI. Caratteristiche del sistema Le caratteristiche di base del PC (tipo e versione del sistema operativo installato, tipo e velocità
MANUALI ANTICRISI eFalegname
Inserire il CDROM CygWin nel lettore, aprite la directory cyg e lanciare in esecuzione (con un doppio click del pulsante sinistro del mouse sulla relativa.
INTRODUZIONE A MATLAB LEZIONE 4 Sara Poltronieri slide3.4 matlabintro
Ll Questionario Introduzione al software SAS (Parte 2) Metodi Quantitativi per Economia, Finanza e Management Esercitazione n°2.
Esempi di analisi dati con ROOT
Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli Programmare in Matlab Funzioni di Libreria Funzioni definite.
Il desktop di Windows Il mouse. Il puntatore del mouse. Il cestino non selezionato. Il cestino selezionato.
Di Luca Santucci 5° Programmatori
Laboratorio Alfabetizzazione Informatica
Amministrazione della rete: web server Apache
Prompt dei comandi – Windows XP In Windows XP si avvia con Start AccessoriSistema Prompt dei comandi … oppure con Start Esegui cmd.exe.
File e Funzioni Si possono distinguere tre tipi di file che vengono utilizzati in MATLAB: M-file: hanno estensione .m e in essi vengono memorizzati i.
MS-DOS è il sistema operativo, Come praticamente tutti i sistemi operativi per i computer del periodo, l'MS- DOS era un sistema operativo mono utente.
USO DEL COMPUTER E GESTIONE DEI FILE
Lezione 1: Introduzione all’uso di Matlab
Introduzione a Windows Lezione 2 Riccardo Sama' Copyright  Riccardo Sama'
PHP - PHP: Hypertext Preprocessor. Introduzione PHP (acronimo ricorsivo per "PHP: Hypertext Preprocessor") è un linguaggio di scripting general-purpose.
JAVA Per iniziare. Verificare installazione javac –version java –version Cercare i files e sistemare eventualmente il path.
ROOT Tutorial Parte 3.
ROOT Tutorial Parte 2.
Riferimento rapido per l’app © 2013 Microsoft Corporation. Tutti i diritti riservati. Schermata iniziale di Lync I riquadri dell'hub a sinistra nella schermata.
Riferimento rapido per © 2012 Microsoft Corporation. Tutti i diritti sono riservati. Lync Web App Partecipare a una riunione Lync con l'audio del computer.
ROOT Tutorial.
Introduzione a Windows (Seconda parte) Lezione 3 Riccardo Sama' Copyright 
Analisi Statistica dei dati nella Fisica Nucl. e Subnucl. [Laboratorio  ] Laboratorio Analisi Statistica dei Dati per HEP - G.Sirri Gabriele Sirri.
Informatica 4 Funzioni. FUNZIONE: definizione MATEMATICA Relazione (o applicazione) binaria tra due insiemi A e B che associa a ogni elemento di A un.
Esercizio ODBC. Configurare il driver ODBC Start  Control Panel  Administrative Tools Aprire: Data Source(ODBC) User DSN  Add…. Selezionare il driver.
Lez. 12 (13/14)Elementi di Programmazione1 Lezione 12 Esercizi.
TW Asp - Active Server Pages Nicola Gessa. TW Nicola Gessa Introduzione n Con l’acronimo ASP (Active Server Pages) si identifica NON un linguaggio di.
Basi di Unix: introduzione Kernel il fulcro del sistema. Comunica con l’hardware (processore, memoria, disco fisso) Shell interfaccia tra l’utente e il.
Ancora sulla shell. Shell e comandi La shell e' un programma che interpreta i comandi dell'utente. I comandi possono essere dati da terminale, oppure.
Corso di Laboratorio primo modulo Introduzione all'uso di un sistema operativo. Introduzione all'uso della shell (bash). Java – –Introduzione – –Tipi di.
Esempi di Sistemi Operativi: DOS Nel file system di DOS i path names hanno la seguente forma C:\TEMP\DirA\DirB\elab.pdf Si utilizzano due nomi speciali.
A.a. 2005/2006Introduzione a ROOT: E. Meroni ROOT É un potente strumento object oriented per analisi di dati, preparato al CERN Può.
ROOT Tutorial Parte 2.
ROOT Tutorial Parte 3.
Università di Ferrara Facoltà di Ingegneria Esercitazioni di FONDAMENTI DI INFORMATICA MODULO B Rita Riccardo
Luciano Pandola INFN-LNGS Presentazione basata da S. Panacek e N. Di Marco Corso INFN su C++, ROOT e Geant4.
I L SO MS DOS … una breve guida…. C OS ’ È UN S ISTEMA OPERATIVO Un sistema operativo (SO) è un insieme di programmi che agisce come intermediario tra.
Transcript della presentazione:

ROOT Tutorial

ROOT Webpage http://root.cern.ch ROOT User’s guide http://root.cern.ch/drupal/content/users-guide

Installazione: Pro version 5.34/18 Windows 7/Vista/XP/NT/2000 supported http://root.cern.ch/drupal/content/production-version-534

Windows 7/Vista/XP/NT/2000 Recommended ( )  check version of Microsoft Visual C VC++11 MSI

Linux - Precompiled Binaries: Scegliere il file in base al proprio sistema operativo Source: più veloce da scaricare, ma da compilare e linkare Guida per l’installazione: http://root.cern.ch/download/doc/28InstallandBuild.pdf

Binaries precompilati 1) Download da http://root.cern.ch/drupal/content/production-version-534

2) Unzip, untar and install Verrà creata una cartella root 3) Variabili d’ambiente (leggi il file README/README)

Source 1) Download da http://root.cern.ch/drupal/content/production-version-534

2) Untar and install $ tar zxvf root_v5.34.18.source.tar.gz Verrà creata una cartella root $ cd root $ ./configure --help $ ./configure [<arch>] $ (g)make 3) Esporta le variabili d’ambiente $ export ROOTSYS=<path>/root $ export PATH=$ROOTSYS/bin:$PATH $ export LD_LIBRARY_PATH=$ROOTSYS/lib:$LD_LIBRARY_PATH

Lanciare una sessione ROOT Windows Icona sul desktop Prompt di comandi MS-DOS Linux $ root

Windows Icona sul desktop MACRO nella cartella C:\root\macros\ File in/out nella cartella C:\root\ Prompt di comandi MS-DOS Posizionarsi nella cartella di lavoro con l’istruzione: cd path Aprire un sessione di root digitando: root

Alcuni comandi di ROOT root[].q per uscire dalla sessione corrente di ROOT root [].x nome-file.C  per eseguire un programma scritto precedentemente. E' altresì possibile eseguire un programma all'avvio della sessione di ROOT digitando al prompt dei comandi root nome-file.C root [] .!comando-shell per eseguire un comando della shell Es: root[ ].! ls visualizza il listato dei file della directory corrente, root[ ].! dir analogo per Windows root [].ls per vedere gli oggetti dichiarati nella sessione corrente root [].? per vedere la lista di tutti i comandi

Al prompt di ROOT è possibile digitare direttamente le istruzioni C++ ES: root[ ] cout << "Hello World" << endl;    Hello World    root[ ] int a = 10;    root[ ] cout << a << endl;    10 Per eseguire blocchi di istruzioni, si inizia digitando { e si finisce il blocco con } ES:  root[ ] {     End with '}'> cout << "a" << endl;     End with '}'> cout << "b" << endl;     End with '}'> }     a     b

Per eseguirlo digitare Per eseguire un blocco di istruzioni scritte in un file (supponiamo che il file si chiami esempio1.C): Per eseguirlo digitare     root[ ] .x esempio1.C oppure dalla shell > root esempio1.C

Per eseguire un programma scritto in un file (supponiamo che il file si chiami esempio2.C): Per eseguirlo digitare root[ ] .x esempio2.C(4) oppure dalla shell > root esempio2.C (NOTA: il nome della funzione principale deve essere lo stesso di quello del file)

Convenzioni Le classi iniziano con T: TTree, TBrowser I tipi finiscono con _t: Int_t, Double_t Le costanti iniziano con la k: kTRUE, kRed Le variabili globali iniziano con la g: gROOT, gSystem Le funzioni membro iniziano con la lettera maiuscola: Draw(), Fill() Variabili e parametri iniziano con la lettera minuscola: nLine, nBytes e soprattutto i comandi sono CASE SENSITIVE Variabili globali gROOT: puntatore all'oggetto TROOT della sessione corrente. Permette di accedere ad una serie di liste che puntano agli oggetti creati (es: lista delle finestre, lista dei file aperti) e consente di modificare le proprieta' comuni a tutta la sessione (es: stile grafico) gFile: puntatore al file attualmente aperto (oggetto TFile) gRandom: puntatore al corrente generatore di numeri casuali. Di default punta ad un oggetto TRandom che genera numeri a partire da una distribuzione uniforme gDirectory: puntatore alla directory corrente della sessione di ROOT (classe TDirectory)

Browser ROOT dispone di un browser grafico (classe TBrowser) che consente di visualizzare gli oggetti dichiarati nella sessione corrente. Per esempio e' possibile vedere i file aperti, eventuali istogrammi dichiarati,... Per aprire il browser, eseguire al prompt di ROOT il comando:     root[ ] b = new TBrowser();

ARGOMENTI TRATTATI NEL TUTORIAL GRAPH RANDOM GENERATOR FUNCTION HISTOGRAM TREE

Funzioni matematiche La classe di ROOT per disegnare funzioni ad una sola variabile e' la TF1. E' possibile disegnare funzioni di due variabili usando la classe TF2. TF1(const char* name, const char* formula, Double_t xmin = 0, Double_t xmax = 1) Esempio:

il metodo Draw() disegna una serie di cose prima di disegnare la funzione. Viene infatti visualizzata una finestra (canvas, classe TCanvas) e un sistema di assi (frame, classe TFrame) Per modificare l’aspetto grafico si può agire interattivamente o tramite linee di comando. Altri metodi:

Grafici (scatter plot x-y) La classe di ROOT per disegnare dei punti date le loro coordinate e' la TGraph. TGraph(Int_t n, const Float_t* x, const Float_t* y) TGraphErrors(Int_t n, const Float_t* x, const Float_t* y, const Float_t* ex = 0, const Float_t* ey = 0) TGraphAsymmErrors(Int_t n, const Float_t* x, const Float_t* y, const Float_t* exl = 0, const Float_t* exh = 0, const Float_t* eyl = 0, const Float_t* eyh = 0)

for (Int_t i=0; i<n; i++) { x[i] = i * 0.1; Esempio: void grafico() { const Int_t n = 20; Double_t x[n], y[n]; for (Int_t i=0; i<n; i++) { x[i] = i * 0.1; y[i] = 10 * sin(x[i]+0.2); } TGraph *gr1 = new TGraph(n,x,y); gr1->Draw("AP"); Per disegnare si usa il metodo Draw(option), dove alcune opzioni possibili sono: "L" disegna una linea per unire i vari punti "A" disegna gli assi "*" disegna un * per ogni punto "B" disegna un rettangolo per ogni punto "P" il marker corrente e' disegnato per ogni punto "C" una curva e' disegnata per congiungere i punti

Esercizio: utilizzare i dati dell’esperienza sull’assorbimento dei  e creare un grafico Rate VS Spessore void assorbimento() { const Int_t n = 6; Float_t rate[n] = {1308, 732, 376, 197, 74, 53}; // conteggi al min Float_t spessore[n] = {0, 0.5, 1, 1.5, 2, 2.5}; // spessore in mm TGraph *gr1 = new TGraph(n,spessore,rate); gr1->Draw("AP"); } Aggiungere gli errori Sottrarre il fondo dovuto ai cosmici Scala logaritmica Fit dei dati

void Fit(const char *fname, Option_t *option, Option_t *goption, Axis_t xxmin, Axis_t xxmax) *fname – nome della funzione di fit (predefinita o definita dall’utente) gaus: Funzione gaussiana: f(x) = p0*exp(-0.5*((x-p1)/p2)^2)) expo: funzione esponenziale: f(x) = exp(p0+p1*x) polN: polinomio di grado N: f(x) = p0 + p1*x + p2*x2 +... landau: funzione Landau. *option – opzioni del fit "Q" Quiet mode (minimum printing) "V" Verbose mode (default is between Q and V) "E" Migliora la stima degli errori con la tecnica Minos "M" Migliora i risultati del fit "R" Usa lo stesso intervallo in cui è definita la funzione di fit "N" Non disegna la curva di fit … *goption – opzioni grafiche (vedi il manuale di ROOT) xxmin, xxmax – intervallo in cui effettuare il fit

Funzione predefinita … TGraph *gr1 = new TGraph(n,spessore,rate); gr1->Draw("AP"); gr1->Fit(“expo”,””,””,0,3); } Oppure funzione definita dall’utente … TGraph *gr1 = new TGraph(n,spessore,rate); gr1->Draw("AP"); TF1 *f1 = new TF1("f1",“exp([0]+[1]*x)",0,3); // Funzione con parametri gr1->Fit(f1,””,””,0,3); } Oppure fit lineare una volta calcolato log(rate)