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