File indexing completed on 2024-04-06 12:09:21
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
0032
0033
0034
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
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