CMS 3D CMS Logo

BTagDifferentialPlot.h
Go to the documentation of this file.
1 #ifndef BTagDifferentialPlot_H
2 #define BTagDifferentialPlot_H
3 
4 // #include "BTagPlotPrintC.h"
5 
6 #include "TH1F.h"
7 #include "TCanvas.h"
8 
9 #include <vector>
10 #include <string>
11 
15 
17 
18  public:
19 
21 
22  BTagDifferentialPlot(double bEff, const ConstVarType& constVariable, const std::string & tagName, unsigned int mc);
23 
25 
26  void addBinPlotter(std::shared_ptr<JetTagPlotter> aPlotter) { theBinPlotters.push_back(aPlotter); }
27 
28  void process(DQMStore::IBooker & ibook);
29 
30 
31  void epsPlot(const std::string & name);
32 
33  void psPlot(const std::string & name);
34 
35  void plot(TCanvas & theCanvas);
36 
37  void plot(const std::string & name, const std::string & ext);
38 
39 // void print() const;
40 
51 
52  private:
53 
54  void setVariableName();
55 
56  void bookHisto(DQMStore::IBooker & ibook);
57 
58 
59  void fillHisto();
60  std::pair<double, double> getMistag(const double& fixedBEfficiency, TH1F * effPurHist);
61 
62 
63  // the fixed b-efficiency(later: allow more than one) for which the misids have to be plotted
65 
66  // flag if processing should be skipped
68  bool processed;
69 
71  // the name for the variable with constant value
73  // the name of the variable to be plotted on the x-axis(e.g. "eta", "pt")
75 
76  // value of the constant variable(lower/upper edge of interval)
77  std::pair<double,double> constVariableValue;
78 
79  // the common name to describe histograms
81 
82  // the input
83  std::vector<std::shared_ptr<JetTagPlotter>> theBinPlotters;
84 
85  // the histo to create/fill
96 
97  //flavour histograms choice
98  unsigned int mcPlots_;
99 };
100 
101 
102 #endif
MonitorElement * theDifferentialHistoB_b
MonitorElement * theDifferentialHistoB_g
BTagDifferentialPlot(double bEff, const ConstVarType &constVariable, const std::string &tagName, unsigned int mc)
TH1F * getTH1F() const
MonitorElement * theDifferentialHistoB_s
MonitorElement * theDifferentialHistoB_pu
MonitorElement * theDifferentialHistoB_dusg
void addBinPlotter(std::shared_ptr< JetTagPlotter > aPlotter)
std::vector< std::shared_ptr< JetTagPlotter > > theBinPlotters
void process(DQMStore::IBooker &ibook)
void psPlot(const std::string &name)
MonitorElement * theDifferentialHistoB_dus
void bookHisto(DQMStore::IBooker &ibook)
std::pair< double, double > getMistag(const double &fixedBEfficiency, TH1F *effPurHist)
std::pair< double, double > constVariableValue
MonitorElement * theDifferentialHistoB_u
MonitorElement * theDifferentialHistoB_d
Definition: memstream.h:15
void plot(TCanvas &theCanvas)
void epsPlot(const std::string &name)
MonitorElement * theDifferentialHistoB_c
MonitorElement * theDifferentialHistoB_ni