def __CreateSelectionRho__(self, lName, RhoCombCut, RhoCut, PionCut):
        '''
        rho(770)0 -> pi+ pi- selection (from StdAllLoosePions)
        '''

        from StandardParticles import StdAllLoosePions

        from GaudiConfUtils.ConfigurableGenerators import CombineParticles
        CombineRho = CombineParticles()
        CombineRho.InputPrimaryVertices = self.__PVOutputLocation__

        CombineRho.DecayDescriptor = "rho(770)0 -> pi+ pi-"

        if (len(RhoCombCut) > 0):
            CombineRho.CombinationCut = RhoCombCut

        CombineRho.MotherCut = RhoCut
        CombineRho.DaughtersCuts = {"pi+": PionCut}

        from PhysSelPython.Wrappers import Selection
        SelRho = Selection("SelBuild_" + lName + "_Rho",
                           Algorithm=CombineRho,
                           RequiredSelections=[StdAllLoosePions])

        return SelRho
    def __CreateSelectionX3872__(self, lName, CombCut, MotherCut,
                                 InputSelections):
        '''
        X3872 -> J/psi(1S) rho(770)0: note this can be used for the psi(2S) as well - just use different cuts!
        '''

        from GaudiConfUtils.ConfigurableGenerators import CombineParticles
        CombineX3872 = CombineParticles()
        CombineX3872.InputPrimaryVertices = self.__PVOutputLocation__

        CombineX3872.DecayDescriptor = "X_1(3872) -> J/psi(1S) rho(770)0"

        CombineX3872.CombinationCut = CombCut
        CombineX3872.MotherCut = MotherCut

        from PhysSelPython.Wrappers import Selection
        SelX3872 = Selection("Sel_" + lName + "_X3872",
                             Algorithm=CombineX3872,
                             RequiredSelections=InputSelections)

        return SelX3872
    def __CreateSelectionBu__(self, lName, CombCut, MotherCut,
                              InputSelections):
        '''
        B+ -> K+ X3872 Selection
        '''

        from GaudiConfUtils.ConfigurableGenerators import CombineParticles
        CombineBu = CombineParticles()
        CombineBu.InputPrimaryVertices = self.__PVOutputLocation__

        CombineBu.DecayDescriptors = [
            "B+ -> X_1(3872) K+", "B- -> X_1(3872) K-"
        ]

        CombineBu.CombinationCut = CombCut
        CombineBu.MotherCut = MotherCut

        from PhysSelPython.Wrappers import Selection
        SelBu = Selection("Sel_" + lName + "_Bu",
                          Algorithm=CombineBu,
                          RequiredSelections=InputSelections)

        return SelBu