forked from Expander/FlexibleSUSY
-
Notifications
You must be signed in to change notification settings - Fork 14
/
model_file.dox
1085 lines (804 loc) · 34.7 KB
/
model_file.dox
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
/**
\page model_file_options FlexibleSUSY model file
\tableofcontents
\section model_info Model information
_____________________________________________________________________
__Symbol__: `FSModelName`
__Default value__: _unset_
__Description__:
Name of the model class within the generated code. If `FSModelName`
is set to the string "@CLASSNAME@", it will be replaced by the
`createmodel` script to the name of the FlexibleSUSY model given
during the `./createmodel --name=<model_name>` command.
_____________________________________________________________________
__Symbol__: `FSEigenstates`
__Default value__: ``SARAH`EWSB``
__Description__:
The name of the particle eigenstates in SARAH. Usually,
``SARAH`EWSB`` corresponds to the mass eigenstates after breaking of
the electroweak symmetry.
_____________________________________________________________________
__Symbol__: `FSDefaultSARAHModel`
__Default value__: _unset_
__Description__:
Name of the SARAH model to be used. A sub-model can be specified
after a `/`.
Example: In the constrained CP-conserving MSSM (`CMSSM`) the SARAH
model `MSSM` is used as:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.m}
FSDefaultSARAHModel = MSSM;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Example: In the constrained CP-violating MSSM (`CMSSMCPV`) the SARAH
model `MSSM` together with the sub-model `CPV` is used:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.m}
FSDefaultSARAHModel = MSSM/CPV;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
\section input_parameters Input parameters
_____________________________________________________________________
__Symbol__: `MINPAR`
__Default value__: `{}`
__Description__:
In the `MINPAR` variable a list of input parameters for the spectrum
generator can be given, which is read of the `MINPAR` block of the
SLHA input file.
`MINPAR` is supposed to contain a list. The list elements are
two-component lists, where the first in element is an integer number
representing the index inside the `MINPAR` block. The second element
is the input parameter. The input parameter must be either a symbol
or a sign of the form `Sign[p]`, where `p` is the name of a model
parameter.
__Example__: In the CMSSM the `MINPAR` block has the form
~~~~~~~~~~~~~~~~~~~~{.m}
MINPAR = {
{1, m0},
{2, m12},
{3, TanBeta},
{4, Sign[\[Mu]]},
{5, Azero}
};
~~~~~~~~~~~~~~~~~~~~
In this case the input parameters can be given in the SLHA input file
as
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Block MINPAR # Input parameters
1 125 # m0
2 500 # m12
3 10 # TanBeta
4 1 # SignMu
5 0 # Azero
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
_Note_: Unspecified parameters are assumed to be zero.
_____________________________________________________________________
__Symbol__: `EXTPAR`
__Default value__: `{}`
__Description__:
The `EXTPAR` variable is a list of input parameters for the spectrum
generator, which is read of the `EXTPAR` block of the SLHA input file.
The list assigned to the `EXTPAR` variable must have the same form as
`MINPAR` variable.
__Example__: In the NUTNMSSM the `EXTPAR` block has the form
~~~~~~~~~~~~~~~~~~~~{.m}
EXTPAR = {
{61, LambdaInput},
{62, KappaInput},
{63, ALambdaInput},
{64, AKappaInput},
{65, MuEff}
};
~~~~~~~~~~~~~~~~~~~~
In this case the input parameters can be given in the SLHA input file
as
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Block EXTPAR # Input parameters
61 0.650 # LambdaInput
62 0.164 # KappaInput
63 763.8 # ALambdaInput
64 1268.2 # AKappaInput
65 265.2 # MuEff
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
_Note_: Unspecified parameters are assumed to be zero.
_____________________________________________________________________
__Symbol__: `FSExtraInputParameters`
__Default value__: `{}`
__Description__:
In the `FSExtraInputParameters` variable vector- or matrix-like input
parameters can be given. `FSExtraInputParameters` is contains a list,
whose elements are three-component lists. The first element of this
list is a symbol, which represents the input parameter. The second
element is the name of the block, from which the input parameter is
read. The third element is a list specifying the vector- or
matrix-type of the input parameter. A list of the form `{N,M}` with
`N` and `M` being integer numbers defines a NxM matrix. A list of the
form `{N}`, with `N` > 1 defines a vector with `N` rows. A list of
the form `{1}` or `{}` defines a scalar.
__Example__: In the MSSM the `FSExtraInputParameters` block has the
form
~~~~~~~~~~~~~~~~~~~~{.m}
FSExtraInputParameters = {
{Aeij, AeijIN, {3,3}}, (* 3x3 matrix *)
{Adij, AdijIN, {3,3}}, (* 3x3 matrix *)
{Auij, AuijIN, {3,3}} (* 3x3 matrix *)
};
~~~~~~~~~~~~~~~~~~~~
Here, three 3x3 matrix-valued input parameters are specified: `Aeij`,
`Adij` and `Auij`. These matrices are read from the blocks `AeijIN`,
`AdijIN` and `AuijIN`, respectively.
These input parameters can be given in the SLHA input file as
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Block AeijIN
1 1 100
1 2 100
1 3 100
2 1 100
2 2 100
2 3 100
3 1 100
3 2 100
3 3 100
Block AdijIN
1 1 200
1 2 200
1 3 200
2 1 200
2 2 200
2 3 200
3 1 200
3 2 200
3 3 200
Block AuijIN
1 1 300
1 2 300
1 3 300
2 1 300
2 2 300
2 3 300
3 1 300
3 2 300
3 3 300
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
_Note_: Unspecified parameters are assumed to be zero.
_____________________________________________________________________
__Symbol__: `RealParameters`
__Default value__: `{ All }`
__Description__:
`RealParameters` is a list, which contains the names of all model
parameters, which should be treated as real parameters. By default,
`RealParameters` is set to `{ All }`, meaning that by default all
paramerters are treated to be real. If `RealParameters` is set to the
empty list `{}`, FlexibleSUSY takes the information which paramerters
are real and which are complex from the SARAH model file.
Example: In the complex Standard Model (`cSM`), the parameters `mu2`
and `\[Lambda]` should be defined to be real:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.m}
RealParameters = { mu2, \[Lambda] };
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Note: The gauge couplings and VEVs are always assumed to be real in
SARAH.
Example: In the CP-violating MSSM (`CMSSMCPV`), the `B[\[Mu]]`
parameter should be defined to be real:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.m}
RealParameters = { B[\[Mu]] };
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
\section boundary_conditions Boundary conditions
In FlexibleSUSY, spectrum generators with two or three boundary
conditions can be generated. (Future versions will support more than
three boundary conditions.) By default, a spectrum generator with
three boundary conditions is generated. These boundary conditions are
named "high-scale", "susy-scale" and "low-scale" boundary condition
and are described in the following. In order to generate a spectrum
generator with only two boundary conditions, set
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.m}
OnlyLowEnergyFlexibleSUSY = True; (* only 2 BCs, default: False *)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
_____________________________________________________________________
__Symbol__: `LowScale`
__Default value__: _unset_
__Description__:
The scale of the low-scale boundary condition, at which the model is
matched to the Standard Model.
Example: In the CMSSM the low-energy scale should be set to the Z or
top pole mass. This choice is achieved by the following expression:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LowScale = LowEnergyConstant[MZ];
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
_____________________________________________________________________
__Symbol__: `LowScaleFirstGuess`
__Default value__: _unset_
__Description__:
First guess of the low-energy scale.
Example: In the CMSSM the first guess for the low-energy scale should
be set to the Z or top pole mass:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LowScaleFirstGuess = LowEnergyConstant[MZ];
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
_____________________________________________________________________
__Symbol__: `LowScaleInput`
__Default value__: `{}`
__Description__:
With the `LowScaleInput` variable boundary conditions at the
low-energy scale can be specified. `LowScaleInput` is a list. Please
refer to \ref input_format for details about the list format.
At the low-energy scale, FlexibleSUSY automatically determines the
three gauge couplings from the SLHA input parameters
\f$\alpha_{em}\f$, \f$M_Z\f$ and \f$G_F\f$ or \f$M_W\f$.
_TODO_: Add note about how the the user can chose between \f$G_F\f$ or
\f$M_W\f$ as input.
Example: In the CMSSM `LowScaleInput` is given as follows:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LowScaleInput = {
{Yu, Automatic},
{Yd, Automatic},
{Ye, Automatic},
{vd, 2 MZDRbar / Sqrt[GUTNormalization[g1]^2 g1^2 + g2^2] Cos[ArcTan[TanBeta]]},
{vu, 2 MZDRbar / Sqrt[GUTNormalization[g1]^2 g1^2 + g2^2] Sin[ArcTan[TanBeta]]}
};
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
_____________________________________________________________________
__Symbol__: `SUSYScale`
__Default value__: _unset_
__Description__:
The scale of the susy-scale boundary condition, which is defined to be
between the low-scale and the high-scale. This is the scale at which
the electroweak symmetry breaking conditions are imposed by default,
see \ref input_format.
Example: In the CMSSM the SUSY scale should be set to the geometric
average of the two stop masses. This choice is achieved by the
following expression:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SUSYScale = Sqrt[Product[M[Su[i]]^(Abs[ZU[i,3]]^2 + Abs[ZU[i,6]]^2), {i,6}]];
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
_____________________________________________________________________
__Symbol__: `SUSYScaleFirstGuess`
__Default value__: _unset_
__Description__:
First guess of the SUSY scale.
Example: In the CMSSM a reasonable first guess for the SUSY scale can
be given by the following combination of the mSUGRA parameters:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SUSYScaleFirstGuess = Sqrt[m0^2 + 4 m12^2];
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
_____________________________________________________________________
__Symbol__: `SUSYScaleInput`
__Default value__: `{}`
__Description__:
With the `SUSYScaleInput` variable boundary conditions at the SUSY
scale can be specified. `SUSYScaleInput` is a list. Please refer to
\ref input_format for details about the list format.
Example: In the NUTNMSSM `SUSYScaleInput` is given as follows:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SUSYScaleInput = {
{\[Lambda], LambdaInput},
{\[Kappa], KappaInput},
{vS, Sqrt[2] MuEff / LambdaInput}
};
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
_____________________________________________________________________
__Symbol__: `HighScale`
__Default value__: _unset_
__Description__:
This is the scale of the high-scale boundary condition.
Example: In the CMSSM the high-energy scale, \f$M_X\f$, is given by
the equality of the gauge couplings \f$g_1(M_X)\f$ and \f$g_2(M_X)\f$:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
HighScale = g1 == g2;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
_____________________________________________________________________
__Symbol__: `HighScaleFirstGuess`
__Default value__: _unset_
__Description__:
First guess of the high-energy scale.
Example: In the CMSSM a reasonable initial guess for the high-energy
scale is:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
HighScaleFirstGuess = 2.0 10^16;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
_____________________________________________________________________
__Symbol__: `HighScaleMinimum`
__Default value__: _unset_
__Description__:
Minimum value of the high-energy scale during the iteration.
Example: In the E6SSM the high-energy scale can vary a lot between the
iteration steps. For this reason, it makes sense to use a minimum
high-energy scale in intermediate steps as:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
HighScaleMinimum = 1.0 10^4;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
_____________________________________________________________________
__Symbol__: `HighScaleMaximum`
__Default value__: _unset_
__Description__:
Maximum value of the high-energy scale during the iteration.
Example: In the E6SSM the high-energy scale can vary a lot between the
iteration steps. For this reason, it makes sense to use a maximum
high-energy scale in intermediate steps as:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
HighScaleMaximum = 5.0 10^17;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
_____________________________________________________________________
__Symbol__: `HighScaleInput`
__Default value__: `{}`
__Description__:
With the `HighScaleInput` variable boundary conditions at the
high-energy scale can be specified. `HighScaleInput` is a list.
Please refer to \ref input_format for details about the list format.
Example: In the CMSSM `HighScaleInput` is set to the mSUGRA boundary
conditions:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
HighScaleInput = {
{T[Ye], Azero Ye},
{T[Yd], Azero Yd},
{T[Yu], Azero Yu},
{mHd2, m0^2},
{mHu2, m0^2},
{mq2, UNITMATRIX[3] m0^2},
{ml2, UNITMATRIX[3] m0^2},
{md2, UNITMATRIX[3] m0^2},
{mu2, UNITMATRIX[3] m0^2},
{me2, UNITMATRIX[3] m0^2},
{MassB, m12},
{MassWB,m12},
{MassG, m12}
};
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
_____________________________________________________________________
__Symbol__: `InitialGuessAtLowScale`
__Default value__: `{}`
__Description__:
With the `InitialGuessAtLowScale` variable initial values for the
model MS-bar parameters can be given at the low-energy scale
`LowScale`.
Example: In the CMSSM `InitialGuessAtLowScale` is given as follows:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
InitialGuessAtLowScale = {
{vd, LowEnergyConstant[vev] Cos[ArcTan[TanBeta]]},
{vu, LowEnergyConstant[vev] Sin[ArcTan[TanBeta]]},
{Yu, Automatic},
{Yd, Automatic},
{Ye, Automatic}
};
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
_____________________________________________________________________
__Symbol__: `InitialGuessAtHighScale`
__Default value__: `{}`
__Description__:
With the `InitialGuessAtHighScale` variable initial values for the
model MS-bar parameters can be given at the high-energy scale
`HighScale`.
Example: In the CMSSM `InitialGuessAtHighScale` is given as follows:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
InitialGuessAtHighScale = {
{\[Mu] , 1.0},
{B[\[Mu]], 0.0}
};
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
_____________________________________________________________________
__Symbol__: `EWSBOutputParameters`
__Default value__: `{}`
__Description__:
In the `EWSBOutputParameters` variable the model parameters must be
specified, which are fixed by the electroweak symmetry breaking (EWSB)
conditions, \f$\partial V_\text{Higgs}/\partial v_i = 0\f$. The
length of the `EWSBOutputParameters` list must be equal to the number
of EWSB conditions.
Example: In the CMSSM `EWSBOutputParameters` is given as follows:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
EWSBOutputParameters = { B[\[Mu]], \[Mu] };
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The elements of the `EWSBOutputParameters` must be _real_ parameters.
In a model with complex parameters, as in the CMSSMCPV for example,
`EWSBOutputParameters` is set to be:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
EWSBOutputParameters = { Re[B[\[Mu]]], Im[B[\[Mu]]], \[Mu] };
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
_____________________________________________________________________
__Symbol__: `FSSolveEWSBTreeLevelFor`
__Default value__: `{}`
__Description__:
In the `FSSolveEWSBTreeLevelFor` variable the model parameters can be
specified, which are fixed by the tree-level electroweak symmetry
breaking (EWSB) conditions when the running (tree-level) masses are
calculated. The length of the `FSSolveEWSBTreeLevelFor` list must be
either zero (default) or equal to the number of EWSB conditions. If
`FSSolveEWSBTreeLevelFor` is the empty list, then the temporary EWSB
output parameters are chosen automatically as follows:
- In SUSY models, by default the soft-breaking squared Higgs mass
parameters are fixed by the tree-level EWSB equation temporarily
when the running (tree-level) masses are calculated.
- In non-SUSY models, by default the parameters given in
`EWSBOutputParameters` are fixed by the tree-level EWSB equation
temporarily when the running (tree-level) masses are calculated.
\subsection input_format Boundary condition format
The variables `LowScaleInput`, `SUSYScaleInput` and `HighScaleInput`
are lists which specify the boundary conditions for the running model
parameters at the corresponding scale. The boundary conditions can be
expressed as follows.
### Setting a running model parameter to a value or expression ###
A running model parameter can be assigned at the corresponding scale
to a fixed numerical value or a value which is the result of the
evaluation of an expression. Such an assignment is made by a
two-component list, `{p, v}`, where the first list element must be the
model parameter (`p` in this case) and the second list element is a
numerical value or an expression.
Example: An example is the mSUGRA boundary condition in the CMSSM at
the GUT scale:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.m}
HighScaleInput = {
{T[Ye], Azero*Ye},
{T[Yd], Azero*Yd},
{T[Yu], Azero*Yu},
{mHd2, m0^2},
{mHu2, m0^2},
{mq2, UNITMATRIX[3] m0^2},
{ml2, UNITMATRIX[3] m0^2},
{md2, UNITMATRIX[3] m0^2},
{mu2, UNITMATRIX[3] m0^2},
{me2, UNITMATRIX[3] m0^2},
{MassB, m12},
{MassWB,m12},
{MassG, m12}
};
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The model parameters in the expression in the second list element are
running parameters at the corresponding scale. I.e. the setting
`{T[Ye], Azero*Ye}` means \f$T_{y_e}(Q) := A_0 y_e(Q)\f$, where
\f$Q\f$ is the scale.
For matrix- or vector-valued assignments, the following convenient
symbols can be used in the second list element:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.m}
UNITMATRIX[rows] (* quadratic unit matrix with `rows' rows *)
UNITMATRIXCOMPLEX[rows] (* complex quadratic unit matrix with `rows' rows *)
ZEROMATRIX[rows,cols] (* zero matrix with `rows' rows and `cols' columns *)
ZEROMATRIXCOMPLEX[rows,cols] (* complex zero matrix with `rows' rows and `cols' columns *)
ZEROVECTOR[rows] (* zero vector with `rows' rows *)
ZEROVECTORCOMPLEX[rows] (* complex zero vector with `rows' rows *)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
On the r.h.s. of the assignment it is possible to refer to a model
parameter, which is read from an SLHA input block. These model
parameter input blocks are named after the model parameter output
blocks concatenated with an additionan "IN" (see the SLHA-2 standard,
arXiv:0801.0045, Section 4.1.3). To refer to such an input model
parameter on the r.h.s. of an assignment one can either add an entry
in `FSExtraInputParameters` or use the `LHInput[p]` symbol, where `p`
is the name of the model parameter.
Example:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.m}
SUSYScaleFirstGuess = Sqrt[Sqrt[LHInput[mq2[3,3]] * LHInput[mu2[3,3]]]];
SUSYScaleInput = {
{mq2, 2 g2^2 LHInput[mq2]}
};
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
It is also possible to access the \f$\beta\f$ functions on the
r.h.s. of an assignment using the `BETA` head: `BETA[p]` represents
the \f$\beta\f$ function of the parameter `p` using the loop level
given in the SLHA input. `BETA[l,p]` represents the `l`-loop
\f$\beta\f$ function of the parameter `p`.
Example:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.m}
HighScaleInput = {
{\[Lambda], BETA[g1] + BETA[g2] + BETA[1,Yu][3,3]}
};
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
### Temporary parameter re-definitions ###
Since FlexibleSUSY 1.4.0, the user can perform a temporary parameter
definition to be used in the boundary conditions using the Temporary[]
head.
If a parameter `p` set in a boundary conditions in the form
`Temporary[p,<expr>]`, the following happens: Immediately after the RG
running the value of the parameter is saved locally. Afterwards, the
parameter is assigned to `<expr>`. Now, all further boundary
conditions are imposed and calculations are performed (calculation of
running masses, solution of the EWSB conditions, etc.). Finally, the
parameter `p` is restored to the locally saved value.
Example in `U1xMSSM3G`: Temporarily rotate the gauge couplings to the
triangular basis:
~~~~~~~~~~~~~~~~~~~~~~~~~~~{.m}
g1T = (g1*gX - g1X*gX1)/Sqrt[gX^2 + gX1^2];
gXT = Sqrt[gX^2 + gX1^2];
g1XT = (g1X*gX + g1*gX1)/Sqrt[gX^2 + gX1^2];
SUSYScaleInput = {
{Temporary[g1], g1T},
{Temporary[gX], gXT},
{Temporary[g1X], g1XT},
{Temporary[gX1], 0},
{xS, vSInput},
{x2, Sqrt[4*MZpInput^2 - gX^2*(vu^2 + vd^2)]/(2*gX*Sqrt[1 + TanBetaX^2])},
{x1, (TanBetaX*Sqrt[4*MZpInput^2 - gX^2*(vu^2 + vd^2)])/(2*gX*Sqrt[1 + TanBetaX^2])},
{L[lw], 0},
FSSolveEWSBFor[{mHd2, mHu2, mC12, lw, mS2}]
};
~~~~~~~~~~~~~~~~~~~~~~~~~~~
In this example the gauge couplings, defined in the triangular basis,
are used in every calculation performed at the SUSY scale. This
includes the calculation of `x1` and `x2` as well as solving the EWSB
conditions.
### Imposing the electroweak symmetry breaking conditions ###
The scale, at which the electroweak symmetry breaking (EWSB)
conditions are imposed can be specified by adding
`FSSolveEWSBFor[parameters]` to the corresponding boundary condition.
The argument `parameters` must be the list of model parameters which
are fixed by the electroweak symmetry breaking conditions.
Example: Impose the EWSB conditions at the low-energy scale:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LowScaleInput = {
FSSolveEWSBFor[EWSBOutputParameters]
};
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
If `FSSolveEWSBFor[EWSBOutputParameters]` is not given in any boundary
condition, then it is added to `SUSYScaleInput`. This implies, that
by default, the EWSB conditions are imposed at the scale `SUSYScale`.
### Automatic input of unspecified model parameters ###
In low-energy models (models where `OnlyLowEnergyFlexibleSUSY ===
True`) parameters, which are _not_ set in any boundary condition are
automatically input at the `SUSYScale`. The values of these
parameters are automatically read from the corresponding SLHA input
blocks.
To disable the automatic input of unspecified parameters, set
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.m}
AutomaticInputAtMSUSY = False; (* default: True *)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
### Sub-iterations ###
It is possible to fix model parameters at a scale by performing an
iteration. Two kinds of iterations are supported:
#### Minimization ####
Model parameters can be fixed by requiring that a function is minimal.
The parameters to be fixed and the function to be minimized must be
specified by the symbol `FSMinimize[parameters, f]`, where
`parameters` is the list of parameters to be fixed and `f` is the
scalar function to be minimized.
Example:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.m}
SUSYScaleInput = {
FSMinimize[{vd,vu}, (LowEnergyConstant[MZ] - Pole[M[VZ]])^2 / STANDARDDEVIATION[MZ]^2
+ (LowEnergyConstant[MH] - Pole[M[hh[1]]])^2 / STANDARDDEVIATION[MH]^2]
};
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#### Root finding ####
Model parameters can be fixed by requiring that a function is zero.
The parameters to be fixed and the function whose zero should be found
must be specified by the symbol `FSFindRoot[parameters, f]`, where
`parameters` is the list of parameters to be fixed and `f` is the
vector-valued function to be zero.
Example:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.m}
SUSYScaleInput = {
FSFindRoot[{vd,vu}, {LowEnergyConstant[MZ] - Pole[M[VZ]], LowEnergyConstant[MH] - Pole[M[hh[1]]]}]
};
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
\section convergence_tester Convergence tester
FlexibleSUSY solves the given boundary value problem (BVP) by running
to each scale and imposing the corresponding boundary conditions until
a convergent solution has been found.
The convergence criterion can be customized using the
`FSConvergenceCheck` variable. The default is
~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.m}
FSConvergenceCheck = Automatic; (* default *)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
If `FSConvergenceCheck` is set to `Automatic`, then the following
convergence criteria are used:
- In SUSY models the BVP solver stops if the maximum number of
iterations has been reached (`FlexibleSUSY[1]`, see @ref
slha_input_fields) or the maximum relative difference of the DR-bar
masses of the SUSY particles at the SUSY scale between two
successive iterations is less than the precision goal
(`FlexibleSUSY[0]`, see @ref slha_input_fields).
- In non-SUSY models the BVP solver stops if the maximum number of
iterations has been reached (`FlexibleSUSY[1]`, see @ref
slha_input_fields) or the maximum relative difference of all MS-bar
masses of the model at the SUSY scale between two successive
iterations is less than the precision goal (`FlexibleSUSY[0]`, see
@ref slha_input_fields).
To create a custom convergence tester, the `FSConvergenceCheck`
variable must be set to a list containing the running masses and/or
running parameters to be compared between two successive iterations.
The BVP solver stops if the maximum number of iterations has been
reached (`FlexibleSUSY[1]`) or the maximum relative difference of all
running masses and/or parameters given in the `FSConvergenceCheck`
list at the SUSY scale between two successive iterations is less than
the precision goal (`FlexibleSUSY[0]`).
Example: In the following MSSM example the running masses of all
massive particles as well as the running parameters `g1, g2, g3, Yu,
Yd[3,3], Ye, B[\[Mu]], \[Mu]` are tested for convergence.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.m}
FSConvergenceCheck = {
M[hh], M[Ah], M[Hpm],
M[Su], M[Sd], M[Se],
M[Chi], M[Cha], M[Glu],
M[Fu], M[Fd], M[Fe],
M[VZ], M[VWm],
g1, g2, g3, Yu, Yd[3,3], Ye, B[\[Mu]], \[Mu]
};
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
_Note_: For matrix- or vector-valued parameters every component is
used in the convergence test, if the matrix/vector indices are
omitted.
\section rges Renormalization group equations (RGEs)
The loop order of the RGEs to be used can be selected in the model
file using the `FSRGELoopOrder` variable: By setting `FSRGELoopOrder =
0;` no RGEs will be generated by SARAH. By setting `FSRGELoopOrder =
1;` only one-loop RGEs will be generated by SARAH. By setting
`FSRGELoopOrder = 2;` the two-loop RGEs will be generated by SARAH
(this is the default).
Example:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.m}
FSRGELoopOrder = 2; (* generate two-loop RGEs using SARAH *)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
### Three-loop RGEs for specific models ###
#### Standard Model ####
In the Standard Model the known three-loop RGEs from [arxiv:1303.4364,
arXiv:1307.3536] can be used by setting in the model file
~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.m}
UseSM3LoopRGEs = True; (* use three-loop SM RGEs *)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#### MSSM ####
In the MSSM the known three-loop RGEs from [arxiv:hep-ph/0308231,
http://www.liv.ac.uk/~dij/betas/allgennb.log] can be used by setting
in the model file
~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.m}
UseMSSM3LoopRGEs = True; (* use three-loop MSSM RGEs *)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
\section pole_masses Pole masses
In order to tune the spectrum generator for speed, the precision of
the pole mass calculation can be selected for each particle. There
are three different pole mass calculation algorithms available:
`LowPrecision`, `MediumPrecision` and `HighPrecision`. Please refer
to Section 6.5 of Ref. [<a href="http://arxiv.org/abs/1406.2319">CPC
190 (2015) 139-172</a>] for details.
By default, the pole masses of all particles are calculated with
`MediumPrecision`, except for the CP-even, CP-odd and charged Higgs
bosons, which are calculated with `HighPrecision` in order to include
some momentum-dependent 2-loop corrections.
Example:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.m}
DefaultPoleMassPrecision = MediumPrecision;
HighPoleMassPrecision = {hh, Ah, Hpm};
MediumPoleMassPrecision = {};
LowPoleMassPrecision = {};
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
\section lsps Lightest supersymmetric particle (LSP)
FlexibleSUSY can generate the helper function `get_lsp()`, which
returns the mass of the lightest supersymmetric particle (LSP) as well
as the particle type. The particles which are candidates for being an
LSP must be specified in the `PotentialLSPParticles` variable.
Example: In the MSSM the lightest supersymmetric particles might be
~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.m}
PotentialLSPParticles = { Chi, Sv, Su, Sd, Se, Cha, Glu };
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
\section output_blocks Output blocks
The user can define additional SLHA output blocks. These additional
blocks must be defined in the FlexibleSUSY model file using the
`ExtraSLHAOutputBlocks` variable. The `ExtraSLHAOutputBlocks`
variable is a nested list of the following form:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.m}
ExtraSLHAOutputBlocks = {
{<blockname>, [<scale>,]
{{<index>, <expression>},
{<index>, <expression>},
{<index>, <expression>}}
},
...
};
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
`<blockname>` is the name of the output block.
Optionally, the renormalization scale can be added to the block head.
`NoScale` (default) specifies that the block head should have no
scale. `CurrentScale` specifies that the scale written in the block
head should be the current scale of the model. Otherwise, `<scale>`
can be numeric value.
The fields inside the block are specified in form of a list of
2-component lists, where the first entry is an integer number
representing the field index. The second entry is an expression to be
evaluated and whose numeric result is written to the field value.
Example: In the MSSM mode file the following additional output blocks
are defined
~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.m}
ExtraSLHAOutputBlocks = {
{FlexibleSUSYOutput, NoScale,
{{0, Hold[HighScale]},
{1, Hold[SUSYScale]},
{2, Hold[LowScale]} } },
{EFFHIGGSCOUPLINGS, NoScale,
{{1, FlexibleSUSYObservable`CpHiggsPhotonPhoton},
{2, FlexibleSUSYObservable`CpHiggsGluonGluon},
{3, FlexibleSUSYObservable`CpPseudoScalarPhotonPhoton},
{4, FlexibleSUSYObservable`CpPseudoScalarGluonGluon} } },
{ALPHA, NoScale,
{{ArcSin[Pole[ZH[2,2]]]}}},
{HMIX , {{1, \[Mu]},
{2, vu / vd},
{3, Sqrt[vu^2 + vd^2]},
{4, M[Ah[2]]^2},
{101, B[\[Mu]]},
{102, vd},
{103, vu} } },
{Au, {{1, 1, T[Yu][1,1] / Yu[1,1]},
{2, 2, T[Yu][2,2] / Yu[2,2]},
{3, 3, T[Yu][3,3] / Yu[3,3]} } },
{Ad, {{1, 1, T[Yd][1,1] / Yd[1,1]},
{2, 2, T[Yd][2,2] / Yd[2,2]},
{3, 3, T[Yd][3,3] / Yd[3,3]} } },
{Ae, {{1, 1, T[Ye][1,1] / Ye[1,1]},
{2, 2, T[Ye][2,2] / Ye[2,2]},
{3, 3, T[Ye][3,3] / Ye[3,3]} } },
{MSOFT, {{1, MassB},
{2, MassWB},
{3, MassG},
{21, mHd2},
{22, mHu2},
{31, SignedAbsSqrt[ml2[1,1]]},
{32, SignedAbsSqrt[ml2[2,2]]},
{33, SignedAbsSqrt[ml2[3,3]]},
{34, SignedAbsSqrt[me2[1,1]]},
{35, SignedAbsSqrt[me2[2,2]]},
{36, SignedAbsSqrt[me2[3,3]]},
{41, SignedAbsSqrt[mq2[1,1]]},
{42, SignedAbsSqrt[mq2[2,2]]},
{43, SignedAbsSqrt[mq2[3,3]]},
{44, SignedAbsSqrt[mu2[1,1]]},
{45, SignedAbsSqrt[mu2[2,2]]},
{46, SignedAbsSqrt[mu2[3,3]]},
{47, SignedAbsSqrt[md2[1,1]]},
{48, SignedAbsSqrt[md2[2,2]]},
{49, SignedAbsSqrt[md2[3,3]]} } }
};