예제 #1
0
def add_mc_tools(dtt):
    '''Add MC tools to a DecayTreeTuple.'''

    ttmcmatch = LoKi__Hybrid__TupleTool(dtt.name() + '_ttmcmatch')
    ttmcmatch.Preambulo = [
        'from LoKiPhysMC.decorators import *',
        'from LoKiPhysMC.functions import mcMatch'
    ]
    for minus, plus in ('pi', 'pi'), ('K', 'K'), ('K', 'pi'):
        ttmcmatch.Variables['MCMatch_' + minus + plus] = \
            'switch(mcMatch("[ D*(2010)+ ==> ( D0 ==> {minus}-  {plus}+  pi0 )  pi+ ]CC"), 1, 0)'.format(minus = minus, plus = plus)
    ttmctruth = TupleToolMCTruth(dtt.name() + '_ttmctruth')
    ttmctruth.addTupleTool(MCTupleToolPrompt(dtt.name() + '_ttmcprompt'))
    dtt.Dst.addTupleTool(ttmcmatch)
    dtt.addTupleTool(ttmctruth)
    dtt.ToolList.append('TupleToolMCBackgroundInfo')
    dtt.D0.addTupleTool('TupleToolMCPVAssociation')
    dtt.ToolList.append('TupleToolPV2MC')
예제 #2
0
                'daughtersToConstrain': ['pi0']
            },
            'DTF_vtx_D0Mass': {
                'constrainToOriginVertex': True,
                'daughtersToConstrain': ['pi0', 'D0']
            }
    }.items():
        ttdtf = TupleToolDecayTreeFitter(name, **attrs)
        ttdtf.Verbose = True
        dtt.lab0.addTupleTool(ttdtf)

if DaVinci().getProp('Simulation'):
    from Configurables import TupleToolMCTruth, MCTupleToolPrompt
    ttmcmatch = LoKi__Hybrid__TupleTool('ttmcmatch')
    ttmcmatch.Preambulo = [
        'from LoKiPhysMC.decorators import *',
        'from LoKiPhysMC.functions import mcMatch'
    ]
    for minus, plus in ('pi', 'pi'), ('K', 'K'), ('K', 'pi'):
        ttmcmatch.Variables['MCMatch_' + minus + plus] = \
            'switch(mcMatch("[ D*(2010)+ ==> ( D0 ==> {minus}-  {plus}+  pi0 )  pi+ ]CC"), 1, 0)'.format(minus = minus, plus = plus)
    ttmctruth = TupleToolMCTruth('ttmctruth')
    ttmctruth.addTupleTool(MCTupleToolPrompt('ttmcprompt'))
    for dtt in tuples:
        dtt.lab0.addTupleTool(ttmcmatch)
        dtt.addTupleTool(ttmctruth)

else:
    DaVinci().Lumi = True

DaVinci().TupleFile = 'DaVinciTuples.root'
예제 #3
0
    "LT_FITCHI2": "BPVLTFITCHI2()",
    "LT": "BPVLTIME()",
    "LT_CHI2": "BPVLTCHI2()"
}

LoKi_Iso = LoKi__Hybrid__TupleTool('LoKi_Iso')
LoKi_Iso.Variables = {
    "LOKI_CONE1ANGLE": "INFO(9000, 0.)",
    "LOKI_CONE1MULT": "INFO(9000+1, 0.)",
    "LOKI_CONE1PASY": "INFO(9000+10, 0.)",
    "LOKI_CONE1PTASY": "INFO(9000+11, 0.)",
}

LoKi_constrain = LoKi__Hybrid__TupleTool("LoKi_constrain")
LoKi_constrain.Preambulo += ['from LoKiTracks.decorators import *']
LoKi_constrain.Preambulo = []

LoKi_constrain.Variables = {
    'D0_B_CM_MM':
    "DTF_FUN(MM, True,strings(['D0']))",
    'D0_B_CM_M':
    "DTF_FUN(M, True,strings(['D0']))",
    'D0_B_CM_PX':
    "DTF_FUN(PX, True,strings(['D0']))",
    'D0_B_CM_PY':
    "DTF_FUN(PY, True,strings(['D0']))",
    'D0_B_CM_PZ':
    "DTF_FUN(PZ, True,strings(['D0']))",
    'D0_B_CM_E':
    "DTF_FUN(E, True,strings(['D0']))",
    'D0_B_CM_MINIPCHI2':