Correct me if I'm wrong but this is how openlab calculated MS peak purity:

1) create EICs for the top (n) detected m/z values

2) Find RT for each EIC and group ions together into a component if they have the same RT.

3) Determine target ion by looking at a mass spectrum at TIC apex and picking ion with greatest abundance.

4) Target component then defined as the component that contains target ion

5) Calculation done by response(target component)/response(all components)

(source from OpenLab Help & Learning (agilent.com)

If this is the case, when I set n = 10, I should only obtain 10 EICs and the system should only take into account the top 10 most abundant m/z values in the calculation. This is not the case.

See above. while n is set to 10, there are 16 EICs, and so 16 ions are being taken into account when calculating peak purity. Equally irrespective of my value of n, the systems result does not change

When I change n to 3 and reprocess:

I do now have less EICs but instead of 3 I have 6...and despite the system now seemingly using fewer ions to calculate peak purity, the answer is still the same.

Does anyone have any ideas what's going on here? Is this a bug?

All your answers/ideas are greatly appreciated!