Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef DQMOffline_Trigger_FSQDiJetAve_H
0002 #define DQMOffline_Trigger_FSQDiJetAve_H
0003 
0004 // -*- C++ -*-
0005 //
0006 // Package:    DQMOffline/FSQDiJetAve
0007 // Class:      FSQDiJetAve
0008 //
0009 /**\class FSQDiJetAve FSQDiJetAve.cc DQMOffline/FSQDiJetAve/plugins/FSQDiJetAve.cc
0010 
0011  Description: [one line class summary]
0012 
0013  Implementation:
0014      [Notes on implementation]
0015 */
0016 //
0017 // Original Author:  Tomasz Fruboes
0018 //         Created:  Tue, 04 Nov 2014 11:36:27 GMT
0019 //
0020 //
0021 
0022 // system include files
0023 #include <memory>
0024 
0025 // user include files
0026 #include "FWCore/Framework/interface/Frameworkfwd.h"
0027 #include "DQMServices/Core/interface/DQMEDAnalyzer.h"
0028 
0029 #include "FWCore/Framework/interface/Event.h"
0030 #include "FWCore/Framework/interface/MakerMacros.h"
0031 
0032 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0033 
0034 #include "DQMServices/Core/interface/DQMStore.h"
0035 
0036 #include "DataFormats/Common/interface/TriggerResults.h"
0037 #include "DataFormats/HLTReco/interface/TriggerEvent.h"
0038 #include "DataFormats/HLTReco/interface/TriggerObject.h"
0039 #include "DataFormats/HLTReco/interface/TriggerTypeDefs.h"
0040 #include "FWCore/Common/interface/TriggerNames.h"
0041 
0042 #include "HLTrigger/HLTcore/interface/HLTConfigProvider.h"
0043 
0044 #include "HLTrigger/HLTcore/interface/TriggerExpressionData.h"
0045 #include "HLTrigger/HLTcore/interface/TriggerExpressionEvaluator.h"
0046 #include "HLTrigger/HLTcore/interface/TriggerExpressionParser.h"
0047 #include "SimDataFormats/GeneratorProducts/interface/GenEventInfoProduct.h"
0048 
0049 //
0050 // class declaration
0051 //
0052 
0053 namespace FSQ {
0054   class BaseHandler;
0055 }
0056 
0057 class FSQDiJetAve : public DQMEDAnalyzer {
0058 public:
0059   explicit FSQDiJetAve(const edm::ParameterSet&);
0060   ~FSQDiJetAve() override;
0061 
0062   static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
0063 
0064 private:
0065   void analyze(const edm::Event&, const edm::EventSetup&) override;
0066 
0067   void bookHistograms(DQMStore::IBooker&, edm::Run const& run, edm::EventSetup const& c) override;
0068   void dqmBeginRun(edm::Run const& run, edm::EventSetup const& c) override;
0069 
0070   // ----------member data ---------------------------
0071   //
0072   triggerExpression::Data m_eventCache;
0073   bool m_useGenWeight;
0074   HLTConfigProvider m_hltConfig;
0075 
0076   std::string m_dirname;
0077   std::map<std::string, MonitorElement*> m_me;
0078 
0079   edm::EDGetTokenT<edm::TriggerResults> triggerResultsToken;
0080   edm::EDGetTokenT<edm::TriggerResults> triggerResultsFUToken;
0081   edm::EDGetTokenT<trigger::TriggerEvent> triggerSummaryToken;
0082   edm::EDGetTokenT<trigger::TriggerEvent> triggerSummaryFUToken;
0083   edm::EDGetTokenT<GenEventInfoProduct> m_genEvInfoToken;
0084 
0085   edm::TriggerNames m_triggerNames;  // TriggerNames class
0086   edm::Handle<edm::TriggerResults> m_triggerResults;
0087   edm::Handle<trigger::TriggerEvent> m_trgEvent;
0088   edm::InputTag triggerSummaryLabel_;
0089   edm::InputTag triggerResultsLabel_;
0090 
0091   // TODO: auto ptr
0092   std::vector<std::shared_ptr<FSQ::BaseHandler> > m_handlers;
0093 };
0094 
0095 #endif