class rubin_sim.maf.maf_contrib.MicrolensingMetric(metric_name='MicrolensingMetric', metric_calc='detect', mjd_col='observationStartMJD', m5_col='fiveSigmaDepth', filter_col='filter', night_col='night', pts_needed=2, mag_dict=None, detect_sigma=3.0, time_before_peak=0, detect=False, **kwargs)

Bases: BaseMetric

Quantifies detectability of Microlensing events. Can also return the number of datapoints within two crossing times of the peak of event.

metric_calc: str

Type of metric. If metric_calc == ‘detect’, returns the number of microlensing events detected within certain parameters. If metric_calc == ‘Npts’, returns the number of points within two crossing times of the peak of the vent. Default is ‘detect’


Number of an object’s lightcurve points required to be above the 5-sigma limiting depth before it is considered detected.

time_before_peak: int or str

Number of days before lightcurve peak to qualify event as triggered. If time_before_peak == ‘optimal’, the number of days before the lightcurve peak is the time of maximal information. Default is 0.

detect: bool

By default we trigger which only looks at points before the peak of the lightcurve. When detect = True, observations on either side of the lightcurve are considered. Default is False.


Expects slice_point to have keys of:

peak_time : float (days) crossing_time : float (days) impact_parameter : float (positive) blending_factors (optional): float (between 0 and 1)

Methods Summary

run(data_slice[, slice_point])

Calculate metric values.

Methods Documentation

run(data_slice, slice_point=None)

Calculate metric values.


Values passed to metric by the slicer, which the metric will use to calculate metric values at each slice_point.

slice_pointdict or None

Dictionary of slice_point metadata passed to each metric. E.g. the ra/dec of the healpix pixel or opsim fieldId.

metricValue: int float or object

The metric value at each slice_point.