33
Computing tools for data analysis a practical introduction

a practical introduction - Duke Universityphy.duke.edu/~goshaw/HEP101_2012/HEP101_Computing.pdfLet’s write a Monte Carlo!# B± meson decays in top events • The B± is unstable

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: a practical introduction - Duke Universityphy.duke.edu/~goshaw/HEP101_2012/HEP101_Computing.pdfLet’s write a Monte Carlo!# B± meson decays in top events • The B± is unstable

Computing tools for data analysis

a practical introduction

Page 2: a practical introduction - Duke Universityphy.duke.edu/~goshaw/HEP101_2012/HEP101_Computing.pdfLet’s write a Monte Carlo!# B± meson decays in top events • The B± is unstable

First things first:

•  can you launch ROOT? •  Download examples from here (two files) – http://phy.duke.edu/~atarce/Hep101/

– move both files to the directory where you launch ROOT.

Page 3: a practical introduction - Duke Universityphy.duke.edu/~goshaw/HEP101_2012/HEP101_Computing.pdfLet’s write a Monte Carlo!# B± meson decays in top events • The B± is unstable

What is LHC computing?

pattern recognition

storing events

brokering access to data

simulating events

calculating observables

making pretty pictures

classifying signals

classifying events

analysis  

produc.on    

opera.ons  

Page 4: a practical introduction - Duke Universityphy.duke.edu/~goshaw/HEP101_2012/HEP101_Computing.pdfLet’s write a Monte Carlo!# B± meson decays in top events • The B± is unstable

Outline

•  Brief overview of production and operations •  The last step: analysis –  introduction to data representation

– Exercise: plotting and fitting data with ROOT

•  The first step: simulation –  introduction to Monte Carlo simulation

– Exercise/homework: writing a toy Monte Carlo

Page 5: a practical introduction - Duke Universityphy.duke.edu/~goshaw/HEP101_2012/HEP101_Computing.pdfLet’s write a Monte Carlo!# B± meson decays in top events • The B± is unstable

LHC computing is huge!

•  LHC data output estimate: 15 PB/year –  Stored and processed

on shared WLCG

–  and…we need multiple copies!

•  US LHC: nearly 500k CPU-hours daily.

Page 6: a practical introduction - Duke Universityphy.duke.edu/~goshaw/HEP101_2012/HEP101_Computing.pdfLet’s write a Monte Carlo!# B± meson decays in top events • The B± is unstable

ATLAS computer use

produc.on    

analysis  

Page 7: a practical introduction - Duke Universityphy.duke.edu/~goshaw/HEP101_2012/HEP101_Computing.pdfLet’s write a Monte Carlo!# B± meson decays in top events • The B± is unstable

ATLAS computing for users

•  Main programming languages: –  FORTRAN (some generators) – C++ (main reconstruction algorithms, analysis) –  python (steering, analysis)

•  Main interactive interfaces: –  athena

•  controls MC and data production

–  root (C++ interface) •  viewing/analyzing reconstructed data •  pyroot (for python fans: python “import root” )

Page 8: a practical introduction - Duke Universityphy.duke.edu/~goshaw/HEP101_2012/HEP101_Computing.pdfLet’s write a Monte Carlo!# B± meson decays in top events • The B± is unstable

Production: data

ATLAS   trigger   convert  

MERGE&  

derive  

bytestream  

RECO  

esd  

aod  

tag  

D3PD  

aod  

RDO  (raw)  

pattern recognition

fast pattern recognition event sorting

more sorting

Page 9: a practical introduction - Duke Universityphy.duke.edu/~goshaw/HEP101_2012/HEP101_Computing.pdfLet’s write a Monte Carlo!# B± meson decays in top events • The B± is unstable

Production: Monte Carlo

MERGE  &  

derive  

RECO  

esd  

aod  

tag  

D3PD  

aod  

MONTE  CARLO  PRODUCTION  CHAIN  RDO  (raw)  

Page 10: a practical introduction - Duke Universityphy.duke.edu/~goshaw/HEP101_2012/HEP101_Computing.pdfLet’s write a Monte Carlo!# B± meson decays in top events • The B± is unstable

Data representation

•  always organized by event •  global quantities:

–  metadata –  missing energy…

•  physics object lists: –  muons –  jets –  tracks –  “truth” particles…

•  object properties: –  hits on tracks –  jet constituents

µ   track  track  track  track  track  track  track  

jet  jet  jet  

track  hit  track  hit  

event  

“n-­‐tuple”    “tree”  

Page 11: a practical introduction - Duke Universityphy.duke.edu/~goshaw/HEP101_2012/HEP101_Computing.pdfLet’s write a Monte Carlo!# B± meson decays in top events • The B± is unstable

Data representation

Event  number  

nTracks   track  pT   track  eta   track  phi   track  layers…  

0   3   12.4   0.3   2.1   30  

8.1   1.1   1.0   14  

5.0   -­‐0.9   4.0   17  

1   2   24.5   1.1   0.2   22  

20.5   0.9   3.3   17  

2   1   2.0   1.9   1.4   5  

3   5   50.4   0.1   0.8   21  

…   …   …   …  

Page 12: a practical introduction - Duke Universityphy.duke.edu/~goshaw/HEP101_2012/HEP101_Computing.pdfLet’s write a Monte Carlo!# B± meson decays in top events • The B± is unstable

User’s interface to nature: histograms

: histo = makeHisto(nbins=50, firstbin=0*GeV, lastbin=200*GeV) for thisEvent in allEvents:

if HasZ( thisEvent ): m = recoZMass( thisEvent )

histo.FillWith( m )

•  ``Hello World’’ for HEP computing: making a histogram

TH1F::Fill(value,weight)

TH1F(“name”, “title; x title; y title”, nBins, firstBinValue, LastBinValue)

Page 13: a practical introduction - Duke Universityphy.duke.edu/~goshaw/HEP101_2012/HEP101_Computing.pdfLet’s write a Monte Carlo!# B± meson decays in top events • The B± is unstable

EXERCISE ONE note: in code examples, your input is given in green

Page 14: a practical introduction - Duke Universityphy.duke.edu/~goshaw/HEP101_2012/HEP101_Computing.pdfLet’s write a Monte Carlo!# B± meson decays in top events • The B± is unstable

Let’s look at a mini-D3PD:

•  open the ROOT file: –  you% root Hep101MysteryEvents.root

•  Browse it: –  root [1] new TBrowser();

•  Notice the TTree (event data):

•  Look at some histograms – Click to make histograms! – Also try “drawing” more complex

functions…

Page 15: a practical introduction - Duke Universityphy.duke.edu/~goshaw/HEP101_2012/HEP101_Computing.pdfLet’s write a Monte Carlo!# B± meson decays in top events • The B± is unstable

Interacting with the tree

•  Histograms: TH1F •  Functions: TF1 •  Drawing:

root [2] example->Draw("mc_px"); •  you now have a default histogram called htemp.

root [3] h2 = TH1F(“h2”, “myHist;GeV”, 10, -200, 200); root [4] example->Draw(“mc_px/1000.>>h2”);

– Note: expression can contain most functions: mc_px + mc_py mc_px * cos(1.2 ) sqrt(mc_px*mc_py) Note: ROOT is also a nice command-

line calculator with Lorentz vectors,

special functions, etc…

Page 16: a practical introduction - Duke Universityphy.duke.edu/~goshaw/HEP101_2012/HEP101_Computing.pdfLet’s write a Monte Carlo!# B± meson decays in top events • The B± is unstable

PART TWO Monte Carlo in HEP

Page 17: a practical introduction - Duke Universityphy.duke.edu/~goshaw/HEP101_2012/HEP101_Computing.pdfLet’s write a Monte Carlo!# B± meson decays in top events • The B± is unstable

pick  random  x,  random  y  if  y2  <  1-­‐x2:  increment  area  

What is Monte Carlo? •  HEP predictions require a lot

of convolution integrals –  one reason: QM!

Monte Carlo calculation of π

Page 18: a practical introduction - Duke Universityphy.duke.edu/~goshaw/HEP101_2012/HEP101_Computing.pdfLet’s write a Monte Carlo!# B± meson decays in top events • The B± is unstable

pick  random  x,  random  y  if  y2  <  1-­‐x2:  increment  area  

What is Monte Carlo? •  HEP predictions require a lot

of convolution integrals –  one reason: QM!

•  The Monte Carlo Method: –  use random numbers as

an integration tool

Monte Carlo calculation of π

Page 19: a practical introduction - Duke Universityphy.duke.edu/~goshaw/HEP101_2012/HEP101_Computing.pdfLet’s write a Monte Carlo!# B± meson decays in top events • The B± is unstable

What is Monte Carlo?

Z  picks  mass  

and  decay  angles  

electron  ET  

•  The Monte Carlo Method:

–  use random numbers as an integration tool

–  Useful because predictions in HEP require a lot of convolution integrals!

•  Much simpler picture:

–  a series of random choices

Page 20: a practical introduction - Duke Universityphy.duke.edu/~goshaw/HEP101_2012/HEP101_Computing.pdfLet’s write a Monte Carlo!# B± meson decays in top events • The B± is unstable

What is Monte Carlo?

Z  picks  mass  

and  decay  angles  

electron  ET  

calorimeter  mismeasurement  

ovserved  electron  ET  

•  The Monte Carlo Method:

–  use random numbers as an integration tool

–  Useful because predictions in HEP require a lot of convolution integrals!

•  Much simpler picture:

–  a series of random choices

Page 21: a practical introduction - Duke Universityphy.duke.edu/~goshaw/HEP101_2012/HEP101_Computing.pdfLet’s write a Monte Carlo!# B± meson decays in top events • The B± is unstable

Meet your Monte Carlo

Slides: Sjöstrand

Page 22: a practical introduction - Duke Universityphy.duke.edu/~goshaw/HEP101_2012/HEP101_Computing.pdfLet’s write a Monte Carlo!# B± meson decays in top events • The B± is unstable

Meet your MC: #PYTHIA, HERWIG, MadGraph, MCFM, MC@NLO, BaurMC, POWHEG, &c.…

Page 23: a practical introduction - Duke Universityphy.duke.edu/~goshaw/HEP101_2012/HEP101_Computing.pdfLet’s write a Monte Carlo!# B± meson decays in top events • The B± is unstable

Meet your MC: #PYTHIA, HERWIG, MadGraph, MCFM, MC@NLO, BaurMC, POWHEG, &c.…

Page 24: a practical introduction - Duke Universityphy.duke.edu/~goshaw/HEP101_2012/HEP101_Computing.pdfLet’s write a Monte Carlo!# B± meson decays in top events • The B± is unstable

Meet your MC: #PYTHIA, HERWIG/JIMMY, …

Page 25: a practical introduction - Duke Universityphy.duke.edu/~goshaw/HEP101_2012/HEP101_Computing.pdfLet’s write a Monte Carlo!# B± meson decays in top events • The B± is unstable

Meet your MC: #PYTHIA, HERWIG/JIMMY, …

Page 26: a practical introduction - Duke Universityphy.duke.edu/~goshaw/HEP101_2012/HEP101_Computing.pdfLet’s write a Monte Carlo!# B± meson decays in top events • The B± is unstable

EXERCISE TWO note: in code examples, your input is given in green

Page 27: a practical introduction - Duke Universityphy.duke.edu/~goshaw/HEP101_2012/HEP101_Computing.pdfLet’s write a Monte Carlo!# B± meson decays in top events • The B± is unstable

Let’s write a Monte Carlo!#B± meson decays in top events

•  The B± is unstable but has a long lifetime (picoseconds) because it decays weakly.

•  We often measure the lifetime from the flight distance (picoseconds are hard to measure, micrometers are not).

•  The flight distance for a B± produced at the origin of the ATLAS detector is L. Lxy is the projection of this distance on to the plane perpendicular to the beam.

Page 28: a practical introduction - Duke Universityphy.duke.edu/~goshaw/HEP101_2012/HEP101_Computing.pdfLet’s write a Monte Carlo!# B± meson decays in top events • The B± is unstable

z

x

y

Generating the Lxy distribution

path of B±

tracks from decay products  

z

Lxy

xy-plane we use Lxy because distances perpendicular to beam

are most precisely measured

Page 29: a practical introduction - Duke Universityphy.duke.edu/~goshaw/HEP101_2012/HEP101_Computing.pdfLet’s write a Monte Carlo!# B± meson decays in top events • The B± is unstable

Writing the Monte Carlo

The “proper decay length”

•  proper decay length = –  c * (lifetime in B± rest frame)

•  Tables often list c * mean lifetime (cτ)

•  Useful particle data for B± –  reference: pdg.lbl.gov

Calculate and plot Lxy choose  decay  .me  in  rest  frame  

choose  B  velocity  vector  

calculate  decay  .me  in  lab  frame  

calculate  decay  distance  in  lab  frame  

project  onto  x-­‐y  plane  

Page 30: a practical introduction - Duke Universityphy.duke.edu/~goshaw/HEP101_2012/HEP101_Computing.pdfLet’s write a Monte Carlo!# B± meson decays in top events • The B± is unstable

e  

A program outline

choose  decay  .me  in  rest  frame  

choose  B  velocity  vector  

calculate  decay  .me  in  lab  frame  

calculate  decay  distance  in  lab  frame  

project  onto  x-­‐y  plane  

fill  your  histogram  

create  an  empty  histogram  

plot  and  save  your  histogram!  

calculate  Lxy  

“event”  loop  

these  3  steps  can  be  com

bined!  

Page 31: a practical introduction - Duke Universityphy.duke.edu/~goshaw/HEP101_2012/HEP101_Computing.pdfLet’s write a Monte Carlo!# B± meson decays in top events • The B± is unstable

Random Numbers

•  Any MC generator needs random numbers! Use the ROOT class TRandom3.

•  Example – root [1] TRandom3 r; – root [2] float random1 = r.Gaus(0,35);

•  //generate a gaussian-distributed random number with mean 0 and width 35;

– root [3] float random2 = r.Exp(492.0); •  //generate a B± decay length (cτ) in microns

Page 32: a practical introduction - Duke Universityphy.duke.edu/~goshaw/HEP101_2012/HEP101_Computing.pdfLet’s write a Monte Carlo!# B± meson decays in top events • The B± is unstable

Hints

Note: This assignment requires a little modest programming (loops and conditionals).

•  You might want to break this problem into two steps: –  write an Lxy generator for B decays with fixed E = 25 GeV, pT = 16 GeV –  modify this generator to use any (E, pT) distribution

•  The relativistic calculation is simple (and good practice). –  try it by hand! How simple can you make the expression for Lxy ? –  Give up? Try Google – but be sure you understand the steps in the calculation. –  Compare the result you get using ROOT classes TLorentzVector and TLorentzRotation!

•  Now add a more realistic B (E, pT) distribution. –  Look in the file Hep101AdvancedDecay.root. It should have the information you need to

finish your generator (i.e., choose the B decay vector).

•  Run your final Monte Carlo, and fill a histogram with the observable decay length Lxy ! •  Good statistical practices:

–  how many decays did you generate? Why? •  Print your histogram!

Page 33: a practical introduction - Duke Universityphy.duke.edu/~goshaw/HEP101_2012/HEP101_Computing.pdfLet’s write a Monte Carlo!# B± meson decays in top events • The B± is unstable

More homework help: •  About TRandom:

–  http://root.cern.ch/root/html/TRandom3 •  About TLorentzVector

–  http://root.cern.ch/root/html/TLorentzVector.html •  Getting correlated random numbers from a histogram:

–  http://root.cern.ch/root/html/TH2.html •  see TH2::GetRandom2()

•  You can write your program out on the command line, or in a separate file “myprog.C” (this is easier)

•  to run it in root, type –  root [1]

•  You can print your histogram to a PDF file by clicking the menu in the canvas, or typing –  root [1]