13import modularAnalysis
as ma
16path = b2.create_path()
19ma.inputMdst(filename=b2.find_file(
'mdst16.root',
'validation',
False),
23b2.conditions.prepend_globaltag(ma.getAnalysisGlobaltag())
27particles = fei.get_default_channels()
30configuration = fei.config.FeiConfiguration(prefix=
'FEIv4_2021_MC14_release_05_01_12', training=
False, monitor=
False, cache=0)
33feistate = fei.get_path(particles, configuration)
36path.add_path(feistate.path)
39path.add_module(
'MCMatcherParticles', listName=
'B+:generic', looseMCMatching=
True)
40path.add_module(
'MCMatcherParticles', listName=
'B+:semileptonic', looseMCMatching=
True)
41path.add_module(
'MCMatcherParticles', listName=
'B0:generic', looseMCMatching=
True)
42path.add_module(
'MCMatcherParticles', listName=
'B0:semileptonic', looseMCMatching=
True)
44commonVariables = [
'mcErrors',
'extraInfo(decayModeID)',
'extraInfo(uniqueSignal)',
'extraInfo(SignalProbability)']
45genericVariables = [
'Mbc',
'deltaE',
'isSignal'] + commonVariables
46semiLeptonicVariables = [
'cosThetaBetweenParticleAndNominalB',
'isSignalAcceptMissingNeutrino'] + commonVariables
49ma.variablesToNtuple(
'B+:generic',
52 filename=
'B_charged_hadronic.root',
54ma.variablesToNtuple(
'B+:semileptonic',
55 semiLeptonicVariables,
57 filename=
'B_charged_semileptonic.root',
60ma.variablesToNtuple(
'B0:generic',
63 filename=
'B_mixed_hadronic.root',
65ma.variablesToNtuple(
'B0:semileptonic',
66 semiLeptonicVariables,
68 filename=
'B_mixed_semileptonic.root',
72b2.process(path, max_event=100)