The following applies so long as you don't have a real & genuine Cooper 'S' engine, 970, 1071 or 1275 (like 'if only'!).
Look down the back of the block behind the exhaust manifold. If there are two rectangular removable steel cover plates with a 1/2" A/F bold in the centre of each holding them on, then you have either a 998 or a 1098 engine (or an early 997 Cooper engine or an 850, but that's unlikely).
If the back of the block does not have these, then it is a 1275 engine.
To decide whether it is a 998 or 1098 engine, assuming that you have the cover plates on the back, remove the plugs and by putting a pencil down one of the bores mark the pencil against a point on the head at TDC, turn the engine over until it is at BDC and mark the pencil again. The distance between the two marks is the stroke. The 998 is 72.6 mm stroke whilst the 1098 is 83.7 mm.
A or A+ can be determined by simply looking at the front of the block. Th A+ has some 'raised seams' as part of the block casting and the A doesn't. There are a lot of photos on here which will show the difference.
The 'S' engines are another matter, as they have the rectangular plates on the back of the block, but they also have 10 head studs and one head bolt rather than the 9 studs of all the other engines.
This is a bit of a simplified explanation, but it should enable you to determine what you actually have.
The 12G940 head is the basic head casting as fitted to 1275 engines, although with a bit of fettling a 12G940 can be fitted to a 998.