]>
Commit | Line | Data |
---|---|---|
c6b60c38 | 1 | <html> |
2 | <head> | |
3 | <title>Standard-Model Parameters</title> | |
4 | <link rel="stylesheet" type="text/css" href="pythia.css"/> | |
5 | <link rel="shortcut icon" href="pythia32.gif"/> | |
6 | </head> | |
7 | <body> | |
8 | ||
9 | <script language=javascript type=text/javascript> | |
10 | function stopRKey(evt) { | |
11 | var evt = (evt) ? evt : ((event) ? event : null); | |
12 | var node = (evt.target) ? evt.target :((evt.srcElement) ? evt.srcElement : null); | |
13 | if ((evt.keyCode == 13) && (node.type=="text")) | |
14 | {return false;} | |
15 | } | |
16 | ||
17 | document.onkeypress = stopRKey; | |
18 | </script> | |
19 | <?php | |
20 | if($_POST['saved'] == 1) { | |
21 | if($_POST['filepath'] != "files/") { | |
22 | echo "<font color='red'>SETTINGS SAVED TO FILE</font><br/><br/>"; } | |
23 | else { | |
24 | echo "<font color='red'>NO FILE SELECTED YET.. PLEASE DO SO </font><a href='SaveSettings.php'>HERE</a><br/><br/>"; } | |
25 | } | |
26 | ?> | |
27 | ||
28 | <form method='post' action='StandardModelParameters.php'> | |
29 | ||
30 | <h2>Standard-Model Parameters</h2> | |
31 | ||
32 | <h3>The strong coupling</h3> | |
33 | ||
34 | The <code>AlphaStrong</code> class is used to provide a first- or | |
35 | second-order running <i>alpha_strong</i> (or, trivially, a | |
36 | zeroth-order fixed one). Formulae are the standard ones found in | |
37 | [<a href="Bibliography.php" target="page">Yao06</a>]. The second-order expression used, eq. (9.5), | |
38 | may be somewhat different in other approaches (with differences | |
39 | formally of higher order), so do not necessarily expect perfect | |
40 | agreement, especially not at small <i>Q^2</i> scales. The starting | |
41 | <i>alpha_strong</i> value is defined at the <i>M_Z</i> mass scale. | |
42 | The <i>Lambda</i> values are matched at the <i>b</i> and <i>c</i> | |
43 | flavour thresholds, such that <i>alpha_strong</i> is continuous. | |
44 | For second-order matching an approximate iterative method is used. | |
45 | ||
46 | <p/> | |
47 | Since we allow <i>alpha_strong</i> to vary separately for | |
48 | hard processes, timelike showers, spacelike showers and multiparton | |
49 | interactions, the relevant values can be set in each of these classes. | |
50 | The default behaviour is everywhere first-order running. | |
51 | ||
52 | <p/> | |
53 | The <i>alpha_strong</i> calculation is initialized by | |
54 | <code>init( value, order)</code>, where <code>value</code> | |
55 | is the <i>alpha_strong</i> value at <i>M_Z</i> and <code>order</code> | |
56 | is the order of the running, 0, 1 or 2. Thereafter the value can be | |
57 | calculated by <code>alphaS(scale2)</code>, where | |
58 | <code>scale2</code> is the <i>Q^2</i> scale in GeV^2. | |
59 | ||
60 | <p/> | |
61 | For applications inside shower programs, a second-order <code>alpha_s</code> | |
62 | value can be obtained as the product of the two functions | |
63 | <code>alphaS1Ord(scale2)</code> and <code>alphaS2OrdCorr(scale2)</code>, | |
64 | where the first gives a simple first-order running (but with the | |
65 | second-order <i>Lambda</i>) and the second the correction factor, | |
66 | below unity, for the second-order terms. This allows a compact handling | |
67 | of evolution equations. | |
68 | ||
69 | <h3>The electromagnetic coupling</h3> | |
70 | ||
71 | The <code>AlphaEM</code> class is used to generate a running | |
72 | <i>alpha_em</i>. The input <code>StandardModel:alphaEMmZ</code> | |
73 | value at the <i>M_Z</i> mass is matched to a low-energy behaviour | |
74 | with running starting at the electron mass threshold. The matching | |
75 | is done by fitting an effective running coefficient in the region | |
76 | between the light-quark threshold and the charm/tau threshold. This | |
77 | procedure is approximate, but good enough for our purposes. | |
78 | ||
79 | <p/> | |
80 | Since we allow <i>alpha_em</i> to vary separately for | |
81 | hard processes, timelike showers, spacelike showers and multiparton | |
82 | interactions, the choice between using a fixed or a running | |
83 | <i>alpha_em</i> can be made in each of these classes. | |
84 | The default behaviour is everywhere first-order running. | |
85 | The actual values assumed at zero momentum transfer and | |
86 | at <i>M_Z</i> are only set here, however. | |
87 | ||
88 | <br/><br/><table><tr><td><strong>StandardModel:alphaEM0 </td><td></td><td> <input type="text" name="1" value="0.00729735" size="20"/> (<code>default = <strong>0.00729735</strong></code>; <code>minimum = 0.0072973</code>; <code>maximum = 0.0072974</code>)</td></tr></table> | |
89 | The <i>alpha_em</i> value at vanishing momentum transfer | |
90 | (and also below <i>m_e</i>). | |
91 | ||
92 | ||
93 | <br/><br/><table><tr><td><strong>StandardModel:alphaEMmZ </td><td></td><td> <input type="text" name="2" value="0.00781751" size="20"/> (<code>default = <strong>0.00781751</strong></code>; <code>minimum = 0.00780</code>; <code>maximum = 0.00783</code>)</td></tr></table> | |
94 | The <i>alpha_em</i> value at the <i>M_Z</i> mass scale. | |
95 | Default is taken from [<a href="Bibliography.php" target="page">Yao06</a>]. | |
96 | ||
97 | ||
98 | <p/> | |
99 | The <i>alpha_em</i> calculation is initialized by | |
100 | <code>init(order)</code>, where <code>order</code> is the order of | |
101 | the running, 0 or 1, with -1 a special option to use the fix value | |
102 | provided at <i>M_Z</i>. Thereafter the value can be | |
103 | calculated by <code>alphaEM(scale2)</code>, where | |
104 | <code>scale2</code> is the <i>Q^2</i> scale in GeV^2. | |
105 | ||
106 | <h3>The electroweak couplings</h3> | |
107 | ||
108 | There are two degrees of freedom that can be set, related to the | |
109 | electroweak mixing angle: | |
110 | ||
111 | <br/><br/><table><tr><td><strong>StandardModel:sin2thetaW </td><td></td><td> <input type="text" name="3" value="0.2312" size="20"/> (<code>default = <strong>0.2312</strong></code>; <code>minimum = 0.225</code>; <code>maximum = 0.240</code>)</td></tr></table> | |
112 | The sine-squared of the weak mixing angle, as used in all <i>Z^0</i> | |
113 | and <i>W^+-</i> masses and couplings, except for the vector couplings | |
114 | of fermions to the <i>Z^0</i>, see below. Default is the MSbar value | |
115 | from [<a href="Bibliography.php" target="page">Yao06</a>]. | |
116 | ||
117 | ||
118 | <br/><br/><table><tr><td><strong>StandardModel:sin2thetaWbar </td><td></td><td> <input type="text" name="4" value="0.2315" size="20"/> (<code>default = <strong>0.2315</strong></code>; <code>minimum = 0.225</code>; <code>maximum = 0.240</code>)</td></tr></table> | |
119 | The sine-squared of the weak mixing angle, as used to derive the vector | |
120 | couplings of fermions to the <i>Z^0</i>, in the relation | |
121 | <i>v_f = a_f - 4 e_f sin^2(theta_W)bar</i>. Default is the | |
122 | effective-angle value from [<a href="Bibliography.php" target="page">Yao06</a>]. | |
123 | ||
124 | ||
125 | <p/> | |
126 | The Fermi constant is not much used in the currently coded matrix elements, | |
127 | since it is redundant, but it is available: | |
128 | ||
129 | <br/><br/><table><tr><td><strong>StandardModel:GF </td><td></td><td> <input type="text" name="5" value="1.16637e-5" size="20"/> (<code>default = <strong>1.16637e-5</strong></code>; <code>minimum = 1.0e-5</code>; <code>maximum = 1.3e-5</code>)</td></tr></table> | |
130 | The Fermi coupling constant, in units of GeV<i>^-2</i>. | |
131 | ||
132 | ||
133 | <h3>The quark weak-mixing matrix</h3> | |
134 | ||
135 | The absolute values of the Cabibbo-Kobayashi-Maskawa matrix elements are | |
136 | set by the following nine real values taken from [<a href="Bibliography.php" target="page">Yao06</a>] - | |
137 | currently the CP-violating phase is not taken into account in this | |
138 | parametrization. It is up to the user to pick a consistent unitary | |
139 | set of new values whenever changes are made. | |
140 | ||
141 | <br/><br/><table><tr><td><strong>StandardModel:Vud </td><td></td><td> <input type="text" name="6" value="0.97383" size="20"/> (<code>default = <strong>0.97383</strong></code>; <code>minimum = 0.973</code>; <code>maximum = 0.975</code>)</td></tr></table> | |
142 | The <i>V_ud</i> CKM matrix element. | |
143 | ||
144 | ||
145 | <br/><br/><table><tr><td><strong>StandardModel:Vus </td><td></td><td> <input type="text" name="7" value="0.2272" size="20"/> (<code>default = <strong>0.2272</strong></code>; <code>minimum = 0.224</code>; <code>maximum = 0.230</code>)</td></tr></table> | |
146 | The <i>V_us</i> CKM matrix element. | |
147 | ||
148 | ||
149 | <br/><br/><table><tr><td><strong>StandardModel:Vub </td><td></td><td> <input type="text" name="8" value="0.00396" size="20"/> (<code>default = <strong>0.00396</strong></code>; <code>minimum = 0.0037</code>; <code>maximum = 0.0042</code>)</td></tr></table> | |
150 | The <i>V_ub</i> CKM matrix element. | |
151 | ||
152 | ||
153 | <br/><br/><table><tr><td><strong>StandardModel:Vcd </td><td></td><td> <input type="text" name="9" value="0.2271" size="20"/> (<code>default = <strong>0.2271</strong></code>; <code>minimum = 0.224</code>; <code>maximum = 0.230</code>)</td></tr></table> | |
154 | The <i>V_cd</i> CKM matrix element. | |
155 | ||
156 | ||
157 | <br/><br/><table><tr><td><strong>StandardModel:Vcs </td><td></td><td> <input type="text" name="10" value="0.97296" size="20"/> (<code>default = <strong>0.97296</strong></code>; <code>minimum = 0.972</code>; <code>maximum = 0.974</code>)</td></tr></table> | |
158 | The <i>V_cs</i> CKM matrix element. | |
159 | ||
160 | ||
161 | <br/><br/><table><tr><td><strong>StandardModel:Vcb </td><td></td><td> <input type="text" name="11" value="0.04221" size="20"/> (<code>default = <strong>0.04221</strong></code>; <code>minimum = 0.0418</code>; <code>maximum = 0.0426</code>)</td></tr></table> | |
162 | The <i>V_cb</i> CKM matrix element. | |
163 | ||
164 | ||
165 | <br/><br/><table><tr><td><strong>StandardModel:Vtd </td><td></td><td> <input type="text" name="12" value="0.00814" size="20"/> (<code>default = <strong>0.00814</strong></code>; <code>minimum = 0.006</code>; <code>maximum = 0.010</code>)</td></tr></table> | |
166 | The <i>V_td</i> CKM matrix element. | |
167 | ||
168 | ||
169 | <br/><br/><table><tr><td><strong>StandardModel:Vts </td><td></td><td> <input type="text" name="13" value="0.04161" size="20"/> (<code>default = <strong>0.04161</strong></code>; <code>minimum = 0.039</code>; <code>maximum = 0.043</code>)</td></tr></table> | |
170 | The <i>V_ts</i> CKM matrix element. | |
171 | ||
172 | ||
173 | <br/><br/><table><tr><td><strong>StandardModel:Vtb </td><td></td><td> <input type="text" name="14" value="0.9991" size="20"/> (<code>default = <strong>0.9991</strong></code>; <code>minimum = 0.99907</code>; <code>maximum = 0.9992</code>)</td></tr></table> | |
174 | The <i>V_tb</i> CKM matrix element. | |
175 | ||
176 | ||
177 | <h3>The CoupSM class</h3> | |
178 | ||
179 | The <code><?php $filepath = $_GET["filepath"]; | |
180 | echo "<a href='ProgramFlow.php?filepath=".$filepath."' target='page'>";?>Pythia</a></code> class contains a | |
181 | public instance <code>coupSM</code> of the <code>CoupSM</code> class. | |
182 | This class contains one instance each of the <code>AlphaStrong</code> | |
183 | and <code>AlphaEM</code> classes, and additionally stores the weak couplings | |
184 | and the quark mixing matrix mentioned above. This class is used especially | |
185 | in the calculation of cross sections and resonance widths, but could also | |
186 | be used elsewhere. Specifically, as already mentioned, there are separate | |
187 | <code>AlphaStrong</code> and <code>AlphaEM</code> instances for timelike | |
188 | and spacelike showers and for multiparton interactions, while weak couplings | |
189 | and the quark mixing matrix are only stored here. With the exception of the | |
190 | first two methods below, which are for internal use, the subsequent ones | |
191 | could also be used externally. | |
192 | ||
193 | <a name="method1"></a> | |
194 | <p/><strong>CoupSM::CoupSM() </strong> <br/> | |
195 | the constructor does nothing. Internal. | |
196 | ||
197 | ||
198 | <a name="method2"></a> | |
199 | <p/><strong>void CoupSM::init(Settings& settings, Rndm* rndmPtr) </strong> <br/> | |
200 | this is where the <code>AlphaStrong</code> and <code>AlphaEM</code> | |
201 | instances are initialized, and weak couplings and the quark mixing matrix | |
202 | are read in and set. This is based on the values stored on this page and | |
203 | among the <?php $filepath = $_GET["filepath"]; | |
204 | echo "<a href='CouplingsAndScales.php?filepath=".$filepath."' target='page'>";?>Couplings and Scales</a>. | |
205 | Internal. | |
206 | ||
207 | ||
208 | <a name="method3"></a> | |
209 | <p/><strong>double CoupSM::alphaS(double scale2) </strong> <br/> | |
210 | the <i>alpha_strong</i> value at the quadratic scale <code>scale2</code>. | |
211 | ||
212 | ||
213 | <a name="method4"></a> | |
214 | <p/><strong>double CoupSM::alphaS1Ord(double scale2) </strong> <br/> | |
215 | a first-order overestimate of the full second-order <i>alpha_strong</i> | |
216 | value at the quadratic scale <code>scale2</code>. | |
217 | ||
218 | ||
219 | <a name="method5"></a> | |
220 | <p/><strong>double CoupSM::alphaS2OrdCorr(double scale2) </strong> <br/> | |
221 | a multiplicative correction factor, below unity, that brings the | |
222 | first-order overestimate above into agreement with the full second-order | |
223 | <i>alpha_strong</i> value at the quadratic scale <code>scale2</code>. | |
224 | ||
225 | ||
226 | <a name="method6"></a> | |
227 | <p/><strong>double CoupSM::Lambda3() </strong> <br/> | |
228 | ||
229 | <strong>double CoupSM::Lambda4() </strong> <br/> | |
230 | ||
231 | <strong>double CoupSM::Lambda5() </strong> <br/> | |
232 | the three-, four-, and five-flavour <i>Lambda</i> scale. | |
233 | ||
234 | ||
235 | <a name="method7"></a> | |
236 | <p/><strong>double CoupSM::alphaEM(double scale2) </strong> <br/> | |
237 | the <i>alpha_em</i> value at the quadratic scale <code>scale2</code>. | |
238 | ||
239 | ||
240 | <a name="method8"></a> | |
241 | <p/><strong>double CoupSM::sin2thetaW() </strong> <br/> | |
242 | ||
243 | <strong>double CoupSM::cos2thetaW() </strong> <br/> | |
244 | the sine-squared and cosine-squared of the weak mixing angle, as used in | |
245 | the gauge-boson sector. | |
246 | ||
247 | ||
248 | <a name="method9"></a> | |
249 | <p/><strong>double CoupSM::sin2thetaWbar() </strong> <br/> | |
250 | the sine-squared of the weak mixing angle, as used to derive the vector | |
251 | couplings of fermions to the <i>Z^0</i>. | |
252 | ||
253 | ||
254 | <a name="method10"></a> | |
255 | <p/><strong>double CoupSM::GF() </strong> <br/> | |
256 | the Fermi constant of weak decays, in GeV<i>^-2</i>. | |
257 | ||
258 | ||
259 | <a name="method11"></a> | |
260 | <p/><strong>double CoupSM::ef(int idAbs) </strong> <br/> | |
261 | the electrical charge of a fermion, by the absolute sign of the PDF code, | |
262 | i.e. <code>idAbs</code> must be in the range between 1 and 18. | |
263 | ||
264 | ||
265 | <a name="method12"></a> | |
266 | <p/><strong>double CoupSM::vf(int idAbs) </strong> <br/> | |
267 | ||
268 | <strong>double CoupSM::af(int idAbs) </strong> <br/> | |
269 | the vector and axial charges of a fermion, by the absolute sign of the PDF | |
270 | code (<i>a_f = +-1, v_f = a_f - 4. * sin2thetaWbar * e_f</i>). | |
271 | ||
272 | ||
273 | <a name="method13"></a> | |
274 | <p/><strong>double CoupSM::t3f(int idAbs) </strong> <br/> | |
275 | ||
276 | <strong>double CoupSM::lf(int idAbs) </strong> <br/> | |
277 | ||
278 | <strong>double CoupSM::rf(int idAbs) </strong> <br/> | |
279 | the weak isospin, left- and righthanded charges of a fermion, by the | |
280 | absolute sign of the PDF code (<i>t^3_f = a_f/2, l_f = (v_f + a_f)/2, | |
281 | r_f = (v_f - a_f)/2</i>; you may find other conventions in the literature | |
282 | that differ by a factor of 2). | |
283 | ||
284 | ||
285 | <a name="method14"></a> | |
286 | <p/><strong>double CoupSM::ef2(int idAbs) </strong> <br/> | |
287 | ||
288 | <strong>double CoupSM::vf2(int idAbs) </strong> <br/> | |
289 | ||
290 | <strong>double CoupSM::af2(int idAbs) </strong> <br/> | |
291 | ||
292 | <strong>double CoupSM::efvf(int idAbs) </strong> <br/> | |
293 | ||
294 | <strong>double CoupSM::vf2af2(int idAbs) </strong> <br/> | |
295 | common quadratic combinations of the above couplings: | |
296 | <i>e_f^2, v_f^2, a_f^2, e_f * v_f, v_f^2 + a_f^2</i>. | |
297 | ||
298 | ||
299 | <a name="method15"></a> | |
300 | <p/><strong>double CoupSM::VCKMgen(int genU, int genD) </strong> <br/> | |
301 | ||
302 | <strong>double CoupSM::V2CKMgen(int genU, int genD) </strong> <br/> | |
303 | the CKM mixing element,or the square of it, for | |
304 | up-type generation index <code>genU</code> | |
305 | (<i>1 = u, 2 = c, 3 = t, 4 = t'</i>) and | |
306 | down-type generation index <code>genD</code> | |
307 | (<i>1 = d, 2 = s, 3 = b, 4 = b'</i>). | |
308 | ||
309 | ||
310 | <a name="method16"></a> | |
311 | <p/><strong>double CoupSM::VCKMid(int id1, int id2) </strong> <br/> | |
312 | ||
313 | <strong>double CoupSM::V2CKMid(int id1, int id2) </strong> <br/> | |
314 | the CKM mixing element,or the square of it, for | |
315 | flavours <code>id1</code> and <code>id2</code>, both in the | |
316 | range from <i>-18</i> to <i>+18</i>. The sign is here not | |
317 | checked (so it can be used both for <i>u + dbar -> W+</i> | |
318 | and <i>u -> d + W+</i>, say), but impossible flavour combinations | |
319 | evaluate to zero. The neutrino sector is numbered by flavor | |
320 | eigenstates, so there is no mixing in the lepton-neutrino system. | |
321 | ||
322 | ||
323 | <a name="method17"></a> | |
324 | <p/><strong>double CoupSM::V2CKMsum(int id) </strong> <br/> | |
325 | the sum of squared CKM mixing element that a given flavour can couple to, | |
326 | excluding the top quark and fourth generation. Is close to unity | |
327 | for the first two generations. Returns unity for the lepton-neutrino | |
328 | sector. | |
329 | ||
330 | ||
331 | <a name="method18"></a> | |
332 | <p/><strong>int CoupSM::V2CKMpick(int id) </strong> <br/> | |
333 | picks a random CKM partner quark or lepton (with the same sign as | |
334 | <code>id</code>) according to the respective squared elements, again | |
335 | excluding the top quark and fourth generation from the list of | |
336 | possibilities. Unambiguous choice for the lepton-neutrino sector. | |
337 | ||
338 | ||
339 | <input type="hidden" name="saved" value="1"/> | |
340 | ||
341 | <?php | |
342 | echo "<input type='hidden' name='filepath' value='".$_GET["filepath"]."'/>"?> | |
343 | ||
344 | <table width="100%"><tr><td align="right"><input type="submit" value="Save Settings" /></td></tr></table> | |
345 | </form> | |
346 | ||
347 | <?php | |
348 | ||
349 | if($_POST["saved"] == 1) | |
350 | { | |
351 | $filepath = $_POST["filepath"]; | |
352 | $handle = fopen($filepath, 'a'); | |
353 | ||
354 | if($_POST["1"] != "0.00729735") | |
355 | { | |
356 | $data = "StandardModel:alphaEM0 = ".$_POST["1"]."\n"; | |
357 | fwrite($handle,$data); | |
358 | } | |
359 | if($_POST["2"] != "0.00781751") | |
360 | { | |
361 | $data = "StandardModel:alphaEMmZ = ".$_POST["2"]."\n"; | |
362 | fwrite($handle,$data); | |
363 | } | |
364 | if($_POST["3"] != "0.2312") | |
365 | { | |
366 | $data = "StandardModel:sin2thetaW = ".$_POST["3"]."\n"; | |
367 | fwrite($handle,$data); | |
368 | } | |
369 | if($_POST["4"] != "0.2315") | |
370 | { | |
371 | $data = "StandardModel:sin2thetaWbar = ".$_POST["4"]."\n"; | |
372 | fwrite($handle,$data); | |
373 | } | |
374 | if($_POST["5"] != "1.16637e-5") | |
375 | { | |
376 | $data = "StandardModel:GF = ".$_POST["5"]."\n"; | |
377 | fwrite($handle,$data); | |
378 | } | |
379 | if($_POST["6"] != "0.97383") | |
380 | { | |
381 | $data = "StandardModel:Vud = ".$_POST["6"]."\n"; | |
382 | fwrite($handle,$data); | |
383 | } | |
384 | if($_POST["7"] != "0.2272") | |
385 | { | |
386 | $data = "StandardModel:Vus = ".$_POST["7"]."\n"; | |
387 | fwrite($handle,$data); | |
388 | } | |
389 | if($_POST["8"] != "0.00396") | |
390 | { | |
391 | $data = "StandardModel:Vub = ".$_POST["8"]."\n"; | |
392 | fwrite($handle,$data); | |
393 | } | |
394 | if($_POST["9"] != "0.2271") | |
395 | { | |
396 | $data = "StandardModel:Vcd = ".$_POST["9"]."\n"; | |
397 | fwrite($handle,$data); | |
398 | } | |
399 | if($_POST["10"] != "0.97296") | |
400 | { | |
401 | $data = "StandardModel:Vcs = ".$_POST["10"]."\n"; | |
402 | fwrite($handle,$data); | |
403 | } | |
404 | if($_POST["11"] != "0.04221") | |
405 | { | |
406 | $data = "StandardModel:Vcb = ".$_POST["11"]."\n"; | |
407 | fwrite($handle,$data); | |
408 | } | |
409 | if($_POST["12"] != "0.00814") | |
410 | { | |
411 | $data = "StandardModel:Vtd = ".$_POST["12"]."\n"; | |
412 | fwrite($handle,$data); | |
413 | } | |
414 | if($_POST["13"] != "0.04161") | |
415 | { | |
416 | $data = "StandardModel:Vts = ".$_POST["13"]."\n"; | |
417 | fwrite($handle,$data); | |
418 | } | |
419 | if($_POST["14"] != "0.9991") | |
420 | { | |
421 | $data = "StandardModel:Vtb = ".$_POST["14"]."\n"; | |
422 | fwrite($handle,$data); | |
423 | } | |
424 | fclose($handle); | |
425 | } | |
426 | ||
427 | ?> | |
428 | </body> | |
429 | </html> | |
430 | ||
431 | <!-- Copyright (C) 2013 Torbjorn Sjostrand --> |