The number of samples for lowdiscrepancy indicates how many samples the sampler will compute at once for a given pixel. So the higher the value, the better the stratification and the quality, but it'll take more time. Those values can only be powers of 2 (they will be rounded to the nearest higher power of 2 if you specify a non power of 2 value).
The haltspp parameter tells lux to stop after at least that many number of samples per pixels and after a full rendering pass, ie if you told the lowdiscrepancy sampler to compute 16 samples, it will stop at a multiple of 16 samples per pixel (all values of haltspp between 1 and 16 will stop at 16, all values between 17 and 32 will stop at 32, ...).
The best result will be achieved be setting the number of samples of the lowdiscrepancy sampler to the estimated value to have a clean result and setting haltspp to 1. However due to the power of 2 rule, you might find that it's not fine grained enough, in which case you can select a lower value for the sampler and set haltspp to your target, the stratification of samples won't be as good though than with the first method.