flexiblesusy is hosted by Hepforge, IPPP Durham
FlexibleSUSY
scan_FlexibleEFTHiggs_uncertainty.m
Go to the documentation of this file.
1Get["models/MSSMEFTHiggs/MSSMEFTHiggs_librarylink.m"];
2
3Mtpole = 173.34;
4
5(* generate logarithmically spaced range [start, stop] *)
6LogRange[start_, stop_, steps_] :=
7 Exp /@ Range[Log[start], Log[stop],
8 (Log[stop] - Log[start])/steps];
9
10(* generate logarithmically spaced range [2 Q, Q / 2] *)
11GenerateScales[Q_] := LogRange[Q/2, 2 Q, 10];
12
13(* run MSSMEFTHiggs spectrum generator *)
14RunMSSMEFTHiggs[MS_, TB_, Xt_, Qpole_, Qmatch_] :=
15 Module[{handle, spectrum},
16 handle = FSMSSMEFTHiggsOpenHandle[
17 fsSettings -> {
18 precisionGoal -> 1.*^-5,
19 maxIterations -> 10000,
20 poleMassLoopOrder -> 2,
21 ewsbLoopOrder -> 2,
22 betaFunctionLoopOrder -> 3,
23 thresholdCorrectionsLoopOrder -> 2,
24 poleMassScale -> 0,
25 eftPoleMassScale -> Qpole,
26 eftMatchingScale -> Qmatch,
27 eftMatchingLoopOrderUp -> 1,
28 eftMatchingLoopOrderDown -> 1,
29 calculateBSMMasses -> 0
30 },
31 fsSMParameters -> {
32 Mt -> Mtpole
33 },
34 fsModelParameters -> {
35 MSUSY -> MS,
36 M1Input -> MS,
37 M2Input -> MS,
38 M3Input -> MS,
39 MuInput -> MS,
40 mAInput -> MS,
41 TanBeta -> TB,
42 mq2Input -> MS^2 IdentityMatrix[3],
43 mu2Input -> MS^2 IdentityMatrix[3],
44 md2Input -> MS^2 IdentityMatrix[3],
45 ml2Input -> MS^2 IdentityMatrix[3],
46 me2Input -> MS^2 IdentityMatrix[3],
47 AuInput -> {{MS/TB, 0 , 0},
48 {0 , MS/TB, 0},
49 {0 , 0 , MS/TB + Xt MS}},
50 AdInput -> MS TB IdentityMatrix[3],
51 AeInput -> MS TB IdentityMatrix[3]
52 }
53 ];
54 spectrum = FSMSSMEFTHiggsCalculateSpectrum[handle];
57 ];
58
59(* extract lightest Higgs pole mass Pole[M[hh]] from spectrum *)
61 (Pole[M[hh]] /. (MSSMEFTHiggs /. RunMSSMEFTHiggs[pars]))[[1]];
62
63(* calculate Higgs mass and perform scale variation *)
66 MhMean = RunMSSMEFTHiggsMh[MS, TB, Xt, 0, 0];
67 varyQpole = RunMSSMEFTHiggsMh[MS, TB, Xt, #, 0]& /@ GenerateScales[Mtpole];
68 varyQmatch = RunMSSMEFTHiggsMh[MS, TB, Xt, 0, #]& /@ GenerateScales[MS];
69 (* combine uncertainty estimates *)
71 Abs[Min[varyQpole] - MhMean]] +
74 { MhMean, DMh }
75 ];
76
77{Mh, DMh} = RunMSSMEFTHiggsUncertainty[2500, 20, Sqrt[6]];
78
79Print["Mh = (", Mh, " +- ", DMh, ") GeV"];
LinearRange[start_, stop_, steps_] stop
#define M(i)
Definition: defs.h:629
T Max(T &&t) noexcept
Definition: wrappers.hpp:430
T Min(T &&t) noexcept
Definition: wrappers.hpp:445
T Exp(T z) noexcept
Definition: wrappers.hpp:187
int Abs(int x) noexcept
Definition: wrappers.hpp:62
std::size_t combine(std::size_t seed, std::size_t h) noexcept
Definition: json.hpp:6004
calculate RunMSSMEFTHiggsUncertainty[MS_, TB_, Xt_]
generate run RunMSSMEFTHiggs[MS_, TB_, Xt_, Qpole_, Qmatch_]
calculate varyQmatch
Get["models/MSSMEFTHiggs/MSSMEFTHiggs_librarylink.m"]
generate run spectrum
id steps()
generate LogRange[start_, stop_, steps_]
FSMSSMEFTHiggsCloseHandle[handle]
generate run handle
generate GenerateScales[Q_]
extract RunMSSMEFTHiggsMh[pars__]
Print["Mh = (", Mh, " +- ", DMh, ") GeV"]
generate Log[stop]
calculate Mh