def get_sampling_weights(self, config, **kwargs):
     ## there are cases where filter and weights are mutual dependent (e.g. DPLCM)
     ## pass the filter through self.filter_index to apply_filter, 
     ## which is either boolean array of the same size as self.choice_set or 
     ## index of self.choice_set  
     self.filter_index = None
     return ChoiceModel.get_sampling_weights(self, config, **kwargs)
 def get_sampling_weights(self, config, **kwargs):
     ## there are cases where filter and weights are mutual dependent (e.g. DPLCM)
     ## pass the filter through self.filter_index to apply_filter,
     ## which is either boolean array of the same size as self.choice_set or
     ## index of self.choice_set
     self.filter_index = None
     return ChoiceModel.get_sampling_weights(self, config, **kwargs)