how to detect if the mouse is over ui in unity code example

Example: unity know when mouse on ui

using System.Linq;
using UnityEngine;
using UnityEngine.EventSystems;


public static bool IsPointerOverUIElement()
    {
        var eventData = new PointerEventData(EventSystem.current);
        eventData.position = Input.mousePosition;
        var results = new List<RaycastResult>();
        EventSystem.current.RaycastAll(eventData, results);
        return results.Where(r => r.gameObject.layer == 5).Count() > 0;
    }