Skip to content

Possible bug in EmissionVetoHook1.cc for bb4l vetoing #40459

Open
@lauridsj

Description

@lauridsj

When showering LHE events generated by Powheg with Pythia, the file EmissionVetoHook1.cc is used to veto Pythia emissions above the scale set by Powheg to avoid double counting. For the BB4L event generator in Powheg, which generates gg -> bbnunull at full NLO, this presents additional complications since BB4L can generate up to three real emissions at Powheg level (one from the initial state and one from each top decay). For this, the additional file PowhegHooksBB4L.h is used, which takes care of the FSR vetos.

To make sure that EmissionVetoHook1.cc does not also veto the FSR in this case, it contains the following lines (l. 444):

// only use for outside resonance vetos in combination with bb4l:FSREmission:veto
if (!inResonance && settingsPtr->flag("POWHEG:bb4l:FSREmission:veto") == 1)
    return false;

According to the comment, when bb4l is enabled, EmissionVetoHook1.cc should still take care of decays outside of the resonance (which are not taken care of by PowhegHooksBB4L.h). However, the if condition does the opposite of this due to the exclamation mark in front - it skips the veto for events that are outside the resonance. I think this exclamation mark needs to be removed.

To check this, I compared with a local implementation using the standard PowhegHooks.h from Pythia 8.3. Without the exclamation mark, the results are identical, while as the code is now, there is a non-negligible difference.

Pinging @mseidel42 and @agrohsje as the ones who AFAIK originally implemented this.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions