Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:33:17

0001 #ifndef TauDQMHistEffProducer_h
0002 #define TauDQMHistEffProducer_h
0003 
0004 /** \class TauDQMHistEffProducer
0005  *  
0006  *  Class to produce efficiency histograms by dividing nominator by denominator histograms
0007  *
0008  *  \author Christian Veelken, UC Davis
0009  */
0010 
0011 // framework & common header files
0012 #include "FWCore/Framework/interface/Event.h"
0013 #include "FWCore/Framework/interface/EventSetup.h"
0014 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0015 
0016 #include "DQMServices/Core/interface/DQMStore.h"
0017 #include "DQMServices/Core/interface/DQMEDHarvester.h"
0018 
0019 #include <string>
0020 #include <vector>
0021 
0022 class TauDQMHistEffProducer : public DQMEDHarvester {
0023   struct cfgEntryPlot {
0024     explicit cfgEntryPlot(const edm::ParameterSet&);
0025     explicit cfgEntryPlot(const std::string&, const std::string&, const std::string&);
0026     std::string numerator_;
0027     std::string denominator_;
0028     std::string efficiency_;
0029   };
0030 
0031 public:
0032   explicit TauDQMHistEffProducer(const edm::ParameterSet&);
0033   ~TauDQMHistEffProducer() override;
0034   void dqmEndJob(DQMStore::IBooker& ibook, DQMStore::IGetter& iget) override;
0035 
0036 private:
0037   std::vector<cfgEntryPlot> cfgEntryPlot_;
0038   std::vector<MonitorElement*> histoEfficiencyVector_;
0039 };
0040 
0041 #endif