Put the Gammon joint into a large pan and cover with cold water. Bring to the boil. Let simmer for a couple of minutes, then pour away all the water.
Now pour in the cola - enough to submerge the joint. Put on full heat.
While it's coming to the boil, peel and quarter the onion and chop the carrots & celery. Add to the pot with the cinnamon, peppercorns and bay leaf.
When the liquid boils, lower the heat, cover and simmer. Check now and again to ensure that the joint is still submerged - you can top up with boiling water if you've run out of cola.
After 2¼ hours, lift the ham out into a roasting tin. Discard the liquid.
Turn on the oven to 190°C. and while it heats up mix the glaze ingredients together in a jug.
When the joint's cooled down a bit, gently peel off the skin to reveal the fat. With a sharp knife score the fat in 2 parallel sets of lines about 3 cm apart to make a criss cross pattern.
Pour about half the glaze over the scored fat and put in the oven for about 15 minutes. Take it out, pour over the rest of the glaze and return to oven for half an hour, basting a couple of times.