Open mmikhasenko opened 1 year ago
Here, one needs to modify the compute_decay_rates
function from
https://github.com/ComPWA/polarimetry/blob/main/docs/intensity.ipynb
something in this direction,
# Assuming each resonance has an attribute 'couplings' that lists its couplings
all_couplings = [coupling for resonance in resonances for coupling in resonance.couplings]
n_couplings = len(all_couplings)
def compute_decay_rates_for_couplings(func, integration_sample: DataSample):
decay_rates = np.zeros(shape=(n_couplings, n_couplings))
combinations = list(product(enumerate(all_couplings), enumerate(all_couplings)))
progress_bar = tqdm(
desc="Calculating rate matrix for couplings",
disable=NO_TQDM,
total=(len(combinations) + n_couplings) // 2,
)
I_tot = integrate_intensity(intensity_func(integration_sample))
for (i, coupling1), (j, coupling2) in combinations:
if j < i:
continue
progress_bar.postfix = f"{coupling1.name} × {coupling2.name}"
coup1 = to_regex(coupling1.name)
coup2 = to_regex(coupling2.name)
if coup1 == coup2:
I_sub = sub_intensity(
func, integration_sample, non_zero_couplings=[coup1]
)
else:
I_sub = interference_intensity(func, integration_sample, [coup1], [coup2])
decay_rates[i, j] = I_sub / I_tot
if i != j:
decay_rates[j, i] = decay_rates[i, j]
progress_bar.update()
progress_bar.close()
return decay_rates
and run the computation for the LS model
Just a curious physics question that I wonder often: what is a decay rate of Lc that goes via PC and PV currents. Dump it here, and remove from my head. We might check it one day.
Two clues to investigate it:
Essentially, one just need the decay rate matrix in LS basis. One can either: