ROOT: An object-orientated analysis framework
|
|
- Claude McKinney
- 5 years ago
- Views:
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 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 informationROOT. 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 informationIntroduction 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 informationROOT 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 informationROOT 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 informationROOT 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 informationGetting 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 informationIntroduction 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 informationHEP 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 informationData 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 informationIntroduction 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 informationINTRODUCTION 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 informationROOT 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 informationComputational 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 informationWhat 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 informationROOT 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 informationRoot 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 informationPAW: 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 informationAn 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 informationINTRODUCTION 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 informationHEP 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 informationMultiple 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 informationP445/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 informationExcel 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 informationLearning 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 informationROOT5. 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 informationWhat 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 informationDistributed 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 informationAppendix 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 informationData 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 informationrootpy: 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 informationLecture 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 informationROOT 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 informationProfessor 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 informationMEASUREMENT 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 informationChoose 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 informationAn 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 informationIntroduction 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 informationThursday, 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 informationAn 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 informationAODstats. 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
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 informationMonte 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 informationSurvey 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 informationMaple 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 informationC++ 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 informationDr 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 informationIntroduction 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 informationSAS 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 informationAn 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 informationLECTURE 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 informationModule 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 informationObjectives. 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 informationObjectives. 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 informationExpressing 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 informationW7 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 informationPractical 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 informationARTIFICIAL 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 informationIteration. # 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 informationBefore 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 informationComputer 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 informationPART 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 informationEP578 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 informationeasel 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 informationGRETL 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 informationCreating 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 information1 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 informationThe 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 informationCSC 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 informationThere 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 informationGetting 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 informationHomework 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 informationHistograms 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 informationIntroduction 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 informationBasic 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 informationContents 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 informationcling 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 informationBig 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 informationCreating 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 informationPyPlot. 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 informationName: 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 informationDr 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 informationMATLAB 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 informationENGI 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 informationIntroduction 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 informationHO-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 informationlab 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 informationPROGRAMMING 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 informationSolution Notes. COMP 151: Terms Test
Family Name:.............................. Other Names:............................. ID Number:............................... Signature.................................. Solution Notes COMP 151: Terms
More informationBar 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 informationOpen 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 informationIntro 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 informationMOVING 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 informationCSCD 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 informationHippoDraw 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 informationIntroduction 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 informationB. 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 informationPyROOT 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 informationAlgebra 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 informationGOALS [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