HEP data analysis using ROOT
|
|
- Gwendolyn Arnold
- 6 years ago
- Views:
Transcription
1 HEP data analysis using ROOT week I ROOT, CLING and the command line Histograms, Graphs and Trees Mark Hodgkinson
2 Course contents ROOT, CLING and the command line Histograms, Graphs and Trees File I/O, memory and object ownership Fitting, peak finding and Fourier analysis Using Maths and Physics libraries ROOT geometries Developing shared libraries Bindings to other languages ROOT as a dependence in your application 2
3 Aims/Objectives To work through various HEP use cases biased by J. Perkins own experience on T2K slides (mostly) written by J. Perkins Not a digest of existing documentation will signpost useful resources where apt To be interactive problems/exercises each week - not assessed, but I am supposed to check you tried them! So either we can do this as we go along (only if everyone has a laptop with them) or just me the output of the tasks ( address at end). 3
4 About Me My own perspective is an ATLAS user and mostly with C++, with some python and a lot of shell scripting. Mostly have used ROOT for histograms, fitting of histograms and machine learning (neural net to find K0s particles in BaBar and BDT to distinguish pi0 and hadronic calorimeter clusters in ATLAS). Some experiments may have their own additional layers - e.g. ATLAS has its own analysis frameworks which works directly with ATLAS specific c++ objects, some people then convert those formats to TTree (see relevant slides) which can be used outside ATLAS code framework. 4
5 How to Get Help Any relevant mailing lists in your experiment. Ask a someone in our HEP group (e.g. who you share an office with). Ask on ROOT forums -don t send them your code. They very often ask for a small self contained and standalone example demonstrating the issue you have, so that they can run it to reproduce your issue. 5
6 Week 1 ROOT, CLING and the command line quick introduction to ROOT and CLING Histograms and Graphs reading, writing and visualising data formatting and plot aesthetics writing simple macros Trees This course assumes you are familiar with C++ and Object Oriented programming - if not, we can divert some (brief) time to explain concepts as they come up. Just ask 6
7 ROOT and CINT Written at CERN, ROOT has been developed for many years evolved from many other projects, mainly PAW (Fortran) It predates ANSI C++ Your compiler will complain if you break standards and conventions ROOT 5 CINT probably won t - but we will learn using ROOT 6 ROOT 5 CINT contains many relics/implementations that are not considered good practice today idiosyncrasies, particularities and peculiarities galore ROOT is not the only data analysis package you can use, and some people argue not even close to the best - but it is the most widely used in particle physics. 7
8 ROOT, CINT and CLING CLING (or CINT) is a C/C++ JIT (interpreter) in which lines of code can be executed in similar fashion to a standard nix shell * not ANSI compliant CLING replaced CINT in ROOT6 CLING (or CINT) is a useful environment in which to manipulate data interactively and develop code emulation incurs performance overheads so not suitable for large-scale processing 8
9 Where to find ROOT There are many versions available, sometimes with different features enabled - default on hep cluster is 5.34 (should be setup for you already and you can just type root to run it) If you would like a different version (or non-default features) you can ask the hep cluster admins to install that - hep-cluster-admins@sheffield.ac.uk You can also install your favourite version on your laptop - the ROOT webpages have details of how to do it via various different methods (download binary, download source code, get source code from git etc). 9
10 General Setup We will use ROOT 6 for this course. export ROOTSYS=/usr/local/root/ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ROOTSYS/lib export PATH=$PATH:$ROOTSYS/bin Or use setenv if not using the bash shell. On OS X LD_LIBRARY_PATH is DYLD_LIBRARY_PATH You can put your favourite setup in a login script (mine is in the file /home/hodgkinson/.bashrc) so you don t need to remember if you prefer. LD_LIBRARY_PATH tells your shell where to find ROOT libraries - can be needed when compiling for example. PATH tells it where to find the ROOT executable (what you run when you type root ). 10
11 Where to find ROOT If you work in a large collaboration they may have a way for you to use a version they recommend. For example ATLAS provides the setup (for other experiments you will have to ask colleagues) shown on the next page
12 Where to find ROOT
13 Starting ROOT 13
14 ROOT Login Scripts In my case I apply the ATLAS style settings, which is a C file provided by the ATLAS collaboration. This ensures all my plots can follow the ATLAS guidelines for public plots. Your experiment may have something similar. 14
15 Starting ROOT 15
16 Command Prompt Once ROOT starts up you get the CLING prompt. You can scope objects to look up methods - hit the tab key after typing TObject::Get 16
17 Starting ROOT Review command history with arrow keys shell accessible via.! see ~/.root_hist 17
18 Histograms Many HEP data are binned into histograms but don t down-sample unnecessarily! write un-binned, plot binned should not have to reproduce data* in order to rebin, change axis ranges, perform fits etc.» *perhaps taking many hours Simple example - TASK1: Make sure you can draw the histogram on the next page. 18
19 Histograms 19
20 Histograms name h should be unique or ROOT will complain since addresses map to names compiler won t (just a string!) - this is valid c++. fun runtime errors if name collision occurs in a binary title; x-axis title; y-axis title nbins, x_low, x_high FillRandom is inherited from TH1 parent class gaus is a built-in formula 20
21 ROOT classes are documented here. Can click through to TH1F. Careful you use the documentation for the version of ROOT you are using! 21
22 Graphs un-binned (x,y) values no argument for name in constructor(s)! graphs can be useful for fitting data with errors (week II) TASK2: right click the graph and choose the FitPanel» fit a pol2, what is the χ 2 /NDF? 22
23 Graphs 23
24 TGraph data from a file Write some data to a file and create a Graph this could be scope data from the lab Construct a TGraph, with filename as argument in the constructor. Watch out - in c++ of ofstream is in the std namespace, as is endl. Compiler will insist on the below code: 24
25 TGraph data from a file Task3: Make sure you can draw this graph. 25
26 TGraph data from a file Default format is %lg %lg second argument to constructor is format string new TGraph( <filename>, <format_string> ); e.g. can skip a column : %lg %*lg %lg see TGraph documentation for more info Also I found this nice page about scanf formatting - e.g. %lg means double. 26
27 Plot aesthetics Use the GUI to make your plots nicer choose Editor from the View menu Interactively set (via right click in relevant places) line widths colors [sic] axis titles grid lines choose Toolbar from View menu for more features Use SaveAs *.C to save a file which can regenerate this plot. 27
28 ROOT macros Simply lines of ROOTish enclosed in {} can execute from command line or CLING TCanvas::SaveAs( <name>.c ) wrote a macro note how the data points are saved don t save data in this way, just exploit auto-code generation TASK3: save one of today s plots as a macro run via command line $ root mymacro.c run via CLING root [1].x mymacro.c make some edits and rerun 28
29 ROOT macros the { insert ROOTish here } macro format is only interpretable by CINT/CLING compilation requires more conventional (but not quite) C++ style coding strictness dependent on choice of compiler native ROOT compiler (one of) your system(s) compiler(s) will return to macro compilation in week IV 29
30 Trees Histograms are useful, but they only store a single parameter can extend to 2D hist of entries*weights with bin errors, but still limited How to store information across many channels? use TTrees! n.b. there were no namespaces in C++ when ROOT began, hence the T prefix on all ROOT types 30
31 Trees Trees in ROOT have branches and leaves they also offer compression and I/O optimisation The branches can be basic data types or user defined classes single instances of or multi-dimensional containers of One usually saves data at the event level so the Tree level data usually has structure many tracks and vertices in a single event tracks and vertices have their own sub structure 31
32 Trees You can add branches (TBranch) and leaves (TLeaf) to (T)Trees by hand but this is not the ROOT preferred method! though you will undoubtedly encounter it many times, The correct/expected way to read and write to a Tree is to use a class that encapsulates your data then your Tree just contains a reference to this struct/ object no need to reference all the individual parameters Writing classes to a Tree requires compilation this is covered later for now just focus on reading data in a Tree 32
33 Trees Task4: Run one of the tutorial macros to generate a file containing a Tree Open the file $ root tree2.root And start a browser double click the leaves/branches to draw them 33
34 34
35 Can examine Tree branch structure 35
36 Trees notice that pointer to Tree t2 is automatically instantiated Tree was loaded into global directory when file was opened FUN TASK: start a new root session and type and list the global file pointer, gfile->ls() looking at branches, can see some are arrays can plot elements on different axes root [4] t2->draw("vect[0]:vect[1]:vect[2] ) 36
37 Trees 37
38 Can scan branches TTrees Can perform cuts based analysis directly using TTree::Draw() 38
39 Trees 39
40 Trees TASK5: use TTDraw( <var>, <cut> ) to draw some other cut dependent quantities To get the drawn histogram redirect draw expression note C style type-casting, safer c++ achieves same thing: 40
41 Back to Histograms FAQ: how to normalise to unity? e.g. for shape comparison of two spectra Note CLING lets you declare variables without declaring their type - not possible with compiled c++ (unless you use auto keyword, but that should be used with care). 41
42 ~/rootlogon.c you can place a macro in your home area that makes some useful definitions e.g. stylistic changes 42
43 ~/rootlogon.c 43
44 ~/rootlogon.c 44
45 Closing remarks RTFM there s a lot of documentation out there likely someone has faced your issue already also check the ROOT forum Have highlighted some ROOTisms today there are many more to come remember not to assume what you see is good coding practice Next time: I/O and memory fitting and spectral analysis Any questions? Also m.hodgkinson@sheffield.ac.uk for questions. 45
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 informationROOT: An object-orientated analysis framework
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 What is ROOT? An object-orientated framework
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 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 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 informationLecture 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 informationPractical Statistics for Particle Physics Analyses: Introduction to Computing Examples
Practical Statistics for Particle Physics Analyses: Introduction to Computing Examples Louis Lyons (Imperial College), Lorenzo Moneta (CERN) IPMU, 27-29 March 2017 Introduction Hands-on session based on
More informationContents. Note: pay attention to where you are. Note: Plaintext version. Note: pay attention to where you are... 1 Note: Plaintext version...
Contents Note: pay attention to where you are........................................... 1 Note: Plaintext version................................................... 1 Hello World of the Bash shell 2 Accessing
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 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 informationCS 1110 SPRING 2016: GETTING STARTED (Jan 27-28) First Name: Last Name: NetID:
CS 1110 SPRING 2016: GETTING STARTED (Jan 27-28) http://www.cs.cornell.edu/courses/cs1110/2016sp/labs/lab01/lab01.pdf First Name: Last Name: NetID: Goals. Learning a computer language is a lot like learning
More informationLab: Supplying Inputs to Programs
Steven Zeil May 25, 2013 Contents 1 Running the Program 2 2 Supplying Standard Input 4 3 Command Line Parameters 4 1 In this lab, we will look at some of the different ways that basic I/O information can
More informationBioinformatics? Reads, assembly, annotation, comparative genomics and a bit of phylogeny.
Bioinformatics? Reads, assembly, annotation, comparative genomics and a bit of phylogeny stefano.gaiarsa@unimi.it Linux and the command line PART 1 Survival kit for the bash environment Purpose of the
More informationCS1110 Lab 1 (Jan 27-28, 2015)
CS1110 Lab 1 (Jan 27-28, 2015) First Name: Last Name: NetID: Completing this lab assignment is very important and you must have a CS 1110 course consultant tell CMS that you did the work. (Correctness
More informationINTRODUCTION TO MATLAB, SIMULINK, AND THE COMMUNICATION TOOLBOX
INTRODUCTION TO MATLAB, SIMULINK, AND THE COMMUNICATION TOOLBOX 1) Objective The objective of this lab is to review how to access Matlab, Simulink, and the Communications Toolbox, and to become familiar
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 informationCSE 101 Introduction to Computers Development / Tutorial / Lab Environment Setup
CSE 101 Introduction to Computers Development / Tutorial / Lab Environment Setup Purpose: The purpose of this lab is to setup software that you will be using throughout the term for learning about Python
More informationContents A Little C++
Contents 1 A Little C++ 3 1.1 Classes, Methods and Constructors...................................... 3 1.2 Inheritance and Data Encapsulation..................................... 4 1.2.1 Method Overriding...........................................
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 informationProgramming in C++ Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur
Programming in C++ Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture 04 Programs with IO and Loop We will now discuss the module 2,
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 informationIntroduction to UNIX. Logging in. Basic System Architecture 10/7/10. most systems have graphical login on Linux machines
Introduction to UNIX Logging in Basic system architecture Getting help Intro to shell (tcsh) Basic UNIX File Maintenance Intro to emacs I/O Redirection Shell scripts Logging in most systems have graphical
More informationHall-C Analyzer & Hall-C Replay
Hall-C Analyzer & Hall-C Replay Jefferson Lab Hall-C Analyzer Overview Hall-C ROOT Analysis framework (HCANA) is written in C++ and is an extension of the Hall A analyzer podd Based on previous Fortran
More informationUnix Tutorial Haverford Astronomy 2014/2015
Unix Tutorial Haverford Astronomy 2014/2015 Overview of Haverford astronomy computing resources This tutorial is intended for use on computers running the Linux operating system, including those in the
More informationThe first thing we ll need is some numbers. I m going to use the set of times and drug concentration levels in a patient s bloodstream given below.
Graphing in Excel featuring Excel 2007 1 A spreadsheet can be a powerful tool for analyzing and graphing data, but it works completely differently from the graphing calculator that you re used to. If you
More informationStarting to Program in C++ (Basics & I/O)
Copyright by Bruce A. Draper. 2017, All Rights Reserved. Starting to Program in C++ (Basics & I/O) On Tuesday of this week, we started learning C++ by example. We gave you both the Complex class code and
More informationMODEL-BASED DEVELOPMENT -TUTORIAL
MODEL-BASED DEVELOPMENT -TUTORIAL 1 Objectives To get familiar with the fundamentals of Rational Rhapsody. You start with the simplest example possible. You end with more complex functionality, and a more
More informationIntroduction - GAMA. Gis & Agent-based Modeling Architecture. Agent-based, spatially explicit, modeling and simulation platform.
Econofisica / Econophysics, Prof. Terna Anno accademico 2016/2017 GAMA Gis & Agent-based Modeling Architecture JADE JAVA Agent DEvelopment Framework Dr. Jacopo Pellegrino - http://personalpages.to.infn.it/~japelleg/
More informationWeek 1: Introduction to R, part 1
Week 1: Introduction to R, part 1 Goals Learning how to start with R and RStudio Use the command line Use functions in R Learning the Tools What is R? What is RStudio? Getting started R is a computer program
More informationExercise sheet 1 To be corrected in tutorials in the week from 23/10/2017 to 27/10/2017
Einführung in die Programmierung für Physiker WS 207/208 Marc Wagner Francesca Cuteri: cuteri@th.physik.uni-frankfurt.de Alessandro Sciarra: sciarra@th.physik.uni-frankfurt.de Exercise sheet To be corrected
More informationSRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR
SRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR 603203 DEPARTMENT OF COMPUTER SCIENCE & APPLICATIONS QUESTION BANK (2017-2018) Course / Branch : M.Sc CST Semester / Year : EVEN / II Subject Name
More informationWeek - 01 Lecture - 04 Downloading and installing Python
Programming, Data Structures and Algorithms in Python Prof. Madhavan Mukund Department of Computer Science and Engineering Indian Institute of Technology, Madras Week - 01 Lecture - 04 Downloading and
More informationGetting Started With Linux and Fortran Part 2
Getting Started With Linux and Fortran Part 2 by Simon Campbell [The K Desktop Environment, one of the many desktops available for Linux] ASP 3012 (Stars) Computer Tutorial 2 1 Contents 1 Some Funky Linux
More informationIntroduction to Python Part 2
Introduction to Python Part 2 v0.2 Brian Gregor Research Computing Services Information Services & Technology Tutorial Outline Part 2 Functions Tuples and dictionaries Modules numpy and matplotlib modules
More informationPyROOT: Seamless Melting of C++ and Python. Pere MATO, Danilo PIPARO on behalf of the ROOT Team
PyROOT: Seamless Melting of C++ and Python Pere MATO, Danilo PIPARO on behalf of the ROOT Team ROOT At the root of the experiments, project started in 1995 Open Source project (LGPL2) mainly written in
More informationCS354 gdb Tutorial Written by Chris Feilbach
CS354 gdb Tutorial Written by Chris Feilbach Purpose This tutorial aims to show you the basics of using gdb to debug C programs. gdb is the GNU debugger, and is provided on systems that
More informationUse the Move tool to drag A around and see how the automatically constructed objects (like G or the perpendicular and parallel lines) are updated.
Math 5335 Fall 2015 Lab #0: Installing and using GeoGebra This semester you will have a number of lab assignments which require you to use GeoGebra, a dynamic geometry program. GeoGebra lets you explore
More informationProgramming for Non-Programmers
Programming for Non-Programmers Python Chapter 2 Source: Dilbert Agenda 6:00pm Lesson Begins 6:15pm First Pillow example up and running 6:30pm First class built 6:45pm Food & Challenge Problem 7:15pm Wrap
More informationThe Command Shell. Fundamentals of Computer Science
The Command Shell Fundamentals of Computer Science Outline Starting the Command Shell Locally Remote Host Directory Structure Moving around the directories Displaying File Contents Compiling and Running
More informationA Brief Haskell and GHC Refresher
A Brief Haskell and GHC Refresher Henrik Nilsson and Neil Sculthorpe School of Computer Science University of Nottingham 24th September 2013 1 Introduction The purpose of this document is to give you quick
More information15-122: Principles of Imperative Computation
15-122: Principles of Imperative Computation Lab 0 Navigating your account in Linux Tom Cortina, Rob Simmons Unlike typical graphical interfaces for operating systems, here you are entering commands directly
More informationOperator overloading
1 Introduction 2 The copy constructor 3 Operator Overloading 4 Eg 1: Adding two vectors 5 The -> operator 6 The this pointer 7 Overloading = 8 Unary operators 9 Overloading for the matrix class 10 The
More informationMatlab Advanced Programming. Matt Wyant University of Washington
Matlab Advanced Programming Matt Wyant University of Washington Matlab as a programming Language Strengths (as compared to C/C++/Fortran) Fast to write -no type declarations needed Memory allocation/deallocation
More informationIntroduction to Programming in C Department of Computer Science and Engineering. Lecture No. #17. Loops: Break Statement
Introduction to Programming in C Department of Computer Science and Engineering Lecture No. #17 Loops: Break Statement (Refer Slide Time: 00:07) In this session we will see one more feature that is present
More informationShell Scripting. Jeremy Sanders. October 2011
Shell Scripting Jeremy Sanders October 2011 1 Introduction If you use your computer for repetitive tasks you will find scripting invaluable (one of the advantages of a command-line interface). Basically
More informationCSE 374 Programming Concepts & Tools. Hal Perkins Fall 2015 Lecture 19 Introduction to C++
CSE 374 Programming Concepts & Tools Hal Perkins Fall 2015 Lecture 19 Introduction to C++ C++ C++ is an enormous language: All of C Classes and objects (kind of like Java, some crucial differences) Many
More informationBobCAD-CAM FAQ #50: How do I use a rotary 4th axis on a mill?
BobCAD-CAM FAQ #50: How do I use a rotary 4th axis on a mill? Q: I ve read FAQ #46 on how to set up my milling machine. How do I enable 4th axis to actually use it? A: Enabling 4th axis in the machine
More informationComputer and Programming: Lab 1
01204111 Computer and Programming: Lab 1 Name ID Section Goals To get familiar with Wing IDE and learn common mistakes with programming in Python To practice using Python interactively through Python Shell
More informationDeep Learning Photon Identification in a SuperGranular Calorimeter
Deep Learning Photon Identification in a SuperGranular Calorimeter Nikolaus Howe Maurizio Pierini Jean-Roch Vlimant @ Williams College @ CERN @ Caltech 1 Outline Introduction to the problem What is Machine
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 informationLecture 3. Functions & Modules
Lecture 3 Functions & Modules Labs this Week Lab 1 is due at the beginning of your lab If it is not yet by then, you cannot get credit Only exception is for students who added late (Those students should
More informationOperating System Interaction via bash
Operating System Interaction via bash bash, or the Bourne-Again Shell, is a popular operating system shell that is used by many platforms bash uses the command line interaction style generally accepted
More informationExploring Python Basics
CptS 111 Lab #1 Exploring Python Basics Learning Objectives: - Use the IDLE Shell window to run Python interactively - Use the IDLE Editor window to write a Python program (script) - Run Python programs
More information2. Getting Started When you start GeoGebra, you will see a version of the following window. 1
Math 5335 Fall 2018 Lab #0: Installing and using GeoGebra This semester you will have a number of lab assignments which require you to use GeoGebra, a dynamic geometry program. GeoGebra lets you explore
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 informationInstalling a Custom AutoCAD Toolbar (CUI interface)
Installing a Custom AutoCAD Toolbar (CUI interface) I used 2008LT for this tutorial; you may have a later AutoCAD with a different appearance. However, the customize user interface (cui) should be similar.
More informationComputer Science 2500 Computer Organization Rensselaer Polytechnic Institute Spring Topic Notes: C and Unix Overview
Computer Science 2500 Computer Organization Rensselaer Polytechnic Institute Spring 2009 Topic Notes: C and Unix Overview This course is about computer organization, but since most of our programming is
More information3 Getting Started with Objects
3 Getting Started with Objects If you are an experienced IDE user, you may be able to do this tutorial without having done the previous tutorial, Getting Started. However, at some point you should read
More informationIntermediate Programming, Spring Misha Kazhdan
600.120 Intermediate Programming, Spring 2017 Misha Kazhdan Outline Unix/Linux command line Basics of the Emacs editor Compiling and running a simple C program Cloning a repository Connecting to ugrad
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 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 informationQUIZ Friends class Y;
QUIZ Friends class Y; Is a forward declaration neeed here? QUIZ Friends QUIZ Friends - CONCLUSION Forward (a.k.a. incomplete) declarations are needed only when we declare member functions as friends. They
More informationBASIC USER TRAINING PROGRAM Module 5: Test Case Development
BASIC USER TRAINING PROGRAM Module 5: Test Case Development Objective Student will have an understanding of how to create, edit and execute a Test Case from Develop a Test Case Activity Page. Student will
More informationCS 251 Intermediate Programming Methods and Classes
CS 251 Intermediate Programming Methods and Classes Brooke Chenoweth University of New Mexico Fall 2018 Methods An operation that can be performed on an object Has return type and parameters Method with
More informationCS 251 Intermediate Programming Methods and More
CS 251 Intermediate Programming Methods and More Brooke Chenoweth University of New Mexico Spring 2018 Methods An operation that can be performed on an object Has return type and parameters Method with
More informationLecture 05 I/O statements Printf, Scanf Simple statements, Compound statements
Programming, Data Structures and Algorithms Prof. Shankar Balachandran Department of Computer Science and Engineering Indian Institute of Technology, Madras Lecture 05 I/O statements Printf, Scanf Simple
More informationEducational Fusion. Implementing a Production Quality User Interface With JFC
Educational Fusion Implementing a Production Quality User Interface With JFC Kevin Kennedy Prof. Seth Teller 6.199 May 1999 Abstract Educational Fusion is a online algorithmic teaching program implemented
More informationSoftware Installation - Accessing Linux and Checking your Environmental Variables
Accessing Linux and Checking your Environmental Although you may be fortunate enough to have a powerful multi-processor desktop running Linux, most of our sponsors do not. Most of our sponsors will have
More informationPolymorphism Part 1 1
Polymorphism Part 1 1 What is Polymorphism? Polymorphism refers to a programming language s ability to process objects differently depending on their data type or class. Number person real complex kid
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 informationCSC 101 Spring 2010 Lab #8 Report Gradesheet
CSC 101 Spring 2010 Lab #8 Report Gradesheet Name WFU Username Lab Section: A B C D Partner s Name (if you had one): Topic Points Notes Pre-lab questions 20 total - 5 at 4 points each Lab report questions
More informationIntroduction to Linux. Woo-Yeong Jeong Computer Systems Laboratory Sungkyunkwan University
Introduction to Linux Woo-Yeong Jeong (wooyeong@csl.skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu What is Linux? A Unix-like operating system of a computer What is an
More informationLab 1 Introduction to R
Lab 1 Introduction to R Date: August 23, 2011 Assignment and Report Due Date: August 30, 2011 Goal: The purpose of this lab is to get R running on your machines and to get you familiar with the basics
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 informationARM DS-5. Using the Debugger. Copyright 2010 ARM. All rights reserved. ARM DUI 0446A (ID070310)
ARM DS-5 Using the Debugger Copyright 2010 ARM. All rights reserved. ARM DUI 0446A () ARM DS-5 Using the Debugger Copyright 2010 ARM. All rights reserved. Release Information The following changes have
More informationCS1114: Matlab Introduction
CS1114: Matlab Introduction 1 Introduction The purpose of this introduction is to provide you a brief introduction to the features of Matlab that will be most relevant to your work in this course. Even
More informationCS 2400 Laboratory Assignment #1: Exercises in Compilation and the UNIX Programming Environment (100 pts.)
1 Introduction 1 CS 2400 Laboratory Assignment #1: Exercises in Compilation and the UNIX Programming Environment (100 pts.) This laboratory is intended to give you some brief experience using the editing/compiling/file
More informationBash command shell language interpreter
Principles of Programming Languages Bash command shell language interpreter Advanced seminar topic Louis Sugy & Baptiste Thémine Presentation on December 8th, 2017 Table of contents I. General information
More informationCSE 374 Programming Concepts & Tools. Hal Perkins Spring 2010
CSE 374 Programming Concepts & Tools Hal Perkins Spring 2010 Lecture 19 Introduction ti to C++ C++ C++ is an enormous language: g All of C Classes and objects (kind of like Java, some crucial differences)
More informationThe Unix Shell & Shell Scripts
The Unix Shell & Shell Scripts You should do steps 1 to 7 before going to the lab. Use the Linux system you installed in the previous lab. In the lab do step 8, the TA may give you additional exercises
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 informationEssentials for Scientific Computing: Bash Shell Scripting Day 3
Essentials for Scientific Computing: Bash Shell Scripting Day 3 Ershaad Ahamed TUE-CMS, JNCASR May 2012 1 Introduction In the previous sessions, you have been using basic commands in the shell. The bash
More informationCourse May 18, Advanced Computational Physics. Course Hartmut Ruhl, LMU, Munich. People involved. SP in Python: 3 basic points
May 18, 2017 3 I/O 3 I/O 3 I/O 3 ASC, room A 238, phone 089-21804210, email hartmut.ruhl@lmu.de Patrick Böhl, ASC, room A205, phone 089-21804640, email patrick.boehl@physik.uni-muenchen.de. I/O Scientific
More informationCourse Text. Course Description. Course Objectives. StraighterLine Introduction to Programming in C++
Introduction to Programming in C++ Course Text Programming in C++, Zyante, Fall 2013 edition. Course book provided along with the course. Course Description This course introduces programming in C++ and
More informationKLiC C++ Programming. (KLiC Certificate in C++ Programming)
KLiC C++ Programming (KLiC Certificate in C++ Programming) Turbo C Skills: Pre-requisite Knowledge and Skills, Inspire with C Programming, Checklist for Installation, The Programming Languages, The main
More informationEL2310 Scientific Programming
Lecture 6: Introduction to C (pronobis@kth.se) Overview Overview Lecture 6: Introduction to C Roots of C Getting started with C Closer look at Hello World Programming Environment Schedule Last time (and
More informationGDB Tutorial. A Walkthrough with Examples. CMSC Spring Last modified March 22, GDB Tutorial
A Walkthrough with Examples CMSC 212 - Spring 2009 Last modified March 22, 2009 What is gdb? GNU Debugger A debugger for several languages, including C and C++ It allows you to inspect what the program
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 informationLecture 10: building large projects, beginning C++, C++ and structs
CIS 330: / / / / (_) / / / / _/_/ / / / / / \/ / /_/ / `/ \/ / / / _/_// / / / / /_ / /_/ / / / / /> < / /_/ / / / / /_/ / / / /_/ / / / / / \ /_/ /_/_/_/ _ \,_/_/ /_/\,_/ \ /_/ \ //_/ /_/ Lecture 10:
More informationCS 112 Project Assignment: Visual Password
CS 112 Project Assignment: Visual Password Instructor: Dan Fleck Overview In this project you will use Python to implement a visual password system. In the industry today there is ongoing research about
More informationSECTION 1: INTRODUCTION. ENGR 112 Introduction to Engineering Computing
SECTION 1: INTRODUCTION ENGR 112 Introduction to Engineering Computing 2 Course Overview What is Programming? 3 Programming The implementation of algorithms in a particular computer programming language
More informationThis course supports the assessment for Scripting and Programming Applications. The course covers 4 competencies and represents 4 competency units.
This course supports the assessment for Scripting and Programming Applications. The course covers 4 competencies and represents 4 competency units. Introduction Overview Advancements in technology are
More informationCISC 220 fall 2011, set 1: Linux basics
CISC 220: System-Level Programming instructor: Margaret Lamb e-mail: malamb@cs.queensu.ca office: Goodwin 554 office phone: 533-6059 (internal extension 36059) office hours: Tues/Wed/Thurs 2-3 (this week
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 informationExploring Python Basics
CptS 111 Lab #1 Fall 2017 Exploring Python Basics Learning Objectives: - Use the IDLE Shell window to run Python interactively - Use the IDLE Editor window to write a Python program (script) - Run Python
More informationUnix as a Platform Exercises. Course Code: OS-01-UNXPLAT
Unix as a Platform Exercises Course Code: OS-01-UNXPLAT Working with Unix 1. Use the on-line manual page to determine the option for cat, which causes nonprintable characters to be displayed. Run the command
More informationLecture 3. Functions & Modules
Lecture 3 Functions & Modules Labs this Week Lab 1 is due at the beginning of your lab If it is not yet by then, you cannot get credit Only exception is for students who added late (Those students should
More informationJava Object Oriented Design. CSC207 Fall 2014
Java Object Oriented Design CSC207 Fall 2014 Design Problem Design an application where the user can draw different shapes Lines Circles Rectangles Just high level design, don t write any detailed code
More informationUsing LINUX a BCMB/CHEM 8190 Tutorial Updated (1/17/12)
Using LINUX a BCMB/CHEM 8190 Tutorial Updated (1/17/12) Objective: Learn some basic aspects of the UNIX operating system and how to use it. What is UNIX? UNIX is the operating system used by most computers
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 information