00001 #ifndef Validation_RecoMuon_RecoMuonValidator_H 00002 #define Validation_RecoMuon_RecoMuonValidator_H 00003 00004 #include "FWCore/Framework/interface/Frameworkfwd.h" 00005 #include "FWCore/Framework/interface/EDAnalyzer.h" 00006 #include "FWCore/Framework/interface/ESHandle.h" 00007 #include "FWCore/Framework/interface/Event.h" 00008 00009 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00010 #include "FWCore/ParameterSet/interface/InputTag.h" 00011 00012 #include "PhysicsTools/RecoAlgos/interface/TrackingParticleSelector.h" 00013 00014 class DQMStore; 00015 class MonitorElement; 00016 class MuonServiceProxy; 00017 class TrackAssociatorBase; 00018 00019 class RecoMuonValidator : public edm::EDAnalyzer 00020 { 00021 public: 00022 RecoMuonValidator(const edm::ParameterSet& pset); 00023 ~RecoMuonValidator(); 00024 00025 virtual void beginJob(const edm::EventSetup& eventSetup); 00026 virtual void endJob(); 00027 virtual void analyze(const edm::Event& event, const edm::EventSetup& eventSetup); 00028 00029 protected: 00030 unsigned int verbose_; 00031 00032 edm::InputTag simLabel_; 00033 edm::InputTag trkMuLabel_; 00034 edm::InputTag staMuLabel_; 00035 edm::InputTag glbMuLabel_; 00036 edm::InputTag muonLabel_; 00037 00038 edm::InputTag trkMuAssocLabel_; 00039 edm::InputTag staMuAssocLabel_; 00040 edm::InputTag glbMuAssocLabel_; 00041 00042 std::string outputFileName_; 00043 std::string subDir_; 00044 00045 MuonServiceProxy * theMuonService; 00046 DQMStore * theDQM; 00047 00048 bool doAbsEta_; 00049 bool doAssoc_; 00050 00051 TrackingParticleSelector tpSelector_; 00052 TrackAssociatorBase* trkMuAssociator_, * staMuAssociator_, * glbMuAssociator_; 00053 00054 struct MuonME; 00055 MuonME * trkMuME_, * staMuME_, * glbMuME_; 00056 00057 struct CommonME; 00058 CommonME * commonME_; 00059 }; 00060 00061 #endif 00062 /* vim:set ts=2 sts=2 sw=2 expandtab: */