Skip to content

Commit

Permalink
take M2 and M into account when decreasing index literals
Browse files Browse the repository at this point in the history
  • Loading branch information
Alexander Voigt authored and Alexander Voigt committed Mar 19, 2018
1 parent bd91948 commit 5b22000
Show file tree
Hide file tree
Showing 5 changed files with 19 additions and 13 deletions.
8 changes: 5 additions & 3 deletions meta/Constraint.m
Expand Up @@ -388,7 +388,7 @@

CheckSetting[patt:{parameter_, value_}, constraintName_String, isInitial_] :=
Module[{outputParameters, modelPars},
outputParameters = Parameters`GetOutputParameters[];
outputParameters = Parameters`GetAllMassOutputParameters[];
If[MemberQ[outputParameters, parameter],
Print["Error: In constraint ", constraintName, ": ", InputForm[patt]];
Print[" ", parameter, " is a output parameter!"];
Expand All @@ -407,7 +407,7 @@
CheckSetting[patt:( FlexibleSUSY`FSRestrictParameter[p_,__] | FlexibleSUSY`FSInitialSetting[p_,__] ),
constraintName_String, __] :=
Module[{outputParameters},
outputParameters = Parameters`GetOutputParameters[];
outputParameters = Parameters`GetAllMassOutputParameters[];
If[MemberQ[outputParameters, p],
Print["Error: In constraint ", constraintName, ": ", InputForm[patt]];
Print[" ", p, " is a output parameter!"];
Expand Down Expand Up @@ -551,7 +551,9 @@
];

CalculateScaleFromExpr[expr_, scaleName_String] :=
scaleName <> " = " <> CConversion`RValueToCFormString[Parameters`DecreaseIndexLiterals[expr, Parameters`GetOutputParameters[]]] <> ";\n";
scaleName <> " = " <> CConversion`RValueToCFormString[
Parameters`DecreaseIndexLiterals[expr, Parameters`GetAllMassOutputParameters[]]
] <> ";\n";

DefineAndDefaultInitialize[{t:FlexibleSUSY`Phase[_], _}] :=
CConversion`CreateCType[GuessExtraParameterType[t]] <> " " <>
Expand Down
8 changes: 4 additions & 4 deletions meta/EffectiveCouplings.m
Expand Up @@ -546,10 +546,10 @@ previous results (e.g. define along the lines of f[p] := f[p] = ...) *)
Module[{symbols, poleMasses},
symbols = Parameters`FindAllParameters[expr];
poleMasses = {
Cases[expr, FlexibleSUSY`Pole[FlexibleSUSY`M[a_]] /; MemberQ[Parameters`GetOutputParameters[],FlexibleSUSY`M[a]] :> FlexibleSUSY`M[a], {0,Infinity}],
Cases[expr, FlexibleSUSY`Pole[FlexibleSUSY`M[a_[__]]] /; MemberQ[Parameters`GetOutputParameters[],FlexibleSUSY`M[a]] :> FlexibleSUSY`M[a], {0,Infinity}],
Cases[expr, FlexibleSUSY`Pole[FlexibleSUSY`M2[a_]] /; MemberQ[Parameters`GetOutputParameters[],FlexibleSUSY`M2[a]] :> FlexibleSUSY`M2[a], {0,Infinity}],
Cases[expr, FlexibleSUSY`Pole[FlexibleSUSY`M2[a_[__]]] /; MemberQ[Parameters`GetOutputParameters[],FlexibleSUSY`M2[a]] :> FlexibleSUSY`M2[a], {0,Infinity}]
Cases[expr, FlexibleSUSY`Pole[FlexibleSUSY`M[a_]] /; MemberQ[Parameters`GetAllMassOutputParameters[],FlexibleSUSY`M[a]] :> FlexibleSUSY`M[a], {0,Infinity}],
Cases[expr, FlexibleSUSY`Pole[FlexibleSUSY`M[a_[__]]] /; MemberQ[Parameters`GetAllMassOutputParameters[],FlexibleSUSY`M[a]] :> FlexibleSUSY`M[a], {0,Infinity}],
Cases[expr, FlexibleSUSY`Pole[FlexibleSUSY`M2[a_]] /; MemberQ[Parameters`GetAllMassOutputParameters[],FlexibleSUSY`M2[a]] :> FlexibleSUSY`M2[a], {0,Infinity}],
Cases[expr, FlexibleSUSY`Pole[FlexibleSUSY`M2[a_[__]]] /; MemberQ[Parameters`GetAllMassOutputParameters[],FlexibleSUSY`M2[a]] :> FlexibleSUSY`M2[a], {0,Infinity}]
};
symbols = DeleteDuplicates[Flatten[symbols]];
symbols = Complement[symbols, mixings];
Expand Down
2 changes: 1 addition & 1 deletion meta/FlexibleSUSY.m
Expand Up @@ -3525,7 +3525,7 @@ corresponding tadpole is real or imaginary (only in models with CP

extraSLHAOutputBlocks = Parameters`DecreaseIndexLiterals[
FlexibleSUSY`ExtraSLHAOutputBlocks,
Join[Parameters`GetOutputParameters[], Parameters`GetModelParameters[], Parameters`GetExtraParameters[]]
Join[Parameters`GetAllMassOutputParameters[], Parameters`GetModelParameters[], Parameters`GetExtraParameters[]]
];

(* determine diagonalization precision for each particle *)
Expand Down
12 changes: 8 additions & 4 deletions meta/Parameters.m
Expand Up @@ -125,6 +125,7 @@
GetInputParametersAndTypes::usage="";
GetModelParameters::usage="";
GetOutputParameters::usage="";
GetAllMassOutputParameters::usage="returns output parameters including all M[] symbols";
GetExtraParameters::usage="";
GetExtraParametersAndTypes::usage="";
GetModelParametersWithMassDimension::usage="Returns model parameters
Expand Down Expand Up @@ -495,6 +496,9 @@
GetPhases[] := allPhases;
GetExtraParameters[] := First /@ allExtraParameters;
GetExtraParametersAndTypes[] := allExtraParameters;
GetAllMassOutputParameters[] :=
Join[allOutputParameters,
allOutputParameters /. FlexibleSUSY`M2 -> FlexibleSUSY`M];

additionalRealParameters = {};

Expand Down Expand Up @@ -1503,7 +1507,7 @@

IncreaseIndexLiterals[expr_, num_Integer] :=
IncreaseIndexLiterals[expr, num, Join[GetInputParameters[], GetExtraParameters[],
allModelParameters, allOutputParameters]];
allModelParameters, GetAllMassOutputParameters[]]];

IncreaseIndexLiterals[expr_, num_Integer, heads_List] :=
Module[{indexedSymbols, rules, allHeads},
Expand Down Expand Up @@ -1663,7 +1667,7 @@
Module[{par, indexSymbols, indexRanges, indices = {SARAH`gt1, SARAH`gt2}},
indexSymbols = DeleteDuplicates[
Join @@ (Cases[eq, par_[idx_ /; !FreeQ[idx,#]] /;
MemberQ[Join[GetModelParameters[], GetOutputParameters[]], par] :> {#,par},
MemberQ[Join[GetModelParameters[], GetAllMassOutputParameters[]], par] :> {#,par},
{0,Infinity}]& /@ indices)];
indexRanges = DeleteDuplicates[GetIdxRange /@ indexSymbols];
If[indexRanges === {},
Expand Down Expand Up @@ -1780,7 +1784,7 @@
DeleteCases[GetAllOutputParameterDependencies[expr /. GetDependenceSPhenoRules[]], _?NumericQ];

GetOutputParameterDependencies[expr_] :=
Select[GetOutputParameters[],
Select[GetAllMassOutputParameters[],
(!FreeQ[GetAllOutputParameterDependenciesReplaced[expr],#])&];

GetExponent[a_^b_] := -I b;
Expand All @@ -1789,7 +1793,7 @@
GetIntermediateOutputParameterDependencies[expr_] :=
Complement[
GetAllOutputParameterDependenciesReplaced[expr],
Join[GetOutputParameters[], GetInputParameters[], GetExponent /@ GetPhases[]]
Join[GetAllMassOutputParameters[], GetInputParameters[], GetExponent /@ GetPhases[]]
];

CreateExtraParameterArrayGetter[{}] :=
Expand Down
2 changes: 1 addition & 1 deletion meta/WeinbergAngle.m
Expand Up @@ -60,7 +60,7 @@
availPars = Join[TreeMasses`GetParticles[],
Parameters`GetInputParameters[],
Parameters`GetModelParameters[],
Parameters`GetOutputParameters[]];
Parameters`GetAllMassOutputParameters[]];
areDefined = MemberQ[availPars, #]& /@ requiredSymbols;
DebugPrint["Error: Unknown symbol: ", #]& /@
Cases[Utils`Zip[areDefined, requiredSymbols], {False, p_} :> p];
Expand Down

0 comments on commit 5b22000

Please sign in to comment.