def test_chain_phsp(): dic = yaml.full_load(config_text) config = ConfigLoader(dic) data = config.generate_toy(10) data.mass_hist("(C, F, G, H)").draw() import matplotlib.pyplot as plt plt.savefig("chain_phsp.png")
config = ConfigLoader(yaml.full_load(config_str)) # %% # We set parameters to a blance value. And we can generate some toy data and calclute the weights # input_params = { "A->R1_a.BR1_a->C.D_total_0r": 6.0, "A->R1_b.BR1_b->C.D_total_0r": 1.0, "A->R2.CR2->B.D_total_0r": 2.0, "A->R3.DR3->B.C_total_0r": 1.0, } config.set_params(input_params) data = config.generate_toy(1000) phsp = config.generate_phsp(10000) # You can also fit the data fit to the data fit_result = config.fit([data], [phsp]) err = config.get_params_error(fit_result, [data], [phsp]) # %% # we can see that thre fit results consistant with inputs, the first one is fixed. for var in input_params: print( f"in: {input_params[var]} => out: {fit_result.params[var]} +/- {err.get(var, 0.)}" ) # %%