def makeTISTOS(name, sel, trigger): from Configurables import TisTosParticleTagger tisTosFilter = TisTosParticleTagger(name + "_Tagger") tisTosFilter.TisTosSpecs = {trigger: 0} tisTosFilter.ProjectTracksToCalo = False tisTosFilter.CaloClustForCharged = False tisTosFilter.CaloClustForNeutral = False #tisTosFilter.TOSFrac = { 4:0.0, 5:0.0 } return Selection(name, Algorithm=tisTosFilter, RequiredSelections=[sel])
def _makeTISTOSFilter(self, name, specs): from Configurables import TisTosParticleTagger tisTosFilter = TisTosParticleTagger(name + 'TISTOSFilter') tisTosFilter.TisTosSpecs = specs tisTosFilter.ProjectTracksToCalo = False tisTosFilter.CaloClustForCharged = False tisTosFilter.CaloClustForNeutral = False tisTosFilter.TOSFrac = {4: 0.0, 5: 0.0} return tisTosFilter
def makeTOSFilter(name): specs = {'Hlt2CharmHadMinBiasD02KPiDecision%TOS': 0} from Configurables import TisTosParticleTagger tisTosFilter = TisTosParticleTagger(name + 'TOSFilter') tisTosFilter.TisTosSpecs = specs tisTosFilter.ProjectTracksToCalo = False tisTosFilter.CaloClustForCharged = False tisTosFilter.CaloClustForNeutral = False tisTosFilter.TOSFrac = {4: 0.0, 5: 0.0} return tisTosFilter
def makeTISTOSFilter(name): specs = {'Hlt2Topo.*Decision%TOS':0, 'Hlt2Topo.*Decision%TIS':0, 'Hlt2IncPhi.*Decision%TOS':0,'Hlt2IncPhi.*Decision%TIS':0} from Configurables import TisTosParticleTagger tisTosFilter = TisTosParticleTagger(name+'TISTOSFilter') tisTosFilter.TisTosSpecs = specs tisTosFilter.ProjectTracksToCalo = False tisTosFilter.CaloClustForCharged = False tisTosFilter.CaloClustForNeutral = False tisTosFilter.TOSFrac = {4:0.0, 5:0.0} return tisTosFilter
def makeTISTOSSel(name, sel, trigger): from Configurables import TisTosParticleTagger tisTosFilter = TisTosParticleTagger(name + "Filter") tisTosFilter.TisTosSpecs = {trigger: 0} # the rest ist only to speed it up... (TISTOSsing only done with tracking system) tisTosFilter.ProjectTracksToCalo = False tisTosFilter.CaloClustForCharged = False tisTosFilter.CaloClustForNeutral = False tisTosFilter.TOSFrac = {4: 0.0, 5: 0.0} return Selection(name, Algorithm=tisTosFilter, RequiredSelections=[sel])
def filterTisTos(self, name, DiMuonInput, myTisTosSpecs): from Configurables import TisTosParticleTagger 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 filterHLT2ForBJpsiK(name, BJpsiKSel, triggers): """ Filter B->J/psi K to be triggered on mu+track for the long track muon and Kaon """ Hlt2BJpsiK = TisTosParticleTagger(name + "_Hlt2BJpsiK") #Hlt2BJpsiK.TisTosSpecs = { "Hlt2MuTrackDecision%TOS" : 0} Hlt2BJpsiK.TisTosSpecs = triggers Hlt2BJpsiK.ProjectTracksToCalo = False Hlt2BJpsiK.CaloClustForCharged = False Hlt2BJpsiK.CaloClustForNeutral = False Hlt2BJpsiK.TOSFrac = {4: 0.0, 5: 0.0} Hlt2BJpsiK.NoRegex = True #Hlt2BJpsiK.PassOnAll = True return Selection(name, Algorithm=Hlt2BJpsiK, RequiredSelections=[BJpsiKSel])
def selHlt2BJpsiKMu(name, hlt1Filter, triggers): """ Filter the long track muon to be TUS on a HLT2 mu+track trigger, for B->J/psi K selection (mainly a speed up) """ Hlt2BJpsiKMu = TisTosParticleTagger(name + "Hlt2BJpsiKMu") #Hlt2BJpsiKMu.TisTosSpecs = { "Hlt2MuTrackDecision%TUS" : 0} # TUS, not TOS, not a typo!!! Hlt2BJpsiKMu.TisTosSpecs = triggers Hlt2BJpsiKMu.ProjectTracksToCalo = False Hlt2BJpsiKMu.CaloClustForCharged = False Hlt2BJpsiKMu.CaloClustForNeutral = False Hlt2BJpsiKMu.TOSFrac = {4: 0.0, 5: 0.0} Hlt2BJpsiKMu.NoRegex = True #Hlt2BJpsiKMu.PassOnAll = True # TESTING! # return Selection(name + "_SelHlt2BJpsiKMu", Algorithm=Hlt2BJpsiKMu, RequiredSelections=[hlt1Filter])
def selHlt2Z(name, hlt1Filter, triggers): """ Filter the long track muon to be TOS on a HLT2 single muon trigger, for Z selection """ Hlt2Z = TisTosParticleTagger(name + "Hlt2Z") #Hlt2Z.TisTosSpecs = { "Hlt2SingleMuonHighPTDecision%TOS" : 0} Hlt2Z.TisTosSpecs = triggers Hlt2Z.ProjectTracksToCalo = False Hlt2Z.CaloClustForCharged = False Hlt2Z.CaloClustForNeutral = False Hlt2Z.TOSFrac = {4: 0.0, 5: 0.0} Hlt2Z.NoRegex = True #Hlt2Z.PassOnAll = True # TESTING! # return Selection(name + "_SelHlt2Z", Algorithm=Hlt2Z, RequiredSelections=[hlt1Filter])
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 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])