2
$\begingroup$

I am trying to draw a region function in a contour plot. My function has five variables and I want to reduce the number of variables by assuming some appropriate values for three of the variables.

Here is set up for my code.

αem = 1/137
me = 0.511/1000
mmu = 102.8/1000
F[x_] := (5*x^4 - 14*x^3 + 39*x^2 - 38*x - 18*x^2*Log[x] + 8)/(12*(1 - x)^4)
G[x_] := (x^3 + 3*x - 6*x*Log[x] - 4)/(2*(1 - x)^3)
Γtotalmu = 3*10^-19
M4C = 200
Δamumax = (26.1 + 8.0*2)*10^-10
Δamumin = (26.1 - 8.0*2)*10^-10

And here is my code.

c12L = 1
s14L = π/4

gLμμ[s24L2_, s12L_] := (c12L*Sqrt[s24L2] - Sqrt[1 - s24L2]*s12L*s14L)^2;
gLμe[s24L2_, s12L_] := (s12L*Sqrt[s24L2] + 
 c12L*Sqrt[1 - s24L2]*s14L)*(s12L*Sqrt[s24L2] - 
 Sqrt[1 - s24L2]*s12L*s14L);
gLee[s24L2_, s12L_] := (s12L*Sqrt[s24L2] + c12L*Sqrt[1 - s24L2]*s14L)^2;
gLμE[s24L2_, s12L_] := (Sqrt[1 - s14L^2]*
 Sqrt[1 - s24L2])*(Sqrt[1 - s12L^2]*Sqrt[s24L2] - 
 Sqrt[1 - s24L2]*s12L*s14L);
gLeE[s24L2_, s12L_] := (Sqrt[1 - s14L^2]*Sqrt[1 - s24L2])*(s12L*Sqrt[s24L2] + 
 Sqrt[1 - s12L^2]*Sqrt[1 - s24L2]*s14L);
gLEE[s24L2_, s12L_] := (1 - s14L^2)*(1 - s24L2);

c12R = 1
s14R = 0

gRμμ[s24R2_, s12R_] := (c12R*Sqrt[s24R2] - Sqrt[1 - s24R2]*s12R*s14R)^2;
gRμe[s24R2_, s12R_] := (s12R*Sqrt[s24R2] + 
 c12R*Sqrt[1 - s24R2]*s14R)*(s12R*Sqrt[s24R2] - 
 Sqrt[1 - s24R2]*s12R*s14R);
gRee[s24R2_, s12R_] := (s12R*Sqrt[s24R2] + c12R*Sqrt[1 - s24R2]*s14R)^2;
gRμE[s24R2_, s12R_] := (Sqrt[1 - s14R^2]*
 Sqrt[1 - s24R2])*(Sqrt[1 - s12R^2]*Sqrt[s24R2] - 
 Sqrt[1 - s24R2]*s12R*s14R);
gReE[s24R2_, s12R_] := (Sqrt[1 - s14R^2]*Sqrt[1 - s24R2])*(s12R*Sqrt[s24R2] + 
 Sqrt[1 - s12R^2]*Sqrt[1 - s24R2]*s14R);
gREE[s24R2_, s12R_] := (1 - s14R^2)*(1 - s24R2);

ΔaμZprime[MZprime_, s24L2_, s12L_, s24R2_, s12R_] := -(mmu^2/(8 π^2 MZprime^2))*
(((gLμμ[s24L2, s12L])^2 + (gRμμ[s24R2, s12R])^2)*
 F[mmu^2/MZprime^2]
+ ((gLμe[s24L2, s12L])^2 + (gRμe[s24R2, s12R])^2)*
 F[me^2/MZprime^2]
+ ((gLμE[s24L2, s12L])^2 + (gRμE[s24R2, s12R])^2)*
 F[M4C^2/MZprime^2]
+ mmu/mmu*
 Re[gLμμ[s24L2, s12L]*(gRμμ[s24R2, s12R])\[Conjugate]]*
 G[mmu^2/MZprime^2]
+ me/mmu*
 Re[gLμE[s24L2, s12L]*(gRμE[s24R2, s12R])\[Conjugate]]*
 G[me^2/MZprime^2]
+ M4C/mmu*
 Re[gLμE[s24L2, s12L]*(gRμμ[s24R2, s12R])\[Conjugate]]*
 G[1001^2/MZprime^2])

And then I tried to draw a contour plot by using the defined function but I come up with some problems.

ContourPlot[ΔaμZprime[MZprime, s24L2, 10^-3, 10^-3, 10^-3], {MZprime, 50, 1000}, {s24L2, 0, 1}, 
 ScalingFunctions -> {"Log", "Log"}, 
 FrameLabel -> {Style["\!\(\*SubscriptBox[\(M\), \(Z'\)]\)[GeV]", FontSize -> 16], 
   Style["\!\(\*SuperscriptBox[\(sin\), \(2\)]\)\!\(\*SubscriptBox[\( \
   θ\), \(24  L\)]\)", FontSize -> 16]}, 
 BaseStyle -> {FontFamily -> "Times", FontSize -> 14}, 
 RegionFunction -> 
  Function[{MZprime, s24L2, 10^-3, 10^-3, 
    10^-3}, ΔaμZprime[MZprime, s24L2, 10^-3, 10^-3, 
     10^-3] <= Δamumin], 
 PlotRange -> {{50, 1000}, {10^-3, 1.0}, All}, 
 ContourShading -> {Opacity[0.4, Blue]}, Contours -> {10}, 
 MaxRecursion -> 5]

I assumed the variables s12L, s24R2, s12R to be 10^-3, 10^-3, 10^-3, respectively and wanted to draw the contour plot with respect to MZprime, s24L2 but mathematica gave me some warning messages like

enter image description here

How can I remove the warning messages and draw the right contour plot?

$\endgroup$
2
$\begingroup$

The error message

enter image description here

shows where the error is.

So, if you change the part RegionFunction -> Function[{MZprime, s24L2, 10^-3, 10^-3, 10^-3} ,...] to

RegionFunction -> Function[{MZprime, s24L2}, 
   ΔaμZprime[MZprime, s24L2, 10^-3, 10^-3, 10^-3] <= Δamumin]

you get (without error/warning messages)

enter image description here

| improve this answer | |
$\endgroup$
  • $\begingroup$ Great! Thanks for your help. $\endgroup$ – lhcQFT Jun 17 '19 at 11:17

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.