Skip to content

Commit

Permalink
use charged lepton pole masses if threshold corrections are disabled
Browse files Browse the repository at this point in the history
This is a continuation of commit 1c7e4a7
  • Loading branch information
Alexander Voigt authored and Alexander Voigt committed Mar 3, 2016
1 parent 701733c commit 002c904
Show file tree
Hide file tree
Showing 6 changed files with 51 additions and 34 deletions.
48 changes: 26 additions & 22 deletions src/lowe.cpp
Expand Up @@ -13,7 +13,7 @@ namespace softsusy {

const char* QedQcd_input_parmeter_names[NUMBER_OF_LOW_ENERGY_INPUT_PARAMETERS] = {
"alpha_em_MSbar_at_MZ", "GFermi", "alpha_s_MSbar_at_MZ", "MZ_pole",
"mb_mb", "MT_pole", "MTau_pole", "MMuon_pole", "Mv3_pole", "MW_pole", "ME_pole",
"mb_mb", "MT_pole", "MTau_pole", "MMuon_pole", "MElectron_pole", "Mv3_pole", "MW_pole", "ME_pole",
"Mv1_pole", "MM_pole", "Mv2_pole", "MD_2GeV", "MU_2GeV", "MS_2GeV",
"MC_2GeV" };

Expand All @@ -25,6 +25,7 @@ QedQcd::QedQcd()
: a(2), mf(9), mnu(3), mtPole(PMTOP), mbPole(PMBOTTOM), mbMb(MBOTTOM),
mtauPole(MTAU)
, mmuonPole(MMUON)
, melPole(MELECTRON)
, mwPole(flexiblesusy::Electroweak_constants::MW)
, mzPole(flexiblesusy::Electroweak_constants::MZ)
, gfermi(flexiblesusy::Electroweak_constants::gfermi)
Expand All @@ -50,6 +51,7 @@ const QedQcd & QedQcd::operator=(const QedQcd & m) {
mbMb = m.mbMb;
mtauPole = m.mtauPole;
mmuonPole = m.mmuonPole;
melPole = m.melPole;
mwPole = m.mwPole;
mzPole = m.mzPole;
gfermi = m.gfermi;
Expand Down Expand Up @@ -632,21 +634,22 @@ void QedQcd::set_input(const Eigen::ArrayXd& pars)
mtPole = pars(5);
mtauPole = pars(6);
mmuonPole= pars(7);
mnu(3) = pars(8);
mwPole = pars(9);
mf(7) = pars(10); // ME_pole
mnu(1) = pars(11);
mf(8) = pars(12); // MM_pole
mnu(2) = pars(13);
mf(4) = pars(14); // MD
mf(1) = pars(15); // MU
mf(5) = pars(16); // MS
mf(2) = pars(17); // MC
melPole = pars(8);
mnu(3) = pars(9);
mwPole = pars(10);
mf(7) = pars(11); // ME
mnu(1) = pars(12);
mf(8) = pars(13); // MM
mnu(2) = pars(14);
mf(4) = pars(15); // MD
mf(1) = pars(16); // MU
mf(5) = pars(17); // MS
mf(2) = pars(18); // MC
}

Eigen::ArrayXd QedQcd::display_input() const
{
Eigen::ArrayXd pars(18);
Eigen::ArrayXd pars(19);

pars(0) = a(1);
pars(1) = gfermi;
Expand All @@ -656,16 +659,17 @@ Eigen::ArrayXd QedQcd::display_input() const
pars(5) = mtPole;
pars(6) = mtauPole;
pars(7) = mmuonPole;
pars(8) = mnu(3);
pars(9) = mwPole;
pars(10) = mf(7); // ME_pole
pars(11) = mnu(1);
pars(12) = mf(8); // MM_pole
pars(13) = mnu(2);
pars(14) = mf(4); // MD
pars(15) = mf(1); // MU
pars(16) = mf(5); // MS
pars(17) = mf(2); // MC
pars(8) = melPole;
pars(9) = mnu(3);
pars(10) = mwPole;
pars(11) = mf(7); // ME
pars(12) = mnu(1);
pars(13) = mf(8); // MM
pars(14) = mnu(2);
pars(15) = mf(4); // MD
pars(16) = mf(1); // MU
pars(17) = mf(5); // MS
pars(18) = mf(2); // MC

return pars;
}
Expand Down
10 changes: 7 additions & 3 deletions src/lowe.h
Expand Up @@ -51,7 +51,7 @@ typedef enum {mUp=1, mCharm, mTop, mDown, mStrange, mBottom, mElectron,
typedef enum {ALPHA=1, ALPHAS} leGauge;

enum QedQcd_input_parmeters : unsigned { alpha_em_MSbar_at_MZ, GFermi,
alpha_s_MSbar_at_MZ, MZ_pole, mb_mb, MT_pole, MTau_pole, MMuon_pole, Mv3_pole,
alpha_s_MSbar_at_MZ, MZ_pole, mb_mb, MT_pole, MTau_pole, MMuon_pole, MElectron_pole, Mv3_pole,
MW_pole, ME_pole, Mv1_pole, MM_pole, Mv2_pole, MD, MU, MS, MC,
NUMBER_OF_LOW_ENERGY_INPUT_PARAMETERS};

Expand All @@ -73,6 +73,7 @@ class QedQcd: public RGE
double mbMb; ///< mb(mb) in the MSbar scheme with only QCD corrections
double mtauPole; ///< tau pole mass
double mmuonPole; ///< muon pole mass
double melPole; ///< electron pole mass
double mwPole; ///< W boson pole mass
double mzPole; ///< Z boson pole mass
double gfermi; ///< Fermi constant
Expand All @@ -90,7 +91,8 @@ class QedQcd: public RGE
void setPoleMt(double mt) { mtPole = mt; }; ///< set pole top mass
void setPoleMb(double mb) { mbPole = mb; }; ///< set pole bottom mass
void setPoleMtau(double mtau) { mtauPole = mtau; }; ///< set pole tau mass
void setPoleMmuon(double m) { mmuonPole = m; }; ///< set pole tau mass
void setPoleMmuon(double m) { mmuonPole = m; } ///< set pole muon mass
void setPoleMel(double m) { melPole = m; } ///< set pole electron mass
void setMbMb(double mb) { mbMb = mb; }; ///< set mb(mb)
void setPoleMW(double mw) { mwPole = mw; } ///< set W boson pole mass
void setPoleMZ(double mz) { mzPole = mz; } ///< set Z boson pole mass
Expand All @@ -117,6 +119,8 @@ class QedQcd: public RGE
double displayPoleMtau() const { return mtauPole; };
/// Display pole muon mass
double displayPoleMmuon() const { return mmuonPole; };
/// Display pole electron mass
double displayPoleMel() const { return melPole; };
/// Returns bottom "pole" mass
double displayPoleMb() const { return mbPole; };
/// Returns W boson pole mass
Expand Down Expand Up @@ -210,7 +214,7 @@ double getRunMtFromMz(double poleMt, double asMZ);

inline QedQcd::QedQcd(const QedQcd &m)
: RGE(), a(m.a), mf(m.mf), mnu(m.mnu), mtPole(m.mtPole), mbPole(m.mbPole), mbMb(m.mbMb),
mtauPole(m.mtauPole), mmuonPole(m.mmuonPole), mwPole(m.mwPole), mzPole(m.mzPole), gfermi(m.gfermi),
mtauPole(m.mtauPole), mmuonPole(m.mmuonPole), melPole(m.melPole), mwPole(m.mwPole), mzPole(m.mzPole), gfermi(m.gfermi),
ckm(m.ckm), pmns(m.pmns)
{
setPars(11);
Expand Down
5 changes: 3 additions & 2 deletions src/slha_io.cpp
Expand Up @@ -425,9 +425,9 @@ void SLHA_io::set_sminputs(const softsusy::QedQcd& qedqcd_)
ss << FORMAT_ELEMENT( 7, qedqcd.displayPoleMtau() , "mtau(pole)");
ss << FORMAT_ELEMENT( 8, qedqcd.displayNeutrinoPoleMass(3), "mnu3(pole)");
ss << FORMAT_ELEMENT( 9, qedqcd.displayPoleMW() , "MW(pole)");
ss << FORMAT_ELEMENT(11, qedqcd.displayMass(mElectron), "melectron(pole)");
ss << FORMAT_ELEMENT(11, qedqcd.displayPoleMel() , "melectron(pole)");
ss << FORMAT_ELEMENT(12, qedqcd.displayNeutrinoPoleMass(1), "mnu1(pole)");
ss << FORMAT_ELEMENT(13, qedqcd.displayMass(mMuon) , "mmuon(pole)");
ss << FORMAT_ELEMENT(13, qedqcd.displayPoleMmuon() , "mmuon(pole)");
ss << FORMAT_ELEMENT(14, qedqcd.displayNeutrinoPoleMass(2), "mnu2(pole)");

// recalculate mc(mc)^MS-bar
Expand Down Expand Up @@ -541,6 +541,7 @@ void SLHA_io::process_sminputs_tuple(softsusy::QedQcd& qedqcd, int key, double v
break;
case 11:
qedqcd.setMass(mElectron, value);
qedqcd.setPoleMel(value);
break;
case 12:
qedqcd.setNeutrinoPoleMass(1, value);
Expand Down
8 changes: 6 additions & 2 deletions templates/two_scale_initial_guesser.cpp.in
Expand Up @@ -108,8 +108,12 @@ void @ModelName@_initial_guesser<Two_scale>::guess_susy_parameters()
md_guess = leAtMt.displayMass(mDown);
ms_guess = leAtMt.displayMass(mStrange);
mb_guess = leAtMt.displayMass(mBottom);
me_guess = leAtMt.displayMass(mElectron);
mm_guess = leAtMt.displayMass(mMuon);
me_guess = model->get_thresholds() > 0 ?
leAtMt.displayMass(mElectron) :
leAtMt.displayPoleMel();
mm_guess = model->get_thresholds() > 0 ?
leAtMt.displayMass(mMuon) :
leAtMt.displayPoleMmuon();
mtau_guess = leAtMt.displayMass(mTau);

// guess gauge couplings at mt
Expand Down
8 changes: 6 additions & 2 deletions templates/two_scale_initial_guesser_low_scale_model.cpp.in
Expand Up @@ -105,8 +105,12 @@ void @ModelName@_initial_guesser<Two_scale>::guess_susy_parameters()
md_guess = leAtMt.displayMass(mDown);
ms_guess = leAtMt.displayMass(mStrange);
mb_guess = leAtMt.displayMass(mBottom);
me_guess = leAtMt.displayMass(mElectron);
mm_guess = leAtMt.displayMass(mMuon);
me_guess = model->get_thresholds() > 0 ?
leAtMt.displayMass(mElectron) :
leAtMt.displayPoleMel();
mm_guess = model->get_thresholds() > 0 ?
leAtMt.displayMass(mMuon) :
leAtMt.displayPoleMmuon();
mtau_guess = leAtMt.displayMass(mTau);

// guess gauge couplings at mt
Expand Down
6 changes: 3 additions & 3 deletions templates/two_scale_low_scale_constraint.cpp.in
Expand Up @@ -339,9 +339,9 @@ void @ModelName@_low_scale_constraint<Two_scale>::calculate_@ElectronYukawa@_DRb
"calculate_@ElectronYukawa@_DRbar(): model pointer is zero");

Eigen::Matrix<std::complex<double>,3,3> electronDRbar(ZEROMATRIXCOMPLEX(3,3));
electronDRbar(0,0) = qedqcd.displayMass(softsusy::mElectron);
electronDRbar(1,1) = qedqcd.displayMass(softsusy::mMuon);
electronDRbar(2,2) = qedqcd.displayMass(softsusy::mTau);
electronDRbar(0,0) = qedqcd.displayPoleMel();
electronDRbar(1,1) = qedqcd.displayPoleMmuon();
electronDRbar(2,2) = qedqcd.displayPoleMtau();

if (model->get_thresholds()) {
@calculateDRbarMassElectron@
Expand Down

0 comments on commit 002c904

Please sign in to comment.