Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-10-25 09:44:04

0001 #ifndef DQMOffline_EGamma_ElectronGeneralAnalyzer_h
0002 #define DQMOffline_EGamma_ElectronGeneralAnalyzer_h
0003 
0004 #include "DQMOffline/EGamma/interface/ElectronDqmAnalyzerBase.h"
0005 
0006 #include "DataFormats/EgammaCandidates/interface/GsfElectronFwd.h"
0007 #include "DataFormats/EgammaReco/interface/SuperClusterFwd.h"
0008 
0009 #include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h"
0010 #include "TrackingTools/TrajectoryState/interface/TrajectoryStateTransform.h"
0011 
0012 class MagneticField;
0013 
0014 #include "FWCore/Framework/interface/Event.h"
0015 #include "FWCore/Framework/interface/ESHandle.h"
0016 #include "FWCore/Framework/interface/EventSetup.h"
0017 
0018 #include "DataFormats/VertexReco/interface/VertexFwd.h"
0019 #include "DataFormats/VertexReco/interface/Vertex.h"
0020 
0021 class ElectronGeneralAnalyzer : public ElectronDqmAnalyzerBase {
0022 public:
0023   explicit ElectronGeneralAnalyzer(const edm::ParameterSet &conf);
0024   ~ElectronGeneralAnalyzer() override;
0025 
0026   void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override;
0027   void analyze(const edm::Event &e, const edm::EventSetup &c) override;
0028 
0029 private:
0030   //=========================================
0031   // parameters
0032   //=========================================
0033 
0034   // collection input tags
0035   edm::EDGetTokenT<reco::GsfElectronCollection> electronCollection_;
0036   edm::EDGetTokenT<reco::SuperClusterCollection> matchingObjectCollection_;
0037   edm::EDGetTokenT<reco::GsfTrackCollection> gsftrackCollection_;
0038   edm::EDGetTokenT<reco::TrackCollection> trackCollection_;
0039   edm::EDGetTokenT<reco::VertexCollection> vertexCollection_;
0040   edm::EDGetTokenT<reco::BeamSpot> beamSpotTag_;
0041 
0042   //=========================================
0043   // histograms
0044   //=========================================
0045 
0046   MonitorElement *h2_ele_beamSpotXvsY;
0047   MonitorElement *py_ele_nElectronsVsLs;
0048   MonitorElement *py_ele_nClustersVsLs;
0049   MonitorElement *py_ele_nGsfTracksVsLs;
0050   MonitorElement *py_ele_nTracksVsLs;
0051   MonitorElement *py_ele_nVerticesVsLs;
0052 };
0053 
0054 #endif