new physicshome.thep.lu.se/~torbjorn/talks/lund00py.pdf · 2005. 2. 19. · deep inelastic...
TRANSCRIPT
Nordic LHC Physics WorkshopLund 16–18 March 2000
Implementationof
New Physicsin
ll
PYTHIA
lh hh
Torbjorn SjostrandLund University
Event Physics overviewPYTHIA status
Subprocess surveyHow-to: new processes
as event weighthardcoded
as external processHow-to: new particles and decays
Problem areas
Event physics overview
Structure of the basic generation process:
1) Hard subprocess:dσ/dt, Breit-Wigners.
2) Resonance decays:includes correlations.
3) Final-stateparton showers:(or matrix elements).
4) Initial-stateparton showers:(or matrix elements).
5) Multipleparton–partoninteractions.
q
q Z0 Z0
h0
Z0
µ+
µ−
h0
W−
W+
ντ
τ−s
c
q → qg
g → gg
g → qq
q → qγ
g
q
Z0
6) Beam remnants:colour-connectedto rest of event
7) Hadronization(PYTHIA: string;HERWIG: cluster;ISAJET: independent).
8) Normal decays:hadronic, τ , charm, . . .
p
p
b
b
ud
ud
u
u
q
g
g
q
hadrons
ρ+
π0
π+
γ
γ
9) QCD interconnection effects:
e−
e+
W−
W+
q3
q4
q2
q1
π+
π+
BE
a) colour rearrangement (⇒ rapidity gaps?);b) Bose-Einstein.
10) The forgotten/unexpected: a chain isnever stronger than its weakest link!
PYTHIA status
JETSET 7.4PYTHIA 5.7SPYTHIA
4 March 1997 : PYTHIA 6.1
Currently PYTHIA 6.138 of 2 March 2000∼ 51k lines Fortran 77(PYTHIA 7 in C++: Leif Lonnblad)
Code, manuals, sample main programs:http://www.thep.lu.se/∼torbjorn/Pythia.html
Some PYTHIA 6.1 main news:
• JETSET routines renamed:LUxxxx → PYxxxx + some more
• All real variables in DOUBLE PRECISION
• New processes for SUSY, Higgs,technicolor, . . .
• Initial-state showers matched to (some)matrix elements
• Energy-dependent p⊥min in multipleinteractions
• Newer parton distributions (but . . . )
• Improved resonance decay machinery
• Improved charm/bottom hadronization
• Colour rearrangement options for W+W−
• Expanded Bose-Einstein algorithm
• New baryon production scheme (optional)
Subprocess survey
Process PYTH HERW ISAJ
QCD & relatedSoft QCD ? ? ?Hard QCD ? ? ?Heavy flavour ? ? ?Top threshold — — —γγ physics ? ? —DIS ? ? —γ∗γ∗ physics (?) (?) —
Electroweak SMSingle γ∗/Z0/W± ? ? ?
(γ/γ∗/Z0/W±/f/g)2 ? ? ?Light SM Higgs ? ? ?Heavy SM Higgs (?) ? ?
SUSY BSMh0/H0/A0/H± ? ? ?SUSY ? ? ?R/ SUSY — ? —
Other BSMTechnicolor ? — ?New gauge bosons ? — —Compositeness ? — —Leptoquarks ? — —H±± (from LR-sym.) ? — —Extra dimensions — — (?)
? = yes, (?) = partial/in progress, — = no
Subprocesses (1)
No. SubprocessW/Z production:
1 fif i → γ∗/Z0
2 fifj → W±
22 fif i → Z0Z0
23 fifj → Z0W±
25 fif i → W+W−
15 fif i → gZ0
16 fifj → gW±
30 fig → fiZ0
31 fig → fkW±
19 fif i → γZ0
20 fifj → γW±
35 fiγ → fiZ0
36 fiγ → fkW±
69 γγ → W+W−
70 γW± → Z0W±
Hard QCD processes:11 fifj → fifj12 fif i → fkfk13 fif i → gg28 fig → fig
53 gg → fkfk68 gg → gg
Soft QCD processes:91 elastic scattering92 single diffraction (XB)93 single diffraction (AX)94 double diffraction95 low-p⊥ production
Open heavy flavour:(also fourth generation)81 fif i → QkQk
82 gg → QkQk83 qifj → Qkfl84 gγ → QkQk
85 γγ → FkFk
No. SubprocessClosed heavy flavour:
86 gg → J/ψg87 gg → χ0cg88 gg → χ1cg89 gg → χ2cg
104 gg → χ0c
105 gg → χ2c
106 gg → J/ψγ107 gγ → J/ψg108 γγ → J/ψγ
Prompt-photonproduction:
14 fif i → gγ18 fif i → γγ29 fig → fiγ
114 gg → γγ115 gg → gγ
Deep inelastic scattering10 fifj → fifj
Photon-inducedprocesses:
33 fiγ → fig34 fiγ → fiγ54 gγ → fkfk58 γγ → fkfk80 qiγ → qkπ
±
131 fiγ∗T → fig132 fiγ∗L → fig133 fiγ∗T → fiγ134 fiγ∗L → fiγ
135 gγ∗T → fif i136 gγ∗L → fif i137 γ∗Tγ
∗T → fif i
138 γ∗Tγ∗L → fif i
139 γ∗Lγ∗T → fif i
140 γ∗Lγ∗L → fif i
Subprocesses (2)No. SubprocessLight SM Higgs:
3 fif i → h0
24 fif i → Z0h0
26 fifj → W±h0
102 gg → h0
103 γγ → h0
110 fif i → γh0
121 gg → QkQkh0
122 qiqi → QkQkh0
123 fifj → fifjh0
124 fifj → fkflh0
Heavy SM Higgs:5 Z0Z0 → H0
8 W+W− → H0
71 Z0LZ
0L → Z0
LZ0L
72 Z0LZ
0L → W+
L W−L
73 Z0LW
±L → Z0
LW±L
76 W+L W−
L → Z0LZ
0L
77 W±LW±
L → W±LW±
L
BSM Neutral Higgses:151 fif i → H0
152 gg → H0
153 γγ → H0
171 fif i → Z0H0
172 fifj → W±H0
173 fifj → fifjH0
174 fifj → fkflH0
181 gg → QkQkH0
182 qiqi → QkQkH0
156 fif i → A0
157 gg → A0
158 γγ → A0
176 fif i → Z0A0
177 fifj → W±A0
178 fifj → fifjA0
179 fifj → fkflA0
186 gg → QkQkA0
187 qiqi → QkQkA0
No. SubprocessCharged Higgs:143 fifj → H+
161 fig → fkH+
Higgs pairs:297 fifj → H±h0
298 fifj → H±H0
299 fif i → A0h0
300 fif i → A0H0
301 fif i → H+H−
Doubly-charged Higgs:341 `i`j → H±±
L342 `i`j → H±±
R343 `±i γ → H±±
L e∓
344 `±i γ → H±±R e∓
345 `±i γ → H±±L µ∓
346 `±i γ → H±±R µ∓
347 `±i γ → H±±L τ∓
348 `±i γ → H±±R τ∓
349 fif i → H++L H−−
L
350 fif i → H++R H−−
R351 fifj → fkflH
±±L
352 fifj → fkflH±±R
New gauge bosons:141 fif i → γ/Z0/Z′0
142 fifj → W′+
144 fifj → R
Compositeness:146 eγ → e∗
147 dg → d∗
148 ug → u∗
167 qiqj → d∗qk168 qiqj → u∗qk169 qiqi → e∗+e− + e+e∗−
165 fif i(→ γ∗/Z0) → fkfk166 fifj(→ W±) → fkf l
Subprocesses (3)No. SubprocessLeptoquarks:145 qi`j → LQ162 qg → `LQ
163 gg → LQLQ
164 qiqi → LQLQ
Technicolor:149 gg → ηtc191 fif i → ρ0tc192 fifj → ρ+tc193 fif i → ω0
tc
194 fif i → fkfk195 fifj → fkf l361 fif i → W+
L W−L
362 fif i → W±Lπ
∓tc
363 fif i → π+tcπ
−tc
364 fif i → γπ0tc
365 fif i → γπ′0tc
366 fif i → Z0π0tc
367 fif i → Z0π′0tc
368 fif i → W±π∓tc
370 fifj → W±LZ0
L
371 fifj → W±Lπ
0tc
372 fifj → π±tcZ
0L
373 fifj → π±tcπ
0tc
374 fifj → γπ±tc
375 fifj → Z0π±tc
376 fifj → W±π0tc
377 fifj → W±π′0tc
No. SubprocessSUSY:201 fif i → eLe
∗L
202 fif i → eRe∗R
203 fif i → eLe∗R + e∗
LeR204 fif i → µLµ
∗L
205 fif i → µRµ∗R
206 fif i → µLµ∗R + µ∗
LµR207 fif i → τ1τ∗1208 fif i → τ2τ∗2209 fif i → τ1τ∗2 + τ∗1 τ2210 fifj → ˜Lν
∗` + ˜∗
Lν`211 fifj → τ1ν∗τ + τ∗1 ντ212 fifj → τ2ντ ∗ + τ∗2ντ213 fif i → ν`ν`
∗
214 fif i → ντ ν∗τ216 fif i → χ1χ1
217 fif i → χ2χ2
218 fif i → χ3χ3
219 fif i → χ4χ4
220 fif i → χ1χ2
221 fif i → χ1χ3
222 fif i → χ1χ4
223 fif i → χ2χ3
224 fif i → χ2χ4
225 fif i → χ3χ4
226 fif i → χ±1 χ
∓1
227 fif i → χ±2 χ
∓2
228 fif i → χ±1 χ
∓2
229 fifj → χ1χ±1
230 fifj → χ2χ±1
231 fifj → χ3χ±1
232 fifj → χ4χ±1
233 fifj → χ1χ±2
234 fifj → χ2χ±2
235 fifj → χ3χ±2
236 fifj → χ4χ±2
Subprocesses (4)
No. SubprocessSUSY:237 fif i → gχ1
238 fif i → gχ2
239 fif i → gχ3
240 fif i → gχ4
241 fifj → gχ±1
242 fifj → gχ±2
243 fif i → gg244 gg → gg246 fig → qiLχ1
247 fig → qiRχ1
248 fig → qiLχ2
249 fig → qiRχ2
250 fig → qiLχ3
251 fig → qiRχ3
252 fig → qiLχ4
253 fig → qiRχ4
254 fig → qjLχ±1
256 fig → qjLχ±2
258 fig → qiLg259 fig → qiRg
261 fif i → t1t∗1
262 fif i → t2t∗2
263 fif i → t1t∗2 + t∗1t2
264 gg → t1t∗1
265 gg → t2t∗2
271 fifj → qiLqjL272 fifj → qiRqjR273 fifj → qiLqjR + qiRqjL274 fifj → qiLq
∗jL
275 fifj → qiRq∗jR
276 fifj → qiLq∗jR + qiRq
∗jL
277 fif i → qjLq∗jL
278 fif i → qjRq∗jR
279 gg → qiLq∗i L
280 gg → qiRq∗i R
No. SubprocessSUSY:281 bqi → b1qiL282 bqi → b2qiR283 bqi → b1qiR+
b2qiL284 bqi → b1q∗
i L
285 bqi → b2q∗i R
286 bqi → b1q∗i R+
b2q∗i L
287 qiqi → b1b∗1
288 qiqi → b2b∗2
289 gg → b1b∗1
290 gg → b2b∗2
291 bb → b1b1
292 bb → b2b2
293 bb → b1b2
294 bg → b1g295 bg → b2g
296 bb → b1b∗2+
b2b∗1
Implementing new processes
1. Convince a PYTHIA author to do it for youSUSY, technicolor: Steve Mrennathe rest: Torbjornbut please have necessary formulae ready
2. Reweight existing cross sectionwith PYEVWT: simple
3. Hardcode from scratch: for brave only
4. Hardcode by modifying existing process:rather safe, but dead end
5. Hardcode by copying existing process:more useful, but less trivial
6. Include as external process:the official standard path,good if you have a working parton generator, butnontrivial if you don’t
7. Use standard interfaces: mainly for e+e−
CALL PY2FRM(IRAD,ITAU,ICOM)CALL PY4FRM(ATOTSQ,A1SQ,A2SQ,ISTRAT,&IRAD,ITAU,ICOM)CALL PY6FRM(P12,P13,P21,P23,P31,P32,PTOP,&IRAD,ITAU,ICOM)CALL PY4JET(PMAX,IRAD,ICOM)
Event weight
Example: contact interaction modification toprocess 16, qiqj → gW±
FACWG=COMFAC*AS*AEM/XW*2D0/9D0*
&(TH2+UH2+2D0*SQM4*SH)/(TH*UH)
dσ
dt=
π
s2αsαem
sin2θW
2
9
t2 + u2 + 2m2Ws
tu|Vij|
2
Assume modification of character
t2 + u2 + 2m2Ws
tu−→
t2 + u2 + 2m2Ws
tu+N
s2
Λ4
C...Double precision and integer declarations.
IMPLICIT DOUBLE PRECISION(A-H, O-Z)
IMPLICIT INTEGER(I-N)INTEGER PYK,PYCHGE,PYCOMP
C...Commonblocks.
COMMON/PYSUBS/MSEL,MSELPD,MSUB(500),KFIN(2,-40:40),CKIN(200)
COMMON/PYPARS/MSTP(200),PARP(200),MSTI(200),PARI(200)
COMMON/MYCOMM/ANORM,ALAMDA
C...Select subprocess.
MSEL=0
MSUB(16)=1
C...Weighted events.
MSTP(142)=2
C...Contact couplings.
ANORM=1D0
ALAMDA=1000D0
C...Initialize.CALL PYINIT(’CMS’,’P’,’P’,14000D0)
C...Generate events.DO 100 IEV=1,100
CALL PYEVNT100 CONTINUE
C...Cross section.CALL PYSTAT(1)
END
C*************************************************************
SUBROUTINE PYEVWT(WTXS)
C...Double precision and integer declarations.IMPLICIT DOUBLE PRECISION(A-H, O-Z)IMPLICIT INTEGER(I-N)INTEGER PYK,PYCHGE,PYCOMP
C...Commonblocks.COMMON/PYINT1/MINT(400),VINT(400)COMMON/MYCOMM/ANORM,ALAMDASAVE /PYINT1/,/MYCOMM/
C...Set default weight for WTXS.WTXS=1D0
C...Read out subprocess number and kinematics.ISUB=MINT(1)SHAT=VINT(44)THAT=VINT(45)UHAT=VINT(46)
C...Modifications by user to be put here.IF(ISUB.EQ.16) THEN
WMSQ=SHAT+THAT+UHATWMEOLD=(THAT**2+UHAT**2+2D0*WMSQ*SHAT)/(THAT*UHAT)WMENEW=ANORM*SHAT**2/ALAMDA**4WTXS=(WMEOLD+WMENEW)/WMEOLD
ENDIF
RETURNEND
Hardcoding
0) Select empty ISUB numberin range 401 – 500.
1) In PYDATA or commonblocks:PROC(ISUB) = ’ process name ’ISET(ISUB) = 1 or 2 for 2 → 1 or 2 → 2 processKFPR(ISUB,1) = KF code of first productKFPR(ISUB,2) = KF code of second productcan have KFPR info in code instead;advantage with KFPR is possibility to modify or dupli-cate process,e.g. KFPR(86,1) = 443: gg → J/ψg is defaultbut KFPR(86,1) = 553: gg → Υg (+ coupling)
2) In PYSIGH:implement matrix elements, including loop over possi-ble incoming flavoursC...f + fbar -> gamma + gamma
ELSEIF(ISUB.EQ.18) THENC...COMFAC already contains factor pi/shat**2 for 2->2C...and preweighting of phase space
FACGG=COMFAC*AEM**2*2D0*(TH2+UH2)/(TH*UH)C...Loop over all flavours and check them
DO 380 I=MMINA,MMAXAIF(I.EQ.0.OR.KFAC(1,I)*KFAC(2,-I).EQ.0)
& GOTO 380
C...Charge; colour factor for quark annihilation.EI=KCHG(IABS(I),1)/3D0FCOI=1D0IF(IABS(I).LE.10) FCOI=FACA/3D0
C...One ’channel’ for each flavour, with incomingC...flavours, colour flow enumerator and cross section.
NCHN=NCHN+1ISIG(NCHN,1)=IISIG(NCHN,2)=-IISIG(NCHN,3)=1SIGH(NCHN)=0.5D0*FACGG*FCOI*EI**4
380 CONTINUE
Many complications, e.g.− Breit-Wigners for resonances− flavour-dependent interference (γ∗/Z0)− several colour flows
3) In PYSCAT:fill in final state for selected processC...f + fbar’ -> g + W+/-;C...th = (p(f)-p(W-))**2 or (p(fbar’)-p(W+))**2
ELSEIF(ISUB.EQ.16) THENC...MINT(15) and MINT(16) incoming partons;C...charges -> W+ or W-.
KCH1=KCHG(IABS(MINT(15)),1)*ISIGN(1,MINT(15))KCH2=KCHG(IABS(MINT(16)),1)*ISIGN(1,MINT(16))
C...Order of outgoing particles must reflectC...t-hat definition; JS=1 is default.
IF(MINT(15)*(KCH1+KCH2).LT.0) JS=2C...Fill outgoing particles in MINT(21) and MINT(22).
MINT(20+JS)=21MINT(23-JS)=ISIGN(24,KCH1+KCH2)
C...Colour flow code: always pick by analogyC...with similar existing process.
KCC=17+JS
External processes
Convenient when you already have parton-level gen-erator available;used e.g. by COMPHEP group
0) Select empty ISUB number(s)in range 401 – 500.
1) In main program before CALL PYINIT :
CALL PYUPIN(ISUB,TITLE,SIGMAX)
MSUB(ISUB)=1
TITLE = ’ process name ’SIGMAX = maximum of event weights to beencountered
2) Suppy subroutine that will be called from PYEVNT,and that for each call generates and returns an eventof kind ISUB:
SUBROUTINE PYUPEV(ISUB,SIGEV)
ISUB = inparameter to allow mixing of several externalprocessesSIGEV = cross section (or weight) for event,dσdΩ
∫
dΩ, with Ω (biased) phase space, and
SIGEV/SIGMAX : event survival probability.SIGEV = SIGMAX = 1D0 : accept all events,but no cross section info.
3) Subroutine PYUPEV must provide event info (minievent record) in
COMMON/PYUPPR/NUP,KUP(20,7),PUP(20,5),
&NFUP,IFUP(10,2),Q2UP(0:10)
NUP : number of entries, first two incomingpartons, the rest outgoing particlesKUP(I,1) : 1 normally, 2 for documentationKUP(I,2) : PDG particle codeKUP(I,3) : 0, or mother I where knownKUP(I,4) : origin of final-state colourKUP(I,5) : origin of final-state anticolourKUP(I,6) : destination of initial-state colourKUP(I,7) : destination of initial-state anticolourPUP(I,J) : (px, py, pz, E,m) in GeVQ2UP(0) : Q2 scale of initial-state shower (' s?)NFUP : number of final-state showersKFUP(IF,1),KFUP(IF,2) : pair of partons orparticles that shower (one non-radiatingparticle is OK; to take recoil)Q2UP(IF) : Q2 scale of final-state shower (' m2)
For a complete example, seehttp://www.thep.lu.se/∼torbjorn/pythia/main51.f
example 1:s-channelcolour singletexchange q(2)
q(1)Z0
q(4)
q(3)
colour anticol colour anticolfrom from to to
I KUP(I,4) KUP(I,5) KUP(I,6) KUP(I,7)
1 0 0 2 02 0 0 0 13 4 0 0 04 0 3 0 0
example 2:gg → gg,one of 6 possiblecolour flows g(2)
g(1)
g(4)
g(3)
colour anticol colour anticolfrom from to to
I KUP(I,4) KUP(I,5) KUP(I,6) KUP(I,7)
1 0 0 3 22 0 0 1 43 1 4 0 04 3 2 0 0
Most parton-level generators do not give colour info⇒ have to make sensible choices, e.g. mix accordingto
∏
1/m2ij where ij is any parton pair connected by
string.
New particles
0) Select flavour code KF, according toPDG rules.
1) Modify particle data in PYDATA,best by editing table:CALL PYUPDA(1,LFN) : writes table on unit LFNCALL PYUPDA(2,LFN) : reads table from unit LFNfor complete replacementCALL PYUPDA(3,LFN) : reads table from unit LFNfor new particles or a few updated old particles Usesimilar existing particle as template!
Example (here edited to fit page size;in real life column alignment is important)4000002 u* u*bar 2 1 1 400.00000 2.65499 26.54994 0.00000E+00 1 1
1 0 0.853165 21 2 0 0 01 0 0.021144 22 2 0 0 01 0 0.029361 23 2 0 0 01 0 0.096329 24 1 0 0 0
First line: PDG code, particle name,antiparticle name, 3*charge, colour chargeclassification, particle/antiparticle distinction,mass, width, cutoff of tails, lifetime,width rescaling (see below), decay on/off.Subsequent lines: decay channels with channelon/off, matrix-element code, branching ratio,PDG codes for up to 5 decay products.
2) Width treatment in PYWIDT routine:allows dynamic calculation of partial widths,e.g. Γh(mh) or γ∗/Z0 → tt
but normally overkill for narrow mass peak.Set 0 or 2 in width rescaling input on particle line toavoid need for PYWIDT implementation.
3) Decay treatmenta) in PYDECY routine: simple phase-space multibodydecay, up to 10 particles, isotropic or with some ma-trix element; obtained for width rescaling input = 0.b) in PYRESD routine: more sophisticated resonancedescription obtained for width rescaling input ≥ 1. Op-timized for two simultaneous decays to two particleseach, with automatic showering where possible, butcan handle three products.
q
qZ0
Z0
µ+
µ−
h0
W−
W+
ντ
τ−s
c
Allows non-isotropic decays, in several steps if re-quired. But nontrivial to program; may be easier to doisotropic decays (default) and reweight final events.
Problem areas
• Mass spectrum of resonance often shows extrapeak near lower cut-off (2 GeV by default) be-cause parton distributions may increase faster atsmall x than a Breit-Wigner decreases. But can’ttrust Breit-Wigner too far from main peak anyway,so cut tails e.g. with CKIN.
• Long-lived new coloured particles would form“hadrons”, e.g. g → gqq or gg. Not currentlyconsidered. Experience from top and leptoquarksshow small differences, mainly in soft-hadron re-gion.
• QCD showering off q, g still missing: to be done.
• Multibody final states: no efficient biased phasespace generator.
• SUSY R/ processes introducenew colour flow topologies withjunctions. Hadronization sup-ported (though not told how inmanual) but consistent shower-ing machinery missing.
q
q q
junction