Using TESTisTos Tool in Python

This page illustrates full power of TESTisTos tool. Such extensive example may be confusing. For a simple example how to use this tool please see slide 28 of Nov.1 2010 presentation..

Warning - examples shown below adhere to the old conventions used in stripping when candidates were saved under "/Event/Strip/Phys". Recent stripping code puts candidates under "/Event/stream_name/Phys".

TESTisTos tool, with the same user interface as TriggerTisTos tool, is intended for TisTosTobbing of selections present in TES. It was created with TisTosTobbing of Stripping decisions in mind, but it can be used for any selection of Particles, Vertices, RecVertices or Tracks saved on TES (I don't recommend using it for Hlt selections on TES since this can be tricky).

I recommend becoming familiar with documentation on TriggerTisTos tool first. There is a similar python example for the TriggerTisTos tool.

In TESTisTos, the role of trigger line names is replaced by names of TES locations where selections are saved. The location names can be either absolute (starting with "/") or relative (not starting with "/"). The relative locations are given with respect to a prefix controled by PrefixInTES property of the tool, which by default is set to "/Event/Strip/Phys/". This is convenient for dsts created in Stripping. The PrefixInTES can be changed via job options. Notice that use of absolute paths lets you access any selection on TES independently of the prefix. If no selection container is found at given location then also location+"/Particles" and location+"/Vertices" are tried. A "decision" is true if some candidates are found in the containers saved at given location(s). The algorithm used to determine TIS or TOS is identical to the one used in the TriggerTisTos and is based on fraction of lhcbids shared between the selection candidates and the user specified signal.

Use of wild characters (regex expressions in general) is allowed in location names. As content of TES is not fixed, TES paths are scanned each time "Trigger Input" entry (i.e. entry to location specs) is made.

Selection candidates can be accessed via hltObjectSummaries method which returns a vector of pointers to fake HltObjectSummary objects, which contain no information except for summarizedObject pointer of the candidate (and summarizedObjectCLID).

The example given below exercises most of functionality of the TESTisTos tool. It was run on bmuon.dst created in Stripping exercise in fall 2009. Signal was taken from StdLooseJpsi2MuMu selection in DaVinci. It shows how to tis/tos decision responsible for event being present in this stream. It then shows what happens if you address all selections presents in /Event/Strip/Phys - since this includes intermediate selections, this does not correspond to "stripping decision". Then we look at particle selections in /Event/Phys. Finally, all TES selections are inspected for number of tos/tob/tis candidates.

A similar example run on Hadron stream is shawn at the bottom. This time signal itself came from first particle found in /Event/Strip/Phys/ (shows how to go from HltObjectSummary to Particle). After tis/tos of hadron stream decision, tis/tos of Topo Stripping Lines is demonstrated.

Compatibility

The first release in which this tool exists is TisTosTobbing v4r0 (use head if not yet tagged).

Accesing TESTisTos 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:/castor/cern.ch/grid/lhcb/MC/MC09/BMUON.DST/00005611/0000/00005611_00000001_1.bmuon.dst'])
#
tsvc= appMgr.toolsvc()
tistostool= tsvc.create('TESTisTos',interface='ITriggerTisTos')

Extended example python code for BMUON stream

The following example code reads stripped MC09 bmuon.dst The python code was executed with "python -i file_name" command.

Python code

# python script to test TESTisTos tool on stripped BMUON.DST    Tomasz Skwarnicki Dec 04,2009

#  macro to print
def dvs(v): # dump vector content
    for iv in v:
        print iv,
    print
    
# ===================================================================================================
#  get output locations for BMUON stream =============================================================
# ===================================================================================================
#      ( see https://twiki.cern.ch/twiki/bin/view/LHCb/LHCbStripping )
from StrippingConf.Configuration import StrippingConf
# import some official Stripping Selections
from StrippingSelections import StreamBmuon, StreamHadron, StreamJpsi, StreamDstar
sc = StrippingConf(Streams = [StreamBmuon.stream,
                              StreamHadron.stream,
                              StreamJpsi.stream,
                              StreamDstar.stream] )
streams = sc.activeStreams()
bmuon = streams[0].outputLocations()

# if you run newer DaVinci version and stream definition has changed,
#   then you should do above for the version used in Stripping and then hardwire the output
#
#                     e.g. for DaVinci v24r4 used in creation of the input file analyzed here
# bmuon = ['Phys/Bs2JpsiPhi', 'Phys/Bs2JpsiPhiPrescaled', 'Phys/Bs2JpsiPhiDetached', 'Phys/StripBd2JpsiKS',
#          'Phys/Bd2JpsiKSBiased', 'Phys/StripBd2JpsiKst', 'Phys/StripBd2JpsiKstDet', 'Phys/StripBd2JpsiKstDetRobust',
#          'Phys/filter_Bd2KstarMuMu_10Hz', 'Phys/filter_Bd2KstarMuMu_2Hz', 'Phys/filter_Bd2KstarMuMu_1Hz',
#          'Phys/StripBs2Jpsif0', 'Phys/BiasedBs2JpsiPhi', 'Phys/StripBu2JpsiK', 'Phys/StripBu2JpsiKDet', 'Phys/StripBu2JpsiKDetRobust']
#

# make it a std:vector<string> and remove "Phys/"
from ROOT import vector
bmuonlocs = vector("string")()
for i in bmuon:
    bmuonlocs.push_back( i.replace("Phys/","") )
print ' ####################### BMUON output locations ############################# '
dvs(bmuonlocs)
print ' ####################### ######################  ############################# '
# =======================================================================================================

from Gaudi.Configuration import *
########################################################################
# DaVinci
from Configurables import DaVinci
DaVinci().DataType = "MC09"                    
DaVinci().Simulation   = True
########################################################################

########################################################################
#      if you need to change any options for the TESTisTos tool do it here
#from  Configurables import TESTisTos
#TESTisTos().PrefixInTES = "/Event/Phys/"
#                 default value is "/Event/Strip/Phys/"
########################################################################

import GaudiPython
appMgr= GaudiPython.AppMgr(outputlevel=3)

# input data
sel= appMgr.evtsel()
# sel.open(['PFN:/castor/cern.ch/grid/lhcb/MC/MC09/BMUON.DST/00005611/0000/00005611_00000001_1.bmuon.dst'])
sel.open(['PFN:/home/tskwarni/vmdata/bmuon.dst'])
# TES
evt= appMgr.evtsvc() 
 
# get the tool service
tsvc= appMgr.toolsvc()
#    used for printout
daughterTool=tsvc.create('ParticleDescendants',interface='IParticleDescendants')

#    TisTos tool
tistostool= tsvc.create('TESTisTos',interface='ITriggerTisTos')


# process first event
appMgr.run(1)    

# explore some TES locations locations in this event
print 'pattern=".*" i.e. all paths starting from TESTisTos.PrefixInTES="/Event/Strip/Phys/" '
dvs( tistostool.triggerSelectionNames('.*') )
print 'pattern=".*/Particles" i.e. all paths ending with /Particles and starting with from TESTisTos.PrefixInTES="/Event/Strip/Phys/" '
dvs( tistostool.triggerSelectionNames('.*/Particles') )
print 'pattern="/.*/Particles" i.e. all paths ending with /Particles and starting with from "/" (PrefixInTES not used)'
dvs( tistostool.triggerSelectionNames('/.*/Particles') )


# validate specific TES path (i.e. see if present in this event)
def validate(triggerName):
    if tistostool.triggerSelectionNames(triggerName).size()>0:
        print ' TES path ',triggerName,' is valid '
    else:
        print ' TES path ',triggerName,' is invalid '

validate('/Event')
validate('Event')
validate('/Event/Phys/.*/Particles')

def tistossignal(signal):    
    tistostool.setOfflineInput(signal)
    # tistos bmuon stream stripping decision
    tistostool.setTriggerInput(bmuonlocs)
    bmuonstr = tistostool.triggerTisTos()
    print ' ### BMUON decision=',bmuonstr.decision(),' tis=',bmuonstr.tis(),' tos=',bmuonstr.tos()
    print ' ### BMUON TOS selections'
    dvs( tistostool.triggerSelectionNames(tistostool.kTrueRequired,tistostool.kAnything,tistostool.kTrueRequired) )
    print ' ### BMUON TIS selections'
    dvs( tistostool.triggerSelectionNames(tistostool.kTrueRequired,tistostool.kTrueRequired,tistostool.kAnything) )
    print ' ### BMUON TOB selections'
    dvs( tistostool.triggerSelectionNames(tistostool.kTrueRequired,tistostool.kFalseRequired,tistostool.kFalseRequired) )
    print 
    
    # all saved selections under PrefixInTES
    allstripsel = tistostool.triggerTisTos('.*')
    print ' ### /Event/Strip/Phys/ decision=',allstripsel.decision(),' tis=',allstripsel.tis(),' tos=',allstripsel.tos()
    print ' ### /Event/Strip/Phys/ TOS selections'
    dvs( tistostool.triggerSelectionNames(tistostool.kTrueRequired,tistostool.kAnything,tistostool.kTrueRequired) )
    print ' ### /Event/Strip/Phys/ TIS selections'
    dvs( tistostool.triggerSelectionNames(tistostool.kTrueRequired,tistostool.kTrueRequired,tistostool.kAnything) )
    print ' ### /Event/Strip/Phys/ TOB selections'
    dvs( tistostool.triggerSelectionNames(tistostool.kTrueRequired,tistostool.kFalseRequired,tistostool.kFalseRequired) )
    print 

    # all particle selections under /Event/Phys
    allstripsel = tistostool.triggerTisTos('/Event/Phys/.*/Particles')
    print ' ### /Event/Phys/.*/Particles decision=',allstripsel.decision(),' tis=',allstripsel.tis(),' tos=',allstripsel.tos()
    print ' ### /Event/Phys/.*/Particles TOS selections'
    dvs( tistostool.triggerSelectionNames(tistostool.kTrueRequired,tistostool.kAnything,tistostool.kTrueRequired) )
    print ' ### /Event/Phys/.*/Particles TIS selections'
    dvs( tistostool.triggerSelectionNames(tistostool.kTrueRequired,tistostool.kTrueRequired,tistostool.kAnything) )
    print ' ### /Event/Phys/.*/Particles TOB selections'
    dvs( tistostool.triggerSelectionNames(tistostool.kTrueRequired,tistostool.kFalseRequired,tistostool.kFalseRequired) )
    print 

    #
    # tistos first BMUON selection
    #
    specific = bmuonlocs[0]
    results = tistostool.triggerTisTos(specific)
    print ' Selection name ',specific,' decision=',results.decision(),' tis=',results.tis(),' tos=',results.tos()
    print 

    # all saved selections on TES
    sids =  tistostool.triggerSelectionNames('/.*')
    for selname in sids:
        if ( selname.find('/Event/MC') == -1 ):
            results = tistostool.selectionTisTos(selname)
            if results.decision(): 
                # print ' decision=' , results.decision() , ' sel-decision=', 1 if tistostool.hltSelectionObjectSummaries(selname).size() else 0,
                print ' TOS=' , results.tos() , ' TIS=' , results.tis(),
                print ' #-of-TOS obj ' , tistostool.hltSelectionObjectSummaries(selname,tistostool.kFalseRequired,tistostool.kTrueRequired).size(),
                print ' TOB ' , tistostool.hltSelectionObjectSummaries(selname,tistostool.kFalseRequired,tistostool.kFalseRequired).size(),
                print ' TIS ' , tistostool.hltSelectionObjectSummaries(selname,tistostool.kTrueRequired,tistostool.kFalseRequired).size(),
                print ' #-of-matched TOS tracks ' , tistostool.matchedTOSTracks(selname).size(),
                print ' vertices ' , tistostool.matchedTOSVertices(selname).size(),
                print ' particles ' , tistostool.matchedTOSParticles(selname).size(),                  
                print ' TES Selection=' , selname                  

# loop over 100 events
for i in range(100):
    # process one event
    appMgr.run(1)
    # ask for some std particles
    fake1 =evt['/Event/Phys/StdLooseJpsi2MuMu']
    fake2 =evt['/Event/Phys/StdLooseJpsi2MuMu/Particles']
    print ' --------------- New Event ------------------------------------------------------------------ '
    # loop through stripping preselections
    selres = evt['/Event/Phys/Selections']
    if selres != None:
        for physel in selres:
            if physel.found():
                #                if (physel.location().find('Phys/Presel')>-1) or (physel.location().find('Phys/Stripping')>-1):
                if (physel.location().find('Phys')>-1) and (not (physel.location().find('Hlt')>-1)):
                    pas= evt[physel.location()+'/Particles']
                    if pas != None:
                        print ' Candidate found in <><><><><><> ',physel.location(),' <><><><><><><><><><><><><><><><><><><><><> '                        
                        signal = pas[0]
                        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)
                        
import sys
sys.exit()

Sample output

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

 ####################### BMUON output locations ############################# 
Bs2JpsiPhi Bs2JpsiPhiPrescaled Bs2JpsiPhiDetached StripBd2JpsiKS Bd2JpsiKSBiased StripBd2JpsiKst StripBd2JpsiKstDet StripBd2JpsiKstDetRobust filter_Bd2KstarMuMu_10Hz filter_Bd2KstarMuMu_2Hz filter_Bd2KstarMuMu_1Hz StripBs2Jpsif0 BiasedBs2JpsiPhi StripBu2JpsiK StripBu2JpsiKDet StripBu2JpsiKDetRobust
 ####################### ######################  ############################# 

pattern=".*" i.e. all paths starting from TESTisTos.PrefixInTES="/Event/Strip/Phys/" 
/Event/Strip/Phys/Bs2JpsiPhiPrescaled /Event/Strip/Phys/Bs2JpsiPhiPrescaled/Particles /Event/Strip/Phys/Bs2JpsiPhiDetached /Event/Strip/Phys/Bs2JpsiPhiDetached/Particles /Event/Strip/Phys/StripBd2JpsiKS /Event/Strip/Phys/StripBd2JpsiKS/Particles /Event/Strip/Phys/StripBd2JpsiKS/Vertices /Event/Strip/Phys/StripKSDDForBd2Jpsi2MuMuKS /Event/Strip/Phys/StripKSDDForBd2Jpsi2MuMuKS/Particles /Event/Strip/Phys/StdLooseKsDD /Event/Strip/Phys/StdLooseKsDD/Vertices /Event/Strip/Phys/StdNoPIDsDownPions /Event/Strip/Phys/StdNoPIDsDownPions/Particles /Event/Strip/Phys/StdLooseMuons /Event/Strip/Phys/StdLooseMuons/Particles /Event/Strip/Phys/StdLTUnbiasedJpsi2MuMu /Event/Strip/Phys/StdLTUnbiasedJpsi2MuMu/Particles /Event/Strip/Phys/StdLooseJpsi2MuMu /Event/Strip/Phys/StdLooseJpsi2MuMu/Vertices /Event/Strip/Phys/Bd2JpsiKSBiased /Event/Strip/Phys/Bd2JpsiKSBiased/Particles /Event/Strip/Phys/StripBd2JpsiKst /Event/Strip/Phys/StripBd2JpsiKst/Particles /Event/Strip/Phys/StripBd2JpsiKstDet /Event/Strip/Phys/StripBd2JpsiKstDet/Particles /Event/Strip/Phys/StripBs2Jpsif0 /Event/Strip/Phys/StripBs2Jpsif0/Particles /Event/Strip/Phys/BiasedBs2JpsiPhi /Event/Strip/Phys/BiasedBs2JpsiPhi/Particles /Event/Strip/Phys/StripBu2JpsiK /Event/Strip/Phys/StripBu2JpsiK/Particles /Event/Strip/Phys/StripBu2JpsiKDet /Event/Strip/Phys/StripBu2JpsiKDet/Particles /Event/Strip/Phys/Bs2JpsiPhi /Event/Strip/Phys/Bs2JpsiPhi/Particle2VertexRelations

pattern=".*/Particles" i.e. all paths ending with /Particles and starting with from TESTisTos.PrefixInTES="/Event/Strip/Phys/" 
/Event/Strip/Phys/Bs2JpsiPhiPrescaled/Particles /Event/Strip/Phys/Bs2JpsiPhiDetached/Particles /Event/Strip/Phys/StripBd2JpsiKS/Particles /Event/Strip/Phys/StripKSDDForBd2Jpsi2MuMuKS/Particles /Event/Strip/Phys/StdNoPIDsDownPions/Particles /Event/Strip/Phys/StdLooseMuons/Particles /Event/Strip/Phys/StdLTUnbiasedJpsi2MuMu/Particles /Event/Strip/Phys/Bd2JpsiKSBiased/Particles /Event/Strip/Phys/StripBd2JpsiKst/Particles /Event/Strip/Phys/StripBd2JpsiKstDet/Particles /Event/Strip/Phys/StripBs2Jpsif0/Particles /Event/Strip/Phys/BiasedBs2JpsiPhi/Particles /Event/Strip/Phys/StripBu2JpsiK/Particles /Event/Strip/Phys/StripBu2JpsiKDet/Particles

pattern="/.*/Particles" i.e. all paths ending with /Particles and starting with from "/" (PrefixInTES not used)
/Event/Strip/Phys/Bs2JpsiPhiPrescaled/Particles /Event/Strip/Phys/Bs2JpsiPhiDetached/Particles /Event/Strip/Phys/StripBd2JpsiKS/Particles /Event/Strip/Phys/StripKSDDForBd2Jpsi2MuMuKS/Particles /Event/Strip/Phys/StdNoPIDsDownPions/Particles /Event/Strip/Phys/StdLooseMuons/Particles /Event/Strip/Phys/StdLTUnbiasedJpsi2MuMu/Particles /Event/Strip/Phys/Bd2JpsiKSBiased/Particles /Event/Strip/Phys/StripBd2JpsiKst/Particles /Event/Strip/Phys/StripBd2JpsiKstDet/Particles /Event/Strip/Phys/StripBs2Jpsif0/Particles /Event/Strip/Phys/BiasedBs2JpsiPhi/Particles /Event/Strip/Phys/StripBu2JpsiK/Particles /Event/Strip/Phys/StripBu2JpsiKDet/Particles

 TES path  /Event  is valid 
 TES path  Event  is invalid 
 TES path  /Event/Phys/.*/Particles  is invalid 
The last path was "invalid" since no offline selections have been executed yet.

In further processing /Event/Phys/StdLooseJpsi2MuMu/Particles is created by accessing this location, which triggers DataOnDemand execution of StdLooseJpsi2MuMu selection. We use the StdLooseJpsi2MuMu candidate as "signal" with respect to which stripping decision and other selections are analyzed.

 --------------- New Event ------------------------------------------------------------------ 
 Candidate found in <><><><><><>  /Event/Phys/StdLooseJpsi2MuMu  <><><><><><><><><><><><><><><><><><><><><> 
    Signal Particle  443  Pt  1245.01855156  #-of-daughters  2  #-of-finals  2  measured mass  3047.90521837
 Final state particle  -13  Pt  1884.27647775
 Final state particle  13  Pt  757.535287559
 ### BMUON decision= 1  tis= 0  tos= 0
 ### BMUON TOS selections

 ### BMUON TIS selections

 ### BMUON TOB selections
/Event/Strip/Phys/Bs2JpsiPhiPrescaled /Event/Strip/Phys/StripBd2JpsiKst

 ### /Event/Strip/Phys/ decision= 1  tis= 1  tos= 1
 ### /Event/Strip/Phys/ TOS selections
/Event/Strip/Phys/Bs2JpsiPhiPrescaled/Vertices /Event/Strip/Phys/StdLooseJpsi2MuMu /Event/Strip/Phys/StdLooseJpsi2MuMu/Particles /Event/Strip/Phys/StdLooseJpsi2MuMu/Vertices /Event/Strip/Phys/StdLooseMuons /Event/Strip/Phys/StdLooseMuons/Particles /Event/Strip/Phys/StripBd2JpsiKst/Vertices /Event/Strip/Phys/StdLTUnbiasedJpsi2MuMu /Event/Strip/Phys/StdLTUnbiasedJpsi2MuMu/Particles
 ### /Event/Strip/Phys/ TIS selections
/Event/Strip/Phys/PhiFilterForBs2JpsiPhiPrescaled /Event/Strip/Phys/PhiFilterForBs2JpsiPhiPrescaled/Particles /Event/Strip/Phys/StdLoosePhi2KK /Event/Strip/Phys/StdLoosePhi2KK/Vertices /Event/Strip/Phys/StdLooseKaons /Event/Strip/Phys/StdLooseKaons/Particles /Event/Strip/Phys/StdLoosePions /Event/Strip/Phys/StdLoosePions/Particles /Event/Strip/Phys/StripStdUnbiasedKst2Kpi /Event/Strip/Phys/StripStdUnbiasedKst2Kpi/Particles /Event/Strip/Phys/StdLooseKstar2Kpi /Event/Strip/Phys/StdLooseKstar2Kpi/Vertices
 ### /Event/Strip/Phys/ TOB selections
/Event/Strip/Phys/Bs2JpsiPhiPrescaled /Event/Strip/Phys/Bs2JpsiPhiPrescaled/Particles /Event/Strip/Phys/StripBd2JpsiKst /Event/Strip/Phys/StripBd2JpsiKst/Particles

 ### /Event/Phys/.*/Particles decision= 1  tis= 0  tos= 1
 ### /Event/Phys/.*/Particles TOS selections
/Event/Phys/StdLooseJpsi2MuMu/Particles /Event/Phys/StdLooseMuons/Particles
 ### /Event/Phys/.*/Particles TIS selections

 ### /Event/Phys/.*/Particles TOB selections


 Selection name  Bs2JpsiPhi  decision= 0  tis= 0  tos= 0

 TOS= 1  TIS= 0  #-of-TOS obj  3  TOB  2  TIS  0  #-of-matched TOS tracks  3  vertices  0  particles  0  TES Selection= /Event/Rec/Track/Muon
 TOS= 1  TIS= 1  #-of-TOS obj  2  TOB  9  TIS  202  #-of-matched TOS tracks  2  vertices  0  particles  0  TES Selection= /Event/Rec/Track/Best
 TOS= 0  TIS= 1  #-of-TOS obj  0  TOB  1  TIS  1  #-of-matched TOS tracks  0  vertices  0  particles  0  TES Selection= /Event/Rec/Vertex/Primary
 TOS= 0  TIS= 0  #-of-TOS obj  0  TOB  8  TIS  0  #-of-matched TOS tracks  0  vertices  0  particles  0  TES Selection= /Event/Strip/Phys/Bs2JpsiPhiPrescaled
 TOS= 0  TIS= 0  #-of-TOS obj  0  TOB  8  TIS  0  #-of-matched TOS tracks  0  vertices  0  particles  0  TES Selection= /Event/Strip/Phys/Bs2JpsiPhiPrescaled/Particles
 TOS= 1  TIS= 0  #-of-TOS obj  8  TOB  0  TIS  0  #-of-matched TOS tracks  0  vertices  0  particles  0  TES Selection= /Event/Strip/Phys/Bs2JpsiPhiPrescaled/Vertices
 TOS= 0  TIS= 1  #-of-TOS obj  0  TOB  0  TIS  4  #-of-matched TOS tracks  0  vertices  0  particles  0  TES Selection= /Event/Strip/Phys/PhiFilterForBs2JpsiPhiPrescaled
 TOS= 0  TIS= 1  #-of-TOS obj  0  TOB  0  TIS  4  #-of-matched TOS tracks  0  vertices  0  particles  0  TES Selection= /Event/Strip/Phys/PhiFilterForBs2JpsiPhiPrescaled/Particles
 TOS= 0  TIS= 1  #-of-TOS obj  0  TOB  0  TIS  4  #-of-matched TOS tracks  0  vertices  0  particles  0  TES Selection= /Event/Strip/Phys/StdLoosePhi2KK
 TOS= 0  TIS= 1  #-of-TOS obj  0  TOB  0  TIS  4  #-of-matched TOS tracks  0  vertices  0  particles  0  TES Selection= /Event/Strip/Phys/StdLoosePhi2KK/Vertices
 TOS= 0  TIS= 1  #-of-TOS obj  0  TOB  0  TIS  6  #-of-matched TOS tracks  0  vertices  0  particles  0  TES Selection= /Event/Strip/Phys/StdLooseKaons
 TOS= 0  TIS= 1  #-of-TOS obj  0  TOB  0  TIS  6  #-of-matched TOS tracks  0  vertices  0  particles  0  TES Selection= /Event/Strip/Phys/StdLooseKaons/Particles
 TOS= 1  TIS= 0  #-of-TOS obj  1  TOB  0  TIS  0  #-of-matched TOS tracks  0  vertices  0  particles  1  TES Selection= /Event/Strip/Phys/StdLooseJpsi2MuMu
 TOS= 1  TIS= 0  #-of-TOS obj  1  TOB  0  TIS  0  #-of-matched TOS tracks  0  vertices  0  particles  1  TES Selection= /Event/Strip/Phys/StdLooseJpsi2MuMu/Particles
 TOS= 1  TIS= 0  #-of-TOS obj  1  TOB  0  TIS  0  #-of-matched TOS tracks  0  vertices  0  particles  0  TES Selection= /Event/Strip/Phys/StdLooseJpsi2MuMu/Vertices
 TOS= 1  TIS= 0  #-of-TOS obj  2  TOB  0  TIS  0  #-of-matched TOS tracks  0  vertices  0  particles  2  TES Selection= /Event/Strip/Phys/StdLooseMuons
 TOS= 1  TIS= 0  #-of-TOS obj  2  TOB  0  TIS  0  #-of-matched TOS tracks  0  vertices  0  particles  2  TES Selection= /Event/Strip/Phys/StdLooseMuons/Particles
 TOS= 0  TIS= 0  #-of-TOS obj  0  TOB  1  TIS  0  #-of-matched TOS tracks  0  vertices  0  particles  0  TES Selection= /Event/Strip/Phys/StripBd2JpsiKst
 TOS= 0  TIS= 0  #-of-TOS obj  0  TOB  1  TIS  0  #-of-matched TOS tracks  0  vertices  0  particles  0  TES Selection= /Event/Strip/Phys/StripBd2JpsiKst/Particles
 TOS= 1  TIS= 0  #-of-TOS obj  1  TOB  0  TIS  0  #-of-matched TOS tracks  0  vertices  0  particles  0  TES Selection= /Event/Strip/Phys/StripBd2JpsiKst/Vertices
 TOS= 0  TIS= 1  #-of-TOS obj  0  TOB  0  TIS  1  #-of-matched TOS tracks  0  vertices  0  particles  0  TES Selection= /Event/Strip/Phys/StdLoosePions
 TOS= 0  TIS= 1  #-of-TOS obj  0  TOB  0  TIS  1  #-of-matched TOS tracks  0  vertices  0  particles  0  TES Selection= /Event/Strip/Phys/StdLoosePions/Particles
 TOS= 1  TIS= 0  #-of-TOS obj  1  TOB  0  TIS  0  #-of-matched TOS tracks  0  vertices  0  particles  1  TES Selection= /Event/Strip/Phys/StdLTUnbiasedJpsi2MuMu
 TOS= 1  TIS= 0  #-of-TOS obj  1  TOB  0  TIS  0  #-of-matched TOS tracks  0  vertices  0  particles  1  TES Selection= /Event/Strip/Phys/StdLTUnbiasedJpsi2MuMu/Particles
 TOS= 0  TIS= 1  #-of-TOS obj  0  TOB  0  TIS  1  #-of-matched TOS tracks  0  vertices  0  particles  0  TES Selection= /Event/Strip/Phys/StripStdUnbiasedKst2Kpi
 TOS= 0  TIS= 1  #-of-TOS obj  0  TOB  0  TIS  1  #-of-matched TOS tracks  0  vertices  0  particles  0  TES Selection= /Event/Strip/Phys/StripStdUnbiasedKst2Kpi/Particles
 TOS= 0  TIS= 1  #-of-TOS obj  0  TOB  0  TIS  1  #-of-matched TOS tracks  0  vertices  0  particles  0  TES Selection= /Event/Strip/Phys/StdLooseKstar2Kpi
 TOS= 0  TIS= 1  #-of-TOS obj  0  TOB  0  TIS  1  #-of-matched TOS tracks  0  vertices  0  particles  0  TES Selection= /Event/Strip/Phys/StdLooseKstar2Kpi/Vertices
 TOS= 1  TIS= 0  #-of-TOS obj  1  TOB  0  TIS  0  #-of-matched TOS tracks  0  vertices  0  particles  1  TES Selection= /Event/Phys/StdLooseJpsi2MuMu
 TOS= 1  TIS= 0  #-of-TOS obj  1  TOB  0  TIS  0  #-of-matched TOS tracks  0  vertices  0  particles  1  TES Selection= /Event/Phys/StdLooseJpsi2MuMu/Particles
 TOS= 1  TIS= 0  #-of-TOS obj  1  TOB  0  TIS  0  #-of-matched TOS tracks  0  vertices  0  particles  0  TES Selection= /Event/Phys/StdLooseJpsi2MuMu/Vertices
 TOS= 1  TIS= 0  #-of-TOS obj  2  TOB  0  TIS  0  #-of-matched TOS tracks  0  vertices  0  particles  2  TES Selection= /Event/Phys/StdLooseMuons
 TOS= 1  TIS= 0  #-of-TOS obj  2  TOB  0  TIS  0  #-of-matched TOS tracks  0  vertices  0  particles  2  TES Selection= /Event/Phys/StdLooseMuons/Particles

Example for HADRON stream

The python code is similar to the above. The hadron stream definition is obtained via:

hadron = streams[1].outputLocations()
#       or hardwire:
# hadron = ['Phys/PreselB2Charged2Body', 'Phys/B2DXStrippingSel', 'Phys/B2DXSignalFilter', 'Phys/StrippingBs2PhiPhiLineBs2PhiPhi',
#           'Phys/StrippingBs2PhiPhiWideLineBs2PhiPhi', 'Phys/StripBu2D0K_KSLL', 'Phys/StripBu2D0K_KSDD', 'Phys/StripBu2hhh',
#           'Phys/filterTopoStrippingTF2Body', 'Phys/filterTopoStrippingTF3Body']

The signal was obtained as first paricle found under /Event/Strip:

# loop over 100 events
for i in range(100):
    # process one event
    appMgr.run(1)
    # self-test get signal from stripping itself
    hos=tistostool.hltObjectSummaries('.*')
    if hos.size():
        # make sure this is a particle
        if hos[0].summarizedObjectCLID() == 801:
            # get the particle
            signal = hos[0].summarizedObject()
            # get its location on TES and print some info
            loc = signal.parent().registry().identifier()
            print ' Candidate 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)

In tistossignal macro we added test for decision of Topo Stripping Lines:

     # tistos hadron stream Topo Lines decision
    topolines = tistostool.triggerTisTos('.*Topo.*')
    print ' ### TOPO decision=',topolines.decision(),' tis=',topolines.tis(),' tos=',topolines.tos()
    print ' ### TOPO TOS selections' 
    dvs( tistostool.triggerSelectionNames(tistostool.kTrueRequired,tistostool.kAnything,tistostool.kTrueRequired) )
    print ' ### TOPO TIS selections'
    dvs( tistostool.triggerSelectionNames(tistostool.kTrueRequired,tistostool.kTrueRequired,tistostool.kAnything) )
    print ' ### TOPO TOB selections'
    dvs( tistostool.triggerSelectionNames(tistostool.kTrueRequired,tistostool.kFalseRequired,tistostool.kFalseRequired) )
    print 

Here is a sample output for 2 events:

 Candidate found in <><><><><><>  /Event/Strip/Phys/B2DXStrippingSel/Particles  <><><><><><><><><><><><><><><><><><><><><> 
    Signal Particle  511  Pt  921.784606627  #-of-daughters  2  #-of-finals  4  measured mass  5340.81917218
 Final state particle  211  Pt  293.707164701
 Final state particle  -211  Pt  2534.06104027
 Final state particle  321  Pt  803.633542482
 Final state particle  -211  Pt  672.235867282
 ### HADRON decision= 1  tis= 0  tos= 1
 ### HADRON TOS selections
/Event/Strip/Phys/B2DXStrippingSel /Event/Strip/Phys/B2DXSignalFilter
 ### HADRON TIS selections

 ### HADRON TOB selections


 ### TOPO decision= 0  tis= 0  tos= 0
 ### TOPO TOS selections

 ### TOPO TIS selections

 ### TOPO TOB selections


 ### /Event/Strip/Phys/ decision= 1  tis= 1  tos= 1
 ### /Event/Strip/Phys/ TOS selections
/Event/Strip/Phys/B2DXStrippingSel /Event/Strip/Phys/B2DXStrippingSel/Particles /Event/Strip/Phys/B2DXStrippingSel/Vertices /Event/Strip/Phys/StrippingSelKstar /Event/Strip/Phys/StrippingSelKstar/Particles /Event/Strip/Phys/Str
ippingSelKstar/Vertices /Event/Strip/Phys/StdNoPIDsPions /Event/Strip/Phys/StdNoPIDsPions/Particles /Event/Strip/Phys/StdNoPIDsKaons /Event/Strip/Phys/StdNoPIDsKaons/Particles /Event/Strip/Phys/StdLooseD02PiPi /Event/Strip/Phys
/StdLooseD02PiPi/Particles /Event/Strip/Phys/StdLooseD02PiPi/Vertices /Event/Strip/Phys/StdLooseD02KPiDCS /Event/Strip/Phys/StdLooseD02KPiDCS/Particles /Event/Strip/Phys/StdLooseD02KPiDCS/Vertices /Event/Strip/Phys/StdLooseD02K
Pi /Event/Strip/Phys/StdLooseD02KPi/Particles /Event/Strip/Phys/StdLooseD02KPi/Vertices /Event/Strip/Phys/StrippingSelPhi /Event/Strip/Phys/StrippingSelPhi/Particles /Event/Strip/Phys/StrippingSelPhi/Vertices /Event/Strip/Phys/
B2DXSignalFilter /Event/Strip/Phys/B2DXSignalFilter/Particles
 ### /Event/Strip/Phys/ TIS selections
/Event/Strip/Phys/StdNoPIDsPions /Event/Strip/Phys/StdNoPIDsPions/Particles /Event/Strip/Phys/StdLooseD02PiPi/Vertices /Event/Strip/Phys/StrippingBachelor /Event/Strip/Phys/StrippingBachelor/Particles
 ### /Event/Strip/Phys/ TOB selections
/Event/Strip/Phys/StdLooseDplus2KPiPi /Event/Strip/Phys/StdLooseDplus2KPiPi/Particles /Event/Strip/Phys/StdLooseDplus2KPiPi/Vertices /Event/Strip/Phys/StdLooseDplus2PiPiPi /Event/Strip/Phys/StdLooseDplus2PiPiPi/Particles /Event
/Strip/Phys/StdLooseDplus2PiPiPi/Vertices


TOS= 0  TIS= 1  #-of-TOS obj  0  TOB  0  TIS  1  #-of-matched TOS tracks  0  vertices  0  particles  0  TES Selection= /Event/Rec/Track/Muon
 TOS= 1  TIS= 1  #-of-TOS obj  4  TOB  5  TIS  123  #-of-matched TOS tracks  4  vertices  0  particles  0  TES Selection= /Event/Rec/Track/Best
 TOS= 1  TIS= 0  #-of-TOS obj  16  TOB  10  TIS  0  #-of-matched TOS tracks  0  vertices  0  particles  16  TES Selection= /Event/Strip/Phys/B2DXStrippingSel
 TOS= 1  TIS= 0  #-of-TOS obj  16  TOB  10  TIS  0  #-of-matched TOS tracks  0  vertices  0  particles  16  TES Selection= /Event/Strip/Phys/B2DXStrippingSel/Particles
 TOS= 1  TIS= 0  #-of-TOS obj  16  TOB  10  TIS  0  #-of-matched TOS tracks  0  vertices  0  particles  0  TES Selection= /Event/Strip/Phys/B2DXStrippingSel/Vertices
 TOS= 1  TIS= 0  #-of-TOS obj  2  TOB  0  TIS  0  #-of-matched TOS tracks  0  vertices  0  particles  2  TES Selection= /Event/Strip/Phys/StrippingSelKstar
 TOS= 1  TIS= 0  #-of-TOS obj  2  TOB  0  TIS  0  #-of-matched TOS tracks  0  vertices  0  particles  2  TES Selection= /Event/Strip/Phys/StrippingSelKstar/Particles
 TOS= 1  TIS= 0  #-of-TOS obj  2  TOB  0  TIS  0  #-of-matched TOS tracks  0  vertices  0  particles  0  TES Selection= /Event/Strip/Phys/StrippingSelKstar/Vertices
 TOS= 1  TIS= 1  #-of-TOS obj  4  TOB  1  TIS  2  #-of-matched TOS tracks  0  vertices  0  particles  4  TES Selection= /Event/Strip/Phys/StdNoPIDsPions
 TOS= 1  TIS= 1  #-of-TOS obj  4  TOB  1  TIS  2  #-of-matched TOS tracks  0  vertices  0  particles  4  TES Selection= /Event/Strip/Phys/StdNoPIDsPions/Particles
 TOS= 1  TIS= 0  #-of-TOS obj  3  TOB  1  TIS  0  #-of-matched TOS tracks  0  vertices  0  particles  3  TES Selection= /Event/Strip/Phys/StdNoPIDsKaons
 TOS= 1  TIS= 0  #-of-TOS obj  3  TOB  1  TIS  0  #-of-matched TOS tracks  0  vertices  0  particles  3  TES Selection= /Event/Strip/Phys/StdNoPIDsKaons/Particles
 TOS= 1  TIS= 0  #-of-TOS obj  2  TOB  2  TIS  0  #-of-matched TOS tracks  0  vertices  0  particles  2  TES Selection= /Event/Strip/Phys/StdLooseD02PiPi
 TOS= 1  TIS= 0  #-of-TOS obj  2  TOB  2  TIS  0  #-of-matched TOS tracks  0  vertices  0  particles  2  TES Selection= /Event/Strip/Phys/StdLooseD02PiPi/Particles
 TOS= 1  TIS= 1  #-of-TOS obj  3  TOB  0  TIS  1  #-of-matched TOS tracks  0  vertices  0  particles  0  TES Selection= /Event/Strip/Phys/StdLooseD02PiPi/Vertices
 TOS= 1  TIS= 0  #-of-TOS obj  1  TOB  1  TIS  0  #-of-matched TOS tracks  0  vertices  0  particles  1  TES Selection= /Event/Strip/Phys/StdLooseD02KPiDCS
 TOS= 1  TIS= 0  #-of-TOS obj  1  TOB  1  TIS  0  #-of-matched TOS tracks  0  vertices  0  particles  1  TES Selection= /Event/Strip/Phys/StdLooseD02KPiDCS/Particles
 TOS= 1  TIS= 0  #-of-TOS obj  2  TOB  0  TIS  0  #-of-matched TOS tracks  0  vertices  0  particles  0  TES Selection= /Event/Strip/Phys/StdLooseD02KPiDCS/Vertices
 TOS= 1  TIS= 0  #-of-TOS obj  1  TOB  1  TIS  0  #-of-matched TOS tracks  0  vertices  0  particles  1  TES Selection= /Event/Strip/Phys/StdLooseD02KPi
 TOS= 1  TIS= 0  #-of-TOS obj  1  TOB  1  TIS  0  #-of-matched TOS tracks  0  vertices  0  particles  1  TES Selection= /Event/Strip/Phys/StdLooseD02KPi/Particles
 TOS= 1  TIS= 0  #-of-TOS obj  2  TOB  0  TIS  0  #-of-matched TOS tracks  0  vertices  0  particles  0  TES Selection= /Event/Strip/Phys/StdLooseD02KPi/Vertices
 TOS= 1  TIS= 0  #-of-TOS obj  1  TOB  0  TIS  0  #-of-matched TOS tracks  0  vertices  0  particles  1  TES Selection= /Event/Strip/Phys/StrippingSelPhi
 TOS= 1  TIS= 0  #-of-TOS obj  1  TOB  0  TIS  0  #-of-matched TOS tracks  0  vertices  0  particles  1  TES Selection= /Event/Strip/Phys/StrippingSelPhi/Particles
 TOS= 1  TIS= 0  #-of-TOS obj  1  TOB  0  TIS  0  #-of-matched TOS tracks  0  vertices  0  particles  0  TES Selection= /Event/Strip/Phys/StrippingSelPhi/Vertices
 TOS= 0  TIS= 1  #-of-TOS obj  0  TOB  0  TIS  1  #-of-matched TOS tracks  0  vertices  0  particles  0  TES Selection= /Event/Strip/Phys/StrippingBachelor
 TOS= 0  TIS= 1  #-of-TOS obj  0  TOB  0  TIS  1  #-of-matched TOS tracks  0  vertices  0  particles  0  TES Selection= /Event/Strip/Phys/StrippingBachelor/Particles
 TOS= 0  TIS= 0  #-of-TOS obj  0  TOB  1  TIS  0  #-of-matched TOS tracks  0  vertices  0  particles  0  TES Selection= /Event/Strip/Phys/StdLooseDplus2KPiPi
 TOS= 0  TIS= 0  #-of-TOS obj  0  TOB  1  TIS  0  #-of-matched TOS tracks  0  vertices  0  particles  0  TES Selection= /Event/Strip/Phys/StdLooseDplus2KPiPi/Particles
 TOS= 0  TIS= 0  #-of-TOS obj  0  TOB  1  TIS  0  #-of-matched TOS tracks  0  vertices  0  particles  0  TES Selection= /Event/Strip/Phys/StdLooseDplus2KPiPi/Vertices
TOS= 0  TIS= 1  #-of-TOS obj  0  TOB  0  TIS  1  #-of-matched TOS tracks  0  vertices  0  particles  0  TES Selection= /Event/Strip/Phys/StrippingBachelor
 TOS= 0  TIS= 1  #-of-TOS obj  0  TOB  0  TIS  1  #-of-matched TOS tracks  0  vertices  0  particles  0  TES Selection= /Event/Strip/Phys/StrippingBachelor/Particles
 TOS= 0  TIS= 0  #-of-TOS obj  0  TOB  1  TIS  0  #-of-matched TOS tracks  0  vertices  0  particles  0  TES Selection= /Event/Strip/Phys/StdLooseDplus2KPiPi
 TOS= 0  TIS= 0  #-of-TOS obj  0  TOB  1  TIS  0  #-of-matched TOS tracks  0  vertices  0  particles  0  TES Selection= /Event/Strip/Phys/StdLooseDplus2KPiPi/Particles
 TOS= 0  TIS= 0  #-of-TOS obj  0  TOB  1  TIS  0  #-of-matched TOS tracks  0  vertices  0  particles  0  TES Selection= /Event/Strip/Phys/StdLooseDplus2KPiPi/Vertices
 TOS= 0  TIS= 0  #-of-TOS obj  0  TOB  1  TIS  0  #-of-matched TOS tracks  0  vertices  0  particles  0  TES Selection= /Event/Strip/Phys/StdLooseDplus2PiPiPi
 TOS= 0  TIS= 0  #-of-TOS obj  0  TOB  1  TIS  0  #-of-matched TOS tracks  0  vertices  0  particles  0  TES Selection= /Event/Strip/Phys/StdLooseDplus2PiPiPi/Particles
 TOS= 0  TIS= 0  #-of-TOS obj  0  TOB  1  TIS  0  #-of-matched TOS tracks  0  vertices  0  particles  0  TES Selection= /Event/Strip/Phys/StdLooseDplus2PiPiPi/Vertices
 TOS= 1  TIS= 0  #-of-TOS obj  2  TOB  0  TIS  0  #-of-matched TOS tracks  0  vertices  0  particles  2  TES Selection= /Event/Strip/Phys/B2DXSignalFilter
 TOS= 1  TIS= 0  #-of-TOS obj  2  TOB  0  TIS  0  #-of-matched TOS tracks  0  vertices  0  particles  2  TES Selection= /Event/Strip/Phys/B2DXSignalFilter/Particles
 Candidate found in <><><><><><>  /Event/Strip/Phys/filterTopoStrippingTF3Body/Particles  <><><><><><><><><><><><><><><><><><><><><> 
    Signal Particle  413  Pt  3102.915244  #-of-daughters  2  #-of-finals  3  measured mass  4708.88882893
 Final state particle  211  Pt  749.018950606
 Final state particle  211  Pt  2933.37932048
 Final state particle  -211  Pt  819.110735452
 ### HADRON decision= 1  tis= 0  tos= 1
 ### HADRON TOS selections
/Event/Strip/Phys/filterTopoStrippingTF3Body
 ### HADRON TIS selections

 ### HADRON TOB selections


 ### TOPO decision= 1  tis= 1  tos= 1
 ### TOPO TOS selections
/Event/Strip/Phys/filterTopoStrippingTF3Body /Event/Strip/Phys/filterTopoStrippingTF3Body/Particles /Event/Strip/Phys/TopoStrippingTF3Body /Event/Strip/Phys/TopoStrippingTF3Body/Vertices /Event/Strip/Phys/TopoStrippingTF2Body /
Event/Strip/Phys/TopoStrippingTF2Body/Particles /Event/Strip/Phys/TopoStrippingTF2Body/Vertices
 ### TOPO TIS selections
/Event/Strip/Phys/TopoStrippingTF3Body /Event/Strip/Phys/TopoStrippingTF3Body/Vertices
 ### TOPO TOB selections


 ### /Event/Strip/Phys/ decision= 1  tis= 1  tos= 1
 ### /Event/Strip/Phys/ TOS selections
/Event/Strip/Phys/filterTopoStrippingTF3Body /Event/Strip/Phys/filterTopoStrippingTF3Body/Particles /Event/Strip/Phys/TopoStrippingTF3Body /Event/Strip/Phys/TopoStrippingTF3Body/Vertices /Event/Strip/Phys/TopoStrippingTF2Body /
Event/Strip/Phys/TopoStrippingTF2Body/Particles /Event/Strip/Phys/TopoStrippingTF2Body/Vertices /Event/Strip/Phys/StdNoPIDsPions /Event/Strip/Phys/StdNoPIDsPions/Particles /Event/Strip/Phys/StdNoPIDsKaons /Event/Strip/Phys/StdN
oPIDsKaons/Particles
 ### /Event/Strip/Phys/ TIS selections
/Event/Strip/Phys/TopoStrippingTF3Body /Event/Strip/Phys/TopoStrippingTF3Body/Vertices /Event/Strip/Phys/StdNoPIDsPions /Event/Strip/Phys/StdNoPIDsPions/Particles /Event/Strip/Phys/StdNoPIDsKaons /Event/Strip/Phys/StdNoPIDsKaon
s/Particles
 
 TOS= 1  TIS= 1  #-of-TOS obj  3  TOB  7  TIS  117  #-of-matched TOS tracks  3  vertices  0  particles  0  TES Selection= /Event/Rec/Track/Best
 TOS= 1  TIS= 0  #-of-TOS obj  4  TOB  12  TIS  0  #-of-matched TOS tracks  0  vertices  0  particles  4  TES Selection= /Event/Strip/Phys/filterTopoStrippingTF3Body
 TOS= 1  TIS= 0  #-of-TOS obj  4  TOB  12  TIS  0  #-of-matched TOS tracks  0  vertices  0  particles  4  TES Selection= /Event/Strip/Phys/filterTopoStrippingTF3Body/Particles
 TOS= 1  TIS= 1  #-of-TOS obj  4  TOB  8  TIS  4  #-of-matched TOS tracks  0  vertices  0  particles  0  TES Selection= /Event/Strip/Phys/TopoStrippingTF3Body
 TOS= 1  TIS= 1  #-of-TOS obj  4  TOB  8  TIS  4  #-of-matched TOS tracks  0  vertices  0  particles  0  TES Selection= /Event/Strip/Phys/TopoStrippingTF3Body/Vertices
 TOS= 1  TIS= 0  #-of-TOS obj  4  TOB  12  TIS  0  #-of-matched TOS tracks  0  vertices  0  particles  4  TES Selection= /Event/Strip/Phys/filterTopoStrippingTF3Body
 TOS= 1  TIS= 0  #-of-TOS obj  4  TOB  12  TIS  0  #-of-matched TOS tracks  0  vertices  0  particles  4  TES Selection= /Event/Strip/Phys/filterTopoStrippingTF3Body/Particles
 TOS= 1  TIS= 1  #-of-TOS obj  4  TOB  8  TIS  4  #-of-matched TOS tracks  0  vertices  0  particles  0  TES Selection= /Event/Strip/Phys/TopoStrippingTF3Body
 TOS= 1  TIS= 1  #-of-TOS obj  4  TOB  8  TIS  4  #-of-matched TOS tracks  0  vertices  0  particles  0  TES Selection= /Event/Strip/Phys/TopoStrippingTF3Body/Vertices
 TOS= 1  TIS= 0  #-of-TOS obj  4  TOB  4  TIS  0  #-of-matched TOS tracks  0  vertices  0  particles  4  TES Selection= /Event/Strip/Phys/TopoStrippingTF2Body
 TOS= 1  TIS= 0  #-of-TOS obj  4  TOB  4  TIS  0  #-of-matched TOS tracks  0  vertices  0  particles  4  TES Selection= /Event/Strip/Phys/TopoStrippingTF2Body/Particles
 TOS= 1  TIS= 0  #-of-TOS obj  8  TOB  0  TIS  0  #-of-matched TOS tracks  0  vertices  0  particles  0  TES Selection= /Event/Strip/Phys/TopoStrippingTF2Body/Vertices
 TOS= 1  TIS= 1  #-of-TOS obj  3  TOB  1  TIS  1  #-of-matched TOS tracks  0  vertices  0  particles  3  TES Selection= /Event/Strip/Phys/StdNoPIDsPions
 TOS= 1  TIS= 1  #-of-TOS obj  3  TOB  1  TIS  1  #-of-matched TOS tracks  0  vertices  0  particles  3  TES Selection= /Event/Strip/Phys/StdNoPIDsPions/Particles
 TOS= 1  TIS= 1  #-of-TOS obj  2  TOB  0  TIS  1  #-of-matched TOS tracks  0  vertices  0  particles  2  TES Selection= /Event/Strip/Phys/StdNoPIDsKaons
 TOS= 1  TIS= 1  #-of-TOS obj  2  TOB  0  TIS  1  #-of-matched TOS tracks  0  vertices  0  particles  2  TES Selection= /Event/Strip/Phys/StdNoPIDsKaons/Particles
</vebatim>

-- Main.TomaszSkwarnicki - 14-Dec-2009 (last update 11-Nov-2010).
Edit | Attach | Watch | Print version | History: r3 < r2 < r1 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r3 - 2010-11-11 - 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.
or Ideas, requests, problems regarding TWiki? use Discourse or Send feedback