Skip to content

Commit

Permalink
use stable implementation of QedQcd::toMz()
Browse files Browse the repository at this point in the history
The new implementation is stable in the sense that it can be called
multiple times and the result stays the same.  Furthermore, it is
thread-safe.
  • Loading branch information
Alexander Voigt authored and Alexander Voigt committed Dec 24, 2016
1 parent 4688011 commit 955b421
Show file tree
Hide file tree
Showing 3 changed files with 2 additions and 36 deletions.
33 changes: 1 addition & 32 deletions src/lowe.cpp
Expand Up @@ -342,41 +342,10 @@ double QedQcd::extractPoleMb(double alphasMb)
return mbPole;
}

// Calculates the pole mass from the running mass, which should be defined at
// mb
void QedQcd::calcPoleMb()
{
const double alphasMZ = displayAlpha(ALPHAS);
const double alphaMZ = displayAlpha(ALPHA);
const double saveMu = get_scale();

runGauge(get_scale(), displayMass(mBottom));
const double poleMb = extractPoleMb(displayAlpha(ALPHAS));
setPoleMb(poleMb);

// Reset to erase numerical integration errors.
setAlpha(ALPHAS, alphasMZ);
setAlpha(ALPHA, alphaMZ);
set_scale(saveMu);
}

// Takes QedQcd object created at MZ and spits it out at MZ
void QedQcd::toMz()
{
const double mt = input(MT_pole), as = a(ALPHAS - 1);
setMass(mTop, getRunMtFromMz(mt, as, displayPoleMZ()));
calcPoleMb();

const double tol = 1.0e-5;
const double alphasMZ = displayAlpha(ALPHAS);
const double alphaMZ = displayAlpha(ALPHA);
const double mz = displayPoleMZ();

runGauge(mz, 1.0);
run(1.0, mz, tol);
// Reset alphas to erase numerical integration errors.
setAlpha(ALPHAS, alphasMZ);
setAlpha(ALPHA, alphaMZ);
to(displayPoleMZ());
}

/**
Expand Down
3 changes: 0 additions & 3 deletions src/lowe.h
Expand Up @@ -104,9 +104,6 @@ class QedQcd: public flexiblesusy::Beta_function

/// calculates pole bottom mass given alpha_s(Mb)^{MSbar} from running b mass
double extractPoleMb(double asMb);
/// Calculates the pole mass from the running mass, which should be defined
/// at mb
void calcPoleMb();

public:
QedQcd();
Expand Down
2 changes: 1 addition & 1 deletion test/test_QedQcd.cpp
Expand Up @@ -29,5 +29,5 @@ BOOST_AUTO_TEST_CASE( test_QedQcd_toMz )
q1.toMz();
q2.toMz();

BOOST_CHECK(ToDoubleVector(q1.get()) == q2.display());
BOOST_CHECK_LT((q1.get() - ToEigenArray(q2.display())).abs().maxCoeff(), 2e-3);
}

0 comments on commit 955b421

Please sign in to comment.