Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:08:02

0001 #ifndef EwkDQM_H
0002 #define EwkDQM_H
0003 
0004 /** \class EwkDQM
0005  *
0006  *  DQM offline for SMP V+Jets
0007  *
0008  *  \author Valentina Gori, University of Firenze
0009  */
0010 
0011 #include "FWCore/Framework/interface/Frameworkfwd.h"
0012 
0013 // Trigger stuff
0014 #include "DataFormats/Common/interface/TriggerResults.h"
0015 #include "HLTrigger/HLTcore/interface/HLTConfigProvider.h"
0016 
0017 #include "DataFormats/EgammaCandidates/interface/Electron.h"
0018 #include "DataFormats/EgammaCandidates/interface/GsfElectronFwd.h"
0019 #include "DataFormats/MuonReco/interface/MuonFwd.h"
0020 #include "DataFormats/VertexReco/interface/VertexFwd.h"
0021 #include "DQMServices/Core/interface/DQMEDAnalyzer.h"
0022 #include "DQMServices/Core/interface/DQMStore.h"
0023 
0024 namespace reco {
0025   class Jet;
0026   class MET;
0027 }  // namespace reco
0028 
0029 class EwkDQM : public DQMEDAnalyzer {
0030 public:
0031   /// Constructor
0032   EwkDQM(const edm::ParameterSet&);
0033 
0034   /// Destructor
0035   ~EwkDQM() override;
0036 
0037   ///
0038   //Book histograms
0039   void bookHistograms(DQMStore::IBooker&, edm::Run const&, edm::EventSetup const&) override;
0040   void dqmBeginRun(const edm::Run&, const edm::EventSetup&) override;
0041 
0042   /// Get the analysis
0043   void analyze(const edm::Event&, const edm::EventSetup&) override;
0044 
0045   double calcDeltaPhi(double phi1, double phi2);
0046 
0047 private:
0048   // ----------member data ---------------------------
0049 
0050   // Switch for verbosity
0051   std::string logTraceName;
0052 
0053   HLTConfigProvider hltConfigProvider_;
0054   bool isValidHltConfig_;
0055 
0056   // Variables from config file
0057   std::vector<std::string> theElecTriggerPathToPass_;
0058   std::vector<std::string> theMuonTriggerPathToPass_;
0059   edm::InputTag thePFJetCollectionLabel_;
0060   edm::InputTag theCaloMETCollectionLabel_;
0061   edm::InputTag theTriggerResultsCollection_;
0062   edm::EDGetTokenT<edm::TriggerResults> theTriggerResultsToken_;
0063   edm::EDGetTokenT<reco::MuonCollection> theMuonCollectionLabel_;
0064   edm::EDGetTokenT<reco::GsfElectronCollection> theElectronCollectionLabel_;
0065   edm::EDGetTokenT<edm::View<reco::Jet> > thePFJetCollectionToken_;
0066   edm::EDGetTokenT<edm::View<reco::MET> > theCaloMETCollectionToken_;
0067   edm::EDGetTokenT<reco::VertexCollection> theVertexToken_;
0068 
0069   double eJetMin_;
0070 
0071   // Histograms
0072   MonitorElement* h_vertex_number;
0073   MonitorElement* h_vertex_chi2;
0074   MonitorElement* h_vertex_numTrks;
0075   MonitorElement* h_vertex_sumTrks;
0076   MonitorElement* h_vertex_d0;
0077 
0078   MonitorElement* h_jet_count;
0079   MonitorElement* h_jet_et;
0080   MonitorElement* h_jet_pt;
0081   MonitorElement* h_jet_eta;
0082   MonitorElement* h_jet_phi;
0083 
0084   MonitorElement* h_jet2_et;
0085   // MonitorElement* h_jet2_pt;
0086   MonitorElement* h_jet2_eta;
0087   MonitorElement* h_jet2_phi;
0088 
0089   MonitorElement* h_e1_et;
0090   MonitorElement* h_e2_et;
0091   MonitorElement* h_e1_eta;
0092   MonitorElement* h_e2_eta;
0093   MonitorElement* h_e1_phi;
0094   MonitorElement* h_e2_phi;
0095 
0096   MonitorElement* h_m1_pt;
0097   MonitorElement* h_m2_pt;
0098   MonitorElement* h_m1_eta;
0099   MonitorElement* h_m2_eta;
0100   MonitorElement* h_m1_phi;
0101   MonitorElement* h_m2_phi;
0102 
0103   // MonitorElement* h_t1_et;
0104   // MonitorElement* h_t1_eta;
0105   // MonitorElement* h_t1_phi;
0106 
0107   MonitorElement* h_met;
0108   MonitorElement* h_met_phi;
0109 
0110   MonitorElement* h_e_invWMass;
0111   MonitorElement* h_m_invWMass;
0112   MonitorElement* h_mumu_invMass;
0113   MonitorElement* h_ee_invMass;
0114 };
0115 #endif
0116 
0117 // Local Variables:
0118 // show-trailing-whitespace: t
0119 // truncate-lines: t
0120 // End: