Starting a Data Analysis

Size: px
Start display at page:

Download "Starting a Data Analysis"

Transcription

1 03/20/07 PHY310: Statistical Data Analysis 1 PHY310: Lecture 17 Starting a Data Analysis Road Map Your Analysis Log Exploring the Data Reading the input file (and making sure it's right) Taking a first look at each variable What's important when looking at data.

2 03/20/07 PHY310: Statistical Data Analysis 2 Your Analysis Log Remember, this is a paper notebook, or an electronic file Your choice: It must be easy for you to use. What goes in an analysis log Every little thing! Start every session with the date so you can reconstruct your thinking Don't try to make a log into a polished document. It is a collection of notes to yourself Keep it in chronological order For you own sake of understanding what you did, don' t try to dress it up It's also a matter of scientific integrity Mistakes are OK, but correct them! When you find a mistake, note it, but make the correction in the entry for the current date Don't erase mistakes, you might find out you were right in the first place. You will use the log to write a paper. Put enough information in so you don't need to repeat work.

3 03/20/07 PHY310: Statistical Data Analysis 3 Starting the Analysis Log Start by describing where the data can be found Describe the variables available in the analysis Be sure note the units! Analysis Log 03/15/07 Start the analysis. Copy data file from eventdata.txt to eventdata txt Field definitions: event energy in GeV (oops... It's MeV 3/19/07) invariant mass in MeV/c^2 momentum in MeV/c...

4 03/20/07 PHY310: Statistical Data Analysis 4 The Data The data is in eventdata.txt Data Exposure: 1490 days Simulated Exposure: days Variable Definitions All Events: Energy (MeV): This is the energy of the event assuming particles are γ-rays Invariant mass (MeV/c^2): The invariable mass assuming γ-rays Momentum (MeV/c): The momentum assuming γ-rays Decay times (ns): The time to the first muon decay candidate (zero if none) Direction cosine: The cosine of the zenith angle for the event direction Track1 type: The log likelihood difference for γ-rays muon. Positive is γ-ray Track1 energy (MeV): The energy of the track assuming it is a γ-ray Track2 type: The log likelihood difference (as above) Track2 energy (MeV): The energy of the track assuming it is a γ-ray Event type: 0) Data 1) General neutrino event 2) neutral current single π prod. Sum of MC type 1 and type 2 should match the data.

5 03/20/07 PHY310: Statistical Data Analysis 5 The Data (Continued) Variable Definitions Only MC: Neutrino type: The Particle Data Group keeps an official index of numbers to identify various particles 12) Electron Neutrino -12) Electron Anti Neutrino 14) Muon Neutrino -14) Muon Anti Neutrino Neutrino energy (GeV): Note the units are GeV! Neutrino direction cosine: The direction the neutrino was going True π momentum (MeV/c): If an event is a single π, then this is the momentum of the π. Only valid for MC, and only for events from neutral current single π production. This goes in your analysis log

6 03/20/07 PHY310: Statistical Data Analysis 6 Look at the Data File mcgrew@boxer:~$ head eventdata txt 14 evis invmass mom decay zenith track1 energy1 track2 energy2 type nutype nuenergy nuzenith nupizero Do the fields and values match with what you are expecting based on what the fields are suppose to be? Write a routine to read the data into variables so that you can process it It's a good idea to make it into a subroutine since that way you can copy it into scripts to make it easy to read data.

7 03/20/07 PHY310: Statistical Data Analysis 7 Reading and Analyzing the Data We are looking at 14 variables, so the code to read and store the data in memory should be very organized. Possible solutions: Individual arrays with the same index This is the fortran solution. Passing values for an event to a routine Passing the event index Pros: Very simple programing Cons: Code gets messy very quickly Array with one structure This is the C solution (not C++!) Pass values as a pointer to an event. Pros: Code is easier to read (one handle per event) Cons: Must use a struct.

8 03/20/07 PHY310: Statistical Data Analysis 8 Defining the Event Structure in Memory The Fortran Way const int gmaxevents = 50000; int gnevents = 0; float genergy[gmaxevents]; float ginvmass[gmaxevents]; float gmomentum[gmaxevents]; float gdecay[gmaxevents]; float gdirection[gmaxevents]; float gtrack1[gmaxevents]; float genergy1[gmaxevents]; float gtrack2[gmaxevents]; float genergy2[gmaxevents]; int gtype[gmaxevents]; int gnutype[gmaxevents]; float gnuenergy[gmaxevents]; float gnudirection[gmaxevents]; float gnupizero[gmaxevents]; The C Way struct eventdata { float energy; float invmass; float momentum; float decay; float direction; float track1; float energy1; float track2; float energy2; int type; int nutype; float nuenergy; float nudirection; float nupizero; }; const int gmaxevents=50000; int gnevents = 0; struct eventdata geventdata[gmaxevents];

9 03/20/07 PHY310: Statistical Data Analysis 9 Looping the Events #include "readevents.c" void countevents() { readevents(); int dataevents = 0; int npi0events = 0; int pi0events = 0; for (struct eventdata* ev = geventdata; ev < &geventdata[gnevents]; ++ev) { if (ev->type == 0) ++dataevents; if (ev->type == 1) ++npi0events; if (ev->type == 2) ++pi0events; } } std::cout << "Data Events: " << dataevents << std::endl; std::cout << "MC Events: " << npi0events + pi0events << std::endl; std::cout << " Non-pi0: " << npi0events << std::endl; std::cout << " pi0: " << pi0events << std::endl;

10 03/20/07 PHY310: Statistical Data Analysis 10 Filling in readevents.c void readevents(char* inputfile = "eventdata txt") { std::ifstream input(inputfile); gnevents = 0; int fields; input >> fields; if (fields!= 14) { return; } std::string fieldnames; for (int i=0; i<fields; ++i) input >> fieldnames; } struct eventdatastruct line; for (;;) { input >> geventdata[gnevents].energy >> geventdata[gnevents].invmass >> geventdata[gnevents].momentum >> geventdata[gnevents].decay >> geventdata[gnevents].direction >> geventdata[gnevents].track1 >> geventdata[gnevents].energy1 >> geventdata[gnevents].track2 >> geventdata[gnevents].energy2 >> geventdata[gnevents].type >> geventdata[gnevents].nutype >> geventdata[gnevents].nuenergy >> geventdata[gnevents].nudirection >> geventdata[gnevents].nupizero; if (!input.good()) break; ++ gnevents; } std::cout << "Read " << gnevents << " events" << std::endl;

11 03/20/07 PHY310: Statistical Data Analysis 11 A First Look at the Data The first step in a data analysis is to look at the most important variables Make sure that you understand where each variable came from What is the definition? How is it related to measurements in the detector? Do you understand the rough distribution of each variable? Are there any surprising features? Does the variable distribution match with your intuition? Are there any effects that you should be looking out for? e.g. neutrino oscillations? How do you expect the variables to be correlated to each other? None? Some? A lot? Start with the simple variables (i.e. start with direct measurements).

12 03/20/07 PHY310: Statistical Data Analysis 12 Event Type An integer field indicating where the event came from The numbers of each event type 1739 Data Events (type 0) Simulated Events (type 1 and type 2) Non NC 1 π events (type 1) 5885 NC 1 π events (type 2) Number of simulated events scaled to the data exposure Expected 1900±8.8 events in 1489 days Discrepancy between number of measured and number of expected data events. 161±43 events 3.8 sigma Probability 5% 91.5% Normalization Factor (data/simulation)

13 03/20/07 PHY310: Statistical Data Analysis 13 Digression: Systematic Uncertainty Notice there is a mild disagreement between The predicted event rate (1900) The measured event rate (1739) Is this a real difference? Maybe, the χ² probability is ~5% Why might the numbers be different? Systematic Uncertainty

14 03/20/07 PHY310: Statistical Data Analysis 14 What is Systematic Error Unknown factors that affect the measurement. Two important types: Unknown factors due to random processes Unknown factors due to uncertain knowledge Mistakes are not an uncertainty Keep mistakes from happening Take very good notes on how you do an analysis. Make internal cross checks Don't present a result until you are ready to defend it. Incorrect results found before publication are learning experiences Incorrect results found after publication are mistakes Mistakes do happen Correct problems as quickly as possible Don't minimize the effect, don't hide the mistake

15 03/20/07 PHY310: Statistical Data Analysis 15 Systematic Uncertainty: Type 1 Unknown factors from other random processes Often the result of a calibration Conversion from ADC digital measurement to charge Calibration of a thermometer Calibration of a clock Sometimes the result of an input measurement The atmospheric neutrino flux depends on the measured cosmic ray flux hitting the earth. The value of the uncertainty is usually available in the calibration documentation Can think of this uncertainty as the experimental error on measurements made by somebody else. Always be very explicit about where you get your calibration values.

16 03/20/07 PHY310: Statistical Data Analysis 16 Systematic Uncertainty: Type 2 Unknown factors due to uncertain knowledge Approximations Theoretical Inputs Fit nicely in the Bayesian Framework These are not classical statistical quantities Can't have an ensemble of best estimates What is a good Classical Statistician suppose to do? Try to keep statistical and systematic errors separated. No particularly objective way to include... Usually punt and treat as a random uncertainty It's not random! Make a S.W.A.G. at how well the factor is known. Be as intellectually honest as possible Don't overestimate you knowledge It's just as bad to underestimate what you know

17 03/20/07 PHY310: Statistical Data Analysis 17 Practical Systematic Uncertainty Systematic Uncertainty tries to capture your lack of knowledge We want to be able to treat our ignorance statistically! Systematic Uncertainty is not the difference between your expectation and observation Not based on your measured quantity But can be based on data measured in your detector. e.g. Comparison of your expectation with calibration data. Start the systematic uncertainty analysis early, and update it continually while you work

18 03/20/07 PHY310: Statistical Data Analysis 18 Back to the Normalization Uncertainty Data vs MC Normailization Observed 1739 two ring events Expected 1900 two ring events Contributing uncertainties Atmospheric Neutrino Flux Published uncertainty: 15% Depends on neutrino energy Need to look at the expected distribution of parent neutrinos. Neutrino Cross Section Should look at which interactions are contributing to the data Typical cross section uncertainty 15%-20% Detector Efficiency Can't be estimated from our data, but typically 5-10% for SK Overall normalization uncertainty: ~26% Data and MC are definitely within the systematic uncertainty

19 03/20/07 PHY310: Statistical Data Analysis 19 The Event Energy The mean energies are ~8% different (~2% probability this is a fluctuation)

20 03/20/07 PHY310: Statistical Data Analysis 20 Scale Data and MC to Same Exposure Data above expectation Data below expectation Need to quantify the probability that the data and MC came from the same P.D.F. Use Pearson's Statistic

21 03/20/07 PHY310: Statistical Data Analysis 21 Pearson's χ² Test 2 = N x i t i 2 1 t i For large samples, this follows the expected χ² distribution for N degrees of freedom Need to scale theory to the data exposure If the data sample size is small, then this will not follow the usual χ², and you need to generated the PDF using MC

22 03/20/07 PHY310: Statistical Data Analysis 22 Scale Data and MC to Same Exposure Data above expectation Data below expectation Pearson's χ² = 70.6 for 40 d.o.f. (probability ~0.2%) This is a clear difference between data and MC. Need to find explanation

23 03/20/07 PHY310: Statistical Data Analysis 23 First Analysis Homework Get the data from my web site It's linked from the homework assignment Write a function to read the data There is an example on the web site Reproduce the event counts found in this lecture (1739 data MC) Reproduce the energy distribution figures. There is an example script for plotting the event energy. Look at the distributions for: Decay Signal Time Event Direction Divide the MC into events from electron neutrinos and muon neutrinos For the MC only: Plot the neutrino energies for electron and muon neutrinos Plot the neutrino directions for the electron and muon neutrinos. The End

Performance of the GlueX Detector Systems

Performance of the GlueX Detector Systems Performance of the GlueX Detector Systems GlueX-doc-2775 Gluex Collaboration August 215 Abstract This document summarizes the status of calibration and performance of the GlueX detector as of summer 215.

More information

OPERA: A First ντ Appearance Candidate

OPERA: A First ντ Appearance Candidate OPERA: A First ντ Appearance Candidate Björn Wonsak On behalf of the OPERA collaboration. 1 Overview The OPERA Experiment. ντ Candidate Background & Sensitivity Outlook & Conclusions 2/42 Overview The

More information

Update on Energy Resolution of

Update on Energy Resolution of Update on Energy Resolution of the EMC Using µµγ Sample David Hopkins Royal Holloway, University of London EMC Reconstruction Workshop, December 5 th, 2004 Outline Study of photon energy resolution Compare

More information

QUIZ. What is wrong with this code that uses default arguments?

QUIZ. What is wrong with this code that uses default arguments? QUIZ What is wrong with this code that uses default arguments? Solution The value of the default argument should be placed in either declaration or definition, not both! QUIZ What is wrong with this code

More information

Study of t Resolution Function

Study of t Resolution Function Belle-note 383 Study of t Resolution Function Takeo Higuchi and Hiroyasu Tajima Department of Physics, University of Tokyo (January 6, 200) Abstract t resolution function is studied in detail. It is used

More information

Physics 736. Experimental Methods in Nuclear-, Particle-, and Astrophysics. - Statistical Methods -

Physics 736. Experimental Methods in Nuclear-, Particle-, and Astrophysics. - Statistical Methods - Physics 736 Experimental Methods in Nuclear-, Particle-, and Astrophysics - Statistical Methods - Karsten Heeger heeger@wisc.edu Course Schedule and Reading course website http://neutrino.physics.wisc.edu/teaching/phys736/

More information

Cascade Reconstruction in AMANDA

Cascade Reconstruction in AMANDA Cascade Reconstruction in AMANDA M. Kowalski 1 and I. Taboada 1 DESY-Zeuthen, Platanenalle 6, D-15735 Zeuthen, Germany Physics and Astronomy Dept., University of Pennsylvania, Philadelphia PA 191-6396,

More information

Monte Carlo programs

Monte Carlo programs Monte Carlo programs Alexander Khanov PHYS6260: Experimental Methods is HEP Oklahoma State University November 15, 2017 Simulation steps: event generator Input = data cards (program options) this is the

More information

Python for Analytics. Python Fundamentals RSI Chapters 1 and 2

Python for Analytics. Python Fundamentals RSI Chapters 1 and 2 Python for Analytics Python Fundamentals RSI Chapters 1 and 2 Learning Objectives Theory: You should be able to explain... General programming terms like source code, interpreter, compiler, object code,

More information

π ± Charge Exchange Cross Section on Liquid Argon

π ± Charge Exchange Cross Section on Liquid Argon π ± Charge Exchange Cross Section on Liquid Argon Kevin Nelson REU Program, College of William and Mary Mike Kordosky College of William and Mary, Physics Dept. August 5, 2016 Abstract The observation

More information

Lecture Programming in C++ PART 1. By Assistant Professor Dr. Ali Kattan

Lecture Programming in C++ PART 1. By Assistant Professor Dr. Ali Kattan Lecture 08-1 Programming in C++ PART 1 By Assistant Professor Dr. Ali Kattan 1 The Conditional Operator The conditional operator is similar to the if..else statement but has a shorter format. This is useful

More information

Kinematic Fitting. Mark M. Ito. July 11, Jefferson Lab. Mark Ito (JLab) Kinematic Fitting July 11, / 25

Kinematic Fitting. Mark M. Ito. July 11, Jefferson Lab. Mark Ito (JLab) Kinematic Fitting July 11, / 25 Kinematic Fitting Mark M. Ito Jefferson Lab July 11, 2013 Mark Ito (JLab) Kinematic Fitting July 11, 2013 1 / 25 Introduction Motivation Particles measured independently Often: known relationships between

More information

FOR Loops. Last Modified: 01 June / 1

FOR Loops. Last Modified: 01 June / 1 FOR Loops http://people.sc.fsu.edu/ jburkardt/isc/week04 lecture 08.pdf... ISC3313: Introduction to Scientific Computing with C++ Summer Semester 2011... John Burkardt Department of Scientific Computing

More information

Client Code - the code that uses the classes under discussion. Coupling - code in one module depends on code in another module

Client Code - the code that uses the classes under discussion. Coupling - code in one module depends on code in another module Basic Class Design Goal of OOP: Reduce complexity of software development by keeping details, and especially changes to details, from spreading throughout the entire program. Actually, the same goal as

More information

Review&Preview 1/23/15, 4:08:07 PM 1. 3rd edition - standardized, and standard library allows programmer to start from a higher level

Review&Preview 1/23/15, 4:08:07 PM 1. 3rd edition - standardized, and standard library allows programmer to start from a higher level Review&Preview 1/23/15, 4:08:07 PM 1 Stroustrup: All four prefaces, Ch. 1. Then read "Tour" chapters 2, 3, 4 and 5 but skip 5.3 Concurrency. Watch for new C++11 usage. H: Using using. Stroustrup Introduction:

More information

HPS Data Analysis Group Summary. Matt Graham HPS Collaboration Meeting June 6, 2013

HPS Data Analysis Group Summary. Matt Graham HPS Collaboration Meeting June 6, 2013 HPS Data Analysis Group Summary Matt Graham HPS Collaboration Meeting June 6, 2013 Data Analysis 101 define what you want to measure get data to disk (by magic or whatever) select subset of data to optimize

More information

Status of the DCBA experiment

Status of the DCBA experiment Status of the DCBA experiment 9 November, 2016 Hidekazu Kakuno Tokyo Metropolitan University International Workshop on Double Beta Decay and Underground Science, DBD16 Osaka University, JAPAN bb experiments

More information

Track reconstruction for the Mu3e experiment based on a novel Multiple Scattering fit Alexandr Kozlinskiy (Mainz, KPH) for the Mu3e collaboration

Track reconstruction for the Mu3e experiment based on a novel Multiple Scattering fit Alexandr Kozlinskiy (Mainz, KPH) for the Mu3e collaboration Track reconstruction for the Mu3e experiment based on a novel Multiple Scattering fit Alexandr Kozlinskiy (Mainz, KPH) for the Mu3e collaboration CTD/WIT 2017 @ LAL-Orsay Mu3e Experiment Mu3e Experiment:

More information

Data Analysis in Experimental Particle Physics

Data Analysis in Experimental Particle Physics Data Analysis in Experimental Particle Physics C. Javier Solano S. Grupo de Física Fundamental Facultad de Ciencias Universidad Nacional de Ingeniería Data Analysis in Particle Physics Outline of Lecture

More information

8.882 LHC Physics. Analysis Tips. [Lecture 9, March 4, 2009] Experimental Methods and Measurements

8.882 LHC Physics. Analysis Tips. [Lecture 9, March 4, 2009] Experimental Methods and Measurements 8.882 LHC Physics Experimental Methods and Measurements Analysis Tips [Lecture 9, March 4, 2009] Physics Colloquium Series 09 The Physics Colloquium Series Thursday, March 5 at 4:15 pm in room 10-250 Spring

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

Locating the neutrino interaction vertex with the help of electronic detectors in the OPERA experiment

Locating the neutrino interaction vertex with the help of electronic detectors in the OPERA experiment Locating the neutrino interaction vertex with the help of electronic detectors in the OPERA experiment S.Dmitrievsky Joint Institute for Nuclear Research, Dubna, Russia LNGS seminar, 2015/04/08 Outline

More information

Casting in C++ (intermediate level)

Casting in C++ (intermediate level) 1 of 5 10/5/2009 1:14 PM Casting in C++ (intermediate level) Casting isn't usually necessary in student-level C++ code, but understanding why it's needed and the restrictions involved can help widen one's

More information

Progress on G4 FDIRC Simulation. Doug Roberts University of Maryland

Progress on G4 FDIRC Simulation. Doug Roberts University of Maryland Progress on G4 FDIRC Simulation Doug Roberts University of Maryland Since SLAC Workshop Spent some time trying to streamline and speed-up the reconstruction technique Needed quicker turnaround on resolution

More information

The AMS-02 Anticoincidence Counter. Philip von Doetinchem I. Phys. Inst. B, RWTH Aachen for the AMS-02 Collaboration DPG, Freiburg March 2008

The AMS-02 Anticoincidence Counter. Philip von Doetinchem I. Phys. Inst. B, RWTH Aachen for the AMS-02 Collaboration DPG, Freiburg March 2008 I. Phys. Inst. B, RWTH Aachen for the AMS-02 Collaboration DPG, Freiburg March 2008 Cosmic Rays in the GeV Range world average SUSY DM KK DM good agreement of data and propagation models, but some unexplained

More information

Upgraded Swimmer for Computationally Efficient Particle Tracking for Jefferson Lab s CLAS12 Spectrometer

Upgraded Swimmer for Computationally Efficient Particle Tracking for Jefferson Lab s CLAS12 Spectrometer Upgraded Swimmer for Computationally Efficient Particle Tracking for Jefferson Lab s CLAS12 Spectrometer Lydia Lorenti Advisor: David Heddle April 29, 2018 Abstract The CLAS12 spectrometer at Jefferson

More information

Graphical Analysis of Kinematics

Graphical Analysis of Kinematics Physics Topics Graphical Analysis of Kinematics If necessary, review the following topics and relevant textbook sections from Serway / Jewett Physics for Scientists and Engineers, 9th Ed. Velocity and

More information

Time of CDF (II)

Time of CDF (II) TOF detector lecture, 19. august 4 1 Time of Flight @ CDF (II) reconstruction/simulation group J. Beringer, A. Deisher, Ch. Doerr, M. Jones, E. Lipeles,, M. Shapiro, R. Snider, D. Usynin calibration group

More information

Performance of the ATLAS Inner Detector at the LHC

Performance of the ATLAS Inner Detector at the LHC Performance of the ALAS Inner Detector at the LHC hijs Cornelissen for the ALAS Collaboration Bergische Universität Wuppertal, Gaußstraße 2, 4297 Wuppertal, Germany E-mail: thijs.cornelissen@cern.ch Abstract.

More information

Software Engineering Concepts: Invariants Silently Written & Called Functions Simple Class Example

Software Engineering Concepts: Invariants Silently Written & Called Functions Simple Class Example Software Engineering Concepts: Invariants Silently Written & Called Functions Simple Class Example CS 311 Data Structures and Algorithms Lecture Slides Friday, September 11, 2009 continued Glenn G. Chappell

More information

Diode Lab vs Lab 0. You looked at the residuals of the fit, and they probably looked like random noise.

Diode Lab vs Lab 0. You looked at the residuals of the fit, and they probably looked like random noise. Diode Lab vs Lab In Lab, the data was from a nearly perfect sine wave of large amplitude from a signal generator. The function you were fitting was a sine wave with an offset, an amplitude, a frequency,

More information

CMPT 117: Tutorial 1. Craig Thompson. 12 January 2009

CMPT 117: Tutorial 1. Craig Thompson. 12 January 2009 CMPT 117: Tutorial 1 Craig Thompson 12 January 2009 Administrivia Coding habits OOP Header Files Function Overloading Class info Tutorials Review of course material additional examples Q&A Labs Work on

More information

How to approach a computational problem

How to approach a computational problem How to approach a computational problem A lot of people find computer programming difficult, especially when they first get started with it. Sometimes the problems are problems specifically related to

More information

(Refer Slide Time 3:31)

(Refer Slide Time 3:31) Digital Circuits and Systems Prof. S. Srinivasan Department of Electrical Engineering Indian Institute of Technology Madras Lecture - 5 Logic Simplification In the last lecture we talked about logic functions

More information

Binghamton University. CS-211 Fall Syntax. What the Compiler needs to understand your program

Binghamton University. CS-211 Fall Syntax. What the Compiler needs to understand your program Syntax What the Compiler needs to understand your program 1 Pre-Processing Any line that starts with # is a pre-processor directive Pre-processor consumes that entire line Possibly replacing it with other

More information

Fast Introduction to Object Oriented Programming and C++

Fast Introduction to Object Oriented Programming and C++ Fast Introduction to Object Oriented Programming and C++ Daniel G. Aliaga Note: a compilation of slides from Jacques de Wet, Ohio State University, Chad Willwerth, and Daniel Aliaga. Outline Programming

More information

Spring 2010 Research Report Judson Benton Locke. High-Statistics Geant4 Simulations

Spring 2010 Research Report Judson Benton Locke. High-Statistics Geant4 Simulations Florida Institute of Technology High Energy Physics Research Group Advisors: Marcus Hohlmann, Ph.D. Kondo Gnanvo, Ph.D. Note: During September 2010, it was found that the simulation data presented here

More information

Scientific Programming in C VI. Common errors

Scientific Programming in C VI. Common errors Scientific Programming in C VI. Common errors Susi Lehtola 6 November 2012 Beginner errors If you re a beginning C programmer, you might often make off-by one errors when you use arrays: #i n c l u de

More information

Introduction to Programming in C Department of Computer Science and Engineering. Lecture No. #44. Multidimensional Array and pointers

Introduction to Programming in C Department of Computer Science and Engineering. Lecture No. #44. Multidimensional Array and pointers Introduction to Programming in C Department of Computer Science and Engineering Lecture No. #44 Multidimensional Array and pointers In this video, we will look at the relation between Multi-dimensional

More information

Physics 736. Experimental Methods in Nuclear-, Particle-, and Astrophysics. Lecture 14

Physics 736. Experimental Methods in Nuclear-, Particle-, and Astrophysics. Lecture 14 Physics 736 Experimental Methods in Nuclear-, Particle-, and Astrophysics Lecture 14 Karsten Heeger heeger@wisc.edu Course Schedule and Reading course website http://neutrino.physics.wisc.edu/teaching/phys736/

More information

Alignment of the ATLAS Inner Detector

Alignment of the ATLAS Inner Detector Alignment of the ATLAS Inner Detector Heather M. Gray [1,2] on behalf of the ATLAS ID Alignment Group [1] California Institute of Technology [2] Columbia University The ATLAS Experiment tile calorimeter

More information

Graphical Analysis of Kinematics

Graphical Analysis of Kinematics Physics Topics Graphical Analysis of Kinematics If necessary, review the following topics and relevant textbook sections from Serway / Jewett Physics for Scientists and Engineers, 9th Ed. Velocity and

More information

Programming. Dr Ben Dudson University of York

Programming. Dr Ben Dudson University of York Programming Dr Ben Dudson University of York Outline Last lecture covered the basics of programming and IDL This lecture will cover More advanced IDL and plotting Fortran and C++ Programming techniques

More information

Robotics. Lecture 5: Monte Carlo Localisation. See course website for up to date information.

Robotics. Lecture 5: Monte Carlo Localisation. See course website  for up to date information. Robotics Lecture 5: Monte Carlo Localisation See course website http://www.doc.ic.ac.uk/~ajd/robotics/ for up to date information. Andrew Davison Department of Computing Imperial College London Review:

More information

Alignment of the CMS Silicon Tracker

Alignment of the CMS Silicon Tracker Alignment of the CMS Silicon Tracker Tapio Lampén 1 on behalf of the CMS collaboration 1 Helsinki Institute of Physics, Helsinki, Finland Tapio.Lampen @ cern.ch 16.5.2013 ACAT2013 Beijing, China page 1

More information

CMS FPGA Based Tracklet Approach for L1 Track Finding

CMS FPGA Based Tracklet Approach for L1 Track Finding CMS FPGA Based Tracklet Approach for L1 Track Finding Anders Ryd (Cornell University) On behalf of the CMS Tracklet Group Presented at AWLC June 29, 2017 Anders Ryd Cornell University FPGA Based L1 Tracking

More information

Regression testing. Whenever you find a bug. Why is this a good idea?

Regression testing. Whenever you find a bug. Why is this a good idea? Regression testing Whenever you find a bug Reproduce it (before you fix it!) Store input that elicited that bug Store correct output Put into test suite Then, fix it and verify the fix Why is this a good

More information

Documentation Nick Parlante, 1996.Free for non-commerical use.

Documentation Nick Parlante, 1996.Free for non-commerical use. Documentation Nick Parlante, 1996.Free for non-commerical use. A program expresses an algorithm to the computer. A program is clear or "readable" if it also does a good job of communicating the algorithm

More information

In math, the rate of change is called the slope and is often described by the ratio rise

In math, the rate of change is called the slope and is often described by the ratio rise Chapter 3 Equations of Lines Sec. Slope The idea of slope is used quite often in our lives, however outside of school, it goes by different names. People involved in home construction might talk about

More information

LArTPC Reconstruction Challenges

LArTPC Reconstruction Challenges LArTPC Reconstruction Challenges LArTPC = Liquid Argon Time Projection Chamber Sowjanya Gollapinni (UTK) NuEclipse Workshop August 20 22, 2017 University of Tennessee, Knoxville LArTPC program the big

More information

First LHCb measurement with data from the LHC Run 2

First LHCb measurement with data from the LHC Run 2 IL NUOVO CIMENTO 40 C (2017) 35 DOI 10.1393/ncc/i2017-17035-4 Colloquia: IFAE 2016 First LHCb measurement with data from the LHC Run 2 L. Anderlini( 1 )ands. Amerio( 2 ) ( 1 ) INFN, Sezione di Firenze

More information

ATLAS NOTE ATLAS-CONF July 20, Commissioning of the ATLAS high-performance b-tagging algorithms in the 7 TeV collision data

ATLAS NOTE ATLAS-CONF July 20, Commissioning of the ATLAS high-performance b-tagging algorithms in the 7 TeV collision data ALAS NOE ALAS-CONF-2-2 July 2, 2 Commissioning of the ALAS high-performance b-tagging algorithms in the ev collision data he ALAS collaboration ALAS-CONF-2-2 2 July 2 Abstract he ability to identify jets

More information

CSCI-1200 Data Structures Spring 2018 Lecture 14 Associative Containers (Maps), Part 1 (and Problem Solving Too)

CSCI-1200 Data Structures Spring 2018 Lecture 14 Associative Containers (Maps), Part 1 (and Problem Solving Too) CSCI-1200 Data Structures Spring 2018 Lecture 14 Associative Containers (Maps), Part 1 (and Problem Solving Too) HW6 NOTE: Do not use the STL map or STL pair for HW6. (It s okay to use them for the contest.)

More information

CS32 Discussion Sec.on 1B Week 2. TA: Zhou Ren

CS32 Discussion Sec.on 1B Week 2. TA: Zhou Ren CS32 Discussion Sec.on 1B Week 2 TA: Zhou Ren Agenda Copy Constructor Assignment Operator Overloading Linked Lists Copy Constructors - Motivation class School { public: }; School(const string &name); string

More information

Neural Network Optimization and Tuning / Spring 2018 / Recitation 3

Neural Network Optimization and Tuning / Spring 2018 / Recitation 3 Neural Network Optimization and Tuning 11-785 / Spring 2018 / Recitation 3 1 Logistics You will work through a Jupyter notebook that contains sample and starter code with explanations and comments throughout.

More information

Physics 736. Experimental Methods in Nuclear-, Particle-, and Astrophysics. - Statistics and Error Analysis -

Physics 736. Experimental Methods in Nuclear-, Particle-, and Astrophysics. - Statistics and Error Analysis - Physics 736 Experimental Methods in Nuclear-, Particle-, and Astrophysics - Statistics and Error Analysis - Karsten Heeger heeger@wisc.edu Feldman&Cousin what are the issues they deal with? what processes

More information

QUIZ. Source:

QUIZ. Source: QUIZ Source: http://stackoverflow.com/questions/17349387/scope-of-macros-in-c Ch. 4: Data Abstraction The only way to get massive increases in productivity is to leverage off other people s code. That

More information

Two approaches. array lists linked lists. There are two approaches that you can take:

Two approaches. array lists linked lists. There are two approaches that you can take: Lists 1 2 Lists 3 A list is like an array, except that the length changes. Items are added to a list over time, and you don't know in advance how many there will be. This chapter implements lists in two

More information

Building Java Programs

Building Java Programs Building Java Programs Chapter 5 Lecture 5-2: Random Numbers reading: 5.1, 5.6 1 http://xkcd.com/221/ 2 Randomness Lack of predictability: don't know what's coming next Random process: outcomes do not

More information

A New Segment Building Algorithm for the Cathode Strip Chambers in the CMS Experiment

A New Segment Building Algorithm for the Cathode Strip Chambers in the CMS Experiment EPJ Web of Conferences 108, 02023 (2016) DOI: 10.1051/ epjconf/ 201610802023 C Owned by the authors, published by EDP Sciences, 2016 A New Segment Building Algorithm for the Cathode Strip Chambers in the

More information

Chapter 17 vector and Free Store

Chapter 17 vector and Free Store Chapter 17 vector and Free Store Hartmut Kaiser hkaiser@cct.lsu.edu http://www.cct.lsu.edu/~hkaiser/fall_2010/csc1253.html Slides adapted from: Bjarne Stroustrup, Programming Principles and Practice using

More information

Math 2250 Lab #3: Landing on Target

Math 2250 Lab #3: Landing on Target Math 2250 Lab #3: Landing on Target 1. INTRODUCTION TO THE LAB PROGRAM. Here are some general notes and ideas which will help you with the lab. The purpose of the lab program is to expose you to problems

More information

CS1110 Lab 1 (Jan 27-28, 2015)

CS1110 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 information

µ( ) Analysis Collaboration Meeting July 2007 Dr Evie Downie Ph.D. M.Sci. Am.InstP.

µ( ) Analysis Collaboration Meeting July 2007 Dr Evie Downie Ph.D. M.Sci. Am.InstP. µ( ) Analysis + Dr Evie Downie Ph.D. M.Sci. Am.InstP. INTRODUCTION Brief outline of how & why we choose to measure µ( +) by p(, ' 0p) Brief summary of experimental conditions Notes on conventions Description

More information

Charged Particle Reconstruction in HIC Detectors

Charged Particle Reconstruction in HIC Detectors Charged Particle Reconstruction in HIC Detectors Ralf-Arno Tripolt, Qiyan Li [http://de.wikipedia.org/wiki/marienburg_(mosel)] H-QM Lecture Week on Introduction to Heavy Ion Physics Kloster Marienburg/Mosel,

More information

Single-epoch Measurement Algorithms Robert Lupton Applications Lead

Single-epoch Measurement Algorithms Robert Lupton Applications Lead Single-epoch Measurement Algorithms Robert Lupton Applications Lead 2013-09-19 CDP FINAL DESIGN REVIEW September 19-20, 2013 Name of Mee)ng Loca)on Date - Change in Slide Master 1 Outline Single-epoch

More information

Math 144 Activity #4 Connecting the unit circle to the graphs of the trig functions

Math 144 Activity #4 Connecting the unit circle to the graphs of the trig functions 144 p 1 Math 144 Activity #4 Connecting the unit circle to the graphs of the trig functions Graphing the sine function We are going to begin this activity with graphing the sine function ( y = sin x).

More information

CS558 Programming Languages

CS558 Programming Languages CS558 Programming Languages Winter 2018 Lecture 7b Andrew Tolmach Portland State University 1994-2018 Dynamic Type Checking Static type checking offers the great advantage of catching errors early And

More information

Studies of the KS and KL lifetimes and

Studies of the KS and KL lifetimes and Studies of the KS and KL lifetimes and BR(K ) with KLOE ± ± + Simona S. Bocchetta* on behalf of the KLOE Collaboration KAON09 Tsukuba June 9th 2009 * INFN and University of Roma Tre Outline DA NE and KLOE

More information

QUIZ How do we implement run-time constants and. compile-time constants inside classes?

QUIZ How do we implement run-time constants and. compile-time constants inside classes? QUIZ How do we implement run-time constants and compile-time constants inside classes? Compile-time constants in classes The static keyword inside a class means there s only one instance, regardless of

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

Event Displays and LArg

Event Displays and LArg Event Displays and LArg Columbia U. / Nevis Labs Slide 1 Introduction Displays are needed in various ways at different stages of the experiment: Software development: understanding offline & trigger algorithms

More information

A Scenic tour of C++ Dietrich Liko. Dietrich Liko

A Scenic tour of C++ Dietrich Liko. Dietrich Liko A Scenic tour of C++ A tour of the world... We will visit many places We will stay only short You will get an overview If you want to know these places better, you will have to visit them yourself afterwards

More information

Performance quality monitoring system for the Daya Bay reactor neutrino experiment

Performance quality monitoring system for the Daya Bay reactor neutrino experiment Journal of Physics: Conference Series OPEN ACCESS Performance quality monitoring system for the Daya Bay reactor neutrino experiment To cite this article: Y B Liu and the Daya Bay collaboration 2014 J.

More information

Syntax and Variables

Syntax and Variables Syntax and Variables What the Compiler needs to understand your program, and managing data 1 Pre-Processing Any line that starts with # is a pre-processor directive Pre-processor consumes that entire line

More information

Most of the class will focus on if/else statements and the logical statements ("conditionals") that are used to build them. Then I'll go over a few

Most of the class will focus on if/else statements and the logical statements (conditionals) that are used to build them. Then I'll go over a few With notes! 1 Most of the class will focus on if/else statements and the logical statements ("conditionals") that are used to build them. Then I'll go over a few useful functions (some built into standard

More information

2.4 Choose method names carefully

2.4 Choose method names carefully 2.4 Choose method names carefully We ve already discussed how to name a class in Section 1.1. Now it s time to name methods properly. I m suggesting this simple rule of thumb: builders are nouns, manipulators

More information

C-style casts Static and Dynamic Casts reinterpret cast const cast PVM. Casts

C-style casts Static and Dynamic Casts reinterpret cast const cast PVM. Casts PVM Casts Casting Casting: explicit type conversion Upcasting: casting to a supertype E.g. cast from Dog to Animal Downcasting: casting to a subtype E.g. cast from Animal to Dog Upcasts are always safe

More information

Electron and Photon Reconstruction and Identification with the ATLAS Detector

Electron and Photon Reconstruction and Identification with the ATLAS Detector Electron and Photon Reconstruction and Identification with the ATLAS Detector IPRD10 S12 Calorimetry 7th-10th June 2010 Siena, Italy Marine Kuna (CPPM/IN2P3 Univ. de la Méditerranée) on behalf of the ATLAS

More information

The NetBeans IDE is a big file --- a minimum of around 30 MB. After you have downloaded the file, simply execute the file to install the software.

The NetBeans IDE is a big file --- a minimum of around 30 MB. After you have downloaded the file, simply execute the file to install the software. Introduction to Netbeans This document is a brief introduction to writing and compiling a program using the NetBeans Integrated Development Environment (IDE). An IDE is a program that automates and makes

More information

EL2310 Scientific Programming

EL2310 Scientific Programming Lecture 11: Structures and Memory (yaseminb@kth.se) Overview Overview Lecture 11: Structures and Memory Structures Continued Memory Allocation Lecture 11: Structures and Memory Structures Continued Memory

More information

printf( Please enter another number: ); scanf( %d, &num2);

printf( Please enter another number: ); scanf( %d, &num2); CIT 593 Intro to Computer Systems Lecture #13 (11/1/12) Now that we've looked at how an assembly language program runs on a computer, we're ready to move up a level and start working with more powerful

More information

Tradeoffs. CSE 505: Programming Languages. Lecture 15 Subtyping. Where shall we add useful completeness? Where shall we add completeness?

Tradeoffs. CSE 505: Programming Languages. Lecture 15 Subtyping. Where shall we add useful completeness? Where shall we add completeness? Tradeoffs CSE 505: Programming Languages Lecture 15 Subtyping Zach Tatlock Autumn 2017 Desirable type system properties (desiderata): soundness - exclude all programs that get stuck completeness - include

More information

APPENDIX B. Fortran Hints

APPENDIX B. Fortran Hints APPENDIX B Fortran Hints This appix contains hints on how to find errors in your programs, and how to avoid some common Fortran errors in the first place. The basics on how to invoke the Fortran compiler

More information

Last updates on TAUOLA. Jakub Zaremba IFJ Kraków

Last updates on TAUOLA. Jakub Zaremba IFJ Kraków Last updates on TAUOLA Jakub Zaremba IFJ Kraków Mini Workshop on Tau Physics, CINVESTAV, Mexico, 23 June 2017 Outline 1. Tauola-bbb BaBar initialization of TAUOLA currents developed by collaboration a)

More information

CS558 Programming Languages

CS558 Programming Languages CS558 Programming Languages Winter 2017 Lecture 7b Andrew Tolmach Portland State University 1994-2017 Values and Types We divide the universe of values according to types A type is a set of values and

More information

Chapter 17 vector and Free Store

Chapter 17 vector and Free Store Chapter 17 vector and Free Store Bjarne Stroustrup www.stroustrup.com/programming Overview Vector revisited How are they implemented? Pointers and free store Allocation (new) Access Arrays and subscripting:

More information

A/D Converter. Sampling. Figure 1.1: Block Diagram of a DSP System

A/D Converter. Sampling. Figure 1.1: Block Diagram of a DSP System CHAPTER 1 INTRODUCTION Digital signal processing (DSP) technology has expanded at a rapid rate to include such diverse applications as CDs, DVDs, MP3 players, ipods, digital cameras, digital light processing

More information

CS-537: Midterm Exam (Fall 2008) Hard Questions, Simple Answers

CS-537: Midterm Exam (Fall 2008) Hard Questions, Simple Answers CS-537: Midterm Exam (Fall 28) Hard Questions, Simple Answers Please Read All Questions Carefully! There are seven (7) total numbered pages. Please put your NAME and student ID on THIS page, and JUST YOUR

More information

Part VII. Object-Oriented Programming. Philip Blakely (LSC) C++ Introduction 194 / 370

Part VII. Object-Oriented Programming. Philip Blakely (LSC) C++ Introduction 194 / 370 Part VII Object-Oriented Programming Philip Blakely (LSC) C++ Introduction 194 / 370 OOP Outline 24 Object-Oriented Programming 25 Member functions 26 Constructors 27 Destructors 28 More constructors Philip

More information

Event reconstruction in STAR

Event reconstruction in STAR Chapter 4 Event reconstruction in STAR 4.1 Data aquisition and trigger The STAR data aquisition system (DAQ) [54] receives the input from multiple detectors at different readout rates. The typical recorded

More information

Numerical Precision. Or, why my numbers aren t numbering right. 1 of 15

Numerical Precision. Or, why my numbers aren t numbering right. 1 of 15 Numerical Precision Or, why my numbers aren t numbering right 1 of 15 What s the deal? Maybe you ve seen this #include int main() { float val = 3.6f; printf( %.20f \n, val); Print a float with

More information

Cosmic Ray Shower Profile Track Finding for Telescope Array Fluorescence Detectors

Cosmic Ray Shower Profile Track Finding for Telescope Array Fluorescence Detectors Cosmic Ray Shower Profile Track Finding for Telescope Array Fluorescence Detectors High Energy Astrophysics Institute and Department of Physics and Astronomy, University of Utah, Salt Lake City, Utah,

More information

CSE 374 Programming Concepts & Tools. Hal Perkins Spring 2010

CSE 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 information

https://lambda.mines.edu Evaluating programming languages based on: Writability: How easy is it to write good code? Readability: How easy is it to read well written code? Is the language easy enough to

More information

Chapter 17 vector and Free Store. Bjarne Stroustrup

Chapter 17 vector and Free Store. Bjarne Stroustrup Chapter 17 vector and Free Store Bjarne Stroustrup www.stroustrup.com/programming Overview Vector revisited How are they implemented? Pointers and free store Allocation (new) Access Arrays and subscripting:

More information

Numerical computing. How computers store real numbers and the problems that result

Numerical computing. How computers store real numbers and the problems that result Numerical computing How computers store real numbers and the problems that result The scientific method Theory: Mathematical equations provide a description or model Experiment Inference from data Test

More information

M.EC201 Programming language

M.EC201 Programming language Power Engineering School M.EC201 Programming language Lecture 13 Lecturer: Prof. Dr. T.Uranchimeg Agenda The union Keyword typedef and Structures What Is Scope? External Variables 2 The union Keyword The

More information

Week 1: Introduction to R, part 1

Week 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 information

MITOCW watch?v=w_-sx4vr53m

MITOCW watch?v=w_-sx4vr53m MITOCW watch?v=w_-sx4vr53m The following content is provided under a Creative Commons license. Your support will help MIT OpenCourseWare continue to offer high-quality educational resources for free. To

More information