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.

44 lines
1.8 KiB

  1. /**
  2. * @file bu2kstarmumu_loader.hh
  3. * @author Christoph Langenbruch, Renata Kopecna
  4. * @date 2009-03-18
  5. *
  6. */
  7. #ifndef BU2KSTARMUMU_LOADER_H
  8. #define BU2KSTARMUMU_LOADER_H
  9. #include "TLorentzVector.h"
  10. namespace fcnc {
  11. class options;
  12. class event;
  13. ///class that implements the ability to load the Bs -> JPsi Phi signal decay from Zoo-ntuple root files.
  14. class bu2kstarmumu_loader {
  15. public:
  16. ///constructor
  17. bu2kstarmumu_loader(options* o):
  18. opts(o) {};
  19. ///Read events from decaytree tuple
  20. std::vector<event> read_decaytree_tuple(std::string filename, std::string treename, bool mctruth=false, int nevents=1000000, int syst_variation=-1);
  21. std::vector<event> read_full_tuple(int year, std::string filename, std::string treename, bool isMC = false, bool mctruth=false, bool genLevelMC = false, int nevents=1000000);
  22. void test_angles(std::string filename, std::string treename, bool mctruth=false, int nevents=1000000);
  23. ///calculate decay angles according to theory convention http://arxiv.org/abs/0805.2525
  24. void theory_angles(const TLorentzVector& muplus, const TLorentzVector& muminus, const TLorentzVector& kaon, const TLorentzVector& pion, double& costhetal, double& costhetak, double& phi);
  25. ///calculate decay angles according to lhcb convention http://arxiv.org/abs/1304.6325
  26. void lhcb_angles(bool bplus, const TLorentzVector& muplus, const TLorentzVector& muminus, const TLorentzVector& kaon, const TLorentzVector& pion, double& costhetal, double& costhetak, double& phi);
  27. void hd_angles(bool bplus, const TLorentzVector& muplus, const TLorentzVector& muminus, const TLorentzVector& kaon, const TLorentzVector& pion, double& costhetal_lhs, double& costhetal_rhs, double& costhetak_lhs, double& costhetak_rhs, double& phi);
  28. private:
  29. ///pointer to options
  30. options* opts;
  31. };
  32. }
  33. #endif