File indexing completed on 2023-03-17 11:28:34
0001 #ifndef Validation_RecoMuon_GlobalMuonMatchAnalyzer_H
0002 #define Validation_RecoMuon_GlobalMuonMatchAnalyzer_H
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013 #include <memory>
0014 #include <string>
0015
0016
0017 #include "FWCore/Framework/interface/Frameworkfwd.h"
0018
0019 #
0020 #include "DataFormats/TrackReco/interface/TrackFwd.h"
0021 #include "SimDataFormats/Associations/interface/TrackToTrackingParticleAssociator.h"
0022
0023 #include "TrackingTools/TrajectoryState/interface/TrajectoryStateOnSurface.h"
0024 #include "DQMServices/Core/interface/DQMOneEDAnalyzer.h"
0025 #include "DQMServices/Core/interface/DQMStore.h"
0026
0027 namespace reco {
0028 class Track;
0029 }
0030
0031 class InputTag;
0032 class TrackAssociatorBase;
0033
0034
0035
0036
0037
0038 class GlobalMuonMatchAnalyzer : public DQMOneEDAnalyzer<> {
0039 public:
0040 explicit GlobalMuonMatchAnalyzer(const edm::ParameterSet &);
0041 ~GlobalMuonMatchAnalyzer() override;
0042
0043 private:
0044
0045 void analyze(const edm::Event &, const edm::EventSetup &) override;
0046 void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override;
0047 void dqmEndRun(const edm::Run &, const edm::EventSetup &) override;
0048
0049 void computeEfficiencyEta(MonitorElement *, MonitorElement *recoTH2, MonitorElement *simTH2);
0050 void computeEfficiencyPt(MonitorElement *, MonitorElement *recoTH2, MonitorElement *simTH2);
0051
0052 std::string out;
0053 DQMStore *dbe_;
0054 edm::ParameterSet iConfig;
0055 std::string subsystemname_;
0056 MonitorElement *h_shouldMatch, *h_goodMatchSim, *h_tkOnlySim, *h_staOnlySim;
0057 MonitorElement *h_totReco, *h_goodMatch, *h_fakeMatch;
0058 MonitorElement *h_effic, *h_efficPt;
0059 MonitorElement *h_fake, *h_fakePt;
0060
0061 const TrackAssociatorBase *tkAssociator_, *muAssociator_;
0062 edm::InputTag tkAssociatorName_, muAssociatorName_;
0063 edm::InputTag tkName_, tpName_, glbName_, staName_;
0064 edm::EDGetTokenT<edm::View<reco::Track> > tkToken_, tpToken_, glbToken_, staToken_;
0065 edm::EDGetTokenT<reco::TrackToTrackingParticleAssociator> tkAssociatorToken_, muAssociatorToken_;
0066 };
0067
0068 #endif