00001 #ifndef MuonAnalyzer_H 00002 #define MuonAnalyzer_H 00003 00004 00015 #include "FWCore/Framework/interface/Frameworkfwd.h" 00016 #include "FWCore/Framework/interface/EDAnalyzer.h" 00017 00018 class MuonEnergyDepositAnalyzer; 00019 class MuonSeedsAnalyzer; 00020 class MuonRecoAnalyzer; 00021 class SegmentTrackAnalyzer; 00022 class DQMStore; 00023 class MuonServiceProxy; 00024 00025 class MuonAnalyzer : public edm::EDAnalyzer { 00026 public: 00027 00029 MuonAnalyzer(const edm::ParameterSet&); 00030 00032 virtual ~MuonAnalyzer(); 00033 00035 void beginJob(edm::EventSetup const& iSetup); 00036 00038 void analyze(const edm::Event&, const edm::EventSetup&); 00039 00041 void endJob(void); 00042 00043 private: 00044 // ----------member data --------------------------- 00045 00046 DQMStore* theDbe; 00047 edm::ParameterSet parameters; 00048 MuonServiceProxy *theService; 00049 // Switch for verbosity 00050 std::string metname; 00051 00052 // Muon Label 00053 edm::InputTag theMuonCollectionLabel; 00054 // Glb Muon Track label 00055 edm::InputTag theGlbMuTrackCollectionLabel; 00056 // Sta Muon Track label 00057 edm::InputTag theStaMuTrackCollectionLabel; 00058 // Seed Label 00059 edm::InputTag theSeedsCollectionLabel; 00060 00061 bool theMuEnergyAnalyzerFlag; 00062 bool theSeedsAnalyzerFlag; 00063 bool theMuonRecoAnalyzerFlag; 00064 bool theMuonSegmentsAnalyzerFlag; 00065 00066 // the muon energy analyzer 00067 MuonEnergyDepositAnalyzer * theMuEnergyAnalyzer; 00068 // the seeds analyzer 00069 MuonSeedsAnalyzer * theSeedsAnalyzer; 00070 // the muon reco analyzer 00071 MuonRecoAnalyzer * theMuonRecoAnalyzer; 00072 // the track segments analyzer for glb muons 00073 SegmentTrackAnalyzer * theGlbMuonSegmentsAnalyzer; 00074 // the track segments analyzer for sta muons 00075 SegmentTrackAnalyzer * theStaMuonSegmentsAnalyzer; 00076 00077 }; 00078 #endif