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 
14 
16 
17  public:
18 
20 
21  BTagDifferentialPlot (const double& bEff, const ConstVarType& constVariable, const std::string & tagName) ;
22 
24 
25 
26  void addBinPlotter ( JetTagPlotter * aPlotter ) { theBinPlotters.push_back ( aPlotter ) ; }
27 
28  void process () ;
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 
40 //
41 // void print () const ;
42 
52 
53 
54 
55 
56 
57  private:
58 
59  void setVariableName () ;
60 
61  void bookHisto () ;
62 
63 
64  void fillHisto () ;
65  std::pair<double, double> getMistag(const double& fixedBEfficiency, TH1F * effPurHist);
66 
67 
68  // the fixed b-efficiency (later: allow more than one) for which the misids have to be plotted
70 
71  // flag if processing should be skipped
72  bool noProcessing ;
73  bool processed;
74 
76  // the name for the variable with constant value
77  std::string constVariableName ;
78  // the name of the variable to be plotted on the x-axis (e.g. "eta", "pt")
79  std::string diffVariableName ;
80 
81  // value of the constant variable (lower/upper edge of interval)
82  std::pair<double,double> constVariableValue ;
83 
84  // the common name to describe histograms
85  std::string commonName ;
86 
87 
88  // the input
89  std::vector<JetTagPlotter *> theBinPlotters ;
90 
91  // the histo to create/fill
101 
102  // the plot Canvas
103 // TCanvas * thePlotCanvas ;
104 
105 
106 } ;
107 
108 
109 #endif
MonitorElement * theDifferentialHistoB_b
MonitorElement * theDifferentialHistoB_g
void addBinPlotter(JetTagPlotter *aPlotter)
MonitorElement * theDifferentialHistoB_s
MonitorElement * theDifferentialHistoB_dusg
void psPlot(const std::string &name)
MonitorElement * theDifferentialHistoB_dus
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
void plot(TCanvas &theCanvas)
BTagDifferentialPlot(const double &bEff, const ConstVarType &constVariable, const std::string &tagName)
void epsPlot(const std::string &name)
MonitorElement * theDifferentialHistoB_c
MonitorElement * theDifferentialHistoB_ni