Skip to content

Commit

Permalink
setting SM input parameters
Browse files Browse the repository at this point in the history
  • Loading branch information
Alexander Voigt authored and Alexander Voigt committed Jul 9, 2016
1 parent 6902a3e commit 65f72f7
Show file tree
Hide file tree
Showing 2 changed files with 83 additions and 4 deletions.
36 changes: 35 additions & 1 deletion templates/librarylink.cpp.in
Expand Up @@ -140,7 +140,7 @@ Model_data fill(double* pars, mint npars)
{
Model_data data;

const mint n_settings = 17, n_sm_parameters = 0;
const mint n_settings = 17, n_sm_parameters = 19;
const mint n_total = n_settings + n_sm_parameters;

if (npars != n_total) {
Expand Down Expand Up @@ -169,6 +169,40 @@ Model_data fill(double* pars, mint npars)
data.settings.set(Spectrum_generator_settings::pole_mass_scale, pars[c++]);
data.parameter_output_scale = pars[c++];

data.qedqcd = softsusy::QedQcd();

data.qedqcd.setAlpha(softsusy::ALPHA, pars[c]);
data.qedqcd.setAlphaEmInput(pars[c++]);
data.qedqcd.setFermiConstant(pars[c++]);
data.qedqcd.setAlpha(softsusy::ALPHAS, pars[c]);
data.qedqcd.setAlphaSInput(pars[c++]);
data.qedqcd.setPoleMZ(pars[c]);
data.qedqcd.setMu(pars[c++]);
data.qedqcd.setMass(softsusy::mBottom, pars[c]);
data.qedqcd.setMbMb(pars[c++]);
data.qedqcd.setPoleMt(pars[c++]);
data.qedqcd.setMass(softsusy::mTau, pars[c]);
data.qedqcd.setPoleMtau(pars[c++]);
data.qedqcd.setNeutrinoPoleMass(3, pars[c++]);
data.qedqcd.setPoleMW(pars[c++]);
data.qedqcd.setMass(softsusy::mElectron, pars[c]);
data.qedqcd.setPoleMel(pars[c++]);
data.qedqcd.setNeutrinoPoleMass(1, pars[c++]);
data.qedqcd.setMass(softsusy::mMuon, pars[c]);
data.qedqcd.setPoleMmuon(pars[c++]);
data.qedqcd.setNeutrinoPoleMass(2, pars[c++]);
data.qedqcd.setMass(softsusy::mDown, pars[c]);
data.qedqcd.setMd2GeV(pars[c++]);
data.qedqcd.setMass(softsusy::mUp, pars[c]);
data.qedqcd.setMu2GeV(pars[c++]);
data.qedqcd.setMass(softsusy::mStrange, pars[c]);
data.qedqcd.setMs2GeV(pars[c++]);
data.qedqcd.setMass(softsusy::mCharm, pars[c]);
data.qedqcd.setMcMc(pars[c++]);

data.physical_input.set(Physical_input::alpha_em_0, pars[c++]);
data.physical_input.set(Physical_input::mh_pole, pars[c++]);

if (npars != c) {
std::cerr << "Error: Bug: number of given input parameters (" << npars
<< ") does not match number of set input parameters (" << c
Expand Down
51 changes: 48 additions & 3 deletions templates/librarylink.m.in
Expand Up @@ -24,13 +24,37 @@ fsDefaultSettings = {
parameterOutputScale -> 0 (* MODSEL[12] *)
};

fsDefaultSMParameters = {
alphaEmMZ -> 1/127.916, (* SMINPUTS[1] *)
GF -> 1.16637*^-5, (* SMINPUTS[2] *)
alphaSMZ -> 0.1184, (* SMINPUTS[3] *)
MZ -> 91.1876, (* SMINPUTS[4] *)
mbmb -> 4.18, (* SMINPUTS[5] *)
Mt -> 173.34, (* SMINPUTS[6] *)
Mtau -> 1.777, (* SMINPUTS[7] *)
Mv3 -> 0, (* SMINPUTS[8] *)
MW -> 80.385, (* SMINPUTS[9] *)
Me -> 0.000510998902, (* SMINPUTS[11] *)
Mv1 -> 0, (* SMINPUTS[12] *)
Mm -> 0.1056583715, (* SMINPUTS[13] *)
Mv2 -> 0, (* SMINPUTS[14] *)
md2GeV -> 0.00475, (* SMINPUTS[21] *)
mu2GeV -> 0.0024, (* SMINPUTS[22] *)
ms2GeV -> 0.104, (* SMINPUTS[23] *)
mcmc -> 1.27, (* SMINPUTS[24] *)
alphaEm0 -> 1/137.035999074,
Mh -> 125.09
};

Options[FS@ModelName@OpenHandle] = {
fsSettings -> fsDefaultSettings
fsSettings -> fsDefaultSettings,
fsSMParameters -> fsDefaultSMParameters
};

FS@ModelName@OpenHandle[OptionsPattern[]] :=
FS@ModelName@OpenHandleLib[
{
(* spectrum generator settings *)
precisionGoal /. OptionValue[fsSettings],
maxIterations /. OptionValue[fsSettings],
calculateStandardModelMasses /. OptionValue[fsSettings],
Expand All @@ -47,9 +71,30 @@ FS@ModelName@OpenHandle[OptionsPattern[]] :=
betaZeroThreshold /. OptionValue[fsSettings],
forcePositiveMasses /. OptionValue[fsSettings],
poleMassScale /. OptionValue[fsSettings],
parameterOutputScale /. OptionValue[fsSettings]
parameterOutputScale /. OptionValue[fsSettings],

(* Standard Model input parameters *)
alphaEmMZ /. OptionValue[fsSMParameters],
GF /. OptionValue[fsSMParameters],
alphaSMZ /. OptionValue[fsSMParameters],
MZ /. OptionValue[fsSMParameters],
mbmb /. OptionValue[fsSMParameters],
Mt /. OptionValue[fsSMParameters],
Mtau /. OptionValue[fsSMParameters],
Mv3 /. OptionValue[fsSMParameters],
MW /. OptionValue[fsSMParameters],
Me /. OptionValue[fsSMParameters],
Mv1 /. OptionValue[fsSMParameters],
Mm /. OptionValue[fsSMParameters],
Mv2 /. OptionValue[fsSMParameters],
md2GeV /. OptionValue[fsSMParameters],
mu2GeV /. OptionValue[fsSMParameters],
ms2GeV /. OptionValue[fsSMParameters],
mcmc /. OptionValue[fsSMParameters],
alphaEm0 /. OptionValue[fsSMParameters],
Mh /. OptionValue[fsSMParameters]
}
];
];

handle = FS@ModelName@OpenHandle[];
FS@ModelName@CalculateSpectrum[handle];
Expand Down

0 comments on commit 65f72f7

Please sign in to comment.