import sys
import os
import numpy as np
from mpmath import fp
from scipy.special import gamma
from scipy.integrate import quad
[docs]class AUX:
def __init__(self):
self.set_constants()
self.set_masses()
self.set_couplings()
self.set_evolution()
[docs] def set_constants(self):
self.CA = 3.0
self.CF = 4.0 / 3.0
self.TR = 0.5
self.TF = 0.5
self.euler = fp.euler
# soft factors
self.soft = {}
[docs] def set_masses(self):
self.me = 0.000511
self.mmu = 0.105658
self.mtau = 1.77684
self.mu = 0.055
self.md = 0.055
self.ms = 0.2
self.mc = 1.51
self.mb = 4.92
self.mZ = 91.1876
self.mW = 80.398
self.M = 0.93891897
self.Mpi = 0.135
self.Mk = 0.497
self.me2 = self.me**2
self.mmu2 = self.mmu**2
self.mtau2 = self.mtau**2
self.mu2 = self.mu**2
self.md2 = self.md**2
self.ms2 = self.ms**2
self.mc2 = self.mc**2
self.mb2 = self.mb**2
self.mZ2 = self.mZ**2
self.mW2 = self.mW**2
self.M2 = self.M**2
self.Mpi2 = self.Mpi**2
[docs] def set_couplings(self):
self.c2w = self.mW2 / self.mZ2
self.s2w = 1.0 - self.c2w
self.s2wMZ = 0.23116
self.alfa = 1 / 137.036
self.alphaSMZ = 0.118
[docs] def set_evolution(self):
self.Q02=2.0
self.lam2=0.04
[docs] def p2n(self, p):
return np.copy(p[[0,3,4,1,2,5,6,7,8,9,10]])
[docs] def charge_conj(self,p):
return np.copy(p[[0,2,1,4,3,6,5,8,7,10,9]])
#def pip2piz(self, pip):
# piz = np.copy(pip)
# u = pip[1]
# ub = pip[2]
# d = pip[3]
# db = pip[4]
# piz[1] = 0.5 * (u + ub)
# piz[2] = 0.5 * (u + ub)
# piz[3] = 0.5 * (d + db)
# piz[4] = 0.5 * (d + db)
# return piz