Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fixed conjugations in 1-loop mass matrices for leptons #470

Draft
wants to merge 3 commits into
base: development
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@ jobs:
env:
FORMCALC_VERSION: '9.10'
MODELS1: 'MSSM THDMII ScalarLeptoquarks MSSMCPV CMSSM E6SSM CMSSMNoFV CMSSMCPV CMSSMCKM MSSMNoFV NUHMSSMNoFVHimalaya CMSSMSemiAnalytic'
MODELS2: 'MRSSM2 LRLR SM MRSSM2CKM'
MODELS2: 'MRSSM2 LRLR SM MRSSM2CKM GrimusNeufeld'

steps:

Expand Down
4 changes: 2 additions & 2 deletions meta/LoopMasses.m
Original file line number Diff line number Diff line change
Expand Up @@ -448,8 +448,8 @@
] <>
"}\n" <>
"const " <> selfEnergyMatrixCType <> " M_tree(" <> massMatrixStr <> "());\n" <>
"const " <> selfEnergyMatrixCType <> " delta_M(- self_energy_PR * M_tree " <>
"- M_tree * self_energy_PL - self_energy_1);\n";
"const " <> selfEnergyMatrixCType <> " delta_M(- self_energy_PR.conjugate() * M_tree " <>
"- M_tree * self_energy_PL.conjugate() - self_energy_1.conjugate());\n";
If[IsMajoranaFermion[particle],
result = result <>
"const " <> selfEnergyMatrixCType <>
Expand Down
179 changes: 179 additions & 0 deletions model_files/GrimusNeufeld/FlexibleSUSY.m.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,179 @@
FSModelName = "@CLASSNAME@";
FSEigenstates = SARAH`EWSB;
FSDefaultSARAHModel = "GrimusNeufeld";

OnlyLowEnergyFlexibleSUSY = True;

(* Input parameters *)

MINPAR = {
{1, Lambda1IN},
{2, Lambda2IN},
{3, Lambda3IN},
{4, Lambda4IN},
{5, Lambda5IN},
{9, M222IN}
};

EXTPAR = {
{0, Qin}
};

(* With this empty list the "realness" of parameters are treated like in SARAH *)
RealParameters = {};

(* Additional parameters for real and imaginary parts of complex parameters *)
FSAuxiliaryParameterInfo = {
(*The part for having complex input matrices*)
{Theta122313, {InputParameter -> True,
ParameterDimensions -> {3},
LesHouches -> Theta122313IN
}},
{deltaCP, {InputParameter -> True,
ParameterDimensions -> {1},
LesHouches -> deltaCP
}},
{deltaM2, {InputParameter -> True,
ParameterDimensions -> {1},
LesHouches -> deltaM2
}},
{Inverted, {InputParameter -> True,
ParameterDimensions -> {1},
LesHouches -> Inverted
}},
{MnuIN, {InputParameter -> True,
ParameterDimensions -> {4},
LesHouches -> MnuIN
}},
{ROPhiIN, {
InputParameter -> True,
ParameterDimensions -> {3},
LesHouches -> ROPhiIN}},
{AuxL, {ParameterDimensions -> {1}}},
{AuxZ, {ParameterDimensions -> {1}}}
};

TreeLevelEWSBSolution = List @@@ {
M112 -> - (Lambda1 * v^3 + 2 * tadpole[1]) / (2 * v)
};

EWSBOutputParameters = {M112};

EWSBInitialGuess = {
{M112, - v^2 Lambda1 / 2 }
};

SUSYScale = Qin;

SUSYScaleFirstGuess = Qin;

Module[{mA2, mH2, B0, m32, negativeRegionQ, sign, Lam,
r, w22, w32, R22, R32, z, w32p, OIO, PMNS, U,
Y1, Y2, Y1p, Y2p, zp, if
},
mA2 = M222IN + 1 / 2 (Lambda3IN + Lambda4IN - Lambda5IN)v^2;
mH2 = M222IN + 1 / 2 (Lambda3IN + Lambda4IN + Lambda5IN)v^2;
B0[m2_] := m2 Log[MnuIN[4]^2 / m2] / (m2 - MnuIN[4]^2);
Lam = MnuIN[4] / (32 Pi^2) (B0@mA2 - B0@mH2);
m32 = MnuIN[3] / MnuIN[2];

OIO = (1 - Inverted) * IdentityMatrix[3] + {
{0, 0, Inverted},
{Inverted, 0, 0},
{0, Inverted, 0}
};
PMNS = {
{1, 0, 0},
{0, Cos[Theta122313[2]], Sin[Theta122313[2]]},
{0, -Sin[Theta122313[2]], Cos[Theta122313[2]]}
} . {
{Cos[Theta122313[3]], 0, Exp[-I deltaCP] Sin[Theta122313[3]]},
{0, 1, 0},
{-Exp[I deltaCP] Sin[Theta122313[3]], 0, Cos[Theta122313[3]]}
} . {
{Cos[Theta122313[1]], Sin[Theta122313[1]], 0},
{-Sin[Theta122313[1]], Cos[Theta122313[1]], 0},
{0, 0, 1}
} . DiagonalMatrix[{1, Exp[I deltaM2], 1}];
U = OIO . ConjugateTranspose@PMNS;

R22 = Cos[r] Exp[I w22];
R32 = Sin[r] Exp[I w32];
z = Re[R22^2 + m32 R32^2];
w32p = If[r == 0, 0, -0.5 ArcSin[Cot[r]^2 Sin[2 w22] / m32]];

Y1 = I Exp[-I ROPhiIN@3] Sqrt[2 MnuIN@3 MnuIN@4 / (Abs[z] v^2)] *
{0, -R32, R22}.U;
Y2 = Sign[Lam] Sqrt[MnuIN[2] / Abs[z Lam]] {0, R22, m32 R32}.U;

{Y1p, Y2p, zp} = {Y1, Y2, z} /. w32 -> w32p /. {r -> ROPhiIN@1, w22 -> ROPhiIN@2};

negativeRegionQ = And[Abs@ROPhiIN@1 < ArcTan[1 / Sqrt@m32], Pi / 4 < Abs@ROPhiIN@2];

(* Note: the last is true because we redefine coordinate system. *)
sign = If[Lam > 0, negativeRegionQ, !negativeRegionQ];
if[a_] := If[sign, -I Sign[ROPhiIN@2] a, a];

SUSYScaleInput = {
{Lambda1, Lambda1IN},
{Lambda2, Lambda2IN},
{Lambda3, Lambda3IN},
{Lambda4, Lambda4IN},
{Lambda5, Lambda5IN},
{M222, M222IN},
{Mm, MnuIN[4] - MnuIN[3] / Abs@zp}
};

LowScaleInput = {
{v, LowEnergyConstant[vev]},
{Yu1, Automatic},
{Yd1, Automatic},
{Ye1, Automatic},
{AuxL, Lam},
{AuxZ, Abs@zp},
{Yn1[1], if@Y1p[[1]]},
{Yn1[2], if@Y1p[[2]]},
{Yn1[3], if@Y1p[[3]]},
{Yn2[1], if@Y2p[[1]]},
{Yn2[2], if@Y2p[[2]]},
{Yn2[3], if@Y2p[[3]]}
};
];

LowScale = LowEnergyConstant[MZ];

LowScaleFirstGuess = LowEnergyConstant[MZ];

InitialGuessAtLowScale = {
{v, LowEnergyConstant[vev]},
{Yu1, Automatic},
{Yd1, Automatic},
{Ye1, Automatic}
};

DefaultPoleMassPrecision = MediumPrecision;
HighPoleMassPrecision = {hh, Hm};
MediumPoleMassPrecision = {};
LowPoleMassPrecision = {Fv};

ExtraSLHAOutputBlocks = {
{LZ, {
{0, AuxL},
{1, AuxZ}
}
},
{FlexibleSUSYLowEnergy, {
{26, FlexibleSUSYObservable`BrLToLGamma[Fe[2] -> {Fe[1], VP}]},
{27, FlexibleSUSYObservable`BrLToLGamma[Fe[3] -> {Fe[1], VP}]},
{28, FlexibleSUSYObservable`BrLToLGamma[Fe[3] -> {Fe[2], VP}]}(*,
{31, FlexibleSUSYObservable`BrLTo3L[Fe@2 -> {Fe@1, Fe@1, SARAH`bar@Fe@1}, All, 1]},
{32, FlexibleSUSYObservable`BrLTo3L[Fe@3 -> {Fe@2, Fe@2, SARAH`bar@Fe@2}, All, 1]},
{33, FlexibleSUSYObservable`BrLTo3L[Fe@3 -> {Fe@2, Fe@1, SARAH`bar@Fe@1}, All, 1]},
{34, FlexibleSUSYObservable`BrLTo3L[Fe@3 -> {Fe@1, Fe@2, SARAH`bar@Fe@2}, All, 1]},
{35, FlexibleSUSYObservable`BrLTo3L[Fe@3 -> {Fe@1, Fe@1, SARAH`bar@Fe@1}, All, 1]},
{41, FlexibleSUSYObservable`LToLConversion[Fe@2 -> Fe@1, Al, All, 1]}*)
}
}
};

FSCalculateDecays = False;
71 changes: 71 additions & 0 deletions model_files/GrimusNeufeld/LesHouches.in.GrimusNeufeld
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
Block FlexibleSUSY
0 1.000000000e-04 # precision goal
1 0 # max. iterations (0 = automatic)
2 0 # solver (0 = all, 1 = two_scale, 2 = semi_analytic)
3 1 # calculate SM pole masses
4 1 # pole mass loop order
5 1 # EWSB loop order
6 0 # beta-functions loop order
7 0 # threshold corrections loop order
8 0 # Higgs 2-loop corrections O(alpha_t alpha_s)
9 0 # Higgs 2-loop corrections O(alpha_b alpha_s)
10 0 # Higgs 2-loop corrections O((alpha_t + alpha_b)^2)
11 0 # Higgs 2-loop corrections O(alpha_tau^2)
12 0 # force output
13 1 # Top quark 2-loop corrections QCD
14 1.000000000e-11 # beta-function zero threshold
15 1 # calculate observables (a_muon, ...)
16 1 # force positive majorana masses
17 0 # pole mass renormalization scale (0 = SUSY scale)
18 0 # pole mass renormalization scale in the EFT (0 = min(SUSY scale, Mt))
23 1 # calculate BSM pole masses
24 124111421 # individual threshold correction loop orders
31 0 # loop library (0 = softsusy)
Block FlexibleSUSYInput
0 0.00729735 # alpha_em(0)
1 125.09 # Mh pole
Block SMINPUTS # Standard Model inputs
1 1.279160000e+02 # alpha^(-1) SM MSbar(MZ)
2 1.166378700e-05 # G_Fermi
3 1.184000000e-01 # alpha_s(MZ) SM MSbar
4 9.118760000e+01 # MZ(pole)
5 4.180000000e+00 # mb(mb) SM MSbar
6 1.733400000e+02 # mtop(pole)
7 1.776990000e+00 # mtau(pole)
8 0.000000000e+00 # mnu3(pole)
9 80.385 # MW pole
11 5.109989020e-04 # melectron(pole)
12 0.000000000e+00 # mnu1(pole)
13 1.056583715e-01 # mmuon(pole)
14 0.000000000e+00 # mnu2(pole)
21 4.750000000e-03 # md(2 GeV) MS-bar
22 2.400000000e-03 # mu(2 GeV) MS-bar
23 1.040000000e-01 # ms(2 GeV) MS-bar
24 1.270000000e+00 # mc(mc) MS-bar
Block MINPAR
1 0.258766 # Lambda1IN
2 0.051388 # Lambda2IN
3 0.008974 # Lambda3IN
4 0.430832 # Lambda4IN
5 0.000030 # Lambda5IN
9 14197.502739 # M222IN
Block EXTPAR
0 110 # Qin
Block Theta122313IN
1 0.59 # Theta122313(1)
2 0.84 # Theta122313(2)
3 0.15 # Theta122313(3)
Block deltaCP
4.5 # deltaCP
Block deltaM2
0 # deltaM2
Block Inverted
0 # 0 - NO, 1 - IO
Block MnuIN
2 8.6948e-12 # MnuIN(2)
3 5.1240e-11 # MnuIN(3)
4 1.00e-02 # MnuIN(4)
Block ROPhiIN
1 0.7 # r
2 1.0 # omega22
3 0.0 # phiR
97 changes: 97 additions & 0 deletions sarah/GrimusNeufeld/GrimusNeufeld.m
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
Off[General::spell];

Model`Name = "GrimusNeufeld";
Model`NameLaTeX = "Inert-like two Higgs doublet model with 1 Heavy neutrino breaking the Z2 symmetry";

(*-------------------------------------------*)
(* Particle Content*)
(*-------------------------------------------*)

(* Gauge Superfields *)

Gauge[[1]] = {B, U[1], hypercharge, g1, False};
Gauge[[2]] = {WB, SU[2], left, g2, True};
Gauge[[3]] = {G, SU[3], color, g3, False};

(* Chiral Superfields *)

FermionFields[[1]] = {q, 3, {uL, dL}, 1 / 6, 2, 3};
FermionFields[[2]] = {l, 3, {vL, eL}, -1 / 2, 2, 1};
FermionFields[[3]] = {d, 3, conj[dR], 1 / 3, 1, -3};
FermionFields[[4]] = {u, 3, conj[uR], -2 / 3, 1, -3};
FermionFields[[5]] = {e, 3, conj[eR], 1, 1, 1};
FermionFields[[6]] = {n, 1, conj[nR], 0, 1, 1};

ScalarFields[[1]] = {H1, 1, {H1p, H10}, 1 / 2, 2, 1};
ScalarFields[[2]] = {H2, 1, {H2p, H20}, 1 / 2, 2, 1};

(*----------------------------------------------*)
(* DEFINITION *)
(*----------------------------------------------*)

NameOfStates = {GaugeES, EWSB};

(* ----- Before EWSB ----- *)

DEFINITION[GaugeES][Additional] = {
{LagHC, {AddHC -> True}},
{LagYukawan, {AddHC -> True}},
{LagYukawae, {AddHC -> True}},
{LagNoHC, {AddHC -> False}}
};


LagNoHC = -(M112 conj[H1].H1 + M222 conj[H2].H2 + 1 / 2 Lambda1 conj[H1].H1.conj[H1].H1 +
1 / 2 Lambda2 conj[H2].H2.conj[H2].H2 + Lambda3 conj[H2].H2.conj[H1].H1 + Lambda4 conj[H2].H1.conj[H1].H2 );

LagHC = -( Lambda5 / 2 conj[H2].H1.conj[H2].H1 + Yd1 conj[H1].d.q - Yu1 H1.u.q );

LagYukawan = -( - Yn1 H1.n.l - Yn2 H2.n.l + 1 / 2 Mm n.n );

LagYukawae = - ( Ye1 conj[H1].e.l );

(* Gauge Sector *)

DEFINITION[EWSB][GaugeSector] = {
{{VB, VWB[3]}, {VP, VZ}, ZZ},
{{VWB[1], VWB[2]}, {VWm, conj[VWm]}, ZW}
};

(* ----- VEVs ---- *)

DEFINITION[EWSB][VEVs] = {
{H10, {v, 1 / Sqrt[2]}, {sigma1, \[ImaginaryI] / Sqrt[2]}, {phi1, 1 / Sqrt[2]}},
{H20, {0, 0}, {sigma2, \[ImaginaryI] / Sqrt[2]}, {phi2, 1 / Sqrt[2]}}
};

DEFINITION[EWSB][MatterSector] = {
{{phi1, phi2}, {hh, ZH}},
{{sigma2, sigma1}, {Ah, ZA}},
{{conj[H1p], conj[H2p]}, {Hm, ZHm}},
{{{dL}, {conj[dR]}}, {{DL, Vd}, {DR, Ud}}},
{{{uL}, {conj[uR]}}, {{UL, Vu}, {UR, Uu}}},
{{{eL}, {conj[eR]}}, {{EL, Ve}, {ER, Ue}}},
{{vL, conj[nR]}, {VL, Un}}
};

(*------------------------------------------------------*)
(* Dirac-Spinors *)
(*------------------------------------------------------*)

DEFINITION[EWSB][DiracSpinors] = {
Fd -> {DL, conj[DR]},
Fe -> {EL, conj[ER]},
Fu -> {UL, conj[UR]},
Fv -> {VL, conj[VL]}};

DEFINITION[EWSB][GaugeES] = {
Fd1 -> {dL, 0},
Fd2 -> {0, dR},
Fu1 -> {uL, 0},
Fu2 -> {0, uR},
Fe1 -> {eL, 0},
Fe2 -> {0, eR},
Fv1 -> {vL, 0},
Fv2 -> {0, nR}
};

Loading