68x = ROOT.RooRealVar(
"x",
"x", -10, 10)
71mu = ROOT.RooRealVar(
"mu",
"mu", 0.0, -10, 10)
72sigma = ROOT.RooRealVar(
"sigma",
"sigma", 1.0, 0.1, 2.0)
75gauss = ROOT.RooGaussian(
"gauss",
"gauss", x, mu, sigma)
78mu_obs = ROOT.RooRealVar(
"mu_obs",
"mu_obs", 1.0, -10, 10)
83constraint = ROOT.RooGaussian(
"constraint",
"constraint", mu_obs, mu, ROOT.RooFit.RooConst(0.2))
86model = ROOT.RooProdPdf(
"model",
"model", [gauss, constraint])
98dataGlob = model.generate({mu_obs}, 1)
102mu_obs_orig_val = mu_obs.getVal()
104ROOT.RooArgSet(mu_obs).assign(dataGlob.get(0))
107data = model.generate({x}, 1000)
115data.setGlobalObservables({mu_obs})
118mu_obs.setVal(mu_obs_orig_val)
124modelParameters = model.getParameters(data.get())
125origParameters = modelParameters.snapshot()
133print(
"1. model.fitTo(*data, GlobalObservables(mu_obs))")
134print(
"------------------------------------------------\n")
135model.fitTo(data, GlobalObservables=mu_obs, PrintLevel=-1, Save=
True).Print()
136modelParameters.assign(origParameters)
143print(
"2. model.fitTo(*data)")
144print(
"---------------------\n")
145model.fitTo(data, PrintLevel=-1, Save=
True).Print()
146modelParameters.assign(origParameters)
152print(
'3. model.fitTo(*data, GlobalObservables(mu_obs), GlobalObservablesSource("model"))')
153print(
"------------------------------------------------\n")
154model.fitTo(data, GlobalObservables=mu_obs, GlobalObservablesSource=
"model", PrintLevel=-1, Save=
True).Print()
155modelParameters.assign(origParameters)