A.a. 2005/2006Introduzione a ROOT: E. Meroni ROOT É un potente strumento object oriented per analisi di dati, preparato al CERN Può.

Slides:



Advertisements
Presentazioni simili
Laboratorio di Linguaggi lezione I: "Hello, world!" Marco Tarini Università dellInsubria Facoltà di Scienze Matematiche, Fisiche e Naturali di Varese Corso.
Advertisements

Esempi di analisi dati con ROOT
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.
CREAZIONE UTENTE SU ORACLE1 Pagina delle risorse: crea utente oracle ( Password:… Dora in poi, in questi lucidi,
Alcune semplici istruzioni per iniziare a lavorare con i treeviewer in root Laboratorio di Fisica 2 A.A Dott. Francesco Noferini.
PUNTATORI Introduzione
Programmazione object oriented in C++
Dipartimento di Matematica
Università degli Studi di Modena e Reggio Emilia
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.
Each student will be able to ask an adult or stranger: What do you like to do? and What dont you like to …?
3 a lezione - laboratorio a.a Corso di Laurea Ingegneria MECCANICA.
Università La Sapienza Web programming e programmazione multimediale 1 Web Programming e comunicazione multimediale Lezione 10: PHP.
SISTEMA DI ACQUISIZIONE
Mergesort1 if (n>1) /* la collezione contiene almeno due elementi. */ {1. Dividi la collezione in due di circa la metà degli elementi. 2. chiamata ricorsiva.
Risore sul web (JavaScript) tm
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Puntatori Marco D. Santambrogio – Ver. aggiornata al 21 Marzo 2013.
Costruzione di Interfacce Lezione 11 Dal Java al C++ parte 2
Costruzione di Interfacce Lezione 10 Dal Java al C++ parte 1
1 Corso di Informatica (Programmazione) Lezione 6 (31 ottobre 2008) Introduzione a Java: primo programma, installazione dellambiente di sviluppo, compilazione.
Introduzione agli stream e alle classi
Gestione dei Progetti Software 2 (a.a. 204/05) - Lezione 4 1 Il package java.awt Gestione dellI/O orientato alla grafica: le finestre Sviluppo di interfacce.
2000 Prentice Hall, Inc. All rights reserved. 1 Capitolo 3 - Functions Outline 3.1Introduction 3.2Program Components in C++ 3.3Math Library Functions 3.4Functions.
1 laboratorio di calcolo II AA 2003/04 terza settimana a cura di Domizia Orestano Dipartimento di Fisica Stanza tel. ( )
Classi e Oggetti.
Organizzazione della Memoria (Unix) Text contiene le istruzioni in linguaggio macchina del codice eseguibile, può essere condiviso in caso di processi.
Esercitazione 2 – Generazione di variabili Matlab.
07EIPCH AA 2008/09 Paolo Bernardi Code::Blocks minimal HowTo Paolo Bernardi.
Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX Shell: uso avanzato e script Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.
Histogram and region based processing
INTRODUZIONE A MATLAB.
Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli Programmare in Matlab Funzioni di Libreria Funzioni definite.
Java Contardi Carlo A.S. 2008/09.
Chronos Jpdl Designer versione 1.0
Passaggio di parametri per indirizzo
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.
CREAZIONE UTENTE SU ORACLE1 Pagina delle risorse: crea utente oracle ( D’ora in poi, in questi lucidi, il vostro utente oracle.
Il progetto di un apparato per Fisica E.W. ad un collider e + e - [Marcello Piccolo Torino 15/04/2004 ] This presentation will probably involve audience.
Lezione 1: Introduzione all’uso di Matlab
Introduzione. Introduzione Un’applet Java: Una applet ("applicazioncina") è una applicazione non autonoma, ma pensata per far parte di una pagina Internet.
PHP - PHP: Hypertext Preprocessor. Introduzione PHP (acronimo ricorsivo per "PHP: Hypertext Preprocessor") è un linguaggio di scripting general-purpose.
CORSO DI PROGRAMMAZIONE II Lezione 22
ROOT Tutorial Parte 3.
SQL*PLUS Worksheet Permette di:
ROOT Tutorial.
Pagine ASP parte 3 I data base Stefano Schacherl.
I giorni della settimana
Introduzione a Windows (Seconda parte) Lezione 3 Riccardo Sama' Copyright 
Demonstrating Possession
Analisi Statistica dei dati nella Fisica Nucl. e Subnucl. [Laboratorio  ] Laboratorio Analisi Statistica dei Dati per HEP - G.Sirri Gabriele Sirri.
© Copyright NTT DATA Italia – All Rights Reserved The information contained in this document is the property of NTT DATA Italia S.p.A. and the addressee.
1 FONDAMENTI DI INFORMATICA II Ingegneria Gestionale a.a ° Ciclo Strutture Dati.
Un problema multi impianto Un’azienda dispone di due fabbriche A e B. Ciascuna fabbrica produce due prodotti: standard e deluxe Ogni fabbrica, A e B, gestisce.
Sistemi operativi di rete Ing. A. Stile – Ing. L. Marchesano – 1/18.
INTRODUZIONE A MATLAB LEZIONE 2 Sara Poltronieri.
LA FILOSOFIA DEL SAS Concepito per essere facilmente accessibile.
ROOT Tutorial.
BaBar Tier A Administration Workshop CCR, Paestum Giugno 2003 Alberto Crescente, INFN Sez. Padova.
Each student will be able to ask an adult or stranger: What do you like to do? and What don’t you like to …?
ROOT Tutorial Parte 3.
SUMMARY PLCs RIEPILOGO I PLC RIEPILOGO I PLC. »Un PLC consiste principalmente di una CPU, un’area di memoria, circuiti di ingresso ed uscita. »A PLC consists.
Gabriele Sirri Istituto Nazionale di Fisica Nucleare
Italian 1.  Give the definition, part of speech, 1 synonym, 1 antonym of the following IRE verb: DORMIRE.
CMS RPC ITALIA' , Settembre Ischia-ITALIA RPC DCS Giovanni Polese.
Luciano Pandola INFN-LNGS Presentazione basata da S. Panacek e N. Di Marco Corso INFN su C++, ROOT e Geant4.
STMan Advanced Graphics Controller. What is STMan  STMan is an advanced graphic controller for Etere automation  STMan is able to control multiple graphics.
Preliminary results of DESY drift chambers efficiency test
Transcript della presentazione:

a.a. 2005/2006Introduzione a ROOT: E. Meroni ROOT É un potente strumento object oriented per analisi di dati, preparato al CERN Può essere pensato come una grande libreria Object-Oriented di classi C++ con un interprete C++ (CINT) che fa da interfaccia all’utente per eseguire istruzioni C++ o semplici macro (programmi)

a.a. 2005/2006Introduzione a ROOT: E. Meroni Concetti di Object Oriented  Classe: la descrizione di una “cosa” nel sistema  Oggetto: istanza di una classe  Metodi: funzioni per una classe Esempio: definizione di un istogramma: TH1F *h = new TH1F (“h”,”nome “,100,-2.8,1.8)  Classe: TH1F  Operatore: new (crea una zona di memoria)  h : puntatore alla zona di memoria  Metodo : h->Fill(xx) funzione che agisce sulle variabili della classe h->Draw()  istanza: h1,h2,…

a.a. 2005/2006Introduzione a ROOT: E. Meroni Cosa può fare ROOT ? Molte cose fra cui:  Istogrammi e fit  Grafici (2D, 3D)  I/O file : specialmente per istogrammi, Trees

a.a. 2005/2006Introduzione a ROOT: E. Meroni Analisi di dati istogramma funzione fit

a.a. 2005/2006Introduzione a ROOT: E. Meroni Analisi di dati 2D Lego Plot sovrapposizione

a.a. 2005/2006Introduzione a ROOT: E. Meroni Analisi di dati grafico

a.a. 2005/2006Introduzione a ROOT: E. Meroni Come si usa ? Interfaccia dell’utente:  GUI: Browsers, Panels, Tree Viewer  Command Line interface: C++ interpreter CINT  Script Processor (C++ compiled  C++ interpreted) Per uscire da root root[0].q Per iniziare root > root

a.a. 2005/2006Introduzione a ROOT: E. Meroni GUI di Base (Interfaccia grafica per l’utilizzatore) Browsing and opening files GUI Drawing histograms Right click, left click, middle click Draw Panel Fit Panel Adding Color and Zooming Adding text and other objects Dividing the canvas Setting the log scale root[0]TBrowser *b= new TBrowser(“nome”);

a.a. 2005/2006Introduzione a ROOT: E. Meroni Displaying a Histogram Display di un istogramma La finestrella si chiama Canvas Finestrella creata da TBrowser: Aprire un ROOT file che contiene istogrammi già precedentemente salvati

a.a. 2005/2006Introduzione a ROOT: E. Meroni Basic Navigation by Clicking ( con il mouse ) Left Click –select the object –drag the object –resize the object Right Click –context menu –class::name –methods Middle Click –activate canvas –freezes event status bar

a.a. 2005/2006Introduzione a ROOT: E. Meroni Fitting, Coloring, and Zooming Adding a gaussian fit Coloring the histogram Zooming/unzooming

a.a. 2005/2006Introduzione a ROOT: E. Meroni Adding Objects to the Canvas The Editor Adding an Arrow Adding Text

a.a. 2005/2006Introduzione a ROOT: E. Meroni Dividing the Canvas Create a new Canvas Divide it in 2 Draw two histograms. 1. Lego plot 2. LogY

a.a. 2005/2006Introduzione a ROOT: E. Meroni Comandi in linea Si usano le frecce per richiamare i comandi  Aprire e guardare un file Disegnare istogrammi Aggiungere un Fit Aggiungere le barre di errore Aggiungere colori

a.a. 2005/2006Introduzione a ROOT: E. Meroni Aprire un File Open a file for reading root [] TFile *f= new TFile("Example.root") Look at the contents of the file root [] f.ls() TFile** Example.root ROOT file TFile* Example.root ROOT file KEY: TTree myTree;1 Example ROOT tree KEY: TH1F totalHistogram;1 Total Distribution KEY: TH1F mainHistogram;1 Main Contributor KEY: TH1F s1Histogram;1 First Signal KEY: TH1F s2Histogram;1 Second Signal

a.a. 2005/2006Introduzione a ROOT: E. Meroni Definire e Disegnare una funzione root[] TF1*f1 = new TF1("f1","sin(x)/x",-2.,13.); root[] TCanvas *c1= new TCanvas("c1","funz",600,400); root[] f1->Draw();

a.a. 2005/2006Introduzione a ROOT: E. Meroni Definire la finestrella Canvas root[] TCanvas *c1 =new TCanvas("c1",“nome",600,400) root[] c1->Divide(1,2) root[] c1->cd(1) root[] h1->Draw() root[] c1->cd(2) root[] h1->Fit(“gaus”) root[] h1->Draw()

a.a. 2005/2006Introduzione a ROOT: E. Meroni Fitting es: gaus root [] h1->Draw() root [] h1->Fit("gaus") root [] h1->SetFillColor(9) root [] h1->SetLineColor(2) root [] h1->Draw()

a.a. 2005/2006Introduzione a ROOT: E. Meroni Tipi di Comandi 1.CINT commands start with “.” root[0].? this command will list all the CINT commands root[1].x [filename] load [filename] and execute function [filename] root[2].L [filename] load [filename] 2.SHELL commands start with “.!” for example: root[3].! ls

a.a. 2005/2006Introduzione a ROOT: E. Meroni Scripts o Macro Un-named Script Start with "{" and end with "}" All variables are in the global scope Named Script C++ functions Scope rules follow standard C++ Function with the same name as the file is executed with a.x Parameters

a.a. 2005/2006Introduzione a ROOT: E. Meroni Scripts Examples Un-named Script: hello.C { cout << "Hello" << endl; } Named Script:say.C void say(char * what = "Hello") { cout << what << endl; } Executing the Named Script root [3].x hello.C Hello root [4].x say.C("Hi there") Hi there

a.a. 2005/2006Introduzione a ROOT: E. Meroni Script es: histo.C { gROOT->Reset(); TH1F * h1 =new TH1F ("h1","Istogramma 1D",100,5.,5.); float x; fstream f; f.open("gaus.dat",ios::in); for (int i = 0; i > x; h1->Fill(x); } f.close(); h1->Draw(); } root[].x histo.C

a.a. 2005/2006Introduzione a ROOT: E. Meroni Script es:funzione.C { gROOT->Reset(); TF1 f1("f1","sin(x)/x",0.,10.); TCanvas c1("c1","funzione",600,400); f1.Draw(); } root[].x funzione.C

a.a. 2005/2006Introduzione a ROOT: E. Meroni Costruttori TF1 2. Same as the previous TF1 with Parameters Call the constructor with parameter indices TF1 *f1 = new TF1 ("f1","[0] *x*sin( [1] *x)",-3,3); Set the parameters explicitly f1->SetParameter(0,10); f1->SetParameter(1,5); f1->Draw();