def makeMyParticles(name, trackcont, particle): # set up particle maker #particleMaker = NoPIDsParticleMaker(name , Particle = particle) particleMaker = CombinedParticleMaker(name, Particle=particle) # particleMaker.OutputLevel = 0 particleMaker.Input = "Rec/ProtoP/" + trackcont + "ProtoPMaker" selector = trackSelector(particleMaker) # protoparticle filter: fltr = protoFilter(particleMaker, ProtoParticleCALOFilter, 'Pion') fltr.Selection = [""] DataOnDemandSvc().AlgMap.update({ "/Event/Phys/" + particleMaker.name() + '/Particles': particleMaker.getFullName(), "/Event/Phys/" + particleMaker.name() + '/Vertices': particleMaker.getFullName() })
def makeMyKaons(name, trackcont, particle): # set up particle maker #particleMaker = NoPIDsParticleMaker(name , Particle = particle) particleMaker = CombinedParticleMaker(name, Particle=particle) #particleMaker = BestPIDParticleMaker(name , Particle = particle) #particleMaker.addTool(ProtoParticleCALOFilter(Selection = ["RequiresDet='RICH' CombDLL(k-pi)>'-5.0'"],name="muon")) #particleMaker.Particles = [ "kaon" ] particleMaker.Input = "Rec/ProtoP/" + trackcont + "ProtoPMaker" #particleMaker.OutputLevel = 0 selector = trackSelector(particleMaker) # protoparticle filter: fltr = protoFilter(particleMaker, ProtoParticleCALOFilter, 'Kaon') fltr.Selection = ["RequiresDet='RICH' CombDLL(k-pi)>'-5.0'"] #fltr = protoFilter ( particleMaker , ProtoParticleCALOFilter, 'Kaon' ) #fltr.Selection = [ "RequiresDet='RICH' CombDLL(k-pi)>'-5.0'" ] DataOnDemandSvc().AlgMap.update({ "/Event/Phys/" + particleMaker.name() + '/Particles': particleMaker.getFullName(), "/Event/Phys/" + particleMaker.name() + '/Vertices': particleMaker.getFullName() })
# ============================================================================= """ Configuration file for 'Standard Tight Upstream Kaons using ANN PID' """ __author__ = "Chris Jones [email protected]" __version__ = "CVS tag $Name: not supported by cvs2svn $, version $Revision: 1.5 $" # ============================================================================= __all__ = ('StdTightANNUpKaons', 'locations') # ============================================================================= from Gaudi.Configuration import * from Configurables import CombinedParticleMaker from Configurables import ProtoParticleCALOFilter from CommonParticles.Utils import * ## create the algorithm algorithm = CombinedParticleMaker('StdTightANNUpKaons', Particle='kaon') # configure the track selector selector = trackSelector(algorithm, trackTypes=['Upstream'], cuts={"Chi2Cut": [0, 10]}) # protoparticle filter: fltr = protoFilter(algorithm, ProtoParticleCALOFilter, 'Kaon') #fltr.Selection = [ "RequiresDet='RICH' ProbNNk>'0.2'" ] fltr.Selection = ["ProbNNk>'0.2'"] ## configure Data-On-Demand service locations = updateDoD(algorithm) ## finally: define the symbol
# # Neutral protoparticles # BiKalmanFittedNeutralProtoMaker = Hlt2BiKalmanFittedForwardTracking.hlt2NeutralProtos( ) BiKalmanFittedPhotonFromL0Maker = Hlt2BiKalmanFittedForwardTracking.hlt2PhotonsFromL0( ) BiKalmanFittedPhotonFromL0LowMaker = Hlt2BiKalmanFittedForwardTracking.hlt2Pi0FromL0( ) ########################################################################## # # Make the Muons # Hlt2BiKalmanFittedMuons = CombinedParticleMaker( "Hlt2BiKalmanFittedMuons", Particle="muon", Input=BiKalmanFittedMuonProtoMaker.outputSelection(), Output='Hlt2/Hlt2BiKalmanFittedMuons/Particles', WriteP2PVRelations=False) Hlt2BiKalmanFittedMuons.addTool(ProtoParticleMUONFilter('Muon')) Hlt2BiKalmanFittedMuons.Muon.Selection = ["RequiresDet='MUON' IsMuon=True"] ########################################################################## # # Make the Downstream Muons # Hlt2BiKalmanFittedDownMuons = CombinedParticleMaker( "Hlt2BiKalmanFittedDownMuons", Particle="muon", Input=BiKalmanFittedDownMuonProtoMaker.outputSelection(), Output='Hlt2/Hlt2BiKalmanFittedDownMuons/Particles', WriteP2PVRelations=False)
########################################################################## # Make the kaons # Hlt2NoCutsKaons = Hlt2NoCutsPions.clone("Hlt2NoCutsKaons") Hlt2NoCutsKaons.Output = 'Hlt2/Hlt2NoCutsKaons/Particles' Hlt2NoCutsKaons.Particle = "kaon" ########################################################################## # Make the protons # Hlt2NoCutsProtons = Hlt2NoCutsPions.clone("Hlt2NoCutsProtons") Hlt2NoCutsProtons.Output = 'Hlt2/Hlt2NoCutsProtons/Particles' Hlt2NoCutsProtons.Particle = "proton" ########################################################################## # Make the Muons # Hlt2Muons = CombinedParticleMaker("Hlt2Muons") Hlt2Muons.Particle = "muon" Hlt2Muons.addTool(ProtoParticleMUONFilter('Muon')) Hlt2Muons.Muon.Selection = ["RequiresDet='MUON' IsMuon=True"] Hlt2Muons.Input = muonProtos.outputSelection() Hlt2Muons.Output = 'Htl2/Hlt2Muons/Particles' Hlt2Muons.WriteP2PVRelations = False ########################################################################## # Make the electrons # Hlt2Electrons = CombinedParticleMaker("Hlt2Electrons") Hlt2Electrons.Particle = "electron" Hlt2Electrons.Input = caloProtos.outputSelection() Hlt2Electrons.Output = 'Hlt2/Hlt2Electrons/Particles' Hlt2Electrons.addTool(ProtoParticleCALOFilter('Electron')) Hlt2Electrons.Electron.Selection = ["RequiresDet='CALO' CombDLL(e-pi)>'-2.0'"]
# ============================================================================= """ Configuration file for 'Standard Loose Protons' """ __author__ = "Vanya BELYAEV [email protected]" __version__ = "CVS tag $Name: not supported by cvs2svn $, version $Revision: 1.4 $" # ============================================================================= __all__ = ('StdAllLooseProtons', 'locations') # ============================================================================= from Gaudi.Configuration import * from Configurables import CombinedParticleMaker from Configurables import ProtoParticleCALOFilter from CommonParticles.Utils import * ## create the algorithm algorithm = CombinedParticleMaker('StdAllLooseProtons', Particle='proton') # configure the track selector selector = trackSelector(algorithm) # protoparticle filter: fltr = protoFilter(algorithm, ProtoParticleCALOFilter, 'Proton') fltr.Selection = ["RequiresDet='RICH' CombDLL(p-pi)>'-5.0'"] ## configure Data-On-Demand service locations = updateDoD(algorithm) ## finally: define the symbol StdAllLooseProtons = algorithm ## ============================================================================
Configuration file for 'Standard Tight Electrons' """ __author__ = "Vanya BELYAEV [email protected]" __version__ = "CVS tag $Name: not supported by cvs2svn $, version $Revision: 1.5 $" # ============================================================================= __all__ = ('StdTightElectrons', 'locations') # ============================================================================= from Gaudi.Configuration import * from Configurables import CombinedParticleMaker from Configurables import ProtoParticleCALOFilter from Configurables import BremAdder from CommonParticles.Utils import * ## create the algorithm algorithm = CombinedParticleMaker('StdTightElectrons', Particle='electron') # configure the track selector selector = trackSelector(algorithm) # protoparticle filter: fltr = protoFilter(algorithm, ProtoParticleCALOFilter, 'Electron') fltr.Selection = ["RequiresDet='CALO' CombDLL(e-pi)>'0.0'"] ## configure Data-On-Demand service locations = updateDoD(algorithm) ## finally: define the symbol StdTightElectrons = algorithm ## temporary:
#Preserve MC from Configurables import TrackToDST, ChargedPP2MC, TrackAssociator assoctr = TrackAssociator(output+"AssocTr") assoctr.TracksInContainer = "Rec/Track/"+output assocpp=ChargedPP2MC(output+"AssocPP") assocpp.TrackLocations = [ "Rec/Track/"+output ] assocpp.InputData = [ "Rec/ProtoP/"+output+"ProtoPMaker" ] assocpp.OutputTable = "Relations/Rec/ProtoP/"+output+"ProtoPMaker" TrackSmearingSeq.Members = [ TrackSmeared("TrackSmearing") , assoctr, assocpp ] from Configurables import CombinedParticleMaker from CommonParticles.Utils import * from Configurables import ProtoParticleCALOFilter ## create the algorithm algorithm = CombinedParticleMaker ( 'SmrdLoosePions' , Particle = 'pion' ) # configure the track selector selector = trackSelector ( algorithm ) ## add this line, ## this corresonds to the output of the smearing tool 'Rec/ProtoP/' is hard coded algorithm.Input = 'Rec/ProtoP/Smeared' ### protoparticle filter: fltr = protoFilter ( algorithm , ProtoParticleCALOFilter, 'Pion' ) fltr.Selection = [ "" ] ## configure Data-On-Demand service locations = updateDoD ( algorithm ) ## finally: define the symbol SmrdLoosePions = algorithm
# ============================================================================= """ Configuration file for 'Standard All Loose ANN Pions' """ __author__ = "Chris Jones [email protected]" __version__ = "CVS tag $Name: not supported by cvs2svn $, version $Revision: 1.4 $" # ============================================================================= __all__ = ('StdAllLooseANNPions', 'locations') # ============================================================================= from Gaudi.Configuration import * from Configurables import CombinedParticleMaker from Configurables import ProtoParticleCALOFilter from CommonParticles.Utils import * ## create the algorithm algorithm = CombinedParticleMaker('StdAllLooseANNPions', Particle='pion') # configure the track selector selector = trackSelector(algorithm) # protoparticle filter: fltr = protoFilter(algorithm, ProtoParticleCALOFilter, 'Pion') #fltr.Selection = [ "RequiresDet='RICH' ProbNNpi>'0.1'" ] fltr.Selection = ["ProbNNpi>'0.05'"] ## configure Data-On-Demand service locations = updateDoD(algorithm) ## finally: define the symbol StdAllLooseANNPions = algorithm
__author__ = "Chris Jones [email protected]" __version__ = "CVS tag $Name: not supported by cvs2svn $, version $Revision: 1.7 $" # ============================================================================= __all__ = ( 'StdTightANNMuons' , 'locations' ) # ============================================================================= from Gaudi.Configuration import * from Configurables import CombinedParticleMaker from Configurables import ProtoParticleMUONFilter from CommonParticles.Utils import * ## create the algorithm algorithm = CombinedParticleMaker ( 'StdTightANNMuons' , Particle = 'muon' ) # configure the track selector selector = trackSelector ( algorithm ) # protoparticle filter: fltr = protoFilter ( algorithm , ProtoParticleMUONFilter, 'Muon' ) #fltr.Selection = [ "RequiresDet='MUON' IsMuon=True ProbNNmu>'0.1'" ] fltr.Selection = [ "ProbNNmu>'0.1'" ] ## configure Data-On-Demand service locations = updateDoD ( algorithm ) ## finally: define the symbol StdTightANNMuons = algorithm
# ============================================================================= """ Configuration file for 'Standard Loose Muons' """ __author__ = "Vanya BELYAEV [email protected]" __version__ = "CVS tag $Name: not supported by cvs2svn $, version $Revision: 1.7 $" # ============================================================================= __all__ = ('StdAllLooseMuons', 'locations') # ============================================================================= from Gaudi.Configuration import * from Configurables import CombinedParticleMaker from Configurables import ProtoParticleMUONFilter from CommonParticles.Utils import * ## create the algorithm algorithm = CombinedParticleMaker('StdAllLooseMuons', Particle='muon') # configure the track selector selector = trackSelector(algorithm) # protoparticle filter: fltr = protoFilter(algorithm, ProtoParticleMUONFilter, 'Muon') fltr.Selection = ["RequiresDet='MUON' IsMuon=True"] ## configure Data-On-Demand service locations = updateDoD(algorithm) ## finally: define the symbol StdAllLooseMuons = algorithm ## ============================================================================
# ============================================================================= """ Configuration file for 'Standard Loose Muons' """ __author__ = "Vanya BELYAEV [email protected]" __version__ = "CVS tag $Name: not supported by cvs2svn $, version $Revision: 1.7 $" # ============================================================================= __all__ = ('StdLooseDownMuons', 'locations') # ============================================================================= from Gaudi.Configuration import * from Configurables import CombinedParticleMaker from Configurables import ProtoParticleMUONFilter from CommonParticles.Utils import * ## create the algorithm algorithm = CombinedParticleMaker('StdLooseDownMuons', Particle='muon') # configure the track selector selector = trackSelector(algorithm, trackTypes=['Downstream']) # protoparticle filter: fltr = protoFilter(algorithm, ProtoParticleMUONFilter, 'Muon') fltr.Selection = ["RequiresDet='MUON' IsMuon=True"] ## configure Data-On-Demand service locations = updateDoD(algorithm) ## finally: define the symbol StdLooseDownMuons = algorithm ## ============================================================================
Hlt2FullDownstreamTracking = Hlt2FullDownstreamTracking() ########################################################################## # # Charged protoparticles -> pulls all the pid # caloProtos = Hlt2BiKalmanFittedForwardTracking.hlt2ChargedCaloProtos() muonWithCaloProtos = Hlt2BiKalmanFittedForwardTracking.hlt2ChargedMuonWithCaloProtos( ) muonTTProtos = Hlt2MuonTTTracking.hlt2ProbeMuonProtos() velomuonProtos = Hlt2VeloMuonTracking.hlt2ProbeMuonProtos() fulldownProtos = Hlt2FullDownstreamTracking.hlt2ProbeMuonProtos() ########################################################################## # Make the pions # Hlt2TagAndProbePions = CombinedParticleMaker("Hlt2TagAndProbePions") Hlt2TagAndProbePions.Input = caloProtos.outputSelection() Hlt2TagAndProbePions.Output = 'Hlt2/Hlt2TagAndProbePions/Particles' Hlt2TagAndProbePions.Particle = "pion" Hlt2TagAndProbePions.WriteP2PVRelations = False ########################################################################## # Make the Muons # Hlt2TagAndProbeMuons = CombinedParticleMaker("Hlt2TagAndProbeMuons") Hlt2TagAndProbeMuons.Particle = "muon" Hlt2TagAndProbeMuons.addTool(ProtoParticleMUONFilter('Muon')) Hlt2TagAndProbeMuons.Muon.Selection = ["RequiresDet='MUON' IsMuon=True"] Hlt2TagAndProbeMuons.Input = muonWithCaloProtos.outputSelection() Hlt2TagAndProbeMuons.Output = 'Hlt2/Hlt2TagAndProbeMuons/Particles' Hlt2TagAndProbeMuons.WriteP2PVRelations = False ##########################################################################
# ============================================================================= """ Configuration file for 'Standard Loose Downstream Pions using ANN PID' """ __author__ = "Chris Jones [email protected]" __version__ = "CVS tag $Name: not supported by cvs2svn $, version $Revision: 1.5 $" # ============================================================================= __all__ = ('StdLooseANNDownPions', 'locations') # ============================================================================= from Gaudi.Configuration import * from Configurables import CombinedParticleMaker from Configurables import ProtoParticleCALOFilter from CommonParticles.Utils import * ## create the algorithm algorithm = CombinedParticleMaker('StdLooseANNDownPions', Particle='pion') # configure the track selector selector = trackSelector(algorithm, trackTypes=['Downstream'], cuts={"Chi2Cut": [0, 10]}) # protoparticle filter: fltr = protoFilter(algorithm, ProtoParticleCALOFilter, 'Pion') #fltr.Selection = [ "RequiresDet='RICH' ProbNNpi>'0.1'" ] fltr.Selection = ["ProbNNpi>'0.03'"] ## configure Data-On-Demand service locations = updateDoD(algorithm) ## finally: define the symbol
# ============================================================================= """ Configuration file for 'Standard Tight Upstream Pions using ANN PID' """ __author__ = "Chris Jones [email protected]" __version__ = "CVS tag $Name: not supported by cvs2svn $, version $Revision: 1.5 $" # ============================================================================= __all__ = ('StdTightANNUpPions', 'locations') # ============================================================================= from Gaudi.Configuration import * from Configurables import CombinedParticleMaker from Configurables import ProtoParticleCALOFilter from CommonParticles.Utils import * ## create the algorithm algorithm = CombinedParticleMaker('StdTightANNUpPions', Particle='pion') # configure the track selector selector = trackSelector(algorithm, trackTypes=['Upstream'], cuts={"Chi2Cut": [0, 10]}) # protoparticle filter: fltr = protoFilter(algorithm, ProtoParticleCALOFilter, 'Pion') #fltr.Selection = [ "RequiresDet='RICH' ProbNNpi>'0.2'" ] fltr.Selection = ["ProbNNpi>'0.2'"] ## configure Data-On-Demand service locations = updateDoD(algorithm) ## finally: define the symbol
# ============================================================================= """ Configuration file for 'Standard Loose Downstream Kaons' """ __author__ = "Yasmine Amhis <*****@*****.**> " __version__ = "" # ============================================================================= __all__ = ('StdLooseDownKaons', 'locations') # ============================================================================= from Gaudi.Configuration import * from Configurables import ProtoParticleCALOFilter, CombinedParticleMaker from CommonParticles.Utils import * ## create the algorithm algorithm = CombinedParticleMaker('StdLooseDownKaons', Particle='kaon') # configure the track selector selector = trackSelector(algorithm, trackTypes=['Downstream']) # protoparticle filter: fltr = protoFilter(algorithm, ProtoParticleCALOFilter, 'Kaon') fltr.Selection = ["RequiresDet='RICH' CombDLL(k-pi)>'-5.0'"] ## configure Data-On-Demand service locations = updateDoD(algorithm) ## finally: define the symbol StdLooseDownKaons = algorithm ## ============================================================================
def __init__(self, name='Tagging'): mName = name + "Muons" eName = name + "Electrons" pName = name + "Pions" tagName = name + 'Particles' _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.Code = "(P>2.0*GeV)" taggerMuons = Selection(mName, Algorithm=_taggerMuons) taggerElectrons = Selection(eName, Algorithm=_taggerElectrons) taggerPions = Selection(pName, Algorithm=_taggerPions) allTaggers = MergedSelection( name + 'All', RequiredSelections=[taggerPions, taggerMuons, taggerElectrons]) self.selection = Selection(tagName, Algorithm=_taggingParticles, RequiredSelections=[allTaggers])
Configuration file for 'Standard Loose ANN Kaons' """ __author__ = "Chris Jones [email protected]" __version__ = "CVS tag $Name: not supported by cvs2svn $, version $Revision: 1.4 $" # ============================================================================= __all__ = ( 'StdAllLooseANNKaons' , 'locations' ) # ============================================================================= from Gaudi.Configuration import * from Configurables import ProtoParticleCALOFilter, CombinedParticleMaker from CommonParticles.Utils import * ## create the algorithm algorithm = CombinedParticleMaker( 'StdAllLooseANNKaons', Particle = 'kaon' ) # configure the track selector selector = trackSelector ( algorithm ) # protoparticle filter: fltr = protoFilter ( algorithm , ProtoParticleCALOFilter, 'Kaon' ) #fltr.Selection = [ "RequiresDet='RICH' ProbNNk>'0.075'" ] fltr.Selection = [ "ProbNNk>'0.025'" ] ## configure Data-On-Demand service locations = updateDoD ( algorithm ) ## finally: define the symbol StdAllLooseANNKaons = algorithm
# ============================================================================= """ Configuration file for 'Standard Loose Electrons' """ __author__ = "Vanya BELYAEV [email protected]" __version__ = "CVS tag $Name: not supported by cvs2svn $, version $Revision: 1.5 $" # ============================================================================= __all__ = ('StdAllLooseElectrons', 'locations') # ============================================================================= from Gaudi.Configuration import * from Configurables import CombinedParticleMaker from Configurables import ProtoParticleCALOFilter from CommonParticles.Utils import * ## create the algorithm algorithm = CombinedParticleMaker('StdAllLooseElectrons', Particle='electron') # configure the track selector selector = trackSelector(algorithm) # protoparticle filter: fltr = protoFilter(algorithm, ProtoParticleCALOFilter, 'Electron') fltr.Selection = ["RequiresDet='CALO' CombDLL(e-pi)>'-2.0'"] ## configure Data-On-Demand service locations = updateDoD(algorithm) ## finally: define the symbol StdAllLooseElectrons = algorithm ## ============================================================================ if '__main__' == __name__: print __doc__
# ============================================================================= """ Configuration file for 'Standard Loose Downstream Electrons using ANN PID' """ __author__ = "Chris Jones [email protected]" __version__ = "CVS tag $Name: not supported by cvs2svn $, version $Revision: 1.5 $" # ============================================================================= __all__ = ('StdLooseANNDownElectrons', 'locations') # ============================================================================= from Gaudi.Configuration import * from Configurables import CombinedParticleMaker from Configurables import ProtoParticleCALOFilter from CommonParticles.Utils import * ## create the algorithm algorithm = CombinedParticleMaker('StdLooseANNDownElectrons', Particle='electron') # configure the track selector selector = trackSelector(algorithm, trackTypes=['Downstream'], cuts={"Chi2Cut": [0, 10]}) # protoparticle filter: fltr = protoFilter(algorithm, ProtoParticleCALOFilter, 'Electron') #fltr.Selection = [ "RequiresDet='CALO' ProbNNe>'0.1'" ] fltr.Selection = ["RequiresDet='RICHORCALO' ProbNNe>'0.035'"] ## configure Data-On-Demand service locations = updateDoD(algorithm) ## finally: define the symbol
# ============================================================================= """ Configuration file for 'Standard Tight ANN Protons' """ __author__ = "Chris Jones [email protected]" __version__ = "CVS tag $Name: not supported by cvs2svn $, version $Revision: 1.4 $" # ============================================================================= __all__ = ('StdTightANNProtons', 'locations') # ============================================================================= from Gaudi.Configuration import * from Configurables import CombinedParticleMaker from Configurables import ProtoParticleCALOFilter from CommonParticles.Utils import * ## create the algorithm algorithm = CombinedParticleMaker('StdTightANNProtons', Particle='proton') # configure the track selector selector = trackSelector(algorithm) # protoparticle filter: fltr = protoFilter(algorithm, ProtoParticleCALOFilter, 'Proton') #fltr.Selection = [ "RequiresDet='RICH' ProbNNp>'0.125'" ] fltr.Selection = ["ProbNNp>'0.021'"] ## configure Data-On-Demand service locations = updateDoD(algorithm) ## finally: define the symbol StdTightANNProtons = algorithm
# ============================================================================= """ Configuration file for 'Standard Loose Upstream Protons using ANN PID' """ __author__ = "Chris Jones [email protected]" __version__ = "CVS tag $Name: not supported by cvs2svn $, version $Revision: 1.5 $" # ============================================================================= __all__ = ('StdLooseANNUpProtons', 'locations') # ============================================================================= from Gaudi.Configuration import * from Configurables import CombinedParticleMaker from Configurables import ProtoParticleCALOFilter from CommonParticles.Utils import * ## create the algorithm algorithm = CombinedParticleMaker('StdLooseANNUpProtons', Particle='proton') # configure the track selector selector = trackSelector(algorithm, trackTypes=['Upstream'], cuts={"Chi2Cut": [0, 10]}) # protoparticle filter: fltr = protoFilter(algorithm, ProtoParticleCALOFilter, 'Proton') #fltr.Selection = [ "RequiresDet='RICH' ProbNNp>'0.1'" ] fltr.Selection = ["ProbNNp>'0.1'"] ## configure Data-On-Demand service locations = updateDoD(algorithm) ## finally: define the symbol
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