<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def prophist(self,prop,fig=None,log=False, mask=None, selected=False,**kwargs):
 """Plots a 1-d histogram of desired property. :param prop: Name of property to plot. Must be column of ``self.stars``. :param fig: (optional) Argument for :func:`plotutils.setfig` :param log: (optional) Whether to plot the histogram of log10 of the property. :param mask: (optional) Boolean array (length of ``self.stars``) to say which indices to plot (``True`` is good). :param selected: (optional) If ``True``, then only the "selected" stars (that is, stars obeying all distribution constraints attached to this object) will be plotted. In this case, ``mask`` will be ignored. :param **kwargs: Additional keyword arguments passed to :func:`plt.hist`. """


        setfig(fig)

        inds = None
        if mask is not None:
            inds = np.where(mask)[0]
        elif inds is None:
            if selected:
                #inds = np.arange(len(self.selected))
                inds = self.selected.index
            else:
                #inds = np.arange(len(self.stars))
                inds = self.stars.index

        if selected:
            vals = self.selected[prop].values#.iloc[inds] #invalidates mask?
        else:
            vals = self.stars[prop].iloc[inds].values

        if prop=='depth' and hasattr(self,'depth'):
            vals *= self.dilution_factor[inds]

        if log:
            h = plt.hist(np.log10(vals),**kwargs)
        else:
            h = plt.hist(vals,**kwargs)

        plt.xlabel(prop)