Date: 02/10/15-06:13:55 PM Z

Speaking of polarization sums for vector bosons,
the old DoPolarizationSums function has recently got a major makeover.

Instead of just inserting -g(mu,nu) for suitable
polarization vectors (which is for example not ok for QCD, unless
you want to add the ghost contributions explicitly), it now
can deal both with massive and massless vector bosons.

The new syntax is DoPolarizationSums[exp, k, n], where
exp is you matrix element squared, k is the four vector
of the external vector boson and n is the auxiliary vector
needed for massless bosons. In this form it can be used e.g.
for gluons. Usually one would pick n to be one of the external
momenta, such that SP[k,n]=!=0. At the end n should of course cancel
out for all gauge invariant quantities.

Now we know that in pure QED processes it is usually sufficient to
replace the polarization sum by just -g(mu,nu) to get the correct
result. Fine, for this use DoPolarizationSums[exp, k, 0].

Finally DoPolarizationSums[exp, k] means that we have a massive
vector boson, with the mass equal to SP[k,k] (e.g. W or Z)

Currently DoPolarizationSums hat two options: ExtraFactor and Contract.
ExtraFactor-> a means that the whole expression will be multiplied by a.
For example if, we are averaging over photon or gluon polarizations, it
is convenient to set ExtraFactor-> 1/2 right from the beginning.
The option Contract specifies if the inserted polarization sum should be
immediately contracted with the rest of the expression or not. The
default is True and it does make things a bit faster. Of course you can
also do e.g.

DoPolarizationSums[
Pair[Momentum[k], Momentum[Polarization[p, I]]] Pair[Momentum[q],
Momentum[Polarization[p, -I]]], p, n, Contract -> False]

to explicitly see the uncontracted polarization sum.

By the way, DoPolarizationSums automatically takes care about
uncontracting polarization vectors, so you don't need any tricks here

Last but not least, note that DoPolarizationSums must be applied for
each external boson. For example, if you have a process with two
external photons k1 and k2, you must use DoPolarizationSums for k1 and
k2 separately.

The polarization sums that get inserted for massive and massless bosons
are defined in PolarizationSum

<https://github.com/FeynCalc/feyncalc/blob/master/FeynCalc/fctools/PolarizationSum.m>

For real life examples, have a look at the included examples for e.g.

Compton scattering in QED
<https://github.com/FeynCalc/feyncalc/blob/master/FeynCalc/fcexamples/QED/QEDComptonScatteringTree.m>

Quark Gluon scattering in QCD
<https://github.com/FeynCalc/feyncalc/blob/master/FeynCalc/fcexamples/QCD/QCDGQiToGQi.m>

Gluon Gluon to Gluon Gluon scattering in QCD
https://github.com/FeynCalc/feyncalc/blob/master/FeynCalc/fcexamples/QCD/QCDGGToGGTree.m

Cheers,