Skip to content

Breaking NTuple making for multiple identical daughter particles

The way the decays are written out to ntuples doesn't work properly in the case of multiple identical daughter particles https://gitlab.cern.ch/jwuerzin/Run3ModelGen/-/blob/main/source/Run3ModelGen/python/ntupling.py?ref_type=heads#L742

Here's an example of how it breaks (not sure if there are other decays that can break it too):

In the "for sDecay in slha.decays" loop, when sDecay is h1 --> N1 N2 then ids = {1000022,1000023} but then in the "for mm in decay" loop it hits mm = {100022, 1000022} first and breaks the loop because match=set({1000022, 1000022})={1000022} is a subset of ids={1000022,1000023}, and as a result h->N1 N2 gets the same idx as h->N1 N1 . So what's written out as BF_h_to_chi_10_chi_10 is actually the sum of BF(h-->N1 N2) + BF(h-->N1 N1)

Thanks to @bhodkins for reporting this!