Printing Decay Trees
This example shows how to print the decay tree of a candidate.
from PyConf.application import configure, configure_input
from PyConf.application import make_odin
from PyConf.control_flow import CompositeNode, NodeLogic
from PyConf.Algorithms import PrintDecayTree, PrintHeader
from DaVinci import Options
from DaVinci.common_particles import make_std_loose_jpsi2mumu
def print_decay_tree(options: Options):
config = configure_input(options)
jpsis = make_std_loose_jpsi2mumu()
pdt = PrintDecayTree(name="PrintJpsis", Input=jpsis)
node = CompositeNode(
"PrintJpsiNode", children=[jpsis, pdt], combine_logic=NodeLogic.NONLAZY_AND
)
config.update(configure(options, node))
return config
def print_header(options: Options):
config = configure_input(options)
ph = PrintHeader(name="PrintHeader", ODINLocation=make_odin())
node = CompositeNode("PHNode", children=[ph])
config.update(configure(options, node))
return config
To run the example:
lbexec DaVinciExamples.debugging:print_decay_tree "$DAVINCIEXAMPLESROOT/example_data/Upgrade_Bd2KstarMuMu_ldst.yaml"
For reference, these are the options of this example
input_files: root://eoslhcb.cern.ch//eos/lhcb/grid/prod/lhcb/MC/Upgrade/LDST/00076720/0000/00076720_000000{01,02,04,27,36,37,38,39,43,51,57,68}_1.ldst
input_type: ROOT
simulation: true
conddb_tag: sim-20171127-vc-md100
dddb_tag: dddb-20171126
conditions_version: master
geometry_version: run3/trunk
input_process: Brunel
persistreco_version: 0.0
lumi: False
write_fsr: False