Comment 2 for bug 1955614

Revision history for this message
Sitian Qian (sitianq) wrote :

Thanks for your quick response!

In fact we saw this issue firstly with dummy decay mode. Then we found this also happens when decaying on-shell particles. For example the errors I posted is produced for decaying tt~ events with the default settings.

I am not confident to answer if I am using spinmode only, but if the default setting is then yes I am using it, and also I am using dummy decay mode to modify the helicity.

I am relooking at the files and I feel the problem is that even if the "decay_struct" are stored after being converted to string. Once they are loaded they are converted back to dictionaries.

I add a try except to the loading part:

 716 for me in generate_all.all_ME:
 717 for d in generate_all.all_ME[me]['decays']:
 718 try:
 719 tmp_ds = eval(d['decay_struct'])
 720 except TypeError:
 721 print("eval error")
 722 if d['decay_struct'] == "":
 723 print("decay_struct is empty string")
 724 else:
 725 print(type(d['decay_struct']))
 726 else:
 727 d['decay_struct'] = tmp_ds

With this try except part MadSpin now works and when I look at the output file I find the 'decay_struct' are all dictionaries.

Cheers,

Sitian