Skip to content

Commit

Permalink
add Grimus-Neufeld test
Browse files Browse the repository at this point in the history
  • Loading branch information
wkotlarski committed Nov 23, 2022
1 parent cc0ff4d commit 3274e58
Show file tree
Hide file tree
Showing 8 changed files with 702 additions and 1 deletion.
2 changes: 1 addition & 1 deletion .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@ jobs:

env:
FORMCALC_VERSION: '9.10'
MODELS1: 'MSSM THDMII ScalarLeptoquarks MSSMCPV CMSSM E6SSM CMSSMNoFV CMSSMCKM MSSMNoFV NUHMSSMNoFVHimalaya CMSSMSemiAnalytic'
MODELS1: 'MSSM THDMII ScalarLeptoquarks MSSMCPV CMSSM E6SSM CMSSMNoFV CMSSMCKM MSSMNoFV NUHMSSMNoFVHimalaya CMSSMSemiAnalytic GrimusNeufeld'
MODELS2: 'MRSSM2 LRLR SM MRSSM2CKM'

steps:
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

0 comments on commit 3274e58

Please sign in to comment.