Skip to content

Commit

Permalink
Bugfix: catch case when W and Z bosons are massless
Browse files Browse the repository at this point in the history
  • Loading branch information
Alexander Voigt authored and Alexander Voigt committed Feb 22, 2015
1 parent 1f3246b commit 7772570
Showing 1 changed file with 13 additions and 9 deletions.
22 changes: 13 additions & 9 deletions meta/LoopMasses.m
Expand Up @@ -617,15 +617,19 @@
body = "if (!force_output && problems.is_tachyon(" <> ToValidCSymbolString[particle] <> "))\n" <>
IndentText["return 0.;"] <> "\n\n";
];
particleName = ToValidCSymbolString[particle];
massName = ToValidCSymbolString[FlexibleSUSY`M[particle]];
selfEnergyFunction = SelfEnergies`CreateSelfEnergyFunctionName[particle];
body = body <>
"const double self_energy = Re(" <> selfEnergyFunction <> "(p));\n" <>
"const double mass_sqr = get_mass_matrix_" <> particleName <> "() - self_energy;\n\n" <>
"if (mass_sqr < 0.)\n" <>
IndentText["problems.flag_tachyon(" <> particleName <> ");"] <> "\n\n" <>
"return AbsSqrt(mass_sqr);\n";
If[!IsMassless[particle],
particleName = ToValidCSymbolString[particle];
massName = ToValidCSymbolString[FlexibleSUSY`M[particle]];
selfEnergyFunction = SelfEnergies`CreateSelfEnergyFunctionName[particle];
body = body <>
"const double self_energy = Re(" <> selfEnergyFunction <> "(p));\n" <>
"const double mass_sqr = get_mass_matrix_" <> particleName <> "() - self_energy;\n\n" <>
"if (mass_sqr < 0.)\n" <>
IndentText["problems.flag_tachyon(" <> particleName <> ");"] <> "\n\n" <>
"return AbsSqrt(mass_sqr);\n";
,
body = "return 0.;\n";
];
result = "double CLASSNAME::" <> CreateLoopMassFunctionName[particle] <>
"(double p)\n{\n" <> IndentText[body] <> "}\n\n";
Return[result];
Expand Down

0 comments on commit 7772570

Please sign in to comment.