getLHCOEvent :: Monad m => Producer ByteString m () -> Producer Event m ()
getLHCOEvent s = do (r, s') <- lift $ runStateT (parse lhcoEvent) s
                    case r of Just (Right ev) -> yield ev >> getLHCOEvent s'
                              _               -> return ()
getLHCOEvent :: Monad m => Producer ByteString m () -> Producer Event m ()
getLHCOEvent s = do (r, s') <- lift $ runStateT (parse lhcoEvent) s
                    case r of Just (Right ev) -> yield ev >> getLHCOEvent s'
                              _               -> return ()
getLHCOEvent s = do (r, s') <- lift $ runStateT (parse lhcoEvent) s
                    case r of Just (Right ev) -> yield ev >> getLHCOEvent s'
                              _               -> return ()