Skip to content

Commit

Permalink
move FlexibleEFTHiggs matching functions into separate module
Browse files Browse the repository at this point in the history
  • Loading branch information
Alexander Voigt authored and Alexander Voigt committed Jul 28, 2016
1 parent 0177967 commit 2ca1817
Show file tree
Hide file tree
Showing 5 changed files with 63 additions and 51 deletions.
55 changes: 55 additions & 0 deletions meta/FlexibleEFTHiggsMatching.m
@@ -0,0 +1,55 @@
BeginPackage["FlexibleEFTHiggsMatching`", {"CConversion`", "TreeMasses`", "LoopMasses`", "Constraint`", "ThresholdCorrections`", "Parameters`"}];

CallSMPoleMassFunctions::usage = "";
CalculateRunningFermionMasses::usage = "";

Begin["`Private`"];

CallSMPoleMassFunctions[states_, enablePoleMassThreads_] :=
Module[{particles, result, Selector},
Selector[p_] := SARAH`SMQ[p] && !IsMassless[p] && (IsVector[p] || IsFermion[p]);
particles = Select[LoopMasses`GetLoopCorrectedParticles[states], Selector];
If[enablePoleMassThreads =!= True,
result = StringJoin[LoopMasses`CallPoleMassFunction[#,"model."]& /@ particles];
,
result = StringJoin[LoopMasses`CallThreadedPoleMassFunction[#,"&model"]& /@ particles] <> "\n" <>
StringJoin[LoopMasses`JoinLoopMassFunctionThread /@ particles];
];
result
];

CalculateRunningFermionMasses[] :=
Module[{result = "", i, iStr, mq, mqFun},
For[i = 0, i < 3, i++,
iStr = ToString[i];
mq = mqFun = CConversion`RValueToCFormString[TreeMasses`GetUpQuark[i + 1, True]];
If[Length[TreeMasses`GetSMUpQuarks[]] == 3, mqFun = mq <> "()"];
result = result <>
"upQuarksDRbar(" <> iStr <> "," <> iStr <> ") = " <>
"sm.get_physical().MFu(" <> iStr <> ") - " <>
"model.get_physical().M" <> mq <> " + model.get_M" <> mqFun <> ";\n";
];
For[i = 0, i < 3, i++,
iStr = ToString[i];
mq = mqFun = CConversion`RValueToCFormString[TreeMasses`GetDownQuark[i + 1, True]];
If[Length[TreeMasses`GetSMDownQuarks[]] == 3, mqFun = mq <> "()"];
result = result <>
"downQuarksDRbar(" <> iStr <> "," <> iStr <> ") = " <>
"sm.get_physical().MFd(" <> iStr <> ") - " <>
"model.get_physical().M" <> mq <> " + model.get_M" <> mqFun <> ";\n";
];
For[i = 0, i < 3, i++,
iStr = ToString[i];
mq = mqFun = CConversion`RValueToCFormString[TreeMasses`GetDownLepton[i + 1, True]];
If[Length[TreeMasses`GetSMChargedLeptons[]] == 3, mqFun = mq <> "()"];
result = result <>
"downLeptonsDRbar(" <> iStr <> "," <> iStr <> ") = " <>
"sm.get_physical().MFe(" <> iStr <> ") - " <>
"model.get_physical().M" <> mq <> " + model.get_M" <> mqFun <> ";\n";
];
result
];

End[];

EndPackage[];
8 changes: 4 additions & 4 deletions meta/FlexibleSUSY.m
@@ -1,4 +1,4 @@
BeginPackage["FlexibleSUSY`", {"SARAH`", "AnomalousDimension`", "BetaFunction`", "TextFormatting`", "CConversion`", "TreeMasses`", "EWSB`", "Traces`", "SelfEnergies`", "Vertices`", "Phases`", "LoopMasses`", "WriteOut`", "Constraint`", "ThresholdCorrections`", "ConvergenceTester`", "Utils`", "ThreeLoopSM`", "ThreeLoopMSSM`", "Observables`", "EffectiveCouplings`"}];
BeginPackage["FlexibleSUSY`", {"SARAH`", "AnomalousDimension`", "BetaFunction`", "TextFormatting`", "CConversion`", "TreeMasses`", "EWSB`", "Traces`", "SelfEnergies`", "Vertices`", "Phases`", "LoopMasses`", "WriteOut`", "Constraint`", "ThresholdCorrections`", "ConvergenceTester`", "Utils`", "ThreeLoopSM`", "ThreeLoopMSSM`", "Observables`", "EffectiveCouplings`", "FlexibleEFTHiggsMatching`"}];

$flexiblesusyMetaDir = DirectoryName[FindFile[$Input]];
$flexiblesusyConfigDir = FileNameJoin[{ParentDirectory[$flexiblesusyMetaDir], "config"}];
Expand Down Expand Up @@ -892,9 +892,9 @@ corresponding tadpole is real or imaginary (only in models with CP
If[Head[susyScaleMatching] === List,
userMatching = Constraint`ApplyConstraints[susyScaleMatching];
];
setRunningFermionMasses = ThresholdCorrections`CalculateRunningFermionMasses[];
callAllSMPoleMassFunctions = LoopMasses`CallSMPoleMassFunctions[FlexibleSUSY`FSEigenstates, False];
callAllSMPoleMassFunctionsThreads = LoopMasses`CallSMPoleMassFunctions[FlexibleSUSY`FSEigenstates, True];
setRunningFermionMasses = FlexibleEFTHiggsMatching`CalculateRunningFermionMasses[];
callAllSMPoleMassFunctions = FlexibleEFTHiggsMatching`CallSMPoleMassFunctions[FlexibleSUSY`FSEigenstates, False];
callAllSMPoleMassFunctionsThreads = FlexibleEFTHiggsMatching`CallSMPoleMassFunctions[FlexibleSUSY`FSEigenstates, True];
WriteOut`ReplaceInFiles[files,
{ "@gauge1Linit@" -> IndentText[WrapLines[Parameters`CreateLocalConstRefs[
ThresholdCorrections`CalculateColorCoupling[scheme] +
Expand Down
17 changes: 3 additions & 14 deletions meta/LoopMasses.m
Expand Up @@ -7,10 +7,12 @@
CreateOneLoopPoleMassFunctions::usage="";
CreateOneLoopPoleMassPrototypes::usage="";
CallAllPoleMassFunctions::usage="";
CallSMPoleMassFunctions::usage = "";
CreateRunningDRbarMassPrototypes::usage="";
CreateRunningDRbarMassFunctions::usage="";
CallCalculateDRbarMass::usage="";
CallPoleMassFunction::usage="";
CallThreadedPoleMassFunction::usage="";
JoinLoopMassFunctionThread::usage="";
CreateLoopMassFunctionName::usage="";

GetLoopCorrectedParticles::usage="Returns list of all particles that
Expand Down Expand Up @@ -831,19 +833,6 @@ be set to the (positive) tree-level mass. M_tree
Return[result];
];

CallSMPoleMassFunctions[states_, enablePoleMassThreads_] :=
Module[{particles, result, Selector},
Selector[p_] := SARAH`SMQ[p] && !IsMassless[p] && (IsVector[p] || IsFermion[p]);
particles = Select[GetLoopCorrectedParticles[states], Selector];
If[enablePoleMassThreads =!= True,
result = StringJoin[CallPoleMassFunction[#,"model."]& /@ particles];
,
result = StringJoin[CallThreadedPoleMassFunction[#,"&model"]& /@ particles] <> "\n" <>
StringJoin[JoinLoopMassFunctionThread /@ particles];
];
result
];

GetRunningOneLoopDRbarParticles[] :=
Module[{downQuarks, upQuarks, downLeptons, upLeptons},
upLeptons = TreeMasses`GetSMNeutralLeptons[];
Expand Down
33 changes: 0 additions & 33 deletions meta/ThresholdCorrections.m
Expand Up @@ -9,7 +9,6 @@
SetDRbarYukawaCouplingTop::usage="";
SetDRbarYukawaCouplingBottom::usage="";
SetDRbarYukawaCouplingElectron::usage="";
CalculateRunningFermionMasses::usage = "";
CalculateColorCoupling::usage="";
CalculateElectromagneticCoupling::usage="";
SetDRbarYukawaCouplings::usage="";
Expand Down Expand Up @@ -648,38 +647,6 @@
Return[result];
];

CalculateRunningFermionMasses[] :=
Module[{result = "", i, iStr, mq, mqFun},
For[i = 0, i < 3, i++,
iStr = ToString[i];
mq = mqFun = CConversion`RValueToCFormString[TreeMasses`GetUpQuark[i + 1, True]];
If[Length[TreeMasses`GetSMUpQuarks[]] == 3, mqFun = mq <> "()"];
result = result <>
"upQuarksDRbar(" <> iStr <> "," <> iStr <> ") = " <>
"sm.get_physical().MFu(" <> iStr <> ") - " <>
"model.get_physical().M" <> mq <> " + model.get_M" <> mqFun <> ";\n";
];
For[i = 0, i < 3, i++,
iStr = ToString[i];
mq = mqFun = CConversion`RValueToCFormString[TreeMasses`GetDownQuark[i + 1, True]];
If[Length[TreeMasses`GetSMDownQuarks[]] == 3, mqFun = mq <> "()"];
result = result <>
"downQuarksDRbar(" <> iStr <> "," <> iStr <> ") = " <>
"sm.get_physical().MFd(" <> iStr <> ") - " <>
"model.get_physical().M" <> mq <> " + model.get_M" <> mqFun <> ";\n";
];
For[i = 0, i < 3, i++,
iStr = ToString[i];
mq = mqFun = CConversion`RValueToCFormString[TreeMasses`GetDownLepton[i + 1, True]];
If[Length[TreeMasses`GetSMChargedLeptons[]] == 3, mqFun = mq <> "()"];
result = result <>
"downLeptonsDRbar(" <> iStr <> "," <> iStr <> ") = " <>
"sm.get_physical().MFe(" <> iStr <> ") - " <>
"model.get_physical().M" <> mq <> " + model.get_M" <> mqFun <> ";\n";
];
result
];

End[];

EndPackage[];
1 change: 1 addition & 0 deletions meta/module.mk
Expand Up @@ -53,6 +53,7 @@ META_SRC := \
$(DIR)/ConvergenceTester.m \
$(DIR)/EffectiveCouplings.m \
$(DIR)/EWSB.m \
$(DIR)/FlexibleEFTHiggsMatching.m \
$(DIR)/FlexibleSUSY.m \
$(DIR)/Format.m \
$(DIR)/LatticeUtils.m \
Expand Down

0 comments on commit 2ca1817

Please sign in to comment.