67 lines
3.6 KiB
C++
Executable File
67 lines
3.6 KiB
C++
Executable File
/**
|
|
* @file bu2kstarmumu_plotter.hh
|
|
* @author Christoph Langenbruch, Renata Kopecna
|
|
* @date 2009-03-18
|
|
*
|
|
*/
|
|
|
|
#ifndef BU2KSTARMUMU_PLOTTER_H
|
|
#define BU2KSTARMUMU_PLOTTER_H
|
|
|
|
#include <plotter.hh>
|
|
#include <bu2kstarmumu_pdf.hh>
|
|
|
|
#include <TFile.h>
|
|
#include <TH1D.h>
|
|
|
|
namespace fcnc {
|
|
|
|
///class to plots the data and the fitted pdf, also plots the efficiencies
|
|
class bu2kstarmumu_plotter: public plotter {//was derived from plotter
|
|
public:
|
|
///constructor
|
|
bu2kstarmumu_plotter(options* o);
|
|
///destructor
|
|
~bu2kstarmumu_plotter();
|
|
///plots all projections
|
|
///
|
|
int design_pdf(TH1D *pdf, Color_t lineColor, Color_t fillColor, int fillStyle, double eff_pullHeight, bool doPull);
|
|
|
|
int plot_data(bu2kstarmumu_pdf* prob, bu2kstarmumu_parameters* params, std::vector<event>* events, std::string prefix, std::string postfix="", bool signalregion=false);
|
|
|
|
int plot_data(pdf* prob, parameters* params, std::vector<event>* ev, std::string index) {
|
|
return plot_data(dynamic_cast<bu2kstarmumu_pdf*>(prob), dynamic_cast<bu2kstarmumu_parameters*>(params), ev, index);
|
|
};
|
|
void plot_pdfs(std::vector<bu2kstarmumu_pdf*> * probs, std::vector<bu2kstarmumu_parameters*> * params, std::string postfix, bool signalregion=false);
|
|
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);
|
|
void SetPulls(bool drawpulls=true);
|
|
|
|
//Plot yields of sig and bkg in one go together with significance and the CMS measurement
|
|
//Technically this could be in the scritps, but whatever at this point //TODO
|
|
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);
|
|
private:
|
|
///pointer to options object
|
|
options* opts;
|
|
///draw pull distribuions under plots?
|
|
bool pulls;
|
|
///root output file
|
|
TFile* output;
|
|
///tex sizes
|
|
double texsizelarge=0.06, texsizesmall=0.04;
|
|
///plots the mass projection.
|
|
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);
|
|
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);
|
|
///plots a given angle projection
|
|
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);
|
|
///plots of pdfs added into one signal histogram!
|
|
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);
|
|
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);
|
|
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);
|
|
|
|
|
|
};
|
|
|
|
}
|
|
|
|
#endif
|