flav-io / flavio

A Python package for flavour physics phenomenology in the Standard model and beyond
http://flav-io.github.io/
MIT License
71 stars 62 forks source link

Running issue with operator 'phil3' #121

Closed Joro20 closed 4 years ago

Joro20 commented 4 years ago

I'm running this code wcphil3_13 = Wilson ({'phil3_13': 5.8785e-8}, scale=1e3, eft='SMEFT', basis='Warsaw') flavio.np_prediction('BR(Z->etau)', wcphil3_13) but getting a huge error message, ending with "......ValueError: No solution for m^2 and Lambda found. This problem can be caused by very large values for one or several Wilson coefficients." For other WCs, such as 'phil1' etc. it is not a problem, I'm getting some results! Please help.

DavidMStraub commented 4 years ago

This is a physics question, not a problem with the code.

Look at the SMEFT WCs at mZ:

wcphil3_13.match_run(scale=91.1876, eft="SMEFT", basis="Warsaw")

I bet (without trying) that you have large values for one of the WCs changing the relation between EWPO and SM parameters.

Joro20 commented 4 years ago

Since I'm only initializing the single WC value 'phil3_13': 5.8785e-8, you mean this value is large and creating problem ? I've no control on other WC values.

DavidMStraub commented 4 years ago

The others are induced by the RGE!

Joro20 commented 4 years ago

I know that! So, that means I need to play around with the only input value I'm giving to see no other WC gets larger induced value and change 'the relation between EWPO and SM parameters' as you mentioned, right ?

DavidMStraub commented 4 years ago

Yes, you can play around ... it might also help to start switching on individual WCs at the MZ scale rather than the high scale. And since EWPOs are so sensitive to EW couplings, in general it's good to have an analytical understanding of what's going on.

But in general when you see this error, it means that it's an invalid point in WC space.

peterstangl commented 4 years ago

I think this specific case might indicate a problem not related to the size of the WC. I can reproduce the error with a completely negligible value for the WC of 1e-50 using the following code:

from wilson import Wilson
wcphil3_13 = Wilson({'phil3_13': 1e-50}, scale=1e3, eft='SMEFT', basis='Warsaw')
wcphil3_13.match_run(scale=160, eft='SMEFT', basis='Warsaw')

But clearly, this is not a direct issue of flavio but rather of the wilson package. So I would suggest to move the discussion to the wilson repository, where I have opened issue https://github.com/wilson-eft/wilson/issues/49.