2 #ifndef FlavourHistograms2D_H 3 #define FlavourHistograms2D_H 27 template <
class T,
class G>
34 TString baseNameDescription_,
47 TString baseNameDescription_,
67 void fill(
const int &
flavour,
const T &variableX,
const G &variableY)
const;
68 void fill(
const int &
flavour,
const T &variableX,
const G &variableY,
const float &
w)
const;
71 void fill(
const int &
flavour,
const T *variableX,
const G *variableY)
const;
72 void fill(
const int &
flavour,
const T *variableX,
const G *variableY,
const float &
w)
const;
74 void settitle(
const char *titleX,
const char *titleY);
76 void plot(TPad *theCanvas =
nullptr);
188 template <
class T,
class G>
190 TString baseNameDescription_,
307 template <
class T,
class G>
309 TString baseNameDescription_,
619 template <
class T,
class G>
623 template <
class T,
class G>
629 template <
class T,
class G>
631 fill(flavour, variableX, variableY, 1.);
634 template <
class T,
class G>
645 for (
int i = 0;
i != iMax; ++
i) {
655 const T &theZeroT =
static_cast<T>(0.0);
656 const G &theZeroG =
static_cast<T>(0.0);
662 template <
class T,
class G>
664 fill(flavour, variableX, variableY, 1.);
667 template <
class T,
class G>
762 template <
class T,
class G>
766 bool btppColour =
true;
772 gPad->UseCurrentStyle();
776 gPad->SetTitle(
nullptr);
782 const double markerSize = gPad->GetWh() * gPad->GetHNDC() / 500.;
833 histo[0]->
getTH2F()->GetYaxis()->SetTitle(
"Arbitrary Units");
834 histo[0]->
getTH2F()->GetYaxis()->SetTitleOffset(1.25);
836 for (
int i = 0;
i != 4; ++
i) {
837 if (histo[
i] ==
nullptr)
839 histo[
i]->
getTH2F()->SetStats(
false);
840 histo[
i]->
getTH2F()->SetLineStyle(lineStyle[
i]);
841 histo[
i]->
getTH2F()->SetLineWidth(lineWidth);
842 histo[
i]->
getTH2F()->SetLineColor(col[i]);
843 histo[
i]->
getTH2F()->SetMarkerStyle(markerStyle[i]);
844 histo[
i]->
getTH2F()->SetMarkerColor(col[i]);
845 histo[
i]->
getTH2F()->SetMarkerSize(markerSize);
848 histo[0]->
getTH2F()->SetMaximum(max * 1.05);
852 histo[1]->
getTH2F()->Draw(
"Same");
853 histo[2]->
getTH2F()->Draw(
"Same");
854 if (histo[3] !=
nullptr)
855 histo[3]->
getTH2F()->Draw(
"Same");
858 template <
class T,
class G>
868 template <
class T,
class G>
893 template <
class T,
class G>
913 template <
class T,
class G>
1019 template <
class T,
class G>
1021 std::vector<TH2F *> histoVector;
1041 template <
class T,
class G>
1043 std::vector<TProfile *> profileVector;
1062 return profileVector;
TProfile * profile_c() const
std::string theBaseNameDescription
MonitorElement * theProfile_s
MonitorElement * theProfile_pu
virtual TH2F * getTH2F() const
double lowerBoundX() const
double lowerBoundY() const
virtual MonitorElement * bookProfile(const std::string &name, const std::string &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
MonitorElement * theHisto_g
void SetMaximum(const double &max)
MonitorElement * theProfile_dusg
void settitle(const char *titleX, const char *titleY)
MonitorElement * theHisto_dusg
MonitorElement * theHisto_u
TProfile * profile_pu() const
void plot(TPad *theCanvas=0)
virtual ~FlavourHistograms2D()
std::string baseNameTitle() const
TProfile * profile_b() const
std::string theBaseNameTitle
void divide(const FlavourHistograms2D< T, G > &bHD) const
MonitorElement * theHisto_c
MonitorElement * theHisto_pu
void fill(const int &flavour, const T &variableX, const G &variableY) const
MonitorElement * theProfile_all
MonitorElement * theProfile_ni
MonitorElement * theHisto_dus
TH2F * histo_dusg() const
MonitorElement * theProfile_u
MonitorElement * theHisto_s
dqm::legacy::MonitorElement MonitorElement
std::vector< TProfile * > getProfileVector() const
TProfile * profile_u() const
TProfile * profile_all() const
MonitorElement * theProfile_b
void SetMinimum(const double &min)
MonitorElement * theProfile_c
double upperBoundX() const
std::vector< TH2F * > getHistoVector() const
MonitorElement * theProfile_d
virtual MonitorElement * book2D(const std::string &name, const std::string &title, const int &nchX, const double &lowX, const double &highX, const int &nchY, const double &lowY, const double &highY)
std::string baseNameDescription() const
TProfile * profile_d() const
virtual TProfile * getTProfile() const
MonitorElement * theProfile_dus
dqm::legacy::DQMStore DQMStore
MonitorElement * theHisto_all
TProfile * profile_ni() const
void epsPlot(const std::string &name)
virtual void enableSumw2()
TProfile * profile_s() const
MonitorElement * theProfile_g
TProfile * profile_dusg() const
MonitorElement * get(std::string const &path)
double upperBoundY() const
MonitorElement * theHisto_b
TProfile * profile_dus() const
void fillVariable(const int &flavour, const T &varX, const G &varY, const float &w) const
TProfile * profile_g() const
MonitorElement * theHisto_ni
MonitorElement * theHisto_d
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)