Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def ckm_np(self, w=None, iterate=10):
"""Return the central values for the four CKM parameters
`Vus`, `Vcb`, `Vub`, `delta`,
in the presence of new physics (parametrized by a `wilson.Wilson`
instance `w`) """
Vus, Vcb, Vub, delta = [self.ckm_initial[p] for p in ['Vus', 'Vcb', 'Vub', 'delta']]
for _ in range(iterate):
if w is None:
Vus, Vcb, Vub, delta = self._ckm_np(w=None, Vus=Vus, Vcb=Vcb, Vub=Vub, delta=delta)
else:
w.set_option('parameters', {'Vus': Vus, 'Vcb': Vcb, 'Vub': Vub, 'gamma': delta})
Vus, Vcb, Vub, delta = self._ckm_np(w, Vus=Vus, Vcb=Vcb, Vub=Vub, delta=delta)
return Vus, Vcb, Vub, delta
class CKMSchemeRmuBtaunuBxlnuDeltaM(CKMScheme):
"""CKM scheme where the four input observables are given by:
- 'RKpi(P+->munu)' (mostly fixing `Vus`)
- 'BR(B->Xcenu)' (fixing `Vcb`)
- 'BR(B+->taunu)' (fixing `Vub`)
- 'DeltaM_d/DeltaM_s' (mostly fixing `delta`)
"""
observables=[
'RKpi(P+->munu)',
'BR(B->Xcenu)',
'BR(B+->taunu)',
'DeltaM_d/DeltaM_s'
]
@staticmethod
def ckm_fac(Vus, Vcb, Vub, delta):
def get_ckm_schemes():
return {
k: v() for k,v in globals().items()
if inspect.isclass(v)
and issubclass(v, CKMScheme)
and len(v.observables) == 4
}