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
10010011000001 1011010010011100 100011011010001 11001000101000 0100001100010 101001101001
10010011000001 1011010010011100 100011011010001 11001000101000 0100001100010 101001101001
10010011000001 1011010010011100 100011011010001 11001000101000 0100001100010 101001101001
10010011000001 1011010010011100 100011011010001 11001000101000 0100001100010 101001101001
10010011000001 1011010010011100 100011011010001 11001000101000 0100001100010 101001101001
10010011000001 1011010010011100 100011011010001 11001000101000 0100001100010 101001101001
10010011000001 1011010010011100 100011011010001 11001010111110 01000011111010 101001101101
10010011000001 1011010010011100 100011011010001 11001000101000 0100001100010 101001101001
Hardware Trigger (prefilter)
Event Filter (software event selection)
data reconstruction and distribution
10010011000001 1011010010011100 100011011010001 11001000101000 0100001100010 101001101001
10010011000001 1011010010011100 100011011010001 11001000101000 0100001100010 101001101001
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?
clustering tracking electron selecHon
is there a cluster of hot cells with straight tracks nearby?
clustering cluster selecHon 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 compuHng systems alone must handle MILLIONS of producHon/analysis jobs daily
analyze create MC
backup RAW reprocess (re-reconstruct)
store RAW calibrate reconstruct (6k cores)
Tier 0
Tier 1
Tier 2
Tier 1
Tier 1
Tier 2 Tier 2 Tier 2
Tier 2 Tier 2
Tier 2
Tier 2
Tier 2
físicos physicists
物理学者
38 T2 centers 120k cores total cernVM environment
ATLAS Tier computing: roles
Production: data ATLAS trigger convert
MERGE&
derive
bytestream
RECO
esd
aod
tag
D3PD
aod
RDO (raw)
pattern recognition
sorting
Production: Monte Carlo
MERGE &
derive
RECO
esd
aod
tag
D3PD
aod
MONTE CARLO PRODUCTION CHAIN RDO (raw)
pick random x, random y if y2 < 1-‐x2: 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 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 π
this is probably the simplest way to use a computer
for a calculaHon… but it works!
What is Monte Carlo?
Z picks mass
and decay angles
electron ET
• 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 ET
calorimeter (mis)measurement
observed electron ET
• 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, MC@NLO, BaurMC, POWHEG, &c.…
Meet your MC: #PYTHIA, HERWIG, MadGraph, MCFM, MC@NLO, BaurMC, POWHEG, &c.…
Meet your MC: #PYTHIA, HERWIG/JIMMY, Sherpa…
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 track track track track track track
jet jet jet
track hit track hit
event
“n-‐tuple” “tree”
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 40.4 0.1 0.8 21
… … … …
User’s interface to nature: histograms
: histo = makeHisto(nbins=50, firstbin=0*GeV, lastbin=200*GeV) for thisEvent in allEvents:
if HasZBoson( thisEvent ): m = reconstructZBosonMass( 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)
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();
Some ROOT features:
root [0] double x(3.0),y(4.0); sqrt(x*x+y*y) (const double)5.00000000000000000e+00 root [1] TLorentzVector pion(1500,0,0,1506.482); root [2] printf("The mass is %3.4g\n", pion.M( )); The mass is 139.6 root [3] TMath::C( <TAB> Double_t C() // m s^-1 root [4] TMath::C() (Double_t)2.99792458000000000e+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 [email protected] with solutions, questions, etc!!
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,1506.482); >>> print "The mass is", pion.M(), "MeV" The mass is 139.5994854 MeV