class rubin_sim.maf.maf_contrib.FilterPairTGapsMetric(mjd_col='observationStartMJD', filter_col='filter', m5_col='fiveSigmaDepth', fltpairs=['uu', 'ug', 'ur', 'ui', 'uz', 'uy', 'gg', 'gr', 'gi', 'gz', 'gy', 'rr', 'ri', 'rz', 'ry', 'ii', 'iz', 'iy', 'zz', 'zy', 'yy'], mag_lim={'g': 18, 'i': 18, 'r': 18, 'u': 18, 'y': 18, 'z': 18}, bins_same=array([5.78703704e-05, 8.34904113e-05, 1.20452811e-04, 1.73778994e-04, 2.50713441e-04, 3.61707868e-04, 5.21841117e-04, 7.52867645e-04, 1.08617292e-03, 1.56703722e-03, 2.26078702e-03, 3.26166977e-03, 4.70565765e-03, 6.78891962e-03, 9.79447147e-03, 1.41306241e-02, 2.03864536e-02, 2.94118283e-02, 4.24328655e-02, 6.12185022e-02, 8.83208090e-02, 1.27421695e-01, 1.83833102e-01, 2.65218647e-01, 3.82634736e-01, 5.52032609e-01, 7.96425343e-01, 1.14901424e+00, 1.65769928e+00, 2.39158647e+00, 3.45037602e+00, 4.97790685e+00, 7.18169744e+00, 1.03611376e+01, 1.49481615e+01, 2.15659265e+01, 3.11134707e+01, 4.48878494e+01, 6.47603426e+01, 9.34306728e+01, 1.34793768e+02, 1.94468898e+02, 2.80563062e+02, 4.04772344e+02, 5.83970852e+02, 8.42503103e+02, 1.21549128e+03, 1.75360666e+03, 2.52995342e+03, 3.65000000e+03]), bins_diff=array([5.78703704e-05, 7.16275696e-05, 8.86551909e-05, 1.09730693e-04, 1.35816357e-04, 1.68103219e-04, 2.08065457e-04, 2.57527693e-04, 3.18748311e-04, 3.94522563e-04, 4.88310204e-04, 6.04393456e-04, 7.48072529e-04, 9.25907625e-04, 1.14601846e-03, 1.41845502e-03, 1.75565639e-03, 2.17301876e-03, 2.68959835e-03, 3.32898151e-03, 4.12036166e-03, 5.09987217e-03, 6.31223624e-03, 7.81280884e-03, 9.67010416e-03, 1.19689239e-02, 1.48142292e-02, 1.83359330e-02, 2.26948317e-02, 2.80899471e-02, 3.47676130e-02, 4.30327230e-02, 5.32626514e-02, 6.59244835e-02, 8.15963420e-02, 1.00993784e-01, 1.25002471e-01, 1.54718608e-01, 1.91498997e-01, 2.37022982e-01, 2.93369129e-01, 3.63110131e-01, 4.49430270e-01, 5.56270813e-01, 6.88509960e-01, 8.52185579e-01, 1.05477089e+00, 1.30551567e+00, 1.61586860e+00, 2.00000000e+00]), nv_clip={'gg': 69, 'gi': 30, 'gr': 30, 'gy': 30, 'gz': 30, 'ii': 355, 'iy': 30, 'iz': 30, 'ri': 30, 'rr': 344, 'ry': 30, 'rz': 30, 'ug': 30, 'ui': 30, 'ur': 30, 'uu': 30, 'uy': 30, 'uz': 30, 'yy': 288, 'zy': 30, 'zz': 282}, allgaps=True, **kwargs)

Bases: BaseMetric

figure of merit to measure the coverage the time gaps in same and different filter pairs; FoM is defined as sum of Nv / standard deviation after a clip; Parameters:

colname: list, [‘observationStartMJD’, ‘filter’, ‘fiveSigmaDepth’] fltpairs: filter pair, default [‘uu’, ‘ug’, ‘ur’, ‘ui’, ‘uz’,’uy’,

‘gg’, ‘gr’, ‘gi’, ‘gz’, ‘gy’, ‘rr’, ‘ri’, ‘rz’, ‘ry’, ‘ii’, ‘iz’, ‘iy’, ‘zz’, ‘zy’, ‘yy’]

mag_lim: list, fiveSigmaDepth threshold each filter, default {‘u’:18, ‘g’:18, ‘r’:18, ‘i’:18, ‘z’:18, ‘y’:18} bins_same: np.array, bins to get histogram for same-filter pair ; bins_diff: np.array, bins to get histogram for diff-filter pair ; nv_clip: number of visits of pairs to clip, std is calculated below nv_clip allgaps: boolean, all possible pairs if True, else consider only nearest


result: sum of fom for all filterpairs,

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.