<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def downmarket_filter( self, benchmark, threshold=0.0, compare_op="lt", include_benchmark=False, ):
 """Drop elementwise samples where `benchmark` > `threshold`. Filters `self` (and optionally, `benchmark`) to periods where `benchmark` < `threshold`. (Or <= `threshold`.) Parameters benchmark : {pd.Series, TSeries, 1d np.ndarray} The benchmark security to which `self` is compared. threshold : float, default 0.0 The threshold at which the comparison should be done. `self` and `benchmark` are "filtered" to periods where `benchmark` is lt/le `threshold`. compare_op : {'lt', 'le'} Comparison operator used to compare to `threshold`. 'lt' is less-than; 'le' is less-than-or-equal. include_benchmark : bool, default False If True, return tuple of (`self`, `benchmark`) both filtered. If False, return only `self` filtered. Returns ------- TSeries or tuple of TSeries TSeries if `include_benchmark=False`, otherwise, tuple. """


        return self._mkt_filter(
            benchmark=benchmark,
            threshold=threshold,
            compare_op=compare_op,
            include_benchmark=include_benchmark,
        )