Angular analysis of B+->K*+(K+pi0)mumu
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

66 lines
1.3 KiB

  1. /**
  2. * @file folder.hh
  3. * @author David Gerick, Renata Kopecna
  4. * @date 2018-04-24
  5. *
  6. */
  7. #ifndef FOLDER_H
  8. #define FOLDER_H
  9. #include <options.hh>
  10. #include <assert.h>
  11. namespace fcnc {
  12. class event;
  13. ///An abstract base class to fold angles accordingly
  14. class folder {
  15. public:
  16. int scheme;
  17. ///constructor
  18. folder(options *o):
  19. scheme(o->folding)
  20. {
  21. if(!o->full_angular){
  22. assert(scheme >= 0);
  23. assert(scheme <= 4);
  24. }
  25. o->update_angle_ranges();
  26. };
  27. ///fold the set of angles according to the chosen folding scheme
  28. void fold(event* e);
  29. ///inverse fold the set of angles according to the chosen folding scheme
  30. void invers_fold(const event* e, event *u_phi, event *u_ctl, event *u_full);
  31. /*
  32. phi /^\
  33. | :
  34. | (2) : (4)
  35. | :
  36. |---------+--------
  37. | :
  38. | (1) : (3)
  39. |_________________>
  40. cos(theta)
  41. (1): original event (e)
  42. (2): unfolded in phi (u_phi)
  43. (3): unfolded in ctl (u_ctl)
  44. (4): twice unfolded (u_full)
  45. */
  46. void test_inv_folding();
  47. int get_scheme();
  48. void set_scheme(int s);
  49. };
  50. }
  51. #endif