Skip to content

Fix bug in rotation to helicity basis for tensor particles

We have had various reports of bugs in decays involving tensor particles, in particular:

  • A mysterious comment in the (now removed) KSTARSTARGAMMA model (intended to model B \to K_2^* \gamma decays) that there is something broken in EvtEvalHelAmp
  • A very detailed investigation by Sayan Mitra and other proponents from Belle 2, documented here, showing strange helicity angle distributions for B \to K_2^* \gamma decays when using the HELAMP and PARTWAVE models, which both use EvtEvalHelAmp

This MR:

  • Introduces some tests to reproduce the problems seen in the Belle 2 investigation
  • Fixes the underlying problem, which was in the EvtTensorParticle::rotateToHelicityBasis function

This branch is based on the thread_safety branch because the changes to the testing framework introduced there made it easier to run the specific tests needed to reproduce the behaviour seen by the Belle 2 investigation. The fix, however, can be easily cherry-picked to other branches as needed. Please review only the two commits "Add tests to reproduce reported bug" and "Fix problem with tensor particle rotation to helicity basis".

The bug was that the eplus, ezero, and eminus vectors were declared as static locals but were then modified during the function. On subsequent calls, their values were not reset and so the new rotations were applied on top of those from the previous calls. Removing the static modifier fixes the issue.

cosHel_1

Here you can see the distributions of the K_2^{*0} helicity angle generated by the newly added test:

  • The red distribution is what you get before the fix when generating a single sample of 10k events.
  • The green distribution is what you get before the fix when generating 10k samples of 1 event each with different random seeds set for each sample (this is done using this script).
  • The blue distribution is what you get with the fix when generating a single sample of 10k events.
Edited by Thomas Latham

Merge request reports

Loading