Using TriggerTisTos Tool in Python

Sample python code shown below is compatible with TriggerTisTos software which was released with DaVinci v25r7 (2010-07-28). See Nov 1, 2010 presentation at Trigger & Stripping meeting for description of this release. Similar functionality exists in earlier versions, but calls are slightly different.

Accesing TriggerTisTos tool in python

To get access to the tool do
import GaudiPython
appMgr= GaudiPython.AppMgr(outputlevel=3)
# input data must be defined before you create the TisTos tool
sel= appMgr.evtsel()
sel.open(['PFN:/tmp/tskwarni/dimuon.dst'])
#
tsvc= appMgr.toolsvc()
tistostool= tsvc.create('TriggerTisTos',interface='ITriggerTisTos')

Receiving decision, tis, tos outputs

To make python access easier we added python friendly method which returns ITisTos::TisTosTob helper class, which has decision(), tis(), tos(), tps() and tus() methods:

results = tistostool.tisTosTobTrigger()
decision = results.decision()
tis = results.tis()
tos = results.tos()

Extended example python code

The following example code reads dimuon stripping dst file (Bs->mumu events), uses TriggerTisTos and L0TriggerTisTos tools to get names of all configured (and then successful) triggers in the first event. It show you how to check trigger input for validity.

It then loops through events, finds particles from stripping to use as signal. It then classifies triggers with respect to the signal. The example illustrates basic steps in use of the tool: definition of the signal ("OfflineInput"), definition of the trigger input and then receiving tis/tos results via tisTosTobTrigger() method. I also shows use of triggerSelectionNames() and hltObjectSummaries(), with and without optional parameters. Relevant parts of produced job printout are included.

Python code

# python script to test TriggerTisTos tool    Tomasz Skwarnicki Nov 4, 2010
#
# This is an example GaudiPython script showing how to use TriggerTisTos tools in python
# when reading input data in dst format (use on mdsts usually requires different set-up)         
#
# It is convenient to use DaVinci to set-up all needed decoding etc. even when
# working in GaudiPython. We use this method here.
#

from Gaudi.Configuration import *
########################################################################
# DaVinci
from Configurables import DaVinci
DaVinci().DataType = "2010"                    
DaVinci().HistogramFile = "DVHistos_1.root"   
DaVinci().TupleFile = "DVNtuples.root"
########################################################################

## if you need to customize TisTos tools do it here
# from Configurables import TriggerTisTos,L0TriggerTisTos
# TriggerTisTos().OutputLevel = 1
# L0TriggerTisTos().OutputLevel = 1

import GaudiPython
appMgr= GaudiPython.AppMgr(outputlevel=3)
# ------------ no Configurables below this line; you application is already initialized

# You must initialize event selector before you can allocate tistostools 
sel= appMgr.evtsel()
sel.open(['PFN:/tmp/tskwarni/dimuon.dst'])

# ----------------------------- create tool instances for tistossing --------
# get the tool service
tsvc= appMgr.toolsvc()
# get   TriggerTisTos tool to work with Hlt triggers
tistostool= tsvc.create('TriggerTisTos',interface='ITriggerTisTos')
# get L0TriggerTisTos tool to work with L0  triggers
l0tistostool =tsvc.create('L0TriggerTisTos',interface='ITriggerTisTos')
# ---------------------------------------------------------------------------


#  convinient macro to print contents of vectors
def dvs(v): 
    for iv in v:
        print iv,
    print


appMgr.run(1)    # get the first event

# ---------------------------------------------------------------------------------
# we first illustrate how to get list of configured trigger in given event using the tool
# ( this can also be done directly from Decision reports )
# --------------------------------------------------------------------------------- 
print ' L0 Trigger Names '
l0triggers =  l0tistostool.triggerSelectionNames('L0.*Decision') 
dvs( l0triggers )
#
print ' Hlt1 Trigger Names '
hlt1triggers =  tistostool.triggerSelectionNames('Hlt1.*Decision')
dvs( hlt1triggers )
#
print ' Hlt2 Trigger Names '
hlt2triggers = tistostool.triggerSelectionNames('Hlt2.*Decision')
dvs(hlt2triggers)
#
#    you can also get a list of triggers which set decision=true
#
print ' L0 Trigger Names with decision=true '
l0triggers =  l0tistostool.triggerSelectionNames('L0.*Decision',l0tistostool.kTrueRequired) 
dvs( l0triggers )
#
print ' Hlt1 Trigger Names with decision=true '
hlt1triggers =  tistostool.triggerSelectionNames('Hlt1.*Decision',tistostool.kTrueRequired)
dvs( hlt1triggers )
#
print ' Hlt2 Trigger Names with decision=true '
hlt2triggers = tistostool.triggerSelectionNames('Hlt2.*Decision',tistostool.kTrueRequired)
dvs(hlt2triggers)
# ---------------------------------------------------------------------------------------------------
# you can also validate any trigger name (or trigger name regex pattern) using triggerSelectionNames()
# ----------------------------------------------------------------------------------------------------
# validate specific trigger name
def validate(triggerName):
    if tistostool.triggerSelectionNames(triggerName).size()>0:
        print ' Trigger name ',triggerName,' is valid '
    else:
        print ' Trigger name ',triggerName,' is invalid '

validate('Hlt1TrackMuonDecision')
validate('Hlt1TrackMuondecision')   # notice misspelling (lower case d in "decision")
validate('Hlt2.*')

# -----------------------------------------------------------
# function illustrating various methods which depend on signal
# ------------------------------------------------------------ 
def tistossignal(signal):

    # tistos L0 triggers --------------------
    l0tistostool.setOfflineInput(signal)
    #    L0 global decision
    l0tistostool. setTriggerInput('L0.*Decision'); l0 = l0tistostool.tisTosTobTrigger()
    print ' L0.*Decision decision=',l0.decision(),' tis=',l0.tis(),' tos=',l0.tos(),' tps=',l0.tps()
    print ' L0 TOS triggers'
    dvs( l0tistostool.triggerSelectionNames(tistostool.kTrueRequired,tistostool.kAnything,tistostool.kTrueRequired) )
    print ' L0 TIS triggers'
    dvs( l0tistostool.triggerSelectionNames(tistostool.kTrueRequired,tistostool.kTrueRequired,tistostool.kAnything) )
    print ' L0 exclusive TPS triggers'
    dvs( l0tistostool.triggerSelectionNames(tistostool.kTrueRequired,tistostool.kFalseRequired,tistostool.kFalseRequired,
                                                                                                tistostool.kTrueRequired) )

    # tistos Hlt1 triggers --------------------
    tistostool.setOfflineInput(signal)
    #    Hlt1 global decision
    tistostool.setTriggerInput('Hlt1.*Decision'); hlt1 = tistostool.tisTosTobTrigger()
    print ' Hlt1.*Decision decision=',hlt1.decision(),' tis=',hlt1.tis(),' tos=',hlt1.tos(),' tps=',hlt1.tps()
    print ' Hlt1 TOS triggers'
    dvs( tistostool.triggerSelectionNames(tistostool.kTrueRequired,tistostool.kAnything,tistostool.kTrueRequired) )
    print ' Hlt1 TIS triggers'
    dvs( tistostool.triggerSelectionNames(tistostool.kTrueRequired,tistostool.kTrueRequired,tistostool.kAnything) )
    print ' Hlt1 exclusive TPS triggers'
    dvs( tistostool.triggerSelectionNames(tistostool.kTrueRequired,tistostool.kFalseRequired,tistostool.kFalseRequired,
                                                                                                 tistostool.kTrueRequired) )
    # tistos Hlt2 triggers --------------------
    #    Hlt2 global decision
    tistostool.setTriggerInput('Hlt2.*Decision');hlt2 = tistostool.tisTosTobTrigger()
    print ' Hlt2.*Decision decision=',hlt2.decision(),' tis=',hlt2.tis(),' tos=',hlt2.tos(),' tps=',hlt2.tps()
    print ' Hlt2 TOS triggers'
    dvs( tistostool.triggerSelectionNames(tistostool.kTrueRequired,tistostool.kAnything,tistostool.kTrueRequired) )
    print ' Hlt2 TIS triggers'
    dvs( tistostool.triggerSelectionNames(tistostool.kTrueRequired,tistostool.kTrueRequired,tistostool.kAnything) )
    print ' Hlt2 exclusive TPS triggers'
    dvs( tistostool.triggerSelectionNames(tistostool.kTrueRequired,tistostool.kFalseRequired,tistostool.kFalseRequired,
                                                                                                 tistostool.kTrueRequired) )

    #
    # analyze all selections saved in HltSelReports, including number of candidates in each category    
    #     (optional parameters here are: TIS-requirement,TOS-requirement,TPS-requirement)
    #
    evt = appMgr.evtSvc()
    selReports = evt['/Event/Hlt/SelReports']    
    if selReports!=None:
        sids=selReports.selectionNames()
        for selname in sids:
            results = tistostool.tisTosTobSelection(selname)
            print ' decision=' , results.decision(), 
            print ' TOS=' , results.tos() , ' TIS=' , results.tis(),' TPS= ',results.tps(),
            print ' #-of-candidates ',tistostool.hltSelectionObjectSummaries(selname).size(),
            print ' TIS ',tistostool.hltSelectionObjectSummaries(selname,tistostool.kTrueRequired,tistostool.kAnything).size(),
            print ' TOS ',tistostool.hltSelectionObjectSummaries(selname,tistostool.kAnything,tistostool.kTrueRequired).size(),
            print ' TPS ',tistostool.hltSelectionObjectSummaries(selname,tistostool.kAnything,tistostool.kAnything,
                                                                 tistostool.kTrueRequired).size(),
            print ' Trigger Selection=' , selname                  
    # all saved l0 selections
    selReports = evt['/Event/HltLikeL0/SelReports']    
    if selReports!=None:
        sids=selReports.selectionNames()
        for selname in sids:
            results = l0tistostool.tisTosTobSelection(selname)
            print ' decision=' , results.decision(), 
            print ' TOS=' , results.tos() , ' TIS=' , results.tis(),' TPS= ',results.tps(),
            print ' #-of-candidates ',l0tistostool.hltSelectionObjectSummaries(selname).size(),
            print ' TIS ',l0tistostool.hltSelectionObjectSummaries(selname,tistostool.kTrueRequired,tistostool.kAnything).size(),
            print ' TOS ',l0tistostool.hltSelectionObjectSummaries(selname,tistostool.kAnything,tistostool.kTrueRequired).size(),
            print ' TPS ',l0tistostool.hltSelectionObjectSummaries(selname,tistostool.kAnything,tistostool.kAnything,
                                                                 tistostool.kTrueRequired).size(),
            print ' Trigger Selection=' , selname                  


#
# some tools used below
#
evt = appMgr.evtSvc()
daughterTool=tsvc.create('ParticleDescendants',interface='IParticleDescendants')
tesExplorer= tsvc.create('TESTisTos',interface='ITriggerTisTos') # we get this here to find particles on TES
# find any particles in dimuon stream; use 1st particle in each container to tistos triggers
def findAndTisTos():
    tesExplorer.triggerSelectionNames('/Event/Dimuon/.*')
    particleLocs = tesExplorer.triggerSelectionNames('/Event/Dimuon/Phys/.*/Particles') 
    for particleLoc in particleLocs:
        loc = particleLoc
        pas= evt[loc]
        if pas != None:
            if pas.size() == 0:
                continue
            signal = pas[0]
            if signal == None:
                continue
            print ' Particle found in <><><><><><> ',loc,' <><><><><><><><><><><><><><><><><><><><><> '                        
            finals = daughterTool.finalStates(signal)
            print "    Signal Particle " , signal.particleID().pid() , " Pt " , signal.pt() \
                  , " #-of-daughters " , signal.daughtersVector().size() \
                  , " #-of-finals " , finals.size() \
                  , " measured mass ",signal.measuredMass()
            for pf in finals:
                print " Final state particle ",pf.particleID().pid()," Pt ",pf.pt()
            tistossignal(signal)
            # here we show how to get diagnostics output for tis/tos of global Hlt2 decision:
            tistostool.setOfflineInput(signal)
            tistostool.setTriggerInput("Hlt2.*Decision")
            print tistostool.analysisReportTrigger()
       
    
for i in range(2):  # analyze 2 events
    # process one event
    appMgr.run(1)
    print ' --------------- New Event ------------------------------------------------------------------ '
    findAndTisTos()
import sys
sys.exit()

Sample output

Relevant parts of sample output (for 1 specific event) obtained in DaVinci v23r1:

 L0 Trigger Names 
L0B1gasDecision L0B2gasDecision L0CALODecision L0DiMuon,lowMultDecision L0DiMuonDecision L0ElectronDecision L0GlobalPi0Decision L0HCALDecision L0HadronDecision L0LocalPi0Decision L0MUON,minbiasDecision L0Muon,lowMultDecision L0MuonDecision L0MuonHighDecision L0PU20Decision L0PUDecision L0PhotonDecision L0SPD40Decision L0SPDDecision
 Hlt1 Trigger Names 
Hlt1BeamGasBeam1Decision Hlt1BeamGasBeam2Decision Hlt1BeamGasCrossingDecision Hlt1BeamGasCrossingForcedRZRecoDecision Hlt1BeamGasCrossingLonelyBeam1Decision Hlt1BeamGasCrossingLonelyBeam2Decision Hlt1DiHadronDecisio
n Hlt1DiMuon4BsMuMuDecision Hlt1DiMuonIPC2L0Decision Hlt1DiMuonIPCL0DiDecision Hlt1DiMuonIPCL0SegDecision Hlt1DiMuonNoIP2L0Decision Hlt1DiMuonNoIPL0DiDecision Hlt1DiMuonNoIPL0SegDecision Hlt1DiMuonNoPV2L0Decision Hl
t1DiMuonNoPVL0DiDecision Hlt1DiMuonNoPVL0SegDecision Hlt1ElectronTrackNoIPDecision Hlt1ElectronTrackWithIPDecision Hlt1ErrorEventDecision Hlt1IncidentDecision Hlt1L0AnyDecision Hlt1L0AnyRateLimitedDecision Hlt1LumiD
ecision Hlt1LumiLowBeam1Decision Hlt1LumiLowBeam2Decision Hlt1LumiLowBeamCrossingDecision Hlt1LumiLowNoBeamDecision Hlt1LumiMidBeamCrossingDecision Hlt1MBMicroBiasRZVeloDecision Hlt1MBMicroBiasRZVeloRateLimitedDecis
ion Hlt1MBMicroBiasTStationDecision Hlt1MBMicroBiasTStationRateLimitedDecision Hlt1MBNoBiasDecision Hlt1MuTrackDecision Hlt1NZSVeloDecision Hlt1ODINTechnicalDecision Hlt1PhotonDiTrackDecision Hlt1PhotonDiTrackFromEl
eDecision Hlt1PhotonTrackDecision Hlt1PhotonTrackFromEleDecision Hlt1SingleElectronNoIPDecision Hlt1SingleElectronWithIPDecision Hlt1SingleHadronDecision Hlt1SingleMuon4BsMuMuDecision Hlt1SingleMuonIPCL0Decision Hlt
1SingleMuonNoIPL0Decision Hlt1SingleMuonNoIPL0HighPTDecision Hlt1Tell1ErrorDecision Hlt1TrackAllL0Decision Hlt1TrackMuonDecision Hlt1TrackPhotonDecision
 Hlt2 Trigger Names 
Hlt2B2HHDecision Hlt2B2HHPi0_MergedDecision Hlt2B2HHPi0_ResolvedDecision Hlt2B2KstareeFittedLargeBMassWindowDecision Hlt2B2KstareeFittedLargeBMassWindowSignalDecision Hlt2Bd2KstGammaDecision Hlt2Bd2KstGammaLooseDira
Decision Hlt2Bd2KstGammaNoCutsKPiDecision Hlt2Bd2KstGammaWideBMassDecision Hlt2Bd2KstGammaWideKMassDecision Hlt2BiasedDiMuonIPDecision Hlt2BiasedDiMuonMassDecision Hlt2BiasedDiMuonRefinedDecision Hlt2BiasedDiMuonSim
pleDecision Hlt2BiasedTFB2eeDecision Hlt2BiasedTFDiElectronDecision Hlt2BiasedTFDiElectronLowMassDecision Hlt2BiasedTFDiElectronLowPIDDecision Hlt2BiasedTFJpsi2eeDecision Hlt2BiasedTFPsi2eeDecision Hlt2Bs2PhiGammaDe
cision Hlt2Bs2PhiGammaLooseDiraDecision Hlt2Bs2PhiGammaNoCutsKDecision Hlt2Bs2PhiGammaWideBMassDecision Hlt2Bs2PhiPhiDecision Hlt2CharmD02KKForD02MuMuDecision Hlt2CharmD02KPiForD02MuMuDecision Hlt2CharmD02MuMuDecisi
on Hlt2CharmD02PiPiForD02MuMuDecision Hlt2CharmD2KS0PiLLDecision Hlt2CharmOSTF2BodyDecision Hlt2CharmOSTF2BodyWideMassDecision Hlt2CharmOSTF3BodyDecision Hlt2CharmOSTF3BodyWideMassDecision Hlt2DebugEventDecision Hlt
2DiMuonBiasedJPsiDecision Hlt2DiMuonDY1Decision Hlt2DiMuonDY2Decision Hlt2DiMuonDY3Decision Hlt2DiMuonDY4Decision Hlt2DiMuonSameSignDecision Hlt2DiMuonUnbiasedBmmDecision Hlt2DiMuonUnbiasedJPsiDecision Hlt2DiMuonUnb
iasedPsi2SDecision Hlt2DiMuonUnbiasedZmmDecision Hlt2DisplVerticesDoubleDecision Hlt2DisplVerticesSingleDecision Hlt2DisplVerticesSinglePostScaledDecision Hlt2Dst2PiD02KMuDecision Hlt2Dst2PiD02KPiD0SBDecision Hlt2Ds
t2PiD02KPiDMSBDecision Hlt2Dst2PiD02KPiDecision Hlt2Dst2PiD02KPiSignalDecision Hlt2Dst2PiD02MuMuD0SBDecision Hlt2Dst2PiD02MuMuDMSBDecision Hlt2Dst2PiD02MuMuDecision Hlt2Dst2PiD02MuMuSignalDecision Hlt2Dst2PiD02PiMuD
ecision Hlt2Dst2PiD02PiPiD0SBDecision Hlt2Dst2PiD02PiPiDMSBDecision Hlt2Dst2PiD02PiPiDecision Hlt2Dst2PiD02PiPiSignalDecision Hlt2ErrorEventDecision Hlt2ExpressBeamHaloDecision Hlt2ExpressDStar2D0PiDecision Hlt2Expr
essDs2PhiPiDecision Hlt2ExpressHLT1PhysicsDecision Hlt2ExpressJPsiDecision Hlt2ExpressJPsiTagProbeDecision Hlt2ExpressKSDecision Hlt2ExpressLambdaDecision Hlt2ForwardDecision Hlt2IncDiProtonDecision Hlt2IncDiProtonP
reselDecision Hlt2IncDiProtonTrackFittedDecision Hlt2IncPhiDecision Hlt2IncPhiRobustDecision Hlt2IncPhiSidebandsDecision Hlt2IncPhiTrackFitDecision Hlt2MuTrackDecision Hlt2MuTrackNoIPDecision Hlt2MuonFromHLT1Decisio
n Hlt2PassThroughDecision Hlt2PileUpDecision Hlt2SingleHighPTMuonDecision Hlt2SingleMuonDecision Hlt2SingleTFElectronDecision Hlt2TFBc2JpsiHDecision Hlt2TFBc2JpsiHDetachedDecision Hlt2TFBc2JpsiHPrescaledDecision Hlt
2TFBc2JpsiMuXDecision Hlt2TFBc2JpsiMuXSignalDecision Hlt2TFBs2JpsieePhiSignalDecision Hlt2TFBs2JpsieePhiUnbiasedPTDecision Hlt2TFElectronPlusTrackDecision Hlt2TopoOSTF2BodyDecision Hlt2TopoOSTF3BodyDecision Hlt2Topo
OSTF4BodyDecision Hlt2TransparentDecision Hlt2UnbiasedDiMuonDecision Hlt2UnbiasedDiMuonLowMassDecision Hlt2UnbiasedTFB2eeDecision Hlt2UnbiasedTFDiElectronDecision Hlt2UnbiasedTFDiElectronLowMassDecision Hlt2Unbiased
TFDiElectronLowPIDDecision Hlt2UnbiasedTFJpsi2eeDecision Hlt2UnbiasedTFPsi2eeDecision
 L0 Trigger Names with decision=true 
L0HCALDecision L0MuonDecision L0MuonHighDecision L0SPDDecision
 Hlt1 Trigger Names with decision=true 
Hlt1SingleMuonNoIPL0Decision Hlt1TrackMuonDecision
 Hlt2 Trigger Names with decision=true 
Hlt2CharmD02MuMuDecision Hlt2TopoOSTF3BodyDecision
 Trigger name  Hlt1TrackMuonDecision  is valid 
 Trigger name  Hlt1TrackMuondecision  is invalid 
 Trigger name  Hlt2.*  is valid 
 --------------- New Event ------------------------------------------------------------------ 
 Particle found in <><><><><><>  /Event/Dimuon/Phys/Jpsi2MuMuForBetasLine/Particles  <><><><><><><><><><><><><><><><><><><><><> 
    Signal Particle  443  Pt  1344.88068285  #-of-daughters  2  #-of-finals  2  measured mass  3096.77744001
 Final state particle  -13  Pt  1891.17296601
 Final state particle  13  Pt  1426.89438977
L0SelReportsMaker WARNING L0SelReportsMaker::  No L0MuonCandidates at Trig/L0/MuonBCSU using truncated list from Trig/L0/MuonCtrl
 L0.*Decision decision= 1  tis= 1  tos= 1  tps= 0
 L0 TOS triggers
L0DiMuonDecision L0MuonDecision
 L0 TIS triggers
L0GlobalPi0Decision L0HCALDecision L0HadronDecision
 L0 exclusive TPS triggers

 Hlt1.*Decision decision= 1  tis= 0  tos= 1  tps= 0
 Hlt1 TOS triggers
Hlt1SingleMuonNoIPL0Decision
 Hlt1 TIS triggers

 Hlt1 exclusive TPS triggers

 Hlt2.*Decision decision= 1  tis= 0  tos= 1  tps= 0
 Hlt2 TOS triggers
Hlt2DiMuonUnbiasedJPsiDecision Hlt2UnbiasedDiMuonDecision
 Hlt2 TIS triggers

 Hlt2 exclusive TPS triggers

 decision= 1  TOS= 1  TIS= 0  TPS=  0  #-of-candidates  3  TIS  0  TOS  3  TPS  0  Trigger Selection= Hlt1Global
 decision= 1  TOS= 1  TIS= 0  TPS=  0  #-of-candidates  2  TIS  0  TOS  2  TPS  0  Trigger Selection= Hlt1L0DiMuonDecision
 decision= 1  TOS= 1  TIS= 0  TPS=  0  #-of-candidates  2  TIS  0  TOS  2  TPS  0  Trigger Selection= Hlt1L0MuonDecision
 decision= 1  TOS= 1  TIS= 0  TPS=  0  #-of-candidates  1  TIS  0  TOS  1  TPS  0  Trigger Selection= Hlt1SingleMuonNoIPL0Decision
 decision= 1  TOS= 1  TIS= 0  TPS=  0  #-of-candidates  1  TIS  0  TOS  1  TPS  0  Trigger Selection= Hlt2DiMuonUnbiasedJPsiDecision
 decision= 1  TOS= 1  TIS= 0  TPS=  0  #-of-candidates  2  TIS  0  TOS  2  TPS  0  Trigger Selection= Hlt2Global
 decision= 1  TOS= 1  TIS= 0  TPS=  0  #-of-candidates  1  TIS  0  TOS  1  TPS  0  Trigger Selection= Hlt2UnbiasedDiMuonDecision
 decision= 1  TOS= 0  TIS= 1  TPS=  0  #-of-candidates  75  TIS  75  TOS  0  TPS  0  Trigger Selection= L0CaloCandidates
 decision= 1  TOS= 1  TIS= 0  TPS=  0  #-of-candidates  1  TIS  0  TOS  1  TPS  0  Trigger Selection= L0DiMuonDecision
 decision= 1  TOS= 1  TIS= 1  TPS=  0  #-of-candidates  5  TIS  3  TOS  2  TPS  0  Trigger Selection= L0Global
 decision= 1  TOS= 0  TIS= 1  TPS=  0  #-of-candidates  1  TIS  1  TOS  0  TPS  0  Trigger Selection= L0GlobalPi0Decision
 decision= 1  TOS= 0  TIS= 1  TPS=  0  #-of-candidates  14  TIS  14  TOS  0  TPS  0  Trigger Selection= L0HCALDecision
 decision= 1  TOS= 0  TIS= 1  TPS=  0  #-of-candidates  2  TIS  2  TOS  0  TPS  0  Trigger Selection= L0HadronDecision
 decision= 1  TOS= 1  TIS= 0  TPS=  0  #-of-candidates  2  TIS  0  TOS  2  TPS  0  Trigger Selection= L0MuonCandidates
 decision= 1  TOS= 1  TIS= 0  TPS=  0  #-of-candidates  2  TIS  0  TOS  2  TPS  0  Trigger Selection= L0MuonDecision

 Trigger #-of-sel 107
    Selection Hlt2B2HHDecision decision=false 
    Selection Hlt2B2HHPi0_MergedDecision decision=false 
    Selection Hlt2B2HHPi0_ResolvedDecision decision=false 
    ...
    Selection Hlt2DiMuonUnbiasedJPsiDecision  HltDecReport decision=1
       HltObjectSummary CLID 1 Selection #-of-candidates 1
          HltObjectSummary CLID 801 Substructure size 2
             HltObjectSummary CLID 801 Substructure size 2
                HltObjectSummary CLID 10010  TIS= 0 TOS= 1 TPS= 0 Velo 12 1 OTIT 22 1 TT 4 1 Mu 0 0 Ecal 0 0 Hcal 0 0 
                HltObjectSummary CLID 10010  TIS= 0 TOS= 1 TPS= 0 Velo 0 0 OTIT 0 0 TT 0 0 Mu 10 1 Ecal 0 0 Hcal 0 0 
             HltObjectSummary Composite TIS= 0 TOS= 1 TPS= 0
             HltObjectSummary CLID 801 Substructure size 2
                HltObjectSummary CLID 10010  TIS= 0 TOS= 1 TPS= 0 Velo 18 1 OTIT 23 1 TT 5 1 Mu 0 0 Ecal 0 0 Hcal 0 0 
                HltObjectSummary CLID 10010  TIS= 0 TOS= 1 TPS= 0 Velo 0 0 OTIT 0 0 TT 0 0 Mu 12 1 Ecal 0 0 Hcal 0 0 
             HltObjectSummary Composite TIS= 0 TOS= 1 TPS= 0
          HltObjectSummary Composite TIS= 0 TOS= 1 TPS= 0
       HltObjectSummary Selection TIS= 0 TOS= 1 TPS= 0
    Selection Hlt2DiMuonUnbiasedJPsiDecision TIS= 0 TOS= 1 TPS= 0 decision= 1
    Selection Hlt2DiMuonUnbiasedPsi2SDecision decision=false 
    ...
    Selection Hlt2UnbiasedDiMuonDecision  HltDecReport decision=1
       HltObjectSummary CLID 1 Selection #-of-candidates 1
          HltObjectSummary CLID 801 Substructure size 2
             HltObjectSummary CLID 801 Substructure size 2
                HltObjectSummary CLID 10010  TIS= 0 TOS= 1 TPS= 0 Velo 12 1 OTIT 22 1 TT 4 1 Mu 0 0 Ecal 0 0 Hcal 0 0 
                HltObjectSummary CLID 10010  TIS= 0 TOS= 1 TPS= 0 Velo 0 0 OTIT 0 0 TT 0 0 Mu 10 1 Ecal 0 0 Hcal 0 0 
             HltObjectSummary Composite TIS= 0 TOS= 1 TPS= 0
             HltObjectSummary CLID 801 Substructure size 2
                HltObjectSummary CLID 10010  TIS= 0 TOS= 1 TPS= 0 Velo 18 1 OTIT 23 1 TT 5 1 Mu 0 0 Ecal 0 0 Hcal 0 0 
                HltObjectSummary CLID 10010  TIS= 0 TOS= 1 TPS= 0 Velo 0 0 OTIT 0 0 TT 0 0 Mu 12 1 Ecal 0 0 Hcal 0 0 
             HltObjectSummary Composite TIS= 0 TOS= 1 TPS= 0
          HltObjectSummary Composite TIS= 0 TOS= 1 TPS= 0
       HltObjectSummary Selection TIS= 0 TOS= 1 TPS= 0
    Selection Hlt2UnbiasedDiMuonDecision TIS= 0 TOS= 1 TPS= 0 decision= 1
    Selection Hlt2UnbiasedDiMuonLowMassDecision decision=false 
    Selection Hlt2UnbiasedTFB2eeDecision decision=false 
    Selection Hlt2UnbiasedTFDiElectronDecision decision=false 
    Selection Hlt2UnbiasedTFDiElectronLowMassDecision decision=false 
    Selection Hlt2UnbiasedTFDiElectronLowPIDDecision decision=false 
    Selection Hlt2UnbiasedTFJpsi2eeDecision decision=false 
    Selection Hlt2UnbiasedTFPsi2eeDecision decision=false 
 Trigger #-of-sel 107 TIS= 0 TOS= 1 TPS= 0 decision= 1


-- TomaszSkwarnicki - 4 Nov 2010

Edit | Attach | Watch | Print version | History: r12 < r11 < r10 < r9 < r8 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r12 - 2010-11-04 - TomaszSkwarnicki
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    LHCb All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback