CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 (const double& bEff, const ConstVarType& constVariable, const std::string & tagName, const unsigned int& mc) ;
23 
25 
26  void addBinPlotter ( 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
67  bool noProcessing ;
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<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
void addBinPlotter(JetTagPlotter *aPlotter)
MonitorElement * theDifferentialHistoB_s
MonitorElement * theDifferentialHistoB_pu
MonitorElement * theDifferentialHistoB_dusg
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
std::vector< JetTagPlotter * > theBinPlotters
MonitorElement * theDifferentialHistoB_u
TH1F * getTH1F(void) const
MonitorElement * theDifferentialHistoB_d
BTagDifferentialPlot(const double &bEff, const ConstVarType &constVariable, const std::string &tagName, const unsigned int &mc)
void plot(TCanvas &theCanvas)
void epsPlot(const std::string &name)
MonitorElement * theDifferentialHistoB_c
MonitorElement * theDifferentialHistoB_ni