ROOT: An object-orientated analysis framework

Size: px
Start display at page:

Download "ROOT: An object-orientated analysis framework"

Transcription

1 C++ programming for physicists ROOT: An object-orientated analysis framework PD Dr H Kroha, Dr J Dubbert, Dr M Flowerdew 1 Kroha, Dubbert, Flowerdew 14/04/11

2 What is ROOT? An object-orientated framework aimed at solving the data analysis challenges of high-energy physics Project started in the 1990's particularly aimed at the Large Hadron Collider experiments Designed for large-scale data analysis parallel processing of multi- Terabyte datasets Main components: C++ core classes CINT command-line interpreter PROOF, the Parallel ROOT Facility PyROOT, a python interface (recommended, but learn python first!) ROOT User's Guide 2 Kroha, Dubbert, Flowerdew 14/04/11

3 Links ROOT home page: User's guide (pdf): ROOT reference guide: Type a class or method name into the search box RootTalk forum (user help): Extra statistics packages: Some alternatives to ROOT (for non-hep physicists) are listed here: 3 Kroha, Dubbert, Flowerdew 14/04/11

4 Core C++ classes The main data types (classes) you will deal with are: TFile: database-like file, with.root suffix TTree and TNtuple: event-by-event record of variables TH1: binned histogram summary of data TF1: representation of a mathematical function TBrowser and TCanvas: Interactive graphical interfaces to the above TVector3 and TLorentzVector: 3- and 4-dimensional vectors (Nearly) any ROOT object can be saved in a TFile ROOT classes have a complex (and controversial) inheritance structure All histograms inherit from TH1 THnX = n-dimensional histogram of type X (eg TH1D, TH2I, TH3F, ) Functions TF2 and TF3 similarly inherit from TF1 The ROOT libraries can be used in your C++ program, but we will use ROOT interactively today 4 Kroha, Dubbert, Flowerdew 14/04/11

5 Initial setup Try to run ROOT: > root If you get this output, ROOT is not fully set up on your system: > root bash: root: command not found To fix it, use the alias command: > alias root=/opt/cern/root/bin/root Note: This is not the best solution, just the fastest 5 Kroha, Dubbert, Flowerdew 14/04/11

6 CINT, the C/C++ Interpreter Commands you run are in yellow Open a ROOT file on the command line: > root -l block_test.root root [0] Attaching file block_test.root as _file0... root [1] _ -l (ell, not one!) avoids splash screen CINT takes commands that look like C++ Not all valid C++ statements are supported Many illegal C++ statements are allowed Eg semi-colons at end of line is optional Some non-c++ commands exist to make your life easier root [1].ls TFile** block_test.root TFile* block_test.root KEY: TNtuple Ntuple;1 Block-N-Tuple root [2].q > _ List contents of TDirectory Exit ROOT 6 Kroha, Dubbert, Flowerdew 14/04/11

7 What's in a name? Look again at the file listing: root [1].ls TFile** block_test.root TFile* block_test.root KEY: TNtuple Ntuple;1 Block-N-Tuple These give the class names This is an instance name This is an instance title Most ROOT objects have a name (a C-string). In terms of class structure, this is a private class variable, and it is set when the object was first created. CINT uses the name as an identifier Pseudo-code: TNtuple* Ntuple = new TNtuple(...) Titles are human-readable descriptions of a particular instance 7 Kroha, Dubbert, Flowerdew 14/04/11

8 The interactive browser > root -l block_test.root root [0] Attaching file block_test.root as _file0... root [1] groot->setstyle( Plain ) root [2] TBrowser *b = new TBrowser Gets rid of nasty grey canvas background Note: Screenshots use ROOT version ATLAS style Older versions (eg 5.26) look different: try File New Browser if you want the new one 8 Kroha, Dubbert, Flowerdew 14/04/11

9 An ntuple In the browser, double-click on the file name (under ROOT Files ) and then the ntuple name This shows the structure of your saved TNtuple object The TFile object The TNtuple object Branches (or leaves ) of the ntuple The branches are filled for each event A TNtuple only holds float variables. A TTree can hold other types, including classes 9 Kroha, Dubbert, Flowerdew 14/04/11

10 First histogram On the CINT command line, type root [1] Ntuple->Draw( x_out ) Alternatively, double-click the variable in an open TBrowser Frequency Variable name Tip: The canvas is interactive try dragging and right-clicking different things 10 Kroha, Dubbert, Flowerdew 14/04/11

11 The draw panel Right click on the histogram itself Make sure to get the histogram, not the canvas! The first menu line says the name of the class and instance to help you In the menu, select the Draw Panel Here, you can easily change the display properties of the histogram Colour and size of the line and markers Display statistical errors on each point Modify the binning and axis range 11 Kroha, Dubbert, Flowerdew 14/04/11

12 Controlling the plot To choose a specific histogram binning: root [1] Ntuple->Draw( x_out>>h(50,-100,100) ) Two dimensional (scatter) plot: root [1] Ntuple->Draw( x_out:z_out ) Two dimensional histogram: Improve the colour palette: Histogram name Number of bins Minimum x x var Maximum x root [1] Ntuple->Draw( x_out:z_out>>h2(50,0,40, 50,-3,3,, COLZ ) root [2] gstyle->setpalette(1) root [3] h2->draw( COLZ ) 12 Kroha, Dubbert, Flowerdew 14/04/11 y var y var x var Histogram name Number of x bins Minimum x Etc... Invalid C++! (Why?)

13 Advanced plotting Functions of variables can also be drawn: root [1] Ntuple->Draw( E_out - E_in ) Apply a selection using the second argument: root [1] Ntuple->Draw( x_out, abs(z_out-40.0) < ) Some obvious functions are implemented: abs, sqrt, cos, sin, Set some histogram properties: root [1] Ntuple->Draw( x_out:z_out>>h2(50,0,40, 50,- 3,3,, COLZ ) root [2] h2->getxaxis()->settitle( z position [mm] ) root [3] h2->getyaxis()->settitle( x position [mm] ) root [4] h2->draw( COLZ ) 13 Kroha, Dubbert, Flowerdew 14/04/11

14 The result Go to File Save As to save the image Output formats:.ps (postscript).eps.pdf.gif.jpg.png.c (CINT script).root 14 Kroha, Dubbert, Flowerdew 14/04/11

15 One more for fun 3- or even 4-dimensional plots are possible (note: your ntuples don't have y_out) root [1] Ntuple->Draw( x_out:y_out:z_out:e_in ) Colour is the fourth dimension (E_in) 15 Kroha, Dubbert, Flowerdew 14/04/11

16 TTree::Draw() TNtuple is derived from TTree, which defines this method: virtual long int TTree::Draw(const char * varexp, const char * selection =, const char * option =, long int nentries = , long int firstentry = 0); NB: This is simplified for clarity ROOT has its own types for portable integers and C-strings Note that this means we can control which entries we plot too: root [1] Ntuple->Draw( x_out,,, 500, 1000) (Plot entries from inclusive) 16 Kroha, Dubbert, Flowerdew 14/04/11

17 Fitting a histogram If we think a histogram has a certain shape (eg a Gaussian), we can try fitting it with a test function Right click on the histogram line and select Fit Panel Select the fit function to try Default gaus is a Gaussian More details on this and other options at The fit range is usually important too A similar effect can be achieved on the command line: root [1] h1->fit( gaus,,, -1.5, 1.5) Gaussian fit for -1.5 x < Kroha, Dubbert, Flowerdew 14/04/11

18 More on fitting Here is shown a Gaussian fit to this histogram: root [1] Ntuple->Draw( x_out, abs(z_out-40.0) < ) The thick black line represents a TF1 object, which you can also manipulate in the canvas, like a histogram Always remember to ask if the fit looks reasonable, and if not, why not 18 Kroha, Dubbert, Flowerdew 14/04/11

19 Now over to you... What energy do the particles have... At the start? (z = 0) At the exit of each layer of material? What is the distribution of x at each point? Can you see the finite steps in z? Does the step size vary? Try plotting z_out with a cut on z_out Can you plot the path of just one particle? Hint: Remember you can control the first and last event plotted On a sample with lots of particles: can you understand your results in terms of the multiple scattering equations? S 1 2 d θ E, where θ E has a mean of zero and a standard deviation of θ 0 = 13.6 MeV E q d X 0 19 Kroha, Dubbert, Flowerdew 14/04/11

Lecture I: Basics REU Root Duke Jen Raaf

Lecture I: Basics REU Root Duke Jen Raaf Lecture I: Basics Linux commands What is ROOT? Interactive ROOT session - command line vs. macros vs. user-compiled code Opening files / accessing information Histograms and Trees and Functions, Oh My!

More information

ROOT. Introduction. Spring 2010 Lecture 5. S. Lehti and V.Karimäki. COMPUTING METHODS IN HIGH ENERGY PHYSICS (page 1)

ROOT. Introduction. Spring 2010 Lecture 5. S. Lehti and V.Karimäki. COMPUTING METHODS IN HIGH ENERGY PHYSICS (page 1) Introduction ROOT is an object-oriented framework aimed at solving data analysis challenges of high energy physics. The commonly used components of ROOT are Command line interpreter Histogramming and fitting

More information

Introduction to ROOT and application to data analysis at the LHC

Introduction to ROOT and application to data analysis at the LHC Introduction to ROOT and application to data analysis at the LHC INSTITUTE OF PHYSICS, HANOI August 13, 2014 1 Outline 1 ROOT: Motivation and Introduction 2 ROOT basics 3 ROOT analysis 4 Application to

More information

ROOT TUTORIAL. Dirk Krücker, Kelly Beernaert, Ilya Bobovnikov.

ROOT TUTORIAL. Dirk Krücker, Kelly Beernaert, Ilya Bobovnikov. ROOT TUTORIAL Dirk Krücker, Kelly Beernaert, Ilya Bobovnikov https://indico.desy.de/conferencedisplay.py?confid=15780 July 21 th, 2016 DESY Summer Student Program 2016 What is ROOT? 2 ROOT is the Swiss

More information

ROOT for beginners. First Day Discovering the graphical environment

ROOT for beginners. First Day Discovering the graphical environment ROOT for beginners First Day Discovering the graphical environment Welcome to ROOT! Today's menu: Handling ROOT files Plotting 1-D spectra Handling canvases Decorating a figure Fitting a 1-D spectrum Operations

More information

ROOT Trips & Tricks. Ole Hansen. Jefferson Lab. Hall A & C Analysis Workshop June 26 27, 2017

ROOT Trips & Tricks. Ole Hansen. Jefferson Lab. Hall A & C Analysis Workshop June 26 27, 2017 ROOT Trips & Tricks Ole Hansen Jefferson Lab Hall A & C Analysis Workshop June 26 27, 2017 Ole Hansen (Jefferson Lab) ROOT Trips & Tricks Analysis Workshop 2017 1 / 25 Brief Introduction Ole Hansen (Jefferson

More information

Getting Started with ROOT

Getting Started with ROOT Getting Started with ROOT Welcome to Getting Started with ROOT. Physicists are involved in the business of getting data into files, analyzing it, and then producing histogram plots and fits. This tutorial

More information

Introduction to ROOT. M. Eads PHYS 474/790B. Friday, January 17, 14

Introduction to ROOT. M. Eads PHYS 474/790B. Friday, January 17, 14 Introduction to ROOT What is ROOT? ROOT is a software framework containing a large number of utilities useful for particle physics: More stuff than you can ever possibly need (or want)! 2 ROOT is written

More information

HEP data analysis using ROOT

HEP data analysis using ROOT HEP data analysis using ROOT week I ROOT, CLING and the command line Histograms, Graphs and Trees Mark Hodgkinson Course contents ROOT, CLING and the command line Histograms, Graphs and Trees File I/O,

More information

Data Analysis Frameworks

Data Analysis Frameworks Data Analysis Frameworks ROOT Data Analysis Frameworks Computational Physics Prof. Paul Eugenio Department of Physics Florida State University April 10, 2018 Exercise 8 Due Date extended to Noon Thursday

More information

Introduction to ROOT. Sebastian Fleischmann. 06th March 2012 Terascale Introductory School PHYSICS AT THE. University of Wuppertal TERA SCALE SCALE

Introduction to ROOT. Sebastian Fleischmann. 06th March 2012 Terascale Introductory School PHYSICS AT THE. University of Wuppertal TERA SCALE SCALE to ROOT University of Wuppertal 06th March 2012 Terascale Introductory School 22 1 2 3 Basic ROOT classes 4 Interlude: 5 in ROOT 6 es and legends 7 Graphical user interface 8 ROOT trees 9 Appendix: s 33

More information

INTRODUCTION TUTORIAL

INTRODUCTION TUTORIAL INTRODUCTION TUTORIAL Introduction to ROOT Adrian Bevan YETI January 2007 Uses ROOT 5.12.00 OVERVIEW 3 tutorials over the next two days: Introduction: Introduction to ROOT. Multi Variate Analysis: Training

More information

ROOT Course. Vincenzo Vitale, Dip. Fisica and INFN Roma 2

ROOT Course. Vincenzo Vitale, Dip. Fisica and INFN Roma 2 ROOT Course Vincenzo Vitale, Dip. Fisica and INFN Roma 2 Introduction This is a basic introduction to ROOT. The purpose of the course is to provide a starting knowledge and some practical experiences on

More information

Computational Physics Operating systems

Computational Physics Operating systems Computational Physics numerical methods with C++ (and UNIX) 2018-19 Fernando Barao Instituto Superior Tecnico, Dep. Fisica email: fernando.barao@tecnico.ulisboa.pt Computational Physics 2018-19 (Phys Dep

More information

What is ROOT? Why do we use it? Answer: ROOT does what physicists do: It makes plots.

What is ROOT? Why do we use it? Answer: ROOT does what physicists do: It makes plots. What is ROOT? Why do we use it? Answer: ROOT does what physicists do: It makes plots. sin(x)*sin(y)/(x*y) 1 0.8 0.6 0.4 0.2 0 0.2 10 8 6 4 2 0 2 4 6 8 10 10 8 6 4 2 0 2 4 6 8 10 Number of charged atoms

More information

ROOT Analysis Framework (I) Introduction. Qipeng Hu March 15 th, 2015

ROOT Analysis Framework (I) Introduction. Qipeng Hu March 15 th, 2015 ROOT Analysis Framework (I) Introduction Qipeng Hu March 15 th, 2015 What is ROOT? Why do we use it? Simple answer: It makes plots! Graph [fb/gev] dσ jet /de T,jet 7 6 5 4 3 2 s = 14 TeV η

More information

Root programming and data analysis

Root programming and data analysis Special Praktikum: Root programming and data analysis Ascii data: Co60.dat Ge detector t Preamplifier Shaping amp. MCA γ 60Co γ-source 1173 and 1333 kev Ascii data Ascii data: Each line: corresponds to

More information

PAW: Physicist Analysis Workstation

PAW: Physicist Analysis Workstation PAW: Physicist Analysis Workstation What is PAW? A tool to display and manipulate data. Learning PAW See ref. in your induction week notes. Running PAW: 2 Versions:- PAW: 2 windows: A terminal window for

More information

An Introduction to Root I/O

An Introduction to Root I/O An Introduction to Root I/O C Coleman-Smith Duke Physics cec24@phy.duke.edu March 31, 2010 Outline Getting Started With Root What is root What can root do Compiling, installing, getting help Macros & Functions

More information

INTRODUCTION TO ROOT & BASIC APPLICATIONS

INTRODUCTION TO ROOT & BASIC APPLICATIONS INTRODUCTION TO ROOT & BASIC APPLICATIONS by Alexis Pompili (pompili@ba.infn.it) Master course Laboratorio di Analisi Da3 Esercitazione 0 LABORATORIO ANALISI DATI Alexis Pompili How to access the Virtual

More information

HEP data analysis using ROOT

HEP data analysis using ROOT HEP data analysis using ROOT week 3 ROOT Maths and Physics Libraries ROOT Geometries Mark Hodgkinson 1 Week 3 ROOT maths and physics libraries vectors and their operations data modelling with RooFit ROOT

More information

Multiple variables data sets visualization in ROOT

Multiple variables data sets visualization in ROOT Journal of Physics: Conference Series Multiple variables data sets visualization in ROOT To cite this article: O Couet 2008 J. Phys.: Conf. Ser. 119 042007 View the article online for updates and enhancements.

More information

P445/515 Data Analysis using PAW

P445/515 Data Analysis using PAW P445/515 Data Analysis using PAW C. McGrew February 10, 2003 Abstract PAW (Physics Analysis Workstation) is a complete physics analysis package developed at CERN to handle high energy physics data. It

More information

Excel R Tips. is used for multiplication. + is used for addition. is used for subtraction. / is used for division

Excel R Tips. is used for multiplication. + is used for addition. is used for subtraction. / is used for division Excel R Tips EXCEL TIP 1: INPUTTING FORMULAS To input a formula in Excel, click on the cell you want to place your formula in, and begin your formula with an equals sign (=). There are several functions

More information

Learning from Data Introduction to Matlab

Learning from Data Introduction to Matlab Learning from Data Introduction to Matlab Amos Storkey, David Barber and Chris Williams a.storkey@ed.ac.uk Course page : http://www.anc.ed.ac.uk/ amos/lfd/ This is a modified version of a text written

More information

ROOT5. L. Peter Alonzi III. November 10, University of Virginia

ROOT5. L. Peter Alonzi III. November 10, University of Virginia ROOT5 L. Peter Alonzi III University of Virginia November 10, 2010 Philosophy ROOT was written by people who haven t done physics for 20 years for people who won t do physics for 20 years. Back in the

More information

What is ROOT? Why do we use it? Answer: ROOT does what physicists do: It makes plots.

What is ROOT? Why do we use it? Answer: ROOT does what physicists do: It makes plots. What is ROOT? Why do we use it? Answer: ROOT does what physicists do: It makes plots. Number of charged atoms in Nights in the Gardens of Spain 28 26 24 22 n ions Falla d 20 18 16 14 12-1 10 1 10 t [secs]

More information

Distributed object monitoring for ROOT analyses with Go4 v.3

Distributed object monitoring for ROOT analyses with Go4 v.3 Distributed object monitoring for ROOT analyses with Go4 v.3 J.Adamczewski, H.G.Essel, S.Linev CHEP 2006 Mumbai CHEP 2006 Go4 v3 - http://go4.gsi.de 1 Go4 v3 The Go4 framework New developments for v.3.0

More information

Appendix A. Introduction to MATLAB. A.1 What Is MATLAB?

Appendix A. Introduction to MATLAB. A.1 What Is MATLAB? Appendix A Introduction to MATLAB A.1 What Is MATLAB? MATLAB is a technical computing environment developed by The Math- Works, Inc. for computation and data visualization. It is both an interactive system

More information

Data Analysis R&D. Jim Pivarski. February 5, Princeton University DIANA-HEP

Data Analysis R&D. Jim Pivarski. February 5, Princeton University DIANA-HEP Data Analysis R&D Jim Pivarski Princeton University DIANA-HEP February 5, 2018 1 / 20 Tools for data analysis Eventual goal Query-based analysis: let physicists do their analysis by querying a central

More information

rootpy: Pythonic ROOT

rootpy: Pythonic ROOT rootpy: Pythonic ROOT rootpy.org Noel Dawe on behalf of all rootpy contributors September 20, 2016 Noel Dawe (rootpy) 1/23 rootpy: Pythonic ROOT What s the problem? Why would we even consider developing

More information

Lecture 7. Simulations and Event Generators. KVI Root-course, April Gerco Onderwater, KVI p.1/18

Lecture 7. Simulations and Event Generators. KVI Root-course, April Gerco Onderwater, KVI p.1/18 Lecture 7 Simulations and Event Generators KVI Root-course, April 19 2005 Gerco Onderwater, KVI p.1/18 Exercise 1 Write a macro which performs a benchmark comparison between TRandom, TRandom2, TRandom3.

More information

ROOT Analysis FrameWork (II) Basics. Qipeng Hu March 22, 2015

ROOT Analysis FrameWork (II) Basics. Qipeng Hu March 22, 2015 ROOT Analysis FrameWork (II) Basics Qipeng Hu March 22, 2015 Webpage of this tutorial http://home.ustc.edu.cn/~hqp/root15 2 Outline Introduction to Linux command line Introduction to text editor Plotting

More information

Professor Stephen Sekula

Professor Stephen Sekula Monte Carlo Techniques Professor Stephen Sekula Guest Lecture PHYS 4321/7305 What are Monte Carlo Techniques? Computational algorithms that rely on repeated random sampling in order to obtain numerical

More information

MEASUREMENT OF A DOUBLE-SPIN ASYMMETRY FROM INCLUSIVE ELECTRON-PROTON SCATTERING IN THE CLAS EG4 EXPERIMENT

MEASUREMENT OF A DOUBLE-SPIN ASYMMETRY FROM INCLUSIVE ELECTRON-PROTON SCATTERING IN THE CLAS EG4 EXPERIMENT MEASUREMENT OF A DOUBLE-SPIN ASYMMETRY FROM INCLUSIVE ELECTRON-PROTON SCATTERING IN THE CLAS EG4 EXPERIMENT By: Christopher Kalian Advisor: Dr. Fersch Table of Contents (0.0) Abstract: (1.0) Introduction:

More information

Choose the file menu, and select Open. Input to be typed at the Maple prompt. Output from Maple. An important tip.

Choose the file menu, and select Open. Input to be typed at the Maple prompt. Output from Maple. An important tip. MAPLE Maple is a powerful and widely used mathematical software system designed by the Computer Science Department of the University of Waterloo. It can be used for a variety of tasks, such as solving

More information

An introduction to plotting data

An introduction to plotting data An introduction to plotting data Eric D. Black California Institute of Technology February 25, 2014 1 Introduction Plotting data is one of the essential skills every scientist must have. We use it on a

More information

Introduction to Matlab

Introduction to Matlab Introduction to Matlab Christopher K. I. Williams Division of Informatics, University of Edinburgh October 1999 Background This document has the objective of introducing you to some of the facilities available

More information

Thursday, February 16, More C++ and root

Thursday, February 16, More C++ and root More C++ and root Today s Lecture Series of topics from C++ Example of thinking though a problem Useful physics classes in ROOT Functions by this point you are used to the syntax of a function pass by

More information

An Introduction to ROOT

An Introduction to ROOT An Introduction to ROOT Benno List DESY Summer Student Tutorial 1.8.2007 B. List 1.8.2007 An Introduction to C++ Page 1 Introduction ROOT is a Package for Data Analysis ROOT Provides: Several C++ Libraries

More information

AODstats. Guide to using the Victorian data maps. Powered by StatPlanet

AODstats. Guide to using the Victorian data maps. Powered by StatPlanet AODstats Guide to using the Victorian data maps Powered by StatPlanet Contents Quick start guide Interface: Start page Main page Indicator selector panel Indicator details Indicator search box Graph panel

More information

: Intro Programming for Scientists and Engineers Assignment 1: Turtle Graphics

: Intro Programming for Scientists and Engineers Assignment 1: Turtle Graphics Assignment 1: Turtle Graphics Page 1 600.112: Intro Programming for Scientists and Engineers Assignment 1: Turtle Graphics Peter H. Fröhlich phf@cs.jhu.edu Joanne Selinski joanne@cs.jhu.edu Due Date: Wednesdays

More information

Monte Carlo Techniques. Professor Stephen Sekula Guest Lecture PHY 4321/7305 Sep. 3, 2014

Monte Carlo Techniques. Professor Stephen Sekula Guest Lecture PHY 4321/7305 Sep. 3, 2014 Monte Carlo Techniques Professor Stephen Sekula Guest Lecture PHY 431/7305 Sep. 3, 014 What are Monte Carlo Techniques? Computational algorithms that rely on repeated random sampling in order to obtain

More information

Survey of Math: Excel Spreadsheet Guide (for Excel 2016) Page 1 of 9

Survey of Math: Excel Spreadsheet Guide (for Excel 2016) Page 1 of 9 Survey of Math: Excel Spreadsheet Guide (for Excel 2016) Page 1 of 9 Contents 1 Introduction to Using Excel Spreadsheets 2 1.1 A Serious Note About Data Security.................................... 2 1.2

More information

Maple Quick Start. Maplesoft, a division of Waterloo Maple Inc.

Maple Quick Start. Maplesoft, a division of Waterloo Maple Inc. Maple Quick Start Maplesoft, a division of Waterloo Maple Inc. This tutorial is designed to help you become familiar with the Maple environment and teach you the few fundamental concepts and tools you

More information

C++ Support Classes (Data and Variables)

C++ Support Classes (Data and Variables) C++ Support Classes (Data and Variables) School of Mathematics 2018 Today s lecture Topics: Computers and Programs; Syntax and Structure of a Program; Data and Variables; Aims: Understand the idea of programming

More information

Dr Richard Greenaway

Dr Richard Greenaway SCHOOL OF PHYSICS, ASTRONOMY & MATHEMATICS 4PAM1008 MATLAB 2 Basic MATLAB Operation Dr Richard Greenaway 2 Basic MATLAB Operation 2.1 Overview 2.1.1 The Command Line In this Workshop you will learn how

More information

Introduction To Inkscape Creating Custom Graphics For Websites, Displays & Lessons

Introduction To Inkscape Creating Custom Graphics For Websites, Displays & Lessons Introduction To Inkscape Creating Custom Graphics For Websites, Displays & Lessons The Inkscape Program Inkscape is a free, but very powerful vector graphics program. Available for all computer formats

More information

SAS Visual Analytics 8.2: Working with Report Content

SAS Visual Analytics 8.2: Working with Report Content SAS Visual Analytics 8.2: Working with Report Content About Objects After selecting your data source and data items, add one or more objects to display the results. SAS Visual Analytics provides objects

More information

An Introduction to ROOT

An Introduction to ROOT An Introduction to ROOT Benno List DESY Summer Student Tutorial 1.8.2007 B. List 1.8.2007 An Introduction to C++ Page 1 Introduction ROOT is a Package for Data Analysis ROOT Provides: Several C++ Libraries

More information

LECTURE 0: Introduction and Background

LECTURE 0: Introduction and Background 1 LECTURE 0: Introduction and Background September 10, 2012 1 Computational science The role of computational science has become increasingly significant during the last few decades. It has become the

More information

Module 10A Lecture - 20 What is a function? Why use functions Example: power (base, n)

Module 10A Lecture - 20 What is a function? Why use functions Example: power (base, n) Programming, Data Structures and Algorithms Prof. Shankar Balachandran Department of Computer Science and Engineering Indian Institute of Technology, Madras Module 10A Lecture - 20 What is a function?

More information

Objectives. 1 Running, and Interface Layout. 2 Toolboxes, Documentation and Tutorials. 3 Basic Calculations. PS 12a Laboratory 1 Spring 2014

Objectives. 1 Running, and Interface Layout. 2 Toolboxes, Documentation and Tutorials. 3 Basic Calculations. PS 12a Laboratory 1 Spring 2014 PS 12a Laboratory 1 Spring 2014 Objectives This session is a tutorial designed to a very quick overview of some of the numerical skills that you ll need to get started. Throughout the tutorial, the instructors

More information

Objectives. 1 Basic Calculations. 2 Matrix Algebra. Physical Sciences 12a Lab 0 Spring 2016

Objectives. 1 Basic Calculations. 2 Matrix Algebra. Physical Sciences 12a Lab 0 Spring 2016 Physical Sciences 12a Lab 0 Spring 2016 Objectives This lab is a tutorial designed to a very quick overview of some of the numerical skills that you ll need to get started in this class. It is meant to

More information

Expressing Parallelism with ROOT

Expressing Parallelism with ROOT Expressing Parallelism with ROOT https://root.cern D. Piparo (CERN) for the ROOT team CHEP 2016 2 This Talk ROOT helps scientists to express parallelism Adopting multi-threading (MT) and multi-processing

More information

W7 DATA ANALYSIS 2. Your graph should look something like that in Figure W7-2. It shows the expected bell shape of the Gaussian distribution.

W7 DATA ANALYSIS 2. Your graph should look something like that in Figure W7-2. It shows the expected bell shape of the Gaussian distribution. Drawing Simple Graphs W7 DATA ANALYSIS 2 In some experiments, large amounts of data may be recorded and manipulation is performed using computer software. Although sophisticated, specialist software exists

More information

Practical Programming, Third Edition

Practical Programming, Third Edition Extracted from: Practical Programming, Third Edition An Introduction to Computer Science Using Python 3.6 This PDF file contains pages extracted from Practical Programming, Third Edition, published by

More information

ARTIFICIAL INTELLIGENCE AND PYTHON

ARTIFICIAL INTELLIGENCE AND PYTHON ARTIFICIAL INTELLIGENCE AND PYTHON DAY 1 STANLEY LIANG, LASSONDE SCHOOL OF ENGINEERING, YORK UNIVERSITY WHAT IS PYTHON An interpreted high-level programming language for general-purpose programming. Python

More information

Iteration. # a and b are now equal # a and b are no longer equal Multiple assignment

Iteration. # a and b are now equal # a and b are no longer equal Multiple assignment Iteration 6.1. Multiple assignment As you may have discovered, it is legal to make more than one assignment to the same variable. A new assignment makes an existing variable refer to a new value (and stop

More information

Before submitting the file project5.py, check carefully that the header above is correctly completed:

Before submitting the file project5.py, check carefully that the header above is correctly completed: 1 of 10 8/26/2013 12:43 PM Due date: December 6th, 23:59PM Teamwork reflection due date: December 6th, 23:59PM This is a team project. The project is worth 100 points. All the team members will get an

More information

Computer Components. Software{ User Programs. Operating System. Hardware

Computer Components. Software{ User Programs. Operating System. Hardware Computer Components Software{ User Programs Operating System Hardware What are Programs? Programs provide instructions for computers Similar to giving directions to a person who is trying to get from point

More information

PART 1 PROGRAMMING WITH MATHLAB

PART 1 PROGRAMMING WITH MATHLAB PART 1 PROGRAMMING WITH MATHLAB Presenter: Dr. Zalilah Sharer 2018 School of Chemical and Energy Engineering Universiti Teknologi Malaysia 23 September 2018 Programming with MATHLAB MATLAB Environment

More information

EP578 Computing for Physicists

EP578 Computing for Physicists EP578 Computing for Physicists Topic 12 Advanced Trees Department of Engineering Physics University of Gaziantep Course web page www.gantep.edu.tr/~bingul/ep578 Jan 2012 Sayfa 1 Introduction We will consider

More information

easel Manager Danielle Crosswell dac2182 Language Guru Tyrus Cukavac thc2125 System Architect Yuan-Chao Chou yc3211 Tester Xiaofei Chen xc2364

easel Manager Danielle Crosswell dac2182 Language Guru Tyrus Cukavac thc2125 System Architect Yuan-Chao Chou yc3211 Tester Xiaofei Chen xc2364 easel Manager Danielle Crosswell dac2182 Language Guru Tyrus Cukavac thc2125 System Architect Yuan-Chao Chou yc3211 Tester Xiaofei Chen xc2364 INTRODUCTION & MOTIVATION To most people mathematics is that

More information

GRETL FOR TODDLERS!! CONTENTS. 1. Access to the econometric software A new data set: An existent data set: 3

GRETL FOR TODDLERS!! CONTENTS. 1. Access to the econometric software A new data set: An existent data set: 3 GRETL FOR TODDLERS!! JAVIER FERNÁNDEZ-MACHO CONTENTS 1. Access to the econometric software 3 2. Loading and saving data: the File menu 3 2.1. A new data set: 3 2.2. An existent data set: 3 2.3. Importing

More information

Creating a basic Mind Map using Inspiration 9.0

Creating a basic Mind Map using Inspiration 9.0 Creating a basic Mind Map using Inspiration 9.0 Where to find the software You will find Inspiration 9.0 in the Tools for Learning Folder. Click on the Windows start button: Learning Inspiration 9 IE:

More information

1 Introduction to Using Excel Spreadsheets

1 Introduction to Using Excel Spreadsheets Survey of Math: Excel Spreadsheet Guide (for Excel 2007) Page 1 of 6 1 Introduction to Using Excel Spreadsheets This section of the guide is based on the file (a faux grade sheet created for messing with)

More information

The Run 2 ATLAS Analysis Event Data Model

The Run 2 ATLAS Analysis Event Data Model The Run 2 ATLAS Analysis Event Data Model Marcin Nowak, BNL On behalf of the ATLAS Analysis Software Group and Event Store Group 16 th International workshop on Advanced Computing and Analysis Techniques

More information

CSC 110 Final Exam. ID checked

CSC 110 Final Exam. ID checked ID checked CSC 110 Final Exam Name: Date: 1. Write a Python program that asks the user for a positive integer n and prints out n evenly spaced values between 0 and 10. The values should be printed with

More information

There are two ways to use the python interpreter: interactive mode and script mode. (a) open a terminal shell (terminal emulator in Applications Menu)

There are two ways to use the python interpreter: interactive mode and script mode. (a) open a terminal shell (terminal emulator in Applications Menu) I. INTERACTIVE MODE VERSUS SCRIPT MODE There are two ways to use the python interpreter: interactive mode and script mode. 1. Interactive Mode (a) open a terminal shell (terminal emulator in Applications

More information

Getting Started with MATLAB

Getting Started with MATLAB Getting Started with MATLAB Math 315, Fall 2003 Matlab is an interactive system for numerical computations. It is widely used in universities and industry, and has many advantages over languages such as

More information

Homework 4: Clustering, Recommenders, Dim. Reduction, ML and Graph Mining (due November 19 th, 2014, 2:30pm, in class hard-copy please)

Homework 4: Clustering, Recommenders, Dim. Reduction, ML and Graph Mining (due November 19 th, 2014, 2:30pm, in class hard-copy please) Virginia Tech. Computer Science CS 5614 (Big) Data Management Systems Fall 2014, Prakash Homework 4: Clustering, Recommenders, Dim. Reduction, ML and Graph Mining (due November 19 th, 2014, 2:30pm, in

More information

Histograms And N-tuples

Histograms And N-tuples 5 Histograms And N-tuples Gaudi Framework Tutorial, April 2006 Schedule: Timing Topic 15 minutes Lecture 20 minutes Practice 35 minutes Total Objectives After completing this lesson, you should be able

More information

Introduction to Matlab

Introduction to Matlab What is Matlab? Introduction to Matlab Matlab is software written by a company called The Mathworks (mathworks.com), and was first created in 1984 to be a nice front end to the numerical routines created

More information

Basic Data Analysis Using ROOT

Basic Data Analysis Using ROOT Basic Data Analysis Using ROOT A guide to this tutorial If you see a command in this tutorial is preceded by "[]", it means that it is a ROOT command. You should type that command into the ROOT program

More information

Contents Object Ownership

Contents Object Ownership Contents 1 Object Ownership 3 1.1 Ownership by Current Directory (gdirectory)................................ 3 1.2 Ownership by the Master TROOT Object (groot)............................ 4 1.2.1 The

More information

cling Axel Naumann (CERN), Philippe Canal (Fermilab), Paul Russo (Fermilab), Vassil Vassilev (CERN)

cling Axel Naumann (CERN), Philippe Canal (Fermilab), Paul Russo (Fermilab), Vassil Vassilev (CERN) cling Axel Naumann (CERN), Philippe Canal (Fermilab), Paul Russo (Fermilab), Vassil Vassilev (CERN) Creating cling, an interactive interpreter interface for clang cling? C++* interpreter* *: not really

More information

Big Data Software in Particle Physics

Big Data Software in Particle Physics Big Data Software in Particle Physics Jim Pivarski Princeton University DIANA-HEP August 2, 2018 1 / 24 What software should you use in your analysis? Sometimes considered as a vacuous question, like What

More information

Creating a Basic Chart in Excel 2007

Creating a Basic Chart in Excel 2007 Creating a Basic Chart in Excel 2007 A chart is a pictorial representation of the data you enter in a worksheet. Often, a chart can be a more descriptive way of representing your data. As a result, those

More information

PyPlot. The plotting library must be imported, and we will assume in these examples an import statement similar to those for numpy and math as

PyPlot. The plotting library must be imported, and we will assume in these examples an import statement similar to those for numpy and math as Geog 271 Geographic Data Analysis Fall 2015 PyPlot Graphicscanbeproducedin Pythonviaavarietyofpackages. We willuseapythonplotting package that is part of MatPlotLib, for which documentation can be found

More information

Name: Dr. Fritz Wilhelm Lab 1, Presentation of lab reports Page # 1 of 7 5/17/2012 Physics 120 Section: ####

Name: Dr. Fritz Wilhelm Lab 1, Presentation of lab reports Page # 1 of 7 5/17/2012 Physics 120 Section: #### Name: Dr. Fritz Wilhelm Lab 1, Presentation of lab reports Page # 1 of 7 Lab partners: Lab#1 Presentation of lab reports The first thing we do is to create page headers. In Word 2007 do the following:

More information

Dr Richard Greenaway

Dr Richard Greenaway SCHOOL OF PHYSICS, ASTRONOMY & MATHEMATICS 4PAM1008 MATLAB 3 Creating, Organising & Processing Data Dr Richard Greenaway 3 Creating, Organising & Processing Data In this Workshop the matrix type is introduced

More information

MATLAB INTRODUCTION. Matlab can be used interactively as a super hand calculator, or, more powerfully, run using scripts (i.e., programs).

MATLAB INTRODUCTION. Matlab can be used interactively as a super hand calculator, or, more powerfully, run using scripts (i.e., programs). L A B 6 M A T L A B MATLAB INTRODUCTION Matlab is a commercial product that is used widely by students and faculty and researchers at UTEP. It provides a "high-level" programming environment for computing

More information

ENGI Parametric & Polar Curves Page 2-01

ENGI Parametric & Polar Curves Page 2-01 ENGI 3425 2. Parametric & Polar Curves Page 2-01 2. Parametric and Polar Curves Contents: 2.1 Parametric Vector Functions 2.2 Parametric Curve Sketching 2.3 Polar Coordinates r f 2.4 Polar Curve Sketching

More information

Introduction to MATLAB

Introduction to MATLAB Introduction to MATLAB Introduction: MATLAB is a powerful high level scripting language that is optimized for mathematical analysis, simulation, and visualization. You can interactively solve problems

More information

HO-1: INTRODUCTION TO FIREWORKS

HO-1: INTRODUCTION TO FIREWORKS HO-1: INTRODUCTION TO FIREWORKS The Fireworks Work Environment Adobe Fireworks CS4 is a hybrid vector and bitmap tool that provides an efficient design environment for rapidly prototyping websites and

More information

lab MS Excel 2010 active cell

lab MS Excel 2010 active cell MS Excel is an example of a spreadsheet, a branch of software meant for performing different kinds of calculations, numeric data analysis and presentation, statistical operations and forecasts. The main

More information

PROGRAMMING IN HASKELL. Chapter 2 - First Steps

PROGRAMMING IN HASKELL. Chapter 2 - First Steps PROGRAMMING IN HASKELL Chapter 2 - First Steps 0 The Hugs System Hugs is an implementation of Haskell 98, and is the most widely used Haskell system; The interactive nature of Hugs makes it well suited

More information

Solution Notes. COMP 151: Terms Test

Solution Notes. COMP 151: Terms Test Family Name:.............................. Other Names:............................. ID Number:............................... Signature.................................. Solution Notes COMP 151: Terms

More information

Bar Graphs with Two Grouping Variables 1

Bar Graphs with Two Grouping Variables 1 Version 4. Step-by-Step Examples Bar Graphs with Two Grouping Variables 1 The following techniques are demonstrated in this article: Graphing data organized by two grouping variables Reformatting those

More information

Open a new Excel workbook and look for the Standard Toolbar.

Open a new Excel workbook and look for the Standard Toolbar. This activity shows how to use a spreadsheet to draw line graphs. Open a new Excel workbook and look for the Standard Toolbar. If it is not there, left click on View then Toolbars, then Standard to make

More information

Intro to Programming. Unit 7. What is Programming? What is Programming? Intro to Programming

Intro to Programming. Unit 7. What is Programming? What is Programming? Intro to Programming Intro to Programming Unit 7 Intro to Programming 1 What is Programming? 1. Programming Languages 2. Markup vs. Programming 1. Introduction 2. Print Statement 3. Strings 4. Types and Values 5. Math Externals

More information

MOVING FROM CELL TO CELL

MOVING FROM CELL TO CELL VCAE: EXCEL Lesson 1 Please send comments to Author: Zahra Siddiqui at zed_ess@hotmail.com Concepts Covered: Cell Address; Cell Pointer; Moving across Cells Constants: Entering, Editing, Formatting Using

More information

CSCD 255 HW 2. No string (char arrays) or any other kinds of array variables are allowed

CSCD 255 HW 2. No string (char arrays) or any other kinds of array variables are allowed CSCD 255 HW 2 Design a program called cscd255hw2.c which reads in a strictly positive integer (1 or greater) from the user. The user will then be prompted with a menu of choices (this menu should be repetitively

More information

HippoDraw and Python

HippoDraw and Python HippoDraw and Python Paul F. Kunz Stanford Linear Accelerator Center Brief overview of HippoDraw Use from Python Two Versions Java GUI, uses Jython Qt GUI, uses Python Java version used in screen dumps

More information

Introduction to Programming in C Department of Computer Science and Engineering. Lecture No. #29 Arrays in C

Introduction to Programming in C Department of Computer Science and Engineering. Lecture No. #29 Arrays in C Introduction to Programming in C Department of Computer Science and Engineering Lecture No. #29 Arrays in C (Refer Slide Time: 00:08) This session will learn about arrays in C. Now, what is the word array

More information

B. List An Introduction to C++ Page 1

B. List An Introduction to C++ Page 1 B. List 28.7.2009 An Introduction to C++ Page 1 B. List 28.7.2009 An Introduction to C++ Page 2 B. List 28.7.2009 An Introduction to C++ Page 3 B. List 28.7.2009 An Introduction to C++ Page 4 L L L L B.

More information

PyROOT Automatic Python bindings for ROOT. Enric Tejedor, Stefan Wunsch, Guilherme Amadio for the ROOT team ROOT. Data Analysis Framework

PyROOT Automatic Python bindings for ROOT. Enric Tejedor, Stefan Wunsch, Guilherme Amadio for the ROOT team ROOT. Data Analysis Framework PyROOT Automatic Python bindings for ROOT Enric Tejedor, Stefan Wunsch, Guilherme Amadio for the ROOT team PyHEP 2018 Sofia, Bulgaria ROOT Data Analysis Framework https://root.cern Outline Introduction:

More information

Algebra of Sets (Mathematics & Logic A)

Algebra of Sets (Mathematics & Logic A) Algebra of Sets (Mathematics & Logic A) RWK/MRQ October 28, 2002 Note. These notes are adapted (with thanks) from notes given last year by my colleague Dr Martyn Quick. Please feel free to ask me (not

More information

GOALS [HTDP/2e Chapters 1 through 3.5]

GOALS [HTDP/2e Chapters 1 through 3.5] Lab 1 GOALS [HTDP/2e Chapters 1 through 3.5] This week's lab will help you to practice: Using Dr.Racket: Interactions vs. Definitions; Stepper; Error messages; Indentation Simple image functions; using

More information