Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-17 10:55:49

0001 #ifndef SMPDQM_H
0002 #define SMPDQM_H
0003 #include <memory>
0004 
0005 #include "DQMServices/Core/interface/DQMEDAnalyzer.h"
0006 #include "DQMServices/Core/interface/MonitorElement.h"
0007 
0008 // user include files
0009 #include "FWCore/Framework/interface/Frameworkfwd.h"
0010 #include "FWCore/Framework/interface/one/EDAnalyzer.h"
0011 
0012 #include "FWCore/Framework/interface/Event.h"
0013 #include "FWCore/Framework/interface/MakerMacros.h"
0014 
0015 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0016 #include "FWCore/Utilities/interface/InputTag.h"
0017 #include "DataFormats/TrackReco/interface/Track.h"
0018 #include "DataFormats/TrackReco/interface/TrackFwd.h"
0019 #include <vector>
0020 #include <iostream>
0021 #include <fstream>
0022 #include <TH1.h>
0023 #include <TH2.h>
0024 #include "TFile.h"
0025 #include "FWCore/Framework/interface/Event.h"
0026 #include "FWCore/Framework/interface/Frameworkfwd.h"
0027 #include "FWCore/Utilities/interface/InputTag.h"
0028 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0029 #include "FWCore/Framework/interface/MakerMacros.h"
0030 #include "FWCore/ServiceRegistry/interface/Service.h"
0031 #include "FWCore/Utilities/interface/EDMException.h"
0032 #include "CommonTools/UtilAlgos/interface/TFileService.h"
0033 
0034 #include "DataFormats/Common/interface/Ref.h"
0035 #include "DataFormats/Common/interface/Handle.h"
0036 #include "DataFormats/Common/interface/TriggerResults.h"
0037 #include "DataFormats/MuonReco/interface/Muon.h"
0038 #include "DataFormats/MuonReco/interface/MuonFwd.h"
0039 #include "DataFormats/MuonReco/interface/MuonEnergy.h"
0040 #include "DataFormats/MuonReco/interface/MuonIsolation.h"
0041 #include "DataFormats/EgammaCandidates/interface/Electron.h"
0042 #include "DataFormats/EgammaCandidates/interface/ElectronFwd.h"
0043 #include "DataFormats/EgammaCandidates/interface/GsfElectron.h"
0044 #include "DataFormats/EgammaCandidates/interface/GsfElectronFwd.h"
0045 #include "DataFormats/GsfTrackReco/interface/GsfTrack.h"
0046 #include "DataFormats/VertexReco/interface/Vertex.h"
0047 #include "DataFormats/VertexReco/interface/VertexFwd.h"
0048 #include "DataFormats/JetReco/interface/PFJet.h"
0049 #include "JetMETCorrections/JetCorrector/interface/JetCorrector.h"
0050 #include "DataFormats/METReco/interface/CaloMET.h"
0051 #include "DataFormats/Common/interface/ValueMap.h"
0052 #include "TLorentzVector.h"
0053 #include "DataFormats/Math/interface/deltaR.h"
0054 #include "TrackingTools/TransientTrack/interface/TransientTrack.h"
0055 #include "TrackingTools/TransientTrack/interface/TransientTrackBuilder.h"
0056 #include "TrackingTools/Records/interface/TransientTrackRecord.h"
0057 #include "RecoTracker/Record/interface/TrackerRecoGeometryRecord.h"
0058 #include "Geometry/Records/interface/TrackerDigiGeometryRecord.h"
0059 #include "Geometry/Records/interface/MuonGeometryRecord.h"
0060 #include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h"
0061 
0062 #include "DataFormats/ParticleFlowCandidate/interface/PFCandidate.h"
0063 #include <DataFormats/METReco/interface/PFMET.h>
0064 
0065 //
0066 // class declaration
0067 //
0068 
0069 // If the analyzer does not use TFileService, please remove
0070 // the template argument to the base class so the class inherits
0071 // from  edm::one::EDAnalyzer<>
0072 // This will improve performance in multithreaded jobs.
0073 
0074 //using reco::TrackCollection;
0075 class DQMStore;
0076 class SMPDQM : public DQMEDAnalyzer {
0077 public:
0078   SMPDQM(const edm::ParameterSet &);
0079   ~SMPDQM() override;
0080 
0081 protected:
0082   void analyze(const edm::Event &, const edm::EventSetup &) override;
0083 
0084 private:
0085   void bookHistograms(DQMStore::IBooker &bei, edm::Run const &, edm::EventSetup const &) override;
0086   void bookHistos(DQMStore *bei);
0087 
0088   edm::EDGetTokenT<reco::MuonCollection> muons_;
0089   edm::EDGetTokenT<reco::GsfElectronCollection> elecs_;
0090   edm::EDGetTokenT<edm::View<reco::Vertex> > pvs_;
0091   edm::EDGetTokenT<edm::View<reco::PFJet> > jets_;
0092   std::vector<edm::EDGetTokenT<edm::View<reco::MET> > > mets_;
0093   //edm::EDGetTokenT<reco::PFMETCollection> thePfMETCollectionToken_;
0094   // ----------member data ---------------------------
0095 
0096   //NPV
0097   MonitorElement *NPV;
0098   //MET
0099   MonitorElement *MET;
0100   MonitorElement *METphi;
0101   //muons
0102   MonitorElement *pt_muons;
0103   MonitorElement *eta_muons;
0104   MonitorElement *phi_muons;
0105   MonitorElement *muIso_CombRelIso03;
0106   MonitorElement *Nmuons;
0107   MonitorElement *isGlobalmuon;
0108   MonitorElement *isTrackermuon;
0109   MonitorElement *isStandalonemuon;
0110   MonitorElement *isPFmuon;
0111   MonitorElement *muIso_TrackerBased03;
0112   //electrons
0113   MonitorElement *Nelecs;
0114   MonitorElement *HoverE_elecs;
0115   MonitorElement *pt_elecs;
0116   MonitorElement *eta_elecs;
0117   MonitorElement *phi_elecs;
0118   MonitorElement *elIso_cal;
0119   MonitorElement *elIso_trk;
0120   MonitorElement *elIso_CombRelIso;
0121   //jets
0122   MonitorElement *PFJetpt;
0123   MonitorElement *PFJeteta;
0124   MonitorElement *PFJetphi;
0125   MonitorElement *PFJetMulti;
0126   MonitorElement *PFJetRapidity;
0127   MonitorElement *mjj;
0128   MonitorElement *detajj;
0129   //lepMET
0130 
0131   MonitorElement *dphi_lepMET;
0132   MonitorElement *mass_lepMET;
0133   MonitorElement *pt_lepMET;
0134   MonitorElement *detall;
0135   MonitorElement *dphill;
0136   MonitorElement *mll;
0137   MonitorElement *etall;
0138   MonitorElement *ptll;
0139   //lepjet1
0140   MonitorElement *dphi_lepjet1;
0141   MonitorElement *dphi_lep1jet1;
0142   MonitorElement *dphi_lep2jet1;
0143 };
0144 
0145 //
0146 // constants, enums and typedefs
0147 //
0148 
0149 //
0150 // static data member definitions
0151 //
0152 
0153 //
0154 // constructors and destructor
0155 //
0156 
0157 #endif
0158 //
0159 // member functions
0160 //