This report (
http://www.rts.ch/info/regions/vaud/5100665-collision-dans-la-broye-la-these-du-non-respect-de-la-signalisation-privilegiee-
par-la-police.html) already gives an almost complete description of what happened (if not an explanation).
A three-car Lausanne S-bahn train S21 from Payerne to Lausanne stopped at the station (Granges-pr^s-Marnand).
A two-car regional train from Lausanne to Payerne was due to pass it without stopping.
(The accident was reported at 19:44, but the
RE▸ is timetabled at 18:44 - S21s run at both times).
The S21 left too soon, against the signal which is reported as working, and must have crossed trailing points against it.
The driver stopped just past these points and evacuated the front of carriage 1 (though another police statement said it was moving at 40 km/hr).
The RE struck the stationary S21 at up to 100 km/hr, its first carriage was compressed by 8 m, and its driver killed.
The possibility of passengers being found in the front of this carriage has not yet been excluded.
This line has the lowest of 4 levels of protection described as "Integra".
If this is Integra-Signum, which appears to intervene after a
SPAD▸ , nothing else, it still should have applied the brakes here. If the signal is close to the platform end it is surprising the train got so far - 280 m by my reckoning.