Skip to content

Latest commit

 

History

History
47 lines (33 loc) · 3.79 KB

File metadata and controls

47 lines (33 loc) · 3.79 KB

Search for the decay Bc to tau nu

Contact

Clement Helsens [email protected]
Donal Hill [email protected]

Pre-print submitted May 28, 2021

Talks

Bibliography

Analysis code summary

The following scripts are used to run the variois steps of the offline analysis:

  • user_config.py: paths and common variables.
  • decay_mode_xs.py: definitions of the branching ratios and cross-sections for the exclusive B-hadron modes considered as background.
  • process_sig_bkg_samples_for_xgb.py: awkward array conversion of ROOT files to pandas data frames used in stage 1 xgboost training. Output stored in pickle files.
  • train_xgb.py: train first stage BDT.
  • train_xgb_stage2.py: train second stage BDT.
  • fit_MVA_dists.py: fit the two MVA distributions above 0.95 in a summed sample of exclusive background. This is used to create cubic splines for accurate cut efficiency determination in the optimisation.
  • estimate_purity.py: run the 2D cut optimisation procedure to determine best purity for a given set of cuts, and the signal and background yield at those cuts. Persists output to dictionary in JSON.
  • make_selected_samples_for_templates.py: create files for signal and background passing tight BDT cuts, which are then used to make templates for the fit. Files are written as pandas dataframes in pickle.
  • template_fit.py: run toy fits to measure the signal yield for a given number of Z’s. Can run with one toy to plot, or with many for toy studies of signal yield precision and bias.
  • analyse_toys.py: gather toy fit results and look at the distribution of fitted signal yields. Use this to determine the overall signal yield uncertainty expected.
  • calc_BFs.py: calculate branching ratios and their precisions for different number of Z's. Plot the trends in signal yield, branching fraction ratio, and branching fraction vs. number of Z's.

A few scripts are also used to generate plots and tables for the paper:

  • plot_xgb.py: plot the BDT distributions from first stage training and the efficiency profiles
  • plot_xgb_stage2.py: plot the BDT distributions from second stage training and the efficiency profiles
  • exclusive_bkg_summary_table.py: summarise the exclusive background statistics and efficiencies for the paper in a table.
  • plot_max_hem_E.py: plot charged vs neutral maximum hemisphere energies in signal and background, which are shown in paper.
  • make_signal_yield_table.py: make a table for the paper showing signal yields and uncertainties for different number of Z's.
  • make_yield_BF_summary_tables.py: make summary tables of yield and branching fraction precision as a function of number of Z's.