function W_HISTOGRAM, DATA, WEIGHT,BINSIZE=BINSIZE,MAX=MAX,MIN=MIN,NBINS=NBINS, REVERSE_INDICES=REVERSE_INDICES,NAN=NAN,NORMALIZE=NORMALIZE on_error,2 nweight=n_elements(weight) if nweight eq 0 then return,histogram(DATA,BINSIZE=BINSIZE,MAX=MAX,MIN=MIN,NBINS=NBINS, REVERSE_INDICES=REVERSE_INDICES,NAN=NAN) npoints=n_elements(data) if nweight ne npoints then weight=1.d*data/data else weight=weight*1.d result=histogram(DATA,BINSIZE=BINSIZE,MAX=MAX,MIN=MIN,NBINS=NBINS, REVERSE_INDICES=R,/NAN) REVERSE_INDECES=R for i=0, n_elements(result)-1 do begin IF R[i] NE R[i+1] THEN result[i]=Total(weight[R[R[i] : R[i+1]-1]])*1.d end if keyword_set(normalize) then begin result=result/total(result) if normalize ne 1 then result=result*npoints end return,result end ;****************************************************************************************************************