def lineBuilders(WGs=None): """ Return all the line builders in the module for a requested list of WG. """ _lineBuilders = {} if not WGs: for wg in _strippingModules.keys(): for _sm in _strippingModules[wg]: _lineBuilders.update(_getter(_sm)) elif any(WG for WG in _strippingModules.keys() if WG in WGs): for wg in WGs: for _sm in _strippingModules[wg]: _lineBuilders.update(_getter(_sm)) else: raise Exception('The requested WG does not exists') return dict(_lineBuilders)
import StrippingD2XGamma import StrippingB2HHBDT import StrippingD2HHBDT import StrippingB2DHHHForBXX import StrippingBs2D0KS0 import StrippingB2LambdaMuLines import StrippingTau2LambdaMuLines from sys import modules as _modules _this = _modules[__name__] _strippingKeys = filter ( lambda x : x[:9]=='Stripping', locals().keys()) _strippingModules = [getattr(_this, _k) for _k in _strippingKeys] from StrippingUtils.Utils import getLineBuildersFromModule as _getter _lineBuilders = {} for _sm in _strippingModules : _lineBuilders.update(_getter(_sm)) def lineBuilders() : """ Return all the line builders in the module. """ return dict(_lineBuilders)