Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-09-11 04:32:50

0001 #ifndef BaseBTagPlotter_H
0002 #define BaseBTagPlotter_H
0003 
0004 #include "DQMOffline/RecoB/interface/EtaPtBin.h"
0005 #include "DQMOffline/RecoB/interface/EffPurFromHistos.h"
0006 
0007 #include <string>
0008 
0009 class BaseBTagPlotter {
0010 public:
0011   typedef dqm::legacy::DQMStore DQMStore;
0012   typedef dqm::legacy::MonitorElement MonitorElement;
0013 
0014   BaseBTagPlotter(const std::string& tagName, const EtaPtBin& etaPtBin)
0015       : etaPtBin_(etaPtBin), tagName_(tagName), theExtensionString("_" + tagName + etaPtBin.getDescriptionString()) {}
0016 
0017   virtual ~BaseBTagPlotter() {}
0018 
0019   const EtaPtBin& etaPtBin() { return etaPtBin_; }
0020 
0021   // final computation, plotting, printing .......
0022   virtual void finalize(DQMStore::IBooker& ibook_, DQMStore::IGetter& igetter_) = 0;
0023 
0024   virtual void epsPlot(const std::string& name) = 0;
0025 
0026   virtual void psPlot(const std::string& name) = 0;
0027 
0028 protected:
0029   // the extension string to be used in histograms etc.
0030   const EtaPtBin etaPtBin_;
0031   const std::string tagName_, theExtensionString;
0032 };
0033 
0034 #endif