Skip to content

Fixed the "pythia-bug" in Lamarr

Lucio Anderlini requested to merge landerli_lamarr_pythia_fix into master

The mechanism with which particles are imported from HepMC to MCParticles in Lamarr is as follows:

  1. Find the pp collisions and store an identifier of the primary vertices in a list
  2. Loop over all the particles in HepMC event to find those produced from the primary vertex
  3. Descend the decay tree down to the stable particles, skipping Pythia-internal particles such as quarks, gluons, diquarks...
  4. Copy and reorganize particle properties from HepMC format to LHCb::MCParticle objects and store them in TES

This works perfectly with ParticleGun but with Pythia there is a problem: if the prompt-produced particle is represented by Pythia as produced from the decay of a quark or diquark (fragmentation) then those intermediate particles are filtered out by Lamarr before checking their decay products rejecting the whole decay chain.

This MR is to refactor the code of LamarrPropagator in order to separate the decay tree traversal from the filter on the particle nature.

The fix has been tested on 100 D*+ decays and there is nothing obviously wrong, but before merging we need:

  • to check with larger statistics and produce some plot of the reconstructed quantities
  • ensure MC truth matching is still working
Edited by Lucio Anderlini

Merge request reports