Hi cpataki,
My understanding of 'groupChromPeaks' is that is first generates of sequence of overlapping mass windows:
mass <- seq(peaks[1, "mz"], peaks[nrow(peaks), "mz"] + binSize, by = binSize / 2)
Then, it finds which peaks fall in each window and performs density based grouping on them (which is based on 'bw').
So, if you know that your instrument has very high accuracy/precision, you can reduce binsize to a smaller number. This should ensure peaks with relatively different masses aren't grouped together.
Thereafter, you can reduce 'bw' to fine tune based on RT.
You could get a rough visualization of the mass groupings with some basic plotting:
mz<-c(153.03,153.06)
rtr_1<-c(155, 175)
binSize<-0.01
## Get peaks that you want to find in a feature
specificPeaks<-chromPeaks(xdata,rt=rtr_1,mz=mzr)
## Plot the peak locations
plot(specificPeaks[,"rt"],specificPeaks[,"mz"])
## Create approximate grouping windows (not the values that 'groupChromPeaks' will generate)
mass<-seq(min(specificPeaks[, "mz"]), max(specificPeaks[, "mz"]) + binSize, by = binSize / 2)
abline(h=mass,col=rep(c('red','green')))
## Note these are overlapping windows. So look at groupings between the coloured lines