Source code for zfit_physics.roofit.variables

from __future__ import annotations

from typing import TYPE_CHECKING

import zfit

if TYPE_CHECKING:
    try:
        import ROOT
    except ImportError:
        ROOT = None


[docs] def roo2z_param(v: ROOT.RooRealVar) -> zfit.Parameter: """ Converts a RooFit RooRealVar to a zfit parameter. Args: v: RooFit RooRealVar to convert. Returns: A zfit.Parameter object with properties copied from the RooFit variable. """ name = v.GetName() value = v.getVal() label = v.GetTitle() lower = v.getMin() upper = v.getMax() floating = not v.isConstant() stepsize = None if v.hasError(): stepsize = v.getError() elif v.hasAsymError(): # just take average stepsize = (v.getErrorHi() - v.getErrorLo()) / 2 return zfit.Parameter(name, value, lower=lower, upper=upper, floating=floating, step_size=stepsize, label=label)