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
3.6 KiB

  1. /**
  2. * @file bu2kstarmumu_plotter.hh
  3. * @author Christoph Langenbruch, Renata Kopecna
  4. * @date 2009-03-18
  5. *
  6. */
  7. #ifndef BU2KSTARMUMU_PLOTTER_H
  8. #define BU2KSTARMUMU_PLOTTER_H
  9. #include <plotter.hh>
  10. #include <bu2kstarmumu_pdf.hh>
  11. #include <TFile.h>
  12. #include <TH1D.h>
  13. namespace fcnc {
  14. ///class to plots the data and the fitted pdf, also plots the efficiencies
  15. class bu2kstarmumu_plotter: public plotter {//was derived from plotter
  16. public:
  17. ///constructor
  18. bu2kstarmumu_plotter(options* o);
  19. ///destructor
  20. ~bu2kstarmumu_plotter();
  21. ///plots all projections
  22. ///
  23. int design_pdf(TH1D *pdf, Color_t lineColor, Color_t fillColor, int fillStyle, double eff_pullHeight, bool doPull);
  24. int plot_data(bu2kstarmumu_pdf* prob, bu2kstarmumu_parameters* params, std::vector<event>* events, std::string prefix, std::string postfix="", bool signalregion=false);
  25. int plot_data(pdf* prob, parameters* params, std::vector<event>* ev, std::string index) {
  26. return plot_data(dynamic_cast<bu2kstarmumu_pdf*>(prob), dynamic_cast<bu2kstarmumu_parameters*>(params), ev, index);
  27. };
  28. void plot_pdfs(std::vector<bu2kstarmumu_pdf*> * probs, std::vector<bu2kstarmumu_parameters*> * params, std::string postfix, bool signalregion=false);
  29. void plot_added_pdfs(std::vector<bu2kstarmumu_pdf*> * probs, std::vector<bu2kstarmumu_parameters*> * params, std::vector<std::vector<event>*> * events, std::string prefix, std::string postfix, bool signalregion=false);
  30. void SetPulls(bool drawpulls=true);
  31. //Plot yields of sig and bkg in one go together with significance and the CMS measurement
  32. //Technically this could be in the scritps, but whatever at this point //TODO
  33. int plotYieldInQ2(bool fixRange, std::vector<fcnc::parameters*> fitParams[], std::vector<fcnc::pdf*> pdf[], int nPDFs, std::vector<UInt_t>nEvts[], std::string prefix, std::string plotName);
  34. private:
  35. ///pointer to options object
  36. options* opts;
  37. ///draw pull distribuions under plots?
  38. bool pulls;
  39. ///root output file
  40. TFile* output;
  41. ///tex sizes
  42. double texsizelarge=0.06, texsizesmall=0.04;
  43. ///plots the mass projection.
  44. void plot_m(bu2kstarmumu_pdf* prob, bu2kstarmumu_parameters* params, std::vector<event>* events, std::string prefix, std::string postfix, bool logarithmic=false, bool printC=false);
  45. void plot_mkpi(bu2kstarmumu_pdf* prob, bu2kstarmumu_parameters* params, std::vector<event>* events, std::string prefix, std::string postfix, bool signalregion=false, bool logarithmic=false, bool printC=false);
  46. ///plots a given angle projection
  47. void plot_angle(bu2kstarmumu_pdf* prob, bu2kstarmumu_parameters* params, std::vector<event>* events, std::string prefix, std::string postfix, bool signalregion=false, std::string angle = "ctl", bool printC=false);
  48. ///plots of pdfs added into one signal histogram!
  49. void plot_m_added_pdfs(std::vector<bu2kstarmumu_pdf*> * probs, std::vector<bu2kstarmumu_parameters*> * params, std::vector<std::vector<event>*> * events, std::string prefix, std::string postfix, bool logarithmic=false, bool printC=false);
  50. void plot_mkpi_added_pdfs(std::vector<bu2kstarmumu_pdf*> * probs, std::vector<bu2kstarmumu_parameters*> * params, std::vector<std::vector<event>*> * events, std::string prefix, std::string postfix, bool signalregion=false, bool logarithmic=false, bool printC=false);
  51. void plot_angle_added_pdfs(std::vector<bu2kstarmumu_pdf*> * probs, std::vector<bu2kstarmumu_parameters*> * params, std::vector<std::vector<event>*> * events, std::string prefix, std::string postfix, bool signalregion=false, std::string angle = "ctl", bool printC=false);
  52. };
  53. }
  54. #endif