Skip to content

Herren/MCAmbulance

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 

Repository files navigation

MCAmbulance

MCAmbulance is a small python package to correct Monte-Carlo samples of $B \rightarrow D_0^\ast \ell \nu$ and $B \rightarrow D_1^\prime \ell \nu$ decays produced by the basf2 version of EvtGen for missing phase-space factors.

MCAmbulance relies on

  • numpy
  • scipy

The missing phase-space factors and the reweighting strategy are described in detail in the preprint arXiv:2602.18378. MCAmbulance uses masses and widths based on the default values in basf2, taken from evt.pdl.

The following decays are supported:

In addition, we provide ISGW2 implementations of

  • $B \rightarrow D_0^\ast(\rightarrow D \pi) \ell \nu$
  • $B \rightarrow D_1^\prime(\rightarrow D^\ast \pi) \ell \nu$

Note that decays simulated with the PHSP model are not affected, and so we do not provide code to reweight them.

Installation

  1. Clone this repository into a local directory.
   git clone <repo-url>
  1. Add the repository root (the directory that contains the mcambulance/ folder) to your PYTHONPATH:
   export PYTHONPATH="/path/to/MCAmbulance:${PYTHONPATH}"

Alternative (script/notebook only)

If you don't want to set environment variables, you can add the repo to sys.path at runtime:

import sys
sys.path.insert(0, "/path/to/MCAmbulance")  # repo root containing `mcambulance/`
import mcambulance

Usage

Correcting $B^\pm \rightarrow D_0^\ast(\rightarrow D \pi) \mu \nu_\mu$ samples is achieved through:

from mcambulance import MCAmbulance

d0_d_pi_fix = MCAmbulance('bp', 'd0_d_pi', 'mu')

weights = d0_d_pi_fix.CorrectionWeight(dpi_invM)

Here, dpi_invM is a numpy array containing the truth-level $D\pi$ invariant mass for each affected event. The numpy array weights now contains the correction weights for each event.

The constructor of MCAmbulance takes three arguments:

  • bmeson: bp or b0 for charged or neutral $B$ mesons, respectively
  • channel: d0_d_pi, d0_d_eta, d0_d_pipi, d0_dstar_pipi, d1p_dstar_pi, ...
  • lepton: e, mu or tau

To select the ISGW2 implementations, channel is either d0_d_pi_isgw2 or d1p_dstar_pi_isgw2.

In addition, we support the BCL model for $B^+\rightarrow\rho^0\mu^+\nu_\mu$ decays. This EvtGen model has an additional problem, a division by zero in a basis change, which we reproduce as closely as feasible.

References

If you use MCAmbulance, you should cite the following references:

Authors

Contributors

  • Ilias Tsaklidis

About

MCAmbulance is a python package to correct Monte-Carlo samples of B -> D_0* l nu and B -> D_1' l nu decays produced by the basf2 version of EvtGen for missing phase-space factors.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages