New Features
Hi,
Back in 2022, I implemented some features privately, but never got around to merging them back to this source repo. The primary intention was to study B decay modeling (at Belle II), but not limited. I propose that in the coming weeks I will add the following features:
- Convert topoana output to dec-format file. (This is important for B decays because ~40% of the decays are generated by Pythia and they can only be studied by generating some events and then looking at generator-level information like with topoana).
- Add a function
build_decay_chains_to_specific_particlesthat will build the decay chains to a given list of particles through all intermediate particles. - Add a function
build_decay_chains_to_inclusive_particlesthat will build the decay chains that includes as daughters all the particles (through all intermediate particles) from a given list. - Add a class
DecayChainToTableto tabulate the decay chains and to export to plain-text, csv, latex, typst formats.... - Add a feature in DecayChainViewer to show "effective" BF (which is the product of all the BFs along the way from mother to "final state" particles)
Please let me know which of these are useful/welcome features in this repo and I will start individual PRs for each. If any of them are irrelevant here, I will add them directly in the basf2 repo. Tagging @GiacomoXT
Once these are handled, a longer term goal could be to build better comparisons with PDG, which will be very tricky.
Hello @vvsagar and many thanks for opening this issue. Sounds great!
I can only reply shortly for now as I'm away:
- DecayLanguage could incorporate experiment-specific things (your point 1) if handy for users. I would have to see what it is ... For sure we have for example an LHCb-specific module
lhcbin Particle, and could do similarly here. - We already have a
build_decay_chainsfunction and it's been on my to-do list for a looonnng time to expand it, notable for the sort of things you suggest. So looking forward to seeing a design - do not hesitate to create a PR with some basic design to trigger discussion. - Ages ago Martin Ritter created https://github.com/daritter/evtpdl_diff. I'm unsure whether that's used but it may relate somewhat to your point 4? Worth checking, maybe, as diffs between versions is a useful matter.
Happy also to receive suggestions and review/... from @giacomoxt.
Thanks for the reply @eduardo-rodrigues.
- The first feature (converting from topoana output) is not experiment-specific, but rather a mother particle specific. B decays contain pythia and they need to be studied through topoana in Belle II, BESIII, LHCb, or even in evtgen's default decay table. So for now I will start with a PR for this.
- Indeed, all my implementations are based on
build_decay_chainsfunction and I look forward to porting what I implemented so far and even extending it beyond. - Maybe I did not explain my point 4 well, it is not related to evtpdl, but just to create a tabular representation of the output of
build_decay_chainsand other extended functions, maybe it will be clear when I start a PR for this eventually. But thanks for pointing to Martin Ritter's repo as well.
I've started by updating the Belle II DEC file in this pull request.
Before moving to the next steps, I'd like your feedback on adding examples in marimo format to the repository, potentially also replacing some of the existing Jupyter notebooks in future. Marimo saves notebooks as standard Python files, which can simplify version control, and supports exporting to WebAssembly, allowing anyone to interact with the notebooks directly from GitHub.
If it complicates the workflow or isn't a preferred approach, I'm happy to stick with Jupyter notebooks.
I've been playing with marimo a bit, personally would be curious to see it used.
Hi. For now I have seen nobody presenting or sharing Marimo notebooks. It's still rather niche. Happy also that you prepare examples, but please let's keep the present notebooks and keep updating them.