コード例 #1
0
ファイル: test_smpar.py プロジェクト: knut0815/wilson
 def test_smpar_roundtrip(self):
     wc = get_random_wc('SMEFT', 'Warsaw', cmax=1e-6)
     smeft = SMEFT(wc=None)
     smeft.scale_in = 160
     smeft._set_initial_wcxf(wc, get_smpar=False)
     CSM = smpar.smeftpar(smeft.scale_in, smeft.C_in, 'Warsaw')
     Cboth = CSM.copy()
     Cboth.update(smeft.C_in)
     Cback = smpar.smpar(Cboth)
     for k in smpar.p:
         if k in ['m_Z']:
             self.assertAlmostEqual(smpar.p[k] / Cback[k],
                                    1,
                                    msg="Failed for {}".format(k),
                                    delta=0.05)
         elif k in ['delta']:
             self.assertAlmostEqual(smpar.p[k] / Cback[k],
                                    1,
                                    msg="Failed for {}".format(k),
                                    delta=1e-3)
         else:
             self.assertAlmostEqual(smpar.p[k] / Cback[k],
                                    1,
                                    msg="Failed for {}".format(k),
                                    delta=1e-5)
コード例 #2
0
ファイル: test_smpar.py プロジェクト: knut0815/wilson
 def test_smeftpar_small(self):
     wc = get_random_wc('SMEFT', 'Warsaw', cmax=1e-24)
     smeft = SMEFT(wc=None)
     smeft.scale_in = 160
     smeft._set_initial_wcxf(wc, get_smpar=False)
     with self.assertRaises(ValueError):
         smpar.smeftpar(smeft.scale_in, smeft.C_in, 'flavio')
     CSM = smpar.smeftpar(smeft.scale_in, smeft.C_in, 'Warsaw')
     p = smpar.p
     self.assertAlmostEqual(CSM['m2'], p['m_h']**2 / 2)
     v = sqrt(1 / sqrt(2) / p['GF'])
     self.assertAlmostEqual(CSM['Lambda'], p['m_h']**2 / v**2)
     self.assertAlmostEqual(CSM['g'], 2 * p['m_W'] / v)
     # self.assertAlmostEqual(CSM['gp'])
     self.assertAlmostEqual(CSM['gs'], sqrt(4 * pi * p['alpha_s']))
     self.assertAlmostEqual(CSM['Gd'][0, 0], p['m_d'] / (v / sqrt(2)))
     self.assertAlmostEqual(CSM['Gd'][1, 1], p['m_s'] / (v / sqrt(2)))
     self.assertAlmostEqual(CSM['Gd'][2, 2], p['m_b'] / (v / sqrt(2)))
     self.assertAlmostEqual(CSM['Ge'][0, 0], p['m_e'] / (v / sqrt(2)))
     self.assertAlmostEqual(CSM['Ge'][1, 1], p['m_mu'] / (v / sqrt(2)))
     self.assertAlmostEqual(CSM['Ge'][2, 2], p['m_tau'] / (v / sqrt(2)))
     UL, S, UR = ckmutil.diag.msvd(CSM['Gu'])
     V = UL.conj().T
     self.assertAlmostEqual(S[0], p['m_u'] / (v / sqrt(2)))
     self.assertAlmostEqual(S[1], p['m_c'] / (v / sqrt(2)))
     self.assertAlmostEqual(S[2], p['m_t'] / (v / sqrt(2)))
     self.assertAlmostEqual(abs(V[0, 2]), p['Vub'])
     self.assertAlmostEqual(abs(V[1, 2]), p['Vcb'])
     self.assertAlmostEqual(abs(V[0, 1]), p['Vus'])
コード例 #3
0
 def test_smpar_small(self):
     wc = get_random_wc('SMEFT', 'Warsaw', cmax=1e-24)
     smeft = SMEFT(wc=None)
     smeft.scale_in = 160
     smeft._set_initial_wcxf(wc, get_smpar=False)
     CSM = smpar.smeftpar(smeft.scale_in, smeft.C_in, 'Warsaw')
     Cboth = CSM.copy()
     Cboth.update(smeft.C_in)
     Cback = smpar.smpar(Cboth)
     for k in smpar.p:
         if k not in ['m_Z', 'gamma']:
             self.assertAlmostEqual(smpar.p[k], Cback[k],
                                    msg="Failed for {}".format(k))