Skip to content

Commit

Permalink
add Au, Ad, Ae to list of extra SLHA output blocks
Browse files Browse the repository at this point in the history
I also changed the syntax for output elements which do not have an
index:

Output an expression without an SLHA index:

   ExtraSLHAOutputBlocks = {
      {ALPHA, {{expression}}}
   };

Output an expression with one SLHA index:

   ExtraSLHAOutputBlocks = {
      {HMIX, {{1, expression}}}
   };

Output expressions with two SLHA indices:

   ExtraSLHAOutputBlocks = {
      {AU, {{1, 2, expression}}},
      {AD, {{1, 2, expression}}},
      {AE, {{1, 2, expression}}}
   };
  • Loading branch information
Expander authored and Expander committed Oct 26, 2014
1 parent de1868d commit 48509e3
Show file tree
Hide file tree
Showing 4 changed files with 51 additions and 8 deletions.
20 changes: 18 additions & 2 deletions meta/WriteOut.m
Expand Up @@ -254,6 +254,20 @@
exprWithoutProtectedSymbols /. replacements /. (Reverse /@ protectionRules)
];

WriteSLHABlockEntry[{par_, idx1_?NumberQ, idx2_?NumberQ}] :=
Module[{parStr, parVal, idx1Str, idx2Str},
parStr = CConversion`RValueToCFormString[par];
parVal = CConversion`RValueToCFormString[
WrapPrecprocessorMacroAround[par, Join[Parameters`GetModelParameters[],
Parameters`GetOutputParameters[]],
Global`MODELPARAMETER]];
idx1Str = ToString[idx1];
idx2Str = ToString[idx2];
(* result *)
" << FORMAT_MIXING_MATRIX(" <> idx1Str <> ", " <> idx2Str <>
", (" <> parVal <> "), \"" <> parStr <> "\")" <> "\n"
];

WriteSLHABlockEntry[{par_, pdg_?NumberQ}] :=
Module[{parStr, parVal, pdgStr},
parStr = CConversion`RValueToCFormString[par];
Expand All @@ -274,7 +288,7 @@
"), \"" <> parStr <> "\")" <> "\n"
];

WriteSLHABlockEntry[{par_, pdg_ /; pdg === Null}] :=
WriteSLHABlockEntry[{par_}] :=
Module[{parStr, parVal},
parStr = CConversion`RValueToCFormString[par];
parVal = CConversion`RValueToCFormString[
Expand Down Expand Up @@ -322,7 +336,9 @@
WriteExtraSLHAOutputBlock[outputBlocks_List] :=
Module[{result = "", reformed},
ReformeBlocks[{block_, tuples_List}] := {block, ReformeBlocks /@ tuples};
ReformeBlocks[{idx_, expr_}] := {expr, idx};
ReformeBlocks[{expr_}] := {expr};
ReformeBlocks[{idx_, expr_}] := {expr, idx};
ReformeBlocks[{idx1_, idx2_, expr_}] := {expr, idx1, idx2};
reformed = ReformeBlocks /@ outputBlocks;
(result = result <> WriteSLHABlock[#])& /@ reformed;
Return[result];
Expand Down
13 changes: 11 additions & 2 deletions model_files/MSSM/FlexibleSUSY.m.in
Expand Up @@ -74,12 +74,21 @@ MediumPoleMassPrecision = {};
LowPoleMassPrecision = {};

ExtraSLHAOutputBlocks = {
{ALPHA, {{Null, ArcCos[Pole[ZH[1,2]]]}}},
{ALPHA, {{ArcCos[Pole[ZH[1,2]]]}}},
{HMIX , {{1, \[Mu]},
{2, vu / vd},
{3, Sqrt[vu^2 + vd^2]},
{4, M[Ah[2]]^2},
{101, B[\[Mu]]},
{102, vd},
{103, vu} } }
{103, vu} } },
{Au, {{1, 1, T[Yu][1,1] / Yu[1,1]},
{2, 2, T[Yu][2,2] / Yu[2,2]},
{3, 3, T[Yu][3,3] / Yu[3,3]} } },
{Ad, {{1, 1, T[Yd][1,1] / Yd[1,1]},
{2, 2, T[Yd][2,2] / Yd[2,2]},
{3, 3, T[Yd][3,3] / Yd[3,3]} } },
{Ae, {{1, 1, T[Ye][1,1] / Ye[1,1]},
{2, 2, T[Ye][2,2] / Ye[2,2]},
{3, 3, T[Ye][3,3] / Ye[3,3]} } }
};
13 changes: 11 additions & 2 deletions model_files/MSSMNoFV/FlexibleSUSY.m.in
Expand Up @@ -68,14 +68,23 @@ UseHiggs2LoopMSSM = True;
EffectiveMu = \[Mu];

ExtraSLHAOutputBlocks = {
{ALPHA, {{Null, ArcCos[Pole[ZH[1,2]]]}}},
{ALPHA, {{ArcCos[Pole[ZH[1,2]]]}}},
{HMIX , {{1, \[Mu]},
{2, vu / vd},
{3, Sqrt[vu^2 + vd^2]},
{4, M[Ah[2]]^2},
{101, B[\[Mu]]},
{102, vd},
{103, vu} } }
{103, vu} } },
{Au, {{1, 1, T[Yu][1,1] / Yu[1,1]},
{2, 2, T[Yu][2,2] / Yu[2,2]},
{3, 3, T[Yu][3,3] / Yu[3,3]} } },
{Ad, {{1, 1, T[Yd][1,1] / Yd[1,1]},
{2, 2, T[Yd][2,2] / Yd[2,2]},
{3, 3, T[Yd][3,3] / Yd[3,3]} } },
{Ae, {{1, 1, T[Ye][1,1] / Ye[1,1]},
{2, 2, T[Ye][2,2] / Ye[2,2]},
{3, 3, T[Ye][3,3] / Ye[3,3]} } }
};

TopQuark = Ft;
Expand Down
13 changes: 11 additions & 2 deletions model_files/lowMSSM/FlexibleSUSY.m.in
Expand Up @@ -37,12 +37,21 @@ UseHiggs2LoopMSSM = True;
EffectiveMu = \[Mu];

ExtraSLHAOutputBlocks = {
{ALPHA, {{Null, ArcCos[Pole[ZH[1,2]]]}}},
{ALPHA, {{ArcCos[Pole[ZH[1,2]]]}}},
{HMIX , {{1, \[Mu]},
{2, vu / vd},
{3, Sqrt[vu^2 + vd^2]},
{4, M[Ah[2]]^2},
{101, B[\[Mu]]},
{102, vd},
{103, vu} } }
{103, vu} } },
{Au, {{1, 1, T[Yu][1,1] / Yu[1,1]},
{2, 2, T[Yu][2,2] / Yu[2,2]},
{3, 3, T[Yu][3,3] / Yu[3,3]} } },
{Ad, {{1, 1, T[Yd][1,1] / Yd[1,1]},
{2, 2, T[Yd][2,2] / Yd[2,2]},
{3, 3, T[Yd][3,3] / Yd[3,3]} } },
{Ae, {{1, 1, T[Ye][1,1] / Ye[1,1]},
{2, 2, T[Ye][2,2] / Ye[2,2]},
{3, 3, T[Ye][3,3] / Ye[3,3]} } }
};

0 comments on commit 48509e3

Please sign in to comment.