Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:09:51

0001 // -*- c++ -*-
0002 #ifndef DQMOffline_Trigger_HLTTauDQMTagAndProbePlotter_h
0003 #define DQMOffline_Trigger_HLTTauDQMTagAndProbePlotter_h
0004 
0005 #include "DQMOffline/Trigger/interface/HLTTauDQMPlotter.h"
0006 #include "DQMOffline/Trigger/interface/HLTTauDQMPath.h"
0007 #include "DQMOffline/Trigger/interface/HistoWrapper.h"
0008 
0009 //#include "CommonTools/TriggerUtils/interface/GenericTriggerEventFlag.h"
0010 #include "FWCore/Common/interface/TriggerNames.h"
0011 #include "DataFormats/Common/interface/TriggerResults.h"
0012 
0013 namespace edm {
0014   class Event;
0015   class EventSetup;
0016 }  // namespace edm
0017 
0018 namespace trigger {
0019   class TriggerEvent;
0020 }
0021 
0022 class HLTConfigProvider;
0023 
0024 class HLTTauDQMTagAndProbePlotter : private HLTTauDQMPlotter {
0025 public:
0026   HLTTauDQMTagAndProbePlotter(const edm::ParameterSet &iConfig,
0027                               const std::vector<std::string> &modLabels,
0028                               const std::string &dqmBaseFolder);
0029   ~HLTTauDQMTagAndProbePlotter();
0030 
0031   using HLTTauDQMPlotter::isValid;
0032 
0033   void bookHistograms(HistoWrapper &iWrapper,
0034                       DQMStore::IBooker &iBooker,
0035                       edm::Run const &iRun,
0036                       edm::EventSetup const &iSetup);
0037 
0038   void analyze(edm::Event const &iEvent,
0039                const edm::TriggerResults &triggerResults,
0040                const trigger::TriggerEvent &triggerEvent,
0041                const HLTTauDQMOfflineObjects &refCollection);
0042 
0043 private:
0044   LV findTrgObject(std::string, const trigger::TriggerEvent &);
0045 
0046   const int nbinsPt_;
0047   const double ptmin_, ptmax_;
0048   int nbinsEta_;
0049   double etamin_, etamax_;
0050   const int nbinsPhi_;
0051   const double phimin_, phimax_;
0052   std::string xvariable;
0053 
0054   std::vector<std::string> numTriggers;
0055   std::vector<std::string> denTriggers;
0056 
0057   std::vector<std::string> moduleLabels;
0058 
0059   unsigned int nOfflineObjs;
0060 
0061   MonitorElement *h_num_pt;
0062   MonitorElement *h_den_pt;
0063 
0064   MonitorElement *h_num_eta;
0065   MonitorElement *h_den_eta;
0066 
0067   MonitorElement *h_num_phi;
0068   MonitorElement *h_den_phi;
0069 
0070   MonitorElement *h_num_etaphi;
0071   MonitorElement *h_den_etaphi;
0072 };
0073 
0074 #endif