Skip to content

Commit

Permalink
Avoid usage of SARAH`SMQ[] as much as possible.
Browse files Browse the repository at this point in the history
Reason: SARAH`SMQ[] requires that the list SARAH`SMParticles is filled
with all SM particles, including goldstone and Higgs bosons and
ghosts.  However, this correct filling is not ensured in SARAH so far.
For this reason we should use FlexibleSUSY's IsSMParticle[] function.
This function should do everything correctly in the future.
  • Loading branch information
Alexander Voigt authored and Alexander Voigt committed Mar 9, 2017
1 parent 4baa39b commit 3f5efc6
Show file tree
Hide file tree
Showing 5 changed files with 15 additions and 15 deletions.
2 changes: 1 addition & 1 deletion meta/FlexibleEFTHiggsMatching.m
Expand Up @@ -10,7 +10,7 @@

CallSMPoleMassFunctions[states_, enablePoleMassThreads_] :=
Module[{particles, result, Selector},
Selector[p_] := SARAH`SMQ[p] && !IsMassless[p] && (IsVector[p] || IsFermion[p]);
Selector[p_] := TreeMasses`IsSMParticle[p] && !IsMassless[p] && (IsVector[p] || IsFermion[p]);
particles = Select[LoopMasses`GetLoopCorrectedParticles[states], Selector];
If[enablePoleMassThreads =!= True,
result = StringJoin[LoopMasses`CallPoleMassFunction[#,"model."]& /@ particles];
Expand Down
6 changes: 3 additions & 3 deletions meta/FlexibleSUSY.m
Expand Up @@ -628,9 +628,9 @@ FlexibleSUSY model file (FlexibleSUSY.m).
"@ModelName@" -> FlexibleSUSY`FSModelName,
"@numberOfModelParameters@" -> ToString[numberOfModelParameters],
"@numberOfParticles@" -> ToString[Length @ GetLoopCorrectedParticles[FlexibleSUSY`FSEigenstates]],
"@numberOfSMParticles@" -> ToString[Length @ Select[GetLoopCorrectedParticles[FlexibleSUSY`FSEigenstates], SARAH`SMQ]],
"@numberOfSMParticles@" -> ToString[Length @ Select[GetLoopCorrectedParticles[FlexibleSUSY`FSEigenstates], TreeMasses`IsSMParticle]],
"@numberOfBSMParticles@" -> ToString[Length @ Complement[GetLoopCorrectedParticles[FlexibleSUSY`FSEigenstates],
Select[GetLoopCorrectedParticles[FlexibleSUSY`FSEigenstates], SARAH`SMQ]]],
Select[GetLoopCorrectedParticles[FlexibleSUSY`FSEigenstates], TreeMasses`IsSMParticle]]],
"@InputParameter_" ~~ num_ ~~ "@" /; IntegerQ[ToExpression[num]] :> CConversion`ToValidCSymbolString[
If[Parameters`GetInputParameters[] === {},
"",
Expand Down Expand Up @@ -1695,7 +1695,7 @@ corresponding tadpole is real or imaginary (only in models with CP
numberOfDRbarBlocks, drBarBlockNames
},
particles = DeleteDuplicates @ Flatten[GetMassEigenstate /@ massMatrices];
susyParticles = Select[particles, (!SARAH`SMQ[#])&];
susyParticles = Select[particles, (!TreeMasses`IsSMParticle[#])&];
smParticles = Complement[particles, susyParticles];
minpar = Cases[inputParameters, {p_, {"MINPAR", idx_}, ___} :> {idx, p}];
extpar = Cases[inputParameters, {p_, {"EXTPAR", idx_}, ___} :> {idx, p}];
Expand Down
8 changes: 4 additions & 4 deletions meta/GMuonMinus2.m
Expand Up @@ -27,16 +27,16 @@ If you add new kinds of vertices (e.g for new diagram types):

(************* Begin public interface *******************)

IsSMParticle[particle_] :=
SARAH`SMQ[particle] || TreeMasses`IsSMGoldstone[particle];
GMuonMinus2IsSMParticle[particle_] :=
TreeMasses`IsSMParticle[particle] || TreeMasses`IsSMGoldstone[particle];

CreateSMParticleFlags[particle_] :=
Module[{result = "", i,
numberOfGenerations = TreeMasses`GetDimension[particle]},
For[i = 1, i <= numberOfGenerations, i++,
If[i > 1, result = result <> ", ";];
If[IsSMParticle[particle[i]] === True ||
IsSMParticle[particle] === True,
If[GMuonMinus2IsSMParticle[particle[i]] === True ||
GMuonMinus2IsSMParticle[particle] === True,
result = result <> "true";,
result = result <> "false";
];
Expand Down
2 changes: 1 addition & 1 deletion meta/LoopMasses.m
Expand Up @@ -790,7 +790,7 @@ be set to the (positive) tree-level mass. M_tree
Module[{particles, susyParticles, smParticles, callSusy,
callSM, result},
particles = GetLoopCorrectedParticles[states];
smParticles = Select[particles, SARAH`SMQ[#]&];
smParticles = Select[particles, TreeMasses`IsSMParticle];
susyParticles = Complement[particles, smParticles];
If[enablePoleMassThreads =!= True,
callSusy = StringJoin[CallPoleMassFunction /@ susyParticles];
Expand Down
12 changes: 6 additions & 6 deletions meta/TreeMasses.m
Expand Up @@ -224,10 +224,10 @@
];

GetSusyParticles[states_:FlexibleSUSY`FSEigenstates] :=
Select[GetParticles[states], (!SARAH`SMQ[#] && !IsGhost[#])&];
Select[GetParticles[states], (!IsSMParticle[#] && !IsGhost[#])&];

GetSMParticles[states_:FlexibleSUSY`FSEigenstates] :=
Select[GetParticles[states], (SARAH`SMQ[#])&];
Select[GetParticles[states], IsSMParticle];

ParticleQ[p_, states_:FlexibleSUSY`FSEigenstates] :=
MemberQ[GetParticles[states], p];
Expand Down Expand Up @@ -272,7 +272,7 @@
IsGoldstone[sym_List] := And @@ (IsGoldstone /@ sym);

GetSMGoldstones[] :=
Cases[SARAH`GoldstoneGhost /. a_[{idx__}] :> a[idx], {v_?SARAH`SMQ, goldstone_} :> goldstone];
Cases[SARAH`GoldstoneGhost /. a_[{idx__}] :> a[idx], {v_?IsSMParticle, goldstone_} :> goldstone];

IsSMGoldstone[Susyno`LieGroups`conj[sym_]] := IsSMGoldstone[sym];
IsSMGoldstone[SARAH`bar[sym_]] := IsSMGoldstone[sym];
Expand Down Expand Up @@ -352,7 +352,7 @@
IsLepton[SARAH`bar[sym_]] := IsLepton[sym];
IsLepton[sym_[___]] := IsLepton[sym];
IsLepton[sym_Symbol] :=
MemberQ[Complement[GetParticles[], GetColoredParticles[]], sym] && IsFermion[sym] && SARAH`SMQ[sym];
MemberQ[Complement[GetParticles[], GetColoredParticles[]], sym] && IsFermion[sym] && IsSMParticle[sym];

IsSMChargedLepton[Susyno`LieGroups`conj[sym_]] := IsSMChargedLepton[sym];
IsSMChargedLepton[SARAH`bar[sym_]] := IsSMChargedLepton[sym];
Expand Down Expand Up @@ -465,7 +465,7 @@
Transpose[SARAH`GoldstoneGhost][[2]];

GetSMGoldstoneBosons[] :=
Cases[SARAH`GoldstoneGhost, {vector_?SARAH`SMQ, goldstone_} :> goldstone];
Cases[SARAH`GoldstoneGhost, {vector_?IsSMParticle, goldstone_} :> goldstone];

GetDimension[sym_List, states_:FlexibleSUSY`FSEigenstates] :=
Plus @@ (GetDimension[#, states]& /@ sym);
Expand Down Expand Up @@ -496,7 +496,7 @@
GetDimensionStartSkippingGoldstones[sym, SARAH`GoldstoneGhost];

GetDimensionStartSkippingSMGoldstones[sym_] :=
GetDimensionStartSkippingGoldstones[sym, Cases[SARAH`GoldstoneGhost, {_?SARAH`SMQ, _}]];
GetDimensionStartSkippingGoldstones[sym, Cases[SARAH`GoldstoneGhost, {_?IsSMParticle, _}]];

GetDimensionWithoutGoldstones[sym_[__], states_:FlexibleSUSY`FSEigenstates] :=
GetDimensionWithoutGoldstones[sym, states];
Expand Down

0 comments on commit 3f5efc6

Please sign in to comment.