def makeB2X(name,
            decay,
            inputs,
            config,
            useIP=True,
            resVert=False,
            usePi0=False):
    '''Makes all B -> X selections.'''
    from copy import deepcopy
    comboCuts = LoKiCuts(['SUMPT', 'AM'], config).code()
    flightCuts = ['BPVLTIME']
    if useIP:
        flightCuts += ['BPVIPCHI2', 'BPVDIRA']

    momCuts = [
        LoKiCuts(['VCHI2DOF'], config).code(),
        #has1TrackChild(),
        has1TrackChild(),
        hasTopoChildren(),
        LoKiCuts(flightCuts, config).code()
    ]
    momCuts = LoKiCuts.combine(momCuts)
    b2x = CombineParticles(DecayDescriptors=decay,
                           CombinationCut=comboCuts,
                           MotherCut=momCuts)
    if usePi0:
        #b2x = b2x.configurable(name+'Beauty2XGammaCombiner')
        #b2x.ParticleCombiners.update({'':'MomentumCombiner'})
        b2x.ParticleCombiners = {'': 'LoKi::VertexFitter'}
    if resVert:
        b2x = b2x.configurable(name + 'Beauty2XGammaVertexFitter')
        b2x.addTool(OfflineVertexFitter)
        b2x.ParticleCombiners.update({"": "OfflineVertexFitter"})
        b2x.OfflineVertexFitter.useResonanceVertex = False
    return Selection(name, Algorithm=b2x, RequiredSelections=inputs)
Exemplo n.º 2
0
 def _4jets( self, name, ptcut ):
     HighPT4Jets = CombineParticles()
     HighPT4Jets.ParticleCombiners = { "" : "LoKi::VertexFitter" }
     HighPT4Jets.IgnoreP2PVFromInputLocations = True
     HighPT4Jets.DecayDescriptor = "H_10 -> CELLjet CELLjet CELLjet CELLjet"
     HighPT4Jets.DaughtersCuts = { "CELLjet" : "PT > "+ptcut+"*MeV" }
     HighPT4Jets.CombinationCut = "(ADOCACHI2CUT(50, ''))"
     HighPT4Jets.MotherCut = "VFASPF(VCHI2PDOF) < 20"
     return HighPT4Jets
Exemplo n.º 3
0
 def _makeX2HHH(self,name,decays,amass,config,inputs,pi0=False):
     ''' Makes all X -> HHH selections involving neutrals.'''
     comboCuts = [LoKiCuts(['ASUMPT'],config).code(),amass,hasTopoChild()]
     comboCuts = LoKiCuts.combine(comboCuts)
     momCuts = LoKiCuts(['VCHI2DOF','BPVVDCHI2'],config).code()
     cp = CombineParticles(CombinationCut=comboCuts,MotherCut=momCuts,DecayDescriptors=decays)
     if pi0:
         cp = cp.configurable(name+'Beauty2XGammaCombiner')
         cp.ParticleCombiners = { '' : 'LoKi::VertexFitter' }
     return Selection(name+'Beauty2XGamma',Algorithm=cp,RequiredSelections=inputs)
Exemplo n.º 4
0
def makeLambda2X(name, decay, inputs, config):
    '''Makes all Lambda -> X selections.'''
    from copy import deepcopy
    comboCuts = LoKiCuts(['SUMPT', 'AM'], config).code()
    #flightCuts = ['BPVLTIME']
    #if useIP:
    #    flightCuts += ['BPVIPCHI2','BPVDIRA']
    #momCuts = [LoKiCuts(['VCHI2DOF'],config).code(),
    momCuts = [has1TrackChild()]
    momCuts = LoKiCuts.combine(momCuts)
    b2x = CombineParticles(DecayDescriptors=decay,
                           CombinationCut=comboCuts,
                           MotherCut=momCuts)
    b2x.ParticleCombiners = {'': 'LoKi::VertexFitter'}
    return Selection(name, Algorithm=b2x, RequiredSelections=inputs)