Go to the documentation of this file.00001 #ifndef Validation_RecoMuon_GlobalMuonMatchAnalyzer_H
00002 #define Validation_RecoMuon_GlobalMuonMatchAnalyzer_H
00003
00015
00016 #include <memory>
00017 #include <string>
00018
00019
00020 #include "FWCore/Framework/interface/Frameworkfwd.h"
00021 #include "FWCore/Framework/interface/EDAnalyzer.h"
00022
00023 #include "FWCore/Framework/interface/Event.h"
00024 #include "FWCore/Framework/interface/MakerMacros.h"
00025
00026 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00027
00028 #include "TrackingTools/TrajectoryState/interface/TrajectoryStateOnSurface.h"
00029
00030 namespace reco {class Track;}
00031
00032 class InputTag;
00033 class MonitorElement;
00034 class TrackAssociatorBase;
00035 class DQMStore;
00036
00037
00038
00039
00040
00041 class GlobalMuonMatchAnalyzer : public edm::EDAnalyzer {
00042 public:
00043 explicit GlobalMuonMatchAnalyzer(const edm::ParameterSet&);
00044 ~GlobalMuonMatchAnalyzer();
00045
00046
00047 private:
00048 virtual void beginJob() ;
00049 virtual void beginRun(const edm::Run&, const edm::EventSetup&) ;
00050 virtual void analyze(const edm::Event&, const edm::EventSetup&);
00051 virtual void endJob() ;
00052
00053 void computeEfficiencyEta(MonitorElement*, MonitorElement *recoTH2, MonitorElement *simTH2);
00054 void computeEfficiencyPt(MonitorElement*, MonitorElement *recoTH2, MonitorElement *simTH2);
00055
00056 std::string out;
00057 DQMStore* dbe_;
00058
00059 MonitorElement *h_shouldMatch, *h_goodMatchSim, *h_tkOnlySim, *h_staOnlySim;
00060 MonitorElement *h_totReco, *h_goodMatch, *h_fakeMatch;
00061 MonitorElement *h_effic, *h_efficPt;
00062 MonitorElement *h_fake, *h_fakePt;
00063
00064 const TrackAssociatorBase *tkAssociator_, *muAssociator_;
00065 std::string tkAssociatorName_, muAssociatorName_;
00066 edm::InputTag tkName_, tpName_, glbName_, staName_;
00067
00068
00069 };
00070
00071 #endif