def selHlt1Upsilon(name, longPartsFilter, triggers): """ Filter the long track muon to be TOS on a HLT1 single muon trigger, for Upsilon selection """ Hlt1Upsilon = TisTosParticleTagger(name + "Hlt1Upsilon") #Hlt1Upsilon.TisTosSpecs = { "Hlt1TrackMuonDecision%TOS" : 0, "Hlt1SingleMuonNoIPDecision%TOS" : 0, "Hlt1SingleMuonHighPTDecision%TOS" : 0} Hlt1Upsilon.TisTosSpecs = triggers Hlt1Upsilon.ProjectTracksToCalo = False Hlt1Upsilon.CaloClustForCharged = False Hlt1Upsilon.CaloClustForNeutral = False Hlt1Upsilon.TOSFrac = {4: 0.0, 5: 0.0} Hlt1Upsilon.NoRegex = True #Hlt1Upsilon.PassOnAll = True # TESTING! # return Selection(name + "_SelHlt1Upsilon", Algorithm=Hlt1Upsilon, RequiredSelections=[longPartsFilter])
def filterTisTos(self, name, DiMuonInput, myTisTosSpecs): from Configurables import TisTosParticleTagger if self.dbug: print "## TOS requirement applied" myTagger = TisTosParticleTagger(name + "_TisTosTagger") myTagger.TisTosSpecs = myTisTosSpecs # To speed it up, TisTos only with tracking system myTagger.ProjectTracksToCalo = False myTagger.CaloClustForCharged = False myTagger.CaloClustForNeutral = False myTagger.TOSFrac = {4: 0.0, 5: 0.0} return Selection(name + "_SelTisTos", Algorithm=myTagger, RequiredSelections=[DiMuonInput])
def selHlt2BJpsiKK( name, longPartsFilter, triggers ): # No HLT1 needed, as event in HLT1 already triggered with single muon """ Filter the long track Kaon to be TUS on a HLT2 mu+track trigger, for B->J/psi K selection (mainly a speed up) """ Hlt2BJpsiKK = TisTosParticleTagger(name + "Hlt2BJpsiKK") #Hlt2BJpsiKK.TisTosSpecs = { "Hlt2MuTrackDecision%TUS" : 0} # TUS, not TOS, not a typo!!! Hlt2BJpsiKK.TisTosSpecs = triggers Hlt2BJpsiKK.ProjectTracksToCalo = False Hlt2BJpsiKK.CaloClustForCharged = False Hlt2BJpsiKK.CaloClustForNeutral = False Hlt2BJpsiKK.TOSFrac = {4: 0.0, 5: 0.0} Hlt2BJpsiKK.NoRegex = True #Hlt2BJpsiKK.PassOnAll = True # TESTING! # return Selection(name + "_SelHlt2BJpsiKK", Algorithm=Hlt2BJpsiKK, RequiredSelections=[longPartsFilter])