00001 00002 #ifndef DQMOffline_EGamma_ElectronGeneralAnalyzer_h 00003 #define DQMOffline_EGamma_ElectronGeneralAnalyzer_h 00004 00005 #include "DQMOffline/EGamma/interface/ElectronDqmAnalyzerBase.h" 00006 00007 #include "DataFormats/EgammaCandidates/interface/GsfElectronFwd.h" 00008 #include "DataFormats/EgammaReco/interface/SuperClusterFwd.h" 00009 00010 #include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h" 00011 #include "TrackingTools/TrajectoryState/interface/TrajectoryStateTransform.h" 00012 00013 class MagneticField ; 00014 00015 #include "FWCore/Framework/interface/Event.h" 00016 #include "FWCore/Framework/interface/ESHandle.h" 00017 #include "FWCore/Framework/interface/EventSetup.h" 00018 00019 class ElectronGeneralAnalyzer : public ElectronDqmAnalyzerBase 00020 { 00021 public: 00022 00023 explicit ElectronGeneralAnalyzer( const edm::ParameterSet & conf ) ; 00024 virtual ~ElectronGeneralAnalyzer() ; 00025 00026 virtual void book() ; 00027 virtual void analyze( const edm::Event & e, const edm::EventSetup & c ) ; 00028 00029 private: 00030 00031 //========================================= 00032 // parameters 00033 //========================================= 00034 00035 // collection input tags 00036 edm::InputTag electronCollection_; 00037 edm::InputTag matchingObjectCollection_; 00038 edm::InputTag gsftrackCollection_; 00039 edm::InputTag trackCollection_; 00040 edm::InputTag vertexCollection_; 00041 edm::InputTag beamSpotTag_; 00042 00043 // for trigger 00044 edm::InputTag triggerResults_; 00045 //std::vector<std::string > HLTPathsByName_; 00046 // 00047 // //========================================= 00048 // // general attributes and utility methods 00049 // //========================================= 00050 // 00051 // bool trigger( const edm::Event & e ) ; 00052 // std::vector<unsigned int> HLTPathsByIndex_; 00053 00054 //========================================= 00055 // histograms 00056 //========================================= 00057 00058 MonitorElement * h2_ele_beamSpotXvsY ; 00059 MonitorElement * py_ele_nElectronsVsLs ; 00060 MonitorElement * py_ele_nClustersVsLs ; 00061 MonitorElement * py_ele_nGsfTracksVsLs ; 00062 MonitorElement * py_ele_nTracksVsLs ; 00063 MonitorElement * py_ele_nVerticesVsLs ; 00064 MonitorElement * h1_ele_triggers ; 00065 00066 } ; 00067 00068 #endif 00069 00070 00071