MadSpin KeyError : ((5, 21), (-6, 5, 6)) after Powheg

Asked by Ben Go

Hello experts,

I hope I it is okay to ask this question here, as it is MadSpin related (but not so much MadGraph). I
try to simulate ttbar events, with tops not decaying into b-quarks (e.g. both tops decaying into d-quarks). The error I get is the same for other top decays, but here I will show it just for this:

I generate ttbar events with powheg and then use MadSpin to decay it:. I use the 5 flavour scheme and set the BR_t_to_Ws = BR_t_to_Wb = 0.5:

PowhegConfig.decay_mode = "t t~ > undecayed"
PowhegConfig.BR_t_to_Wb = 0.5
PowhegConfig.BR_t_to_Wd = 0.0
PowhegConfig.BR_t_to_Ws = 0.5
PowhegConfig.MadSpin_model = "loop_sm-ckm"
PowhegConfig.MadSpin_decays= ["decay t > w+ s, w+ > j j","decay t~ > w- b~, w- > l- vl~"]
PowhegConfig.MadSpin_process = "generate p p > t t~ [QCD]"
PowhegConfig.MadSpin_nFlavours = 5
PowhegConfig.generate()

The Powheg generation works just fine. And if both W bosons decay into leptons, the MadSpin decay also works, but as I need semileptonic decays I have one W boson decay into j j.

And here this error occurs:
18:28:34 Py:PowhegControl ERROR | Command "launch" interrupted with error:
18:28:34 Py:PowhegControl ERROR | KeyError : ((5, 21), (-6, 5, 6))
18:28:34 Py:PowhegControl ERROR | Please report this bug to developers

The MS_Debug says at the beginning:
set seed 763094686
import pwgevents.lhe
set spinmode full
decay t > w+ s, w+ > j j
decay t~ > w- b~, w- > l- vl~
launch

Then the error message with the keyerror is written there.

So, apparently this g b -> t~ b t vertex is not computed. Is there a way to fix this? e.g. is there something I need to change in the pwgevents.lhe file which MadSpin takes to decay the events?

I also attach here the MadSpin log, as some things seem a bit strange to me:
18:16:43 Py:PowhegControl INFO | ************************************************************
18:16:43 Py:PowhegControl INFO | * *
18:16:43 Py:PowhegControl INFO | * W E L C O M E to M A D S P I N *
18:16:43 Py:PowhegControl INFO | * *
18:16:43 Py:PowhegControl INFO | ************************************************************
18:16:44 Py:PowhegControl INFO | run_card missed argument run_tag. Takes default: tag_1
18:16:44 Py:PowhegControl INFO | run_card missed argument req_acc. Takes default: -1.0
18:16:44 Py:PowhegControl INFO | run_card missed argument nevt_job. Takes default: -1
18:16:44 Py:PowhegControl INFO | run_card missed argument req_acc_fo. Takes default: 0.01
18:16:44 Py:PowhegControl INFO | run_card missed argument npoints_fo_grid. Takes default: 5000
18:16:44 Py:PowhegControl INFO | run_card missed argument niters_fo_grid. Takes default: 4
18:16:44 Py:PowhegControl INFO | run_card missed argument npoints_fo. Takes default: 10000
18:16:44 Py:PowhegControl INFO | run_card missed argument niters_fo. Takes default: 6
18:16:44 Py:PowhegControl INFO | run_card missed argument pt_min_pdg. Takes default: {}
18:16:44 Py:PowhegControl INFO | run_card missed argument pt_max_pdg. Takes default: {}
18:16:44 Py:PowhegControl INFO | run_card missed argument mxx_min_pdg. Takes default: {}
18:16:44 Py:PowhegControl INFO | process: p p > t t~
18:16:44 Py:PowhegControl INFO | options:
18:16:44 Py:PowhegControl INFO | define p = g u c d s b u~ c~ d~ s~ b~
18:16:44 Py:PowhegControl INFO | reload from .py file
18:16:44 Py:PowhegControl INFO | load particles
18:16:44 Py:PowhegControl INFO | load vertices
18:16:44 Py:PowhegControl INFO | Restrict model sm with file ../../../../../../../../../../../cvmfs/atlas.cern.ch/repo/sw/software/21.6/sw/lcg/releases/MCGenerators/madgraph5amc/2.9.9.atlas2-c4dfe/x86_64-centos7-gcc62-opt/models/sm/restrict_default.dat .
18:16:44 Py:PowhegControl INFO | Run "set stdout_level DEBUG" before import for more information.
18:16:44 Py:PowhegControl INFO | Change particles name to pass to MG5 convention
18:16:44 Py:PowhegControl INFO | Defined multiparticle p = g u c d s u~ c~ d~ s~
18:16:44 Py:PowhegControl INFO | Defined multiparticle j = g u c d s u~ c~ d~ s~
18:16:44 Py:PowhegControl INFO | Defined multiparticle l+ = e+ mu+
18:16:44 Py:PowhegControl INFO | Defined multiparticle l- = e- mu-
18:16:44 Py:PowhegControl INFO | Defined multiparticle vl = ve vm vt
18:16:44 Py:PowhegControl INFO | Defined multiparticle vl~ = ve~ vm~ vt~
18:16:44 Py:PowhegControl INFO | Defined multiparticle all = g u c d s u~ c~ d~ s~ a ve vm vt e- mu- ve~ vm~ vt~ e+ mu+ t b t~ b~ z w+ h w- ta- ta+
18:16:44 Py:PowhegControl INFO | Defined multiparticle p = g u c d s u~ c~ d~ s~ b b~
18:16:44 Py:PowhegControl INFO | define j = g u c d s b u~ c~ d~ s~ b~
18:16:44 Py:PowhegControl INFO | Defined multiparticle j = g u c d s u~ c~ d~ s~ b b~
18:16:44 Py:PowhegControl INFO | define l+ = e+ mu+ ta+
18:16:44 Py:PowhegControl INFO | Defined multiparticle l+ = e+ mu+ ta+
18:16:44 Py:PowhegControl INFO | define l- = e- mu- ta-
18:16:44 Py:PowhegControl INFO | Defined multiparticle l- = e- mu- ta-
18:16:44 Py:PowhegControl INFO | Set group_subprocesses to Auto
18:16:44 Py:PowhegControl INFO | Note that you need to regenerate all processes
18:16:44 Py:PowhegControl INFO | set loop optimized output to True
18:16:44 Py:PowhegControl INFO | Complex mass already desactivated.
18:16:44 Py:PowhegControl INFO | detected model: loop_sm-ckm. Loading...
18:16:44 Py:PowhegControl INFO |  This model [version 1.2] is provided by V. Hirschi (email: <email address hidden>). Please cite n/a 
18:16:44 Py:PowhegControl INFO | load particles
18:16:44 Py:PowhegControl INFO | load vertices
18:16:44 Py:PowhegControl INFO | Restrict model loop_sm-ckm with file ../../../../../../../../../../../cvmfs/atlas.cern.ch/repo/sw/software/21.6/sw/lcg/releases/MCGenerators/madgraph5amc/2.9.9.atlas2-c4dfe/x86_64-centos7-gcc62-opt/models/loop_sm/restrict_ckm.dat .
18:16:44 Py:PowhegControl INFO | Run "set stdout_level DEBUG" before import for more information.
18:16:44 Py:PowhegControl INFO | Change particles name to pass to MG5 convention
18:16:44 Py:PowhegControl INFO | Pass the definition of 'j' and 'p' to 4 flavour scheme.
18:16:44 Py:PowhegControl INFO | Kept definitions of multiparticles l- / vl / l+ / vl~ unchanged
18:16:44 Py:PowhegControl INFO | Defined multiparticle all = g gh gh~ d u s c d~ u~ s~ c~ a ve vm vt e- mu- ve~ vm~ vt~ e+ mu+ b t b~ t~ z w+ h w- ta- ta+
18:16:44 Py:PowhegControl INFO | Set group_subprocesses to Auto
18:16:44 Py:PowhegControl INFO | Note that you need to regenerate all processes
18:16:44 Py:PowhegControl INFO | set loop optimized output to True
18:16:44 Py:PowhegControl INFO | Complex mass already desactivated.
18:16:44 Py:PowhegControl INFO | Defined multiparticle p = g u c d s u~ c~ d~ s~ b b~
18:16:44 Py:PowhegControl INFO | Defined multiparticle j = g u c d s u~ c~ d~ s~ b b~
18:16:44 Py:PowhegControl INFO | Defined multiparticle l+ = e+ mu+ ta+
18:16:44 Py:PowhegControl INFO | Defined multiparticle l- = e- mu- ta-
18:16:44 Py:PowhegControl INFO | Will use seed 763094686
18:16:44 Py:PowhegControl INFO |
18:16:44 Py:PowhegControl INFO | decay channels for t~ : ( width = 1.32 GeV )
18:16:44 Py:PowhegControl INFO | BR d1 d2
18:16:44 Py:PowhegControl INFO | 5.000000e-01 w- b~
18:16:44 Py:PowhegControl INFO | 5.000000e-01 w- s~
18:16:44 Py:PowhegControl INFO | 0.000000e+00 w- d~
18:16:44 Py:PowhegControl INFO |
18:16:44 Py:PowhegControl INFO |
18:16:44 Py:PowhegControl INFO | decay channels for w- : ( width = 2.085 GeV )
18:16:44 Py:PowhegControl INFO | BR d1 d2
18:16:44 Py:PowhegControl INFO | 3.377000e-01 u~ d
18:16:44 Py:PowhegControl INFO | 3.377000e-01 c~ s
18:16:44 Py:PowhegControl INFO | 1.082000e-01 ve~ e-
18:16:44 Py:PowhegControl INFO | 1.082000e-01 vm~ mu-
18:16:44 Py:PowhegControl INFO | 1.082000e-01 vt~ ta-
18:16:44 Py:PowhegControl INFO |
18:16:44 Py:PowhegControl INFO |
18:16:44 Py:PowhegControl INFO | decay channels for w+ : ( width = 2.085 GeV )
18:16:44 Py:PowhegControl INFO | BR d1 d2
18:16:44 Py:PowhegControl INFO | 3.377000e-01 u d~
18:16:44 Py:PowhegControl INFO | 3.377000e-01 c s~
18:16:44 Py:PowhegControl INFO | 1.082000e-01 ve e+
18:16:44 Py:PowhegControl INFO | 1.082000e-01 vm mu+
18:16:44 Py:PowhegControl INFO | 1.082000e-01 vt ta+
18:16:44 Py:PowhegControl INFO |
18:16:44 Py:PowhegControl INFO |
18:16:44 Py:PowhegControl INFO | decay channels for t : ( width = 1.32 GeV )
18:16:44 Py:PowhegControl INFO | BR d1 d2
18:16:44 Py:PowhegControl INFO | 5.000000e-01 w+ b
18:16:44 Py:PowhegControl INFO | 5.000000e-01 w+ s
18:16:44 Py:PowhegControl INFO | 0.000000e+00 w+ d
18:16:44 Py:PowhegControl INFO |
18:16:45 Py:PowhegControl INFO | generating the production square matrix element
18:16:45 Py:PowhegControl INFO | generate p p > t t~ --no_warning=duplicate;define pert_QCD = -4 -3 -2 -1 1 2 3 4 21;add process p p > t t~ pert_QCD --no_warning=duplicate;
18:17:02 Py:PowhegControl INFO | Done 16.74
18:17:02 Py:PowhegControl INFO | generating the full matrix element squared (with decay)
18:17:02 Py:PowhegControl INFO | generate p p > t t~, (t~ > b~ w- , w- > l- vl~ QCD=99), (t > s w+ , w+ > j j QCD=99) --no_warning=duplicate;define pert_QCD = -4 -3 -2 -1 1 2 3 4 21;add process p p > t t~ pert_QCD, (t~ > b~ w- , w- > l- vl~ QCD=99), (t > s w+ , w+ > j j QCD=99) --no_warning=duplicate;

Why are the multiparticles defined so often? And why does it say:
18:16:44 Py:PowhegControl INFO | Pass the definition of 'j' and 'p' to 4 flavour scheme.
when I use the 5FS?

A (quick) answer would be much appreciated as the production of these events is quite urgent!

Thank you very much in advance!

Question information

Language:
English Edit question
Status:
Solved
For:
MadGraph5_aMC@NLO Edit question
Assignee:
No assignee Edit question
Solved by:
Olivier Mattelaer
Solved:
Last query:
Last reply:
Revision history for this message
Best Olivier Mattelaer (olivier-mattelaer) said :
#1

I guess that the issue in powheg is that they overwritte the "p" and "j" multilabel and then after change the model, they should do it in the other order and "p" and "j" multilabel are now automatically reset when you import a new model such that such label are consistent with the mode. They likely implement the interface before we introduced that behavior.

The quick workaround is to change the model that you ask madspin to use to select a five flavour model.
(which is going to be more efficient that using a 4FS model anyway)

Cheers,

Olivier

Revision history for this message
Ben Go (bengo123) said :
#2

Hi Olivier,

thanks for the very quick answer! Indeed, changing the model to loop_sm-zeromass_ckm works!

Cheers,
Ben

Revision history for this message
Ben Go (bengo123) said :
#3

Thanks Olivier Mattelaer, that solved my question.