Skip to content

Commit

Permalink
allow user to input CKM and PMNS matrices
Browse files Browse the repository at this point in the history
  • Loading branch information
Alexander Voigt authored and Alexander Voigt committed Jul 21, 2016
1 parent 1f11fdf commit d173b97
Show file tree
Hide file tree
Showing 2 changed files with 55 additions and 3 deletions.
38 changes: 35 additions & 3 deletions templates/librarylink.cpp.in
Expand Up @@ -295,11 +295,23 @@ void put_sm_input_parameters(const Model_data& data, MLINK link)
MLPutRuleTo(link, data.qedqcd.displayMs2GeV(), "ms2GeV");
MLPutRuleTo(link, data.qedqcd.displayMcMc(), "mcmc");

const flexiblesusy::CKM_parameters ckm(data.qedqcd.displayCKM());
MLPutRuleTo(link, ckm.theta_12, "CKMTheta12");
MLPutRuleTo(link, ckm.theta_13, "CKMTheta13");
MLPutRuleTo(link, ckm.theta_23, "CKMTheta23");
MLPutRuleTo(link, ckm.delta , "CKMDelta");

const flexiblesusy::PMNS_parameters pmns(data.qedqcd.displayPMNS());
MLPutRuleTo(link, pmns.theta_12, "PMNSTheta12");
MLPutRuleTo(link, pmns.theta_13, "PMNSTheta13");
MLPutRuleTo(link, pmns.theta_23, "PMNSTheta23");
MLPutRuleTo(link, pmns.delta , "PMNSDelta");
MLPutRuleTo(link, pmns.alpha_1 , "PMNSAlpha1");
MLPutRuleTo(link, pmns.alpha_2 , "PMNSAlpha2");

MLPutRuleTo(link, data.physical_input.get(Physical_input::alpha_em_0), "alphaEm0");
MLPutRuleTo(link, data.physical_input.get(Physical_input::mh_pole), "Mh");

// put CKM and PMNS matrices

MLEndPacket(link);
}

Expand Down Expand Up @@ -389,7 +401,7 @@ Model_data fill(double* pars, mint npars)
{
Model_data data;

const mint n_settings = 17, n_sm_parameters = 19, n_input_pars = @numberOfInputParameters@;
const mint n_settings = 17, n_sm_parameters = 29, n_input_pars = @numberOfInputParameters@;
const mint n_total = n_settings + n_sm_parameters + n_input_pars;

if (npars != n_total)
Expand Down Expand Up @@ -444,6 +456,26 @@ Model_data fill(double* pars, mint npars)
data.qedqcd.setMass(softsusy::mCharm, pars[c]);
data.qedqcd.setMcMc(pars[c++]);

{
flexiblesusy::CKM_parameters ckm;
ckm.theta_12 = pars[c++];
ckm.theta_13 = pars[c++];
ckm.theta_23 = pars[c++];
ckm.delta = pars[c++];
data.qedqcd.setCKM(ckm);
}

{
flexiblesusy::PMNS_parameters pmns;
pmns.theta_12 = pars[c++];
pmns.theta_13 = pars[c++];
pmns.theta_23 = pars[c++];
pmns.delta = pars[c++];
pmns.alpha_1 = pars[c++];
pmns.alpha_2 = pars[c++];
data.qedqcd.setPMNS(pmns);
}

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

Expand Down
20 changes: 20 additions & 0 deletions templates/librarylink.m.in
Expand Up @@ -57,6 +57,16 @@ fsDefaultSMParameters = {
mu2GeV -> 0.0024, (* SMINPUTS[22] *)
ms2GeV -> 0.104, (* SMINPUTS[23] *)
mcmc -> 1.27, (* SMINPUTS[24] *)
CKMTheta12 -> 0,
CKMTheta13 -> 0,
CKMTheta23 -> 0,
CKMDelta -> 0,
PMNSTheta12 -> 0,
PMNSTheta13 -> 0,
PMNSTheta23 -> 0,
PMNSDelta -> 0,
PMNSAlpha1 -> 0,
PMNSAlpha2 -> 0,
alphaEm0 -> 1/137.035999074,
Mh -> 125.09
};
Expand Down Expand Up @@ -114,6 +124,16 @@ FS@ModelName@OpenHandle[OptionsPattern[]] :=
OptionValue[mu2GeV],
OptionValue[ms2GeV],
OptionValue[mcmc],
OptionValue[CKMTheta12],
OptionValue[CKMTheta13],
OptionValue[CKMTheta23],
OptionValue[CKMDelta],
OptionValue[PMNSTheta12],
OptionValue[PMNSTheta13],
OptionValue[PMNSTheta23],
OptionValue[PMNSDelta],
OptionValue[PMNSAlpha1],
OptionValue[PMNSAlpha2],
OptionValue[alphaEm0],
OptionValue[Mh]

Expand Down

0 comments on commit d173b97

Please sign in to comment.