Differentiating MSe from MS when parsing MassLynx files

I work on a product that parses MS files and offers some processing functionality for the data.

I have recently found Waters *.raw file examples where e.g. the 1st and 2nd functions do not seem to have discriminating parameters, but our clients say that the second one is MSe and they prefer then to see it labeled as such.

I see in the ProteoWizard codebase (https://github.com/ProteoWizard/pwiz/blob/master/pwiz/data/vendor_readers/Waters/SpectrumList_Waters.cpp#L183) that they tried to use Collision Energy for determining if the 2nd, 3rd etc. functions are MSe, but then commented that out and essentially are qualifying everything after the 1st function as MSe. In some of the examples that I have the Collision Energy could indeed be used, but not in all cases.

Could you please clarify, is there a criterion or at least a reliable heuristic that can be used for determining if a function is MS or MSe when parsing Waters RAW files?

Thank you!