What is an Hlt2SharedParticle?

Hlt2SharedParticles are intermediate states which should be made once for all Hlt2 lines. Examples would be a K* or φ which could be reused between several different lines. Because of this, Hlt2SharedParticles are not Hlt2Lines. They are made after the Hlt1 lines, and after the Hlt2 reconstruction, but before any Hlt2Lines are processed.

Including Hlt2SharedParticles in a line

See Hlt2Lines for a full example but, since an Hlt2SharedParticle is just a configurable, it is enough to do

Example in Python

from Gaudi.Configuration import * 
from Hlt2SharedParticles.GoodParticles import GoodPions, GoodKaons
from Configurables import CombineParticles, GaudiSequencer, PhysDesktop
from HltConf.HltLine import bindMembers

__all__ = ( 'D02KPi')
##########################################################################################
# D0 -> K Pi
#
Hlt2SharedD02KPi = CombineParticles("Hlt2SharedD02KPi")
Hlt2SharedD02KPi.DecayDescriptor = "[D0 -> K- pi+]cc"
Hlt2SharedD02KPi.DaughtersCuts = { "K+" : "ALL",
                                  "pi+" : "ALL"}
Hlt2SharedD02KPi.CombinationCut = "(ADAMASS('D0')<50*MeV) & (APT>1*GeV)"
Hlt2SharedD02KPi.MotherCut = "(VFASPF(VCHI2/VDOF)<25)"
Hlt2SharedD02KPi.addTool(PhysDesktop)
Hlt2SharedD02KPi.PhysDesktop.InputLocations = [ "Hlt2GoodKaons", "Hlt2GoodPions" ]

D02KPi = bindMembers( None, [ GoodKaons, GoodPions, Hlt2SharedD02KPi ] )

Notes on the example

  • In the code above,
    __all__
    is where you declare all of the shared states in that particular MySharedParticle.py file. If you look at the actual $HLT2SHAREDPARTICLES/python/Hlt2SharedParticles/D0.py file you will see several other final states for the D0 to decay into being declared, but the list was shortened for this example. Separate the shared states with commas:
    __all__ = ('Decay1','Decay2',...)
  • Since Hlt2SharedParticles are not Hlt2Lines, do not declare any Hlt2Members/Hlt2Lines here. Just CombineParticles/FilterDesktop instances.
  • Finally use bindMembers to create a concrete instance of your shared particle for use in an Hlt2Line. Make sure you include everything it depends on; in this case, the D02KPi shared particle depends on the GoodPions and GoodKaons (also shared particles) so you must say
     D02KPi = bindMembers( None, [ GoodKaons, GoodPions, Hlt2SharedD02KPi ] ) 

-- VladimirVavaGligorov - 12 Apr 2009

Edit | Attach | Watch | Print version | History: r4 < r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r1 - 2009-04-13 - VladimirVavaGligorov
 
    • 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-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback