Skip to content

Pythia8 Custom Hard Scatter Collection

The major change here is an addition to the hard scatter collection code. @dhayden pointed out that the important particles weren't going into the hard scatter truth collection under two circumstances:

  1. Pythia8 matrix elements. In this case, there is no single vertex storing the major incoming and outgoing particles. Now setting up simple dummy collections with a couple of vertices and some propagators, incoming, and outgoing particles. This seems to get the important particles in this situation.
  2. Incoming particles in some matrix element generators with Pythia8's shower. They seemed to not be saved. I'm just taking them on to the hard scatter collection now, so one of the vertices may not conserve momentum (in fact any vertex is allowed to not conserve momentum and our suspicion is that this setup is closer to momentum-conserving than the previous one).

Both changes have been checked against 21.2 nightlies and seem to do the job (thanks Dan!). The changes are in TRUTH5 for now, but some of these collections may get ported back to TRUTH3.

Adding a little setupTruthParticle helper function to reduce code duplication.

Also adding a little more bonus protection to avoid duplicate algorithms when running multiple TRUTH derivations in a train (now seems to work with no errors for all the derivations I tested).

Merge request reports