def __apply_configuration__(self): from Configurables import (CombinedParticleMaker, ProtoParticleMUONFilter, ProtoParticleCALOFilter, FilterDesktop) mName = "TaggingMuons" eName = "TaggingElectrons" pName = "TaggingPions" tagName = 'TaggingParticles' hat = 'Phys/' leaf = '/Particles' mLoc, eLoc, pLoc, tagLoc = [ hat + name + leaf for name in mName, eName, pName, tagName ] taggerMuons = CombinedParticleMaker(mName) taggerMuons.Particle = 'Muon' taggerMuons.addTool(ProtoParticleMUONFilter, name="Muon") taggerMuons.Muon.Selection = [ "RequiresDet='MUON' CombDLL(mu-pi)>'0.0'" ] taggerElectrons = CombinedParticleMaker(eName) taggerElectrons.Particle = 'Electron' taggerElectrons.addTool(ProtoParticleCALOFilter, name="Electron") taggerElectrons.Electron.Selection = [ "RequiresDet='CALO' CombDLL(e-pi)>'4.0'" ] taggerPions = CombinedParticleMaker(pName) taggerPions.Particle = 'Pion' taggingParticles = FilterDesktop(tagName) taggingParticles.Inputs = [eLoc, mLoc, pLoc] taggingParticles.Code = "(P>2.0*GeV)" dod = DataOnDemandSvc() dod.AlgMap.update({mLoc: taggerMuons}) dod.AlgMap.update({eLoc: taggerElectrons}) dod.AlgMap.update({pLoc: taggerPions}) dod.AlgMap.update({tagLoc: taggingParticles}) # configure charm candidate lists import FlavourTagging.CharmTaggerLists
""" Configuration file for Standard Loose Kstar2Kpi """ __author__ = 'Diego Martinez Santos, P. Koppenburg' __date__ = '29/06/2009' from Gaudi.Configuration import * from Configurables import FilterDesktop from CommonParticles.Utils import * import GaudiKernel.SystemOfUnits as Units ########################### # StdLooseDetachetKst2Kpi # ########################### StdLooseDetachedKst2Kpi = FilterDesktop("StdLooseDetachedKst2Kpi") StdLooseDetachedKst2Kpi.Inputs = ["Phys/StdVeryLooseDetachedKst2Kpi/Particles"] StdLooseDetachedKst2Kpi.Code = "(MIPCHI2DV(PRIMARY)> 2.25)" locations = updateDoD(StdLooseDetachedKst2Kpi)
OutputKSList = "Phys/Tag_CharmKSList/Particles" OutputProtonList = "Phys/Tag_CharmProtonList/Particles" CharmPreambulo = [ "from LoKiPhysMC.decorators import *" , "from LoKiPhysMC.functions import mcMatch", "from GaudiKernel.SystemOfUnits import *" ] # ============================================================================= # PARTICLE LISTS # Tag_CharmElecList = FilterDesktop("Tag_CharmElecList") Tag_CharmElecList.Code = "(PT>100*MeV) & (P>1000*MeV) & (BPVIPCHI2() > 4.0) & (PROBNNe > 0.05) & (PROBNNmu < 0.35) & (PROBNNghost < 0.35)" Tag_CharmElecList.Inputs = [InputElecList] Tag_CharmElecList.Output = OutputElecList locations = updateDoD(Tag_CharmElecList) #Tag_CharmRecSeq.Members += [Tag_CharmElecList] Tag_CharmMuonList = FilterDesktop("Tag_CharmMuonList") Tag_CharmMuonList.Code = "(PT>100*MeV) & (P>1000*MeV) & (BPVIPCHI2() > 4.0) & (PROBNNmu > 0.05) & (PROBNNe < 0.35) & (PROBNNghost < 0.35)" Tag_CharmMuonList.Inputs = [InputMuonList] Tag_CharmMuonList.Output = OutputMuonList locations.update(updateDoD(Tag_CharmMuonList)) #Tag_CharmRecSeq.Members += [Tag_CharmMuonList] Tag_CharmPionList = FilterDesktop("Tag_CharmPionList") Tag_CharmPionList.Code = "(PT>100*MeV) & (P>1000*MeV) & (BPVIPCHI2() > 4.0) & (PROBNNK < 0.35) & (PROBNNghost < 0.35)" Tag_CharmPionList.Inputs = [InputPionList] Tag_CharmPionList.Output = OutputPionList
# ============================================================================= """ Configuration file for 'Standard lifetime unbiased Jpsi2MuMu' """ __author__ = "Greig Cowan" __version__ = "CVS tag $Name: not supported by cvs2svn $, version $Revision: 1.2 $" # ============================================================================= __all__ = ('StdLTUnbiasedJpsi2MuMu', 'locations') # ============================================================================= from Gaudi.Configuration import * from Configurables import FilterDesktop from CommonParticles.Utils import * ## ============================================================================ StdLTUnbiasedJpsi2MuMu = FilterDesktop("StdLTUnbiasedJpsi2MuMu") StdLTUnbiasedJpsi2MuMu.Inputs = ["Phys/StdLooseJpsi2MuMu/Particles"] StdLTUnbiasedJpsi2MuMu.Code = " (MINTREE('mu+'==ABSID, PT) > 500.*MeV)" \ "& (MINTREE('mu+'==ABSID, PIDmu) > -10.0)" \ "& (MAXTREE('mu+'==ABSID, PIDK) < 10.0)" \ "& (ADMASS('J/psi(1S)') < 50.*MeV)" \ "& (PT > 1000.*MeV)" \ "& (VFASPF(VCHI2) < 6.0)" ## configure Data-On-Demand service locations = updateDoD(StdLTUnbiasedJpsi2MuMu) ## ============================================================================ if '__main__' == __name__: print __doc__ print __author__
] StdLooseKsLD_PosLong.DaughtersCuts = { "pi+": "(ISLONG) & " + DDPionCuts, "pi-": "(ISDOWN) & " + DDPionCuts } # The one with a long pi- StdLooseKsLD_NegLong = StdLooseKsLD_PosLong.clone('StdLooseKsLD_NegLong') StdLooseKsLD_NegLong.DaughtersCuts = { "pi-": "(ISLONG) & " + DDPionCuts, "pi+": "(ISDOWN) & " + DDPionCuts } # The combination of them StdLooseKsLD = FilterDesktop("StdLooseKsLD", Code="ALL") StdLooseKsLD.Inputs = [ "Phys/StdLooseKsLD_PosLong/Particles", "Phys/StdLooseKsLD_NegLong/Particles" ] ## configure Data-On-Demand service locations.update(updateDoD(StdLooseKsLD_PosLong)) locations.update(updateDoD(StdLooseKsLD_NegLong)) locations.update(updateDoD(StdLooseKsLD)) ## ============================================================================ if '__main__' == __name__: print __doc__ print __author__ print __version__ print locationsDoD(locations)
# p +/- down StdLooseLambdaLDpDown = StdLooseLambdaDD.clone( 'StdLooseLambdaLDpDown' ) StdLooseLambdaLDpDown.Inputs = [ "Phys/StdNoPIDsDownProtons/Particles", "Phys/StdLoosePions/Particles" ] StdLooseLambdaLDpDown.DaughtersCuts = { "p+" : "(ISDOWN) & (P>2*GeV) & (MIPCHI2DV(PRIMARY)>4)", "pi-" : "(ISLONG) & (P>2*GeV) & (MIPCHI2DV(PRIMARY)>9)"} # Combination StdLooseLambdaLD = FilterDesktop("StdLooseLambdaLD", Code = "ALL") StdLooseLambdaLD.Inputs = [ "Phys/StdLooseLambdaLDpLong/Particles", "Phys/StdLooseLambdaLDpDown/Particles" ] locations.update( updateDoD (StdLooseLambdaLDpLong) ) locations.update( updateDoD (StdLooseLambdaLDpDown) ) locations.update( updateDoD (StdLooseLambdaLD) ) ## ============================================================================ if '__main__' == __name__ : print __doc__ print __author__ print __version__ print locationsDoD ( locations ) # =============================================================================
Bu2LLK09_DiLepton.Inputs = ["Phys/StdLooseElectrons", "Phys/StdLooseMuons"] Bu2LLK09_DiLepton.DecayDescriptors = [ "J/psi(1S) -> e+ e-", "J/psi(1S) -> mu+ mu-" ] Bu2LLK09_DiLepton.DaughtersCuts = {"e+": leptoncut, "mu+": leptoncut} Bu2LLK09_DiLepton.CombinationCut = "(AM<6*GeV)" Bu2LLK09_DiLepton.MotherCut = "(VFASPF(VCHI2/VDOF)<25)" ########################################################################### # Preselection # Presel09Bu2LLK = CombineParticles("Presel09Bu2LLK") Sel09Bu2LLKFilterSequence.Members += [Presel09Bu2LLK] Presel09Bu2LLK.Inputs = ["Phys/Bu2LLK09_DiLepton", "Phys/StdLooseKaons"] Presel09Bu2LLK.DecayDescriptor = "[ B+ -> J/psi(1S) K+ ]cc" Presel09Bu2LLK.DaughtersCuts = {"K+": kaoncut, "J/psi(1S)": llcut} Presel09Bu2LLK.CombinationCut = combcut Presel09Bu2LLK.MotherCut = bcut ########################################################################## # Selection # from Configurables import FilterDesktop Sel09Bu2LLK = FilterDesktop("Sel09Bu2LLK") Sel09Bu2LLK.Inputs = ["Phys/Presel09Bu2LLK"] Sel09Bu2LLK.Code = hardkaon + " & (" + hardelectron + " | " + hardmuon + " ) & " + harddilepton + " & " + hardB Sel09Bu2LLKFilterSequence.Members += [Sel09Bu2LLK] ########################################################################## #ApplicationMgr().TopAlg += [ Sel09Bu2LLKFilterSequence ]