# Anomalous Z’ model¶

The model of hep-ph/0501154 contains a \(Z'\) boson with couplings to the Standard Model fermions and an anomalous coupling to the photon and Z. It therefore provides a model with a minimal additional particles, the \(Z'\), and vertices, the coupling of the \(Z'\) to the Standard Model fermions and the anomalous \(Z'\) -Z-photon vertex, from the Standard Model and is therefore a good example of implementing a new model in Herwig++. As this is an advanced example of writing your own code to work with Herwig++ and therefore it assumes you are familiar with creating your own classes, creating the initialization and termination routines, parameters and switches using the emacs macros supplied with ThePEG.

To implement this model requires a number of features. A full implementation can be found in the `contrib/RadiativeZPrime`

directory in the Herwig++ release. Here’s a brief description of the steps involved

An implementation of the coupling of the \(Z'\) to the Standard Model fermions which can be implemented in a class inheriting from

`Helicity::FFVVertex`

. This is relatively simple and can be based on the`StandardModelFFZVertex`

class of Herwig++ which implements the same interaction for the Z boson. This is implemented in the`FFZPrimeVertex`

class in the example implementation.An implementation of the coupling of the \(Z'\) to the Z and photon. This is more complicated as the interaction occurs via a Lorentz structure which is not implemented in the code, i.e. \(e_{mnab}e^m_{\gamma}e^n_{Z'}e^a_{Z}p^b_{\gamma},\) where \(e_{mnab}\) is the totally antisymmetric tensor, \(e_{X}\) is the polarization vector of X and \(p_{X}\) is the momentum of X. This requires

- a base class inheriting from
`Helicity::AbstractVVVVertex`

which implements the calculation of the matrix element or off-shell wavefunctions for the Lorentz structure. In practice in this case only the`evaluate`

member for the matrix element is needed, although the others have to be supplied as they purely virtual in the base class. This is implemented in the`AnomalousVVVVertex`

class in the example implementation. - an inheriting class which implements the interaction for this model by implementing the
`setCoupling`

member, in the example implementation this is the`GammaZPrimeZVertex`

class.

- a base class inheriting from
A model class which inherits from the Herwig++

`StandardModel`

class and implements the calculation of the new couplings in the model, in this case of the Z’ to the Standard Model fermions and Z-photon, and the storage of the new vertices. In the example implementation this is the`RadiativeZPrimeModel`

class.In order to use the new model a

`RadiativeZPrimeModel`

object must be created and used to replace the default`Model`

object used by Herwig++ which is of course an instances of the Herwig++`StandardModel`

class. This requires:- the new particles, in this case the Z’ are created;
- an instance of the new model class, in this case
`RadiativeZPrimeModel`

is created; - the running electromagnetic and strong couplings, running mass and CKM objects are assigned to the new model;
- the new vertices are created and these, together with the Standard Model vertices assigned to the new model;
- the model model objects is assigned to the
`StandardModelParameters`

interface of the`EventGenerator`

to replace the`StandardModel`

object.

This is done in the

`RadiativeZPrime.model`

file in the example implementation.

The model is now ready to be used with Herwig++. It can be used with the standard internal Herwig++ machinary to generate hard processes and decays. In this case a number of other options are available in the implementation.

- The
`MEqq2ZPrime2ff`

class implements the matrix element for \(q\bar{q} \to f\bar{f}\) including the Standard Model contributions, based heavily on the`MEqq2gZ2ff`

matrix element in Herwig++. - The
`MEqq2ZPrime2ZGamma`

class implements the matrix element for \(q \bar{q} \to Z' \to Z \gamma\). - The
`MEqq2ZPrime2ZGamma2ffGamma`

class implements \(q \bar{q} \to Z' \to Z gamma\) including the decay of the Z boson as a \(2\to3\) process to provide an example of doing this.

The `LHC-RadiativeZPrime.in`

file includes examples of using both the default mechanism for new physics processes and thewse additional matrix elements. The `SimpleZPrimeAnalysis`

class provides some simple analysis of the events. The results results] for the \(2\to3\) matrix element (black), dedicated