# EvtGen Interface¶

Internally EvtGen and Herwig use very similar algorithms to include spin corrections in particle decays. Therefore in order to get the most from both packages it is essential to communicate spin information between the two programs. The internal interface handles the conversion of spin information, in particular spinors where different conventions are used, between the two programs and ensures that the full correlations are generated.

If the location of the EvtGen package, and the Pythia8 event generator which is used by EvtGen to simulate partonic decays of B-hadrons, is specified when Herwig7 is configured. Two objects are created, one of the EvtGenInterface class with an object /Herwig/Decays/EvtGen which is used to handle the conversion of data between the two programs and one of the class EvtGenDecayer with an object named /Herwig/Decays/EvtGenDecayer which can be used to perform decays in Herwig7. By default EvtGen decays both the particle, and any daughter particles which are unstable, are decayed. The EvtGenDecayer class can support both this approach, with the switch

set /Decays/EvtGenDecayer:Option All


or only decay the parent and leave the decays of any unstable daughters to Herwig7 using

set /Decays/EvtGenDecayer:Option Parent


The decay can be set in the usually way for a specific decay mode

set /Herwig/Particles/rho+/rho+->pi+,pi0;:Decayer /Herwig/Decays/EvtGenDecayer


or when the DecayMode is created

decaymode tau+->pi+,pi0,nu_taubar; 0.255054 1 /Herwig/Decays/EvtGenDecayer


In this case Herwig7 selects the relevant decay mode and EvtGen is used to perform the decays.

We also provide the option of using wild cards to allow EvtGen to select the decay mode of the particle, e.g.:

decaymode B0->*MatchAny; 1. 1 /Herwig/Decays/EvtGenDecayer


will use EvtGen to select the decay modes of the $$B^0$$ meson.