LHC computing HEP 101 Lecture #8 ayana arce
Outline Major computing systems for LHC experiments: –(ATLAS) Data Reduction –(ATLAS) Data Production –(ATLAS) Data Analysis End-user tools: –Exercise: plotting and fitting data with ROOT –homework: writing a toy Monte Carlo
DATA REDUCTION managing the data volume
overview: the data reduction chain Hardware Trigger (prefilter) Event Filter (software event selection) data reconstruction and distribution
The TDAQ system Trigger: –(almost) real-time filtering of collision events –Events read every ~25ns: how long does the trigger take to decide? DAQ: –Sends event data through the trigger and readout systems –Merges trigger and detector conditions data with event data
L1 select 1/10,000 in 2.5 µs hardware-based, 256 items L2 select 1/15 in 40 ms L3 read global detector data select 1/15 in 4 seconds Storage similar triggers grouped: data streams analysis trigger data used to account for bias local (event fragments) ~1700 nodes (8/12 core, 16/24 GB) dedicated L3 ~10 Gb links flexible L2/L3 processors 10 Gb links ATLAS full events ATLAS trigger system
Example: electron trigger is it an electron? clusteringtrackingelectron selection is there a cluster of hot cells with straight tracks nearby? clustering cluster selection tracking cluster/track matching are any EM calorimeter regions hot?
DATA PRODUCTION managing the data volume
Global data processing and storage LHC data output estimate: 15 PB/year (and we prefer multiple copies) –Stored and processed on WLCG: shared by all CERN experiments –Your “local” Tier-1: BNL –Your local Tier-3: in your backpack! Every stored physics event is modeled by many simulated events –thus most resources are spent in Monte Carlo simulation note: ATLAS computing systems alone must handle MILLIONS of production/analysis jobs daily
analyze create MC analyze create MC backup RAW reprocess (re-reconstruct) backup RAW reprocess (re-reconstruct) store RAW calibrate reconstruct (6k cores) store RAW calibrate reconstruct (6k cores) Tier 0 Tier 1 Tier 2 Tier 1 Tier 2 físicos physicists 理者理者 38 T2 centers 120k cores total cernVM environment ATLAS Tier computing: roles
Production: data ATLAS trigger convert MERGE & derive MERGE & derive bytestream RECO esd aod tag D3PD aod RDO (raw) RDO (raw) pattern recognition sorting
Production: Monte Carlo MERGE & derive MERGE & derive RECO esd aod tag D3PD aod MONTE CARLO PRODUCTION CHAIN RDO (raw) RDO (raw)
pick random x, random y if y 2 < 1-x 2 : increment area What is Monte Carlo, really? HEP predictions require a lot of convolution integrals –one reason: QM! Monte Carlo calculation of π
pick random x, random y if y 2 < 1-x 2 : 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 π this is probably the simplest way to use a computer for a calculation… but it works!
What is Monte Carlo? Z picks mass and decay angles electron E T electron E T The Monte Carlo Method: –use random numbers as an integration tool Very intuitive picture of convolution integrals: –a series of choices from probability distributions
What is Monte Carlo? Z picks mass and decay angles electron E T electron E T calorimeter (mis)measurement observed electron E T The Monte Carlo Method: –use random numbers as an integration tool Very intuitive picture of convolution integrals: –a series of choices from probability distributions
Meet your (3-part) Monte Carlo Slides: Sjöstrand
Meet your MC: PYTHIA, HERWIG, MadGraph, MCFM, BaurMC, POWHEG, &c. …
Meet your MC: PYTHIA, HERWIG/JIMMY, Sherpa…
What’s the third part? Detector simulation: up to 5 minutes for a high-mass event (lots of particles, each individually tracked through hundreds of detector elements) why is this essential?
DATA ANALYSIS measurements and discoveries!
ATLAS computing for users Programming languages Main programming languages: – FORTRAN (some generators) – C++ (main reconstruction algorithms, analysis) – python (steering, analysis) Interactive interfaces Main interface: athena – reads all data formats – C++ ; steered by python – this runsall simulation and reconstruction – can run your analysis too…but excecutable typically 4GB Light interface: ROOT
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 jet trac k hit event “n-tuple” “tree”
Data representation Event number nTrackstrack pTtrack etatrack phitrack layers… …………
User’s interface to nature: histograms ``Hello World’’ for HEP computing: making a histogram TH1F::Fill(value,weight) TH1F(“name”, “title; x title; y title”, nBins, firstBinValue, LastBinValue)
EXAMPLE! note: in code examples, your input is given in green
Let’s measure the kaon lifetime (again)! open the ROOT file: –you% root Hep101Data_2013.root How to see everything in the file: –root [1] new TBrowser(); the file contains one histogram (taken from your homework)
Some ROOT features: root [0] double x(3.0),y(4.0); sqrt(x*x+y*y) (const double) e+00 root [1] TLorentzVector pion(1500,0,0, ); root [2] printf("The mass is %3.4g\n", pion.M( )); The mass is root [3] TMath::C( Double_t C() // m s^-1 root [4] TMath::C() (Double_t) e+08
Mathematical functions in ROOT Simple: FitPanel (under Tools) Also easy: root [9] KaonDecays->Fit(“expo”) More explicit: root [10] TF1 f("f","[0]*exp(-x/(100*[1]*TMath::C()))",0,60); //free parameters specified in brackets root [11] KaonDecays->Fit(f); Complete program (from Dave)
Next steps You can download ROOT: –root.cern.ch Homework: write your own Monte Carlo generator to solve Problem 2 from lecture 5 a neutral pion beam with energy E decays to two photons. What is the photon energy distribution in the laboratory frame? Feel free to contact with solutions, questions,
homework hint: random numbers Use the ROOT class TRandom3 for good performance. 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.Flat(0,2*TMath::Pi()); //generate a scalar meson decay angle
Postscript: if you don’t like C++ >>> import ROOT #from ROOT import * also works >>> pion = ROOT.TLorentzVector(1500,0,0, ); >>> print "The mass is", pion.M(), "MeV" The mass is MeV