Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2022-08-31 22:54:31

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   //virtual void beginRun(edm::Run const&, edm::EventSetup const&) override;
0070   //virtual void endLuminosityBlock(edm::LuminosityBlock const&, edm::EventSetup const&) override;
0071 
0072   // ----------member data ---------------------------
0073   //
0074   triggerExpression::Data m_eventCache;
0075   bool m_useGenWeight;
0076   HLTConfigProvider m_hltConfig;
0077 
0078   std::string m_dirname;
0079   std::map<std::string, MonitorElement*> m_me;
0080 
0081   edm::EDGetTokenT<edm::TriggerResults> triggerResultsToken;
0082   edm::EDGetTokenT<edm::TriggerResults> triggerResultsFUToken;
0083   edm::EDGetTokenT<trigger::TriggerEvent> triggerSummaryToken;
0084   edm::EDGetTokenT<trigger::TriggerEvent> triggerSummaryFUToken;
0085   edm::EDGetTokenT<GenEventInfoProduct> m_genEvInfoToken;
0086 
0087   edm::TriggerNames m_triggerNames;  // TriggerNames class
0088   edm::Handle<edm::TriggerResults> m_triggerResults;
0089   edm::Handle<trigger::TriggerEvent> m_trgEvent;
0090   edm::InputTag triggerSummaryLabel_;
0091   edm::InputTag triggerResultsLabel_;
0092 
0093   // TODO: auto ptr
0094   std::vector<std::shared_ptr<FSQ::BaseHandler> > m_handlers;
0095 };
0096 
0097 #endif