22.02.2013 Views

A Mathematica based Version of the CKMfitter Package

A Mathematica based Version of the CKMfitter Package

A Mathematica based Version of the CKMfitter Package

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

22 Chapter 4. A <strong>Ma<strong>the</strong>matica</strong> <strong>based</strong> <strong>Version</strong> <strong>of</strong> <strong>the</strong> <strong>CKMfitter</strong> <strong>Package</strong><br />

4.5 Theory <strong>Package</strong>s<br />

Theory packages provide <strong>the</strong> full physical information on <strong>the</strong> fit variables. Since no<br />

global variables are used in <strong>Ma<strong>the</strong>matica</strong>, all variables are initialized only in <strong>the</strong> context<br />

<strong>of</strong> <strong>the</strong>ir <strong>the</strong>ory package. For each observable, <strong>the</strong> <strong>the</strong>oretical expression x<strong>the</strong>o<br />

is defined and <strong>the</strong> partial derivatives ∂x<strong>the</strong>o/∂ymod with respect to all model parameters<br />

ymod are symbolically calculated. Finally, all expressions are written into<br />

a list named “<strong>the</strong>ory”, which is loaded from <strong>the</strong> analysis notebook. Theory packages<br />

are stored in a binary format (.mx), that is optimized for input by <strong>Ma<strong>the</strong>matica</strong>.<br />

It is possible to define an observable in different <strong>the</strong>oretical frameworks, e. g. <strong>the</strong> B 0 -<br />

¯B 0 oscillations in <strong>the</strong> Standard Model or in a New Physics model (see Chapter 6).<br />

Thus, a <strong>the</strong>ory package can include several <strong>the</strong>ory lists, one for each <strong>the</strong>oretical<br />

framework or possible different parametrization. Different <strong>the</strong>ory lists in <strong>the</strong> same<br />

<strong>the</strong>ory package are distinguished by version labels, which have to be specified in <strong>the</strong><br />

datacard.<br />

It is advantageous for <strong>the</strong> fit to store all expressions and derivatives in <strong>the</strong>ir simplest<br />

form. This can be obtained using <strong>the</strong> intrinsic <strong>Ma<strong>the</strong>matica</strong> functions Simplify and<br />

FullSimplify. For complex expressions, this may lead to a very high CPU time<br />

consumption during <strong>the</strong> <strong>the</strong>ory package development. More detailed information on<br />

<strong>the</strong> development <strong>of</strong> <strong>the</strong>ory packages are given in a tutorial, which accrued during<br />

this work. It is available in Appendix E.4.<br />

In <strong>the</strong> following, four important <strong>the</strong>ory packages, which are related to this work, are<br />

introduced.<br />

4.5.1 CKMmatrix<br />

The <strong>the</strong>ory package CKMmatrix is <strong>the</strong> basis <strong>of</strong> <strong>the</strong> <strong>Ma<strong>the</strong>matica</strong> <strong>based</strong> <strong>CKMfitter</strong><br />

package and was coded by Jérôme Charles. It contains all relevant definitions<br />

<strong>of</strong> CKM matrix and Unitarity Triangle parameters in <strong>the</strong> exact Wolfenstein<br />

parametrization, e. g. <strong>the</strong> real and imaginary parts <strong>of</strong> <strong>the</strong> CKM matrix elements,<br />

Re (Vij) and Im (Vij), and <strong>the</strong> UT angles α, β, γ.<br />

An important object is <strong>the</strong> wolfCKM function. This is a list <strong>of</strong> rules and provides<br />

<strong>the</strong> real and imaginary parts <strong>of</strong> all CKM matrix elements Re (Vij) and Im (Vij).<br />

Its argument is <strong>the</strong> order <strong>of</strong> <strong>the</strong> expansion into Wolfenstein parameters, where “∞”<br />

means <strong>the</strong> exact expressions up to all orders.<br />

The CKMmatrix package needs to be sourced from each <strong>the</strong>ory package, where <strong>the</strong><br />

Wolfenstein parameters are used or <strong>the</strong> wolfCKM function is evaluated.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!