Intro à ROOT cours TP3 Philippe Mermod, 16 avril 2012



Documents pareils
Séance 0 : Linux + Octave : le compromis idéal

Studio. HERITIER Emmanuelle PERSYN Elodie. SCHMUTZ Amandine SCHWEITZER Guillaume

Aide - mémoire gnuplot 4.0

Gnuplot. Chapitre Lancer Gnuplot. 3.2 Options des graphes

L informatique en BCPST

Parcours FOAD Formation EXCEL 2010

Introduction à la présentation graphique avec xmgrace

Note de cours. Introduction à Excel 2007

PRÉSENTÉ PAR : NOVEMBRE 2007

La Clé informatique. Formation Excel XP Aide-mémoire

Guide d'utilisation. OpenOffice Calc. AUTEUR INITIAL : VINCENT MEUNIER Publié sous licence Creative Commons

Réalisation de cartes vectorielles avec Word

RECUPEREZ DES FICHIERS SUPPRIMES AVEC RECUVA

Leica Application Suite

Guide pratique de CSPM, l'outil de suivi des performances du système Version française du Complete System Performance Monitor HOWTO

Guide pour la réalisation d'un document avec Open Office Writer 2.2

MANUEL TBI - STARBOARD

Access 2010 Entraînement 1 Garage Renault Dossier 24 MCD

Infolettre #18 : Les graphiques avec Excel 2010

10 mn pour se connecter à un fichier Excel. Pas à Pas.

RapidMiner. Data Mining. 1 Introduction. 2 Prise en main. Master Maths Finances 2010/ Présentation. 1.2 Ressources

Date M.P Libellé Catégorie S.Catégorie Crédit Débit Solde S.B

URECA Initiation Matlab 2 Laurent Ott. Initiation Matlab 2

GUIDE D UTILISATION DE L ISU SEPTEMBRE 2013 GUIDE D UTILISATION DU NAVIGATEUR UIS.STAT (VERSION BÊTA)

Conférence Web sur demande de TELUS Guide de référence rapide

Tutoriel : logiciel de présentation Openoffice Impress

Tp_chemins..doc. Dans la barre "arche 2" couleur claire 1/5 21/01/13

La révolution des satellites de Jupiter

MEMENTO D'UTILISATION Du T.N.I. SmartBoard (Version )

COPIER, COUPER, COLLER, SELECTIONNER, ENREGISTRER.

Projet Matlab/Octave : segmentation d'un ballon de couleur dans une image couleur et insertion d'un logo

Table des matières. F. Saint-Germain / S. Carasco Document réalisé avec OpenOffice.org Page 1/13

Retrouver un mot de passe perdu de Windows

Tutoriel Création d une source Cydia et compilation des packages sous Linux

IUT BREST UN LOGICIEL SCADA : PC VUE 2010 DEP.GMP

Découverte et prise en main de SWEET HOME 3D

Le service de création de site Internet : Mode d emploi. La Création de Site Internet

l'ordinateur les bases

Open Office - Présentation

Inspiration 7.5. Brève description d Inspiration. Avantages d Inspiration. Inconvénients d Inspiration

GLPI Les entités. Dans l exemple ci-dessous, GLPI gère une structure répartie sur trois pays, eux-mêmes structurés par villes ou par région / villes.

Logiciel. Table de matières I Environnement requis...2

1 Introduction - Qu est-ce que le logiciel R?

Saisissez le login et le mot de passe (attention aux minuscules et majuscules) qui vous ont

GUIDE DE DÉMARRAGE. SitagriPro Infinite FINANCEAGRI. Un service. c o r p o r a t e

GROOBAX. cliquer sur le «G» Cliquer sur «options» Sélectionner le dossier qui contiendra les paramètres => Cliquer A chercher le dossier créé en 2/

Créer son questionnaire en ligne avec Google Documents

TP 1 Introduction à Matlab Février 2009

COMMENT EFFECTUER UNE ANALYSE VIRALE EN LIGNE

TUTORIEL IMPRESS. Ouvrir Impress cocher «présentation vierge», «suivant» cocher «écran», «suivant» cocher «standard», «créer»

Installation et paramétrage. Accès aux modèles, autotextes et clip- art partagés

Utilisation d'interwrite avec un vidéoprojecteur interactif EPSON

Procédure d installation détaillée

PHOTOSHOP - L'AFFICHAGE

GUIDE Excel (version débutante) Version 2013

Je participe à la société branchée

TABLEAU CROISE DYNAMIQUE

Utilisation du visualiseur Avermedia

Modules Multimédia PAO (Adobe)

Évaluation des compétences. Identification du contenu des évaluations. Septembre 2014

Travaux pratiques avec RapidMiner

Interface PC Vivago Ultra. Pro. Guide d'utilisation

Cyberclasse L'interface web pas à pas

Guide de démarrage rapide Centre de copies et d'impression Bureau en Gros en ligne

INSERER DES OBJETS - LE RUBAN INSERTION... 3 TABLEAUX

GUIDE DES PROFESSEURS(ES) POUR LÉA Version du 27 janvier 2009

AGASC / BUREAU INFORMATION JEUNESSE Saint Laurent du Var Tel : bij@agasc.fr Word: Les tableaux.

Gérer, stocker et partager vos photos grâce à Picasa. Janvier 2015

Tester la se curite de son re seau WiFi

Mode d'emploi abrégé du GPS GeoExplorer3 et du Software GPS Pathfinder Office

Utilisation du logiciel Epson Easy Interactive Tools

Ateliers Python+Qt : Premiers pas : Comment développez ses propres interfaces graphiques sur le RaspberryPi?

Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1

LPP SAINT JOSEPH BELFORT MODE OPERATOIRE ACTIVINSPIRE. Bonne utilisation à toutes et tous! UTILISATION DES TBI LE LOGICIEL ACTIVINSPIRE

Serveur Acronis Backup & Recovery 10 pour Linux. Update 5. Guide d'installation

Portail étudiant de la Faculté des sciences Notice d'utilisation du site d'inscription aux unités d enseignement

Formation Word/Excel. Présentateur: Christian Desrochers Baccalauréat en informatique Clé Informatique, 15 février 2007

Consigne : je remplis le tableau en tenant compte des informations de la ligne supérieure et de la colonne de gauche (droite pour les gauchers)

claroline classroom online

Master Exploration Informatique des données Data Mining & Business Intelligence. Evelyne CHARIFOU Priscillia CASSANDRA

Cahier Technique. «Développer une application intranet pour la gestion des stages des étudiants» Antonin AILLET. Remi DEVES

Microsoft Excel. Tableur

Comment créer des rapports de test professionnels sous LabVIEW? NIDays 2002

Introduction : présentation de la Business Intelligence

Dessiner dans Galaad FRANÇOIS PALLUT

Premiers pas avec SES-Pegase (version 7.0) SES : Un Système Expert pour l analyse Statistique des données. Premiers pas avec SES-Pegase 1

LES TYPES DE DONNÉES DU LANGAGE PASCAL

Création d un site Internet

Guide d Utilisation du logiciel Diagnostic Commerce

Auguria_PCM Product & Combination Manager

SAP BusinessObjects Web Intelligence (WebI) BI 4

Guide de démarrage rapide

Excel 2010 Intermediaire

Services bancaires par Internet aux entreprises. Guide pratique pour : Transfert de fichiers Version

Première expérience?

REPUBLIQUE TUNISIENNE MINISTERE DE L EDUCATION ET DE LA FORMATION. 4 ème année de l enseignement secondaire Section : Economie et Gestion.

Introduction à MATLAB R

Guide Utilisateur - Guide général d'utilisation du service via Zdesktop ou Webmail v.8. Powered by. - media-2001.communication &.

Transcription:

Intro à ROOT cours TP3 Philippe Mermod, 16 avril 2012

ROOT = un outil d'analyse de données Vous connaissez peut-être Excel, Matlab, ou autres programmes de traitement de données. En physique des particules, on fait tout avec ROOT. Lire et écrire des données sur des fichiers Faire et manipuler des histogrammes Faire des graphiques et des fits de courbes Faire des calculs, analytiques ou numériques Produire de belles figures pour présenter les résultats 2

http://root.cern.ch Informations générales Télécharger et installer (plus facile sur linux) Tutorials Guide d'utilisateur ( ROOT peut faire beaucoup plus de choses que ce qui est montré ici) Forums de discussions 3

ROOT et C++ ROOT est écrit en C++ ROOT consiste en une collection de classes C++ Code ROOT = code C++ interprété par CINT (peut aussi être compilé) Exemple d'une session ROOT interactive: quitter 4

Utiliser ROOT De manière interactive (voir exemple précédent) Avec un script (ou macro ): Un script ROOT commence et finit par une accolade root [0].x script0.c 420.8 113.529 exécuter un script (le fichier script0.c 109.156 doit être dans le même directory) 5

Objets Objets = classes C++ Un objet contient d'autres objets plus simples, ainsi que des fonctions Les objets prédéfinis par ROOT commencent par T, suivit d'une majuscule Exemples: histogramme à une dimension: TH1F histogramme à deux dimensions: TH2F Fichier ROOT: TFile Ntuple: TNtuple (ou TTree) Fonction à une dimension: TF1 Graphique: TGraph Etc... 6

[TAB]: truc utile pour savoir comment déclarer les objets et ce qu'ils contienent root [0] TH1F *histo=new TH1F([TAB] indique toutes les possibilités: TH1F TH1F() TH1F TH1F(const char* name, const char* title, Int_t nbinsx, Double_t xlow, Double_t xup) TH1F TH1F(const char* name, const char* title, Int_t nbinsx, const Float_t* xbins) TH1F TH1F(const char* name, const char* title, Int_t nbinsx, const Double_t* xbins) TH1F TH1F(const TVectorF& v) TH1F TH1F(const TH1F& h1f) root [0] TH1F *histo=new TH1F("histo","essai",50,0,100); root [1] histo->set[tab] indique toutes les possibilités: SetBinContent SetBinsLength SetAxisColor SetAxisRange SetBarOffset SetBarWidth SetBinError Etc... name important pour la gestion de l'objet par ROOT dans la mémoire et sur le disque ne pas définir deux objets avec le même name 7

Remplir un histogramme À partir d'un ntuple (voir plus loin) Manuellement avec TH1F::Fill Exemple: un ramasseur de morilles: root [0] TH1F *hkg=new TH1F("hkg","morilles",50,-0.5,49.5); root [1] hkg->fill(10); root [2] hkg->fill(3); root [3] hkg->fill(42); root [4] hkg->fill(10); root [5] hkg->fill(22); root [6] hkg->getxaxis()->settitle("poids (kg)"); root [7] hkg->draw(); Plotter l'histogramme 8

Lire un fichier texte manuellement (script) Fenêtre du plot Titre de l'axe Options: dessiner les axes, et une étoile pour chaque point 9

Lire un fichier texte manuellement (output) Devine-t-on une dépendance? Besoin de plus de mesures pour confirmer... 10

Lire un fichier texte avec un ntuple Définir le ntuple: root [0] TNtuple *morilles = new TNtuple("morilles","morilles","an:ki:he:de:in"); Mettre les données du fichier dans le ntuple: root [1] morilles->readfile("morilles.txt"); Voir le ntuple: root [2] morilles->scan(); ************************************************************************ * Row * an * ki * he * de * in * ************************************************************************ * 0* 2007 * 10 * 21 * 12.699999 * * 1* 2008 * 3* 27 * * 2* 2009 * 42 * 37 * 12.199999 * 2.9000001 * * 3* 2010 * 10 * 36 * 13.899999 * 2.2000000 * * 4* 2011 * 22 * 30 * 11.5 * 2.5 * 2* 12.5 * 2.7000000 * ************************************************************************ 11

Écrire et Lire un fichier root (contient des objets) Créer le fichier: root [3] TFile *ff=new Tfile("morilles.root","RECREATE"); Ajouter un objet dans le fichier: root [4] morilles->write(); Regarder le fichier: root [5] ff->ls(); TFile** morilles.root TFile* morilles.root KEY: TNtuple morilles;1 morilles Lire le fichier: root [6] TNtuple *morilles_lu=(tntuple*) ff->get("morilles"); Créer et dessiner un histogramme à partir du ntuple: root [7] morilles_lu->draw("ki"); 12

Petite analyse d'un fichier particules.txt contenant des quatrivecteurs de particules au LHC root [0] TNtuple *particules=new TNtuple("particules","particules","px:py:pz:E"); root [1] particules->readfile("particules.txt"); root [2] particules->draw("acos(pz/sqrt(px*px+py*py+pz*pz))"); root [3] particules->draw("e","acos(pz/sqrt(px*px+py*py+pz*pz))>0.8 && acos(pz/sqrt(px*px+py*py+pz*pz))<2.3"); root [4] particules->draw("e","acos(pz/sqrt(px*px+py*py+pz*pz))<0.8 acos(pz/sqrt(px*px+py*py+pz*pz))>2.3","same"); Option: dessiner sur le même plot coupure 13

Même analyse en faisant une boucle sur le ntuple 14

Histogrammes à deux dimensions root [5] particules->draw("e:acos(pz/sqrt(px*px+py*py+pz*pz))"); root [6] particules->draw("e:acos(pz/sqrt(px*px+py*py+pz*pz))","","lego"); root [7] gstyle->setpalette(1); root [8] particules->draw("e:acos(pz/sqrt(px*px+py*py+pz*pz))","","colz"); 15

Nombres alléatoires Nombre entre 0 et 1: root [0] grandom->setseed(); root [1] grandom->rndm(); Fonctions prédéfinies: gaus, expo, poln, landau... (Double_t)8.26567401876673102e-01 Remplir un histogramme avec une variable aléatoire root [2] TH1F *h1=new TH1F("h1","gaussian distribution",100,-5,5); root [3] h1->fillrandom("gaus",10000); root [4] TF1 *f2=new TF1("f2","[0]*sqrt([1]*(sin([2]*x)+2))/([3]+pow(x,2))",-5,5); root [5] f2->setparameters(1,1,3,5); root [6] TH1F *h2=new TH1F("h2","ma propre distribution",100,-5,5); Ma fonction root [7] h2->fillrandom("f2",10000); 16

Fits Fitter les histogrammes précédents: Montrer les paramètres du fit sur les plots root [8] gstyle->setoptfit(ktrue); root [9] h1->fit("gaus","","e1",-5,5); root [10] h2->fit("gaus","","e1",-5,5); root [11] h2->fit("f2","","e1",-5,5); Fonction fit option histo option intervalle 17

Exemples d'options d'histogrammes (voir documentation!) "AXIS": dessine seulement l'axe "SAME": superpose l'histogramme (mais pas l'axe) au plot précédent "L": dessine une ligne (défaut) "C": dessine une ligne continue "P": dessine des marqueurs "E1": dessine des barres d'erreurs Etc... 18

Autres objets utiles (voir documentation!) TCanvas: fenêtre contenant des plots TPad: pad = fenêtre secondaire contenue dans un TCanvas; le pad courant est la variable globale gpad TStyle: style général (tailles, couleurs, etc..); le style courant est la variable globale gstyle TTree: ntuple avec des branches de n'importe quel type TGraphErrors: graphique avec des barres d'erreurs TProfile: histogramme de profil (contient la moyenne de la variable de l'axe y d'un histogramme à deux dimensions) TF2: fonction à deux dimensions TLegend: pour dessiner des légendes sur un pad TLine, TArrow, TText, TLatex, etc.: pour dessiner une ligne, une flèche, du texte, etc. sur un pad TBrowser: outil interactif pour voir le contenu d'un fichier ROOT Etc... 19

Autres commandes utiles (voir documentation!) truc->setfillcolor(2);truc->setfillstyle(3002); colorie une surface rouge sous la ligne truc->setstats(kfalse); enlève le carré en haut à droite C1->Divide(2,3); divise la fenêtre (TCanvas) en six pads avec deux colonnes et trois lignes C1->cd(2); sélectionne le deuxième pad gpad->setlogy(); échelle logarithmique sur l'axe y du pad en cours gpad->setgridy(1); dessine une grille pour l'échelle de l'axe y C1->SaveAs("mafigure.pdf"); sauver l'image sur un fichier On peut aussi faire pas mal de choses avec l'interface graphique Etc... 20

Marqueurs, couleurs, lignes, remplissages... SetFillStyle SetMarkerColor, SetLineColor, SetFillColor... SetLineStyle SetMarkerStyle 21

Petit exercice pratique Lire le fichier pion.txt (contient 13000 mesures de la masse du pion) Dessiner la distribution de la masse du pion Faire un fit et estimer la masse du pion (avec erreurs statistiques) Sauver l'histogramme avec le fit en vert Comme image au format eps Dans un fichier root 22