File indexing completed on 2024-04-06 12:09:38
0001 #ifndef EFFICIENCYANALYZER_H
0002 #define EFFICIENCYANALYZER_H
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012 #include <memory>
0013 #include <fstream>
0014 #include "FWCore/Framework/interface/Frameworkfwd.h"
0015 #include "FWCore/Framework/interface/Event.h"
0016 #include "FWCore/Framework/interface/MakerMacros.h"
0017 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0018 #include "FWCore/Utilities/interface/InputTag.h"
0019 #include "FWCore/ServiceRegistry/interface/Service.h"
0020 #include "DQMServices/Core/interface/DQMStore.h"
0021 #include "DQMServices/Core/interface/DQMEDAnalyzer.h"
0022
0023 #include "DataFormats/MuonReco/interface/Muon.h"
0024 #include "DataFormats/MuonReco/interface/MuonFwd.h"
0025 #include "DataFormats/BeamSpot/interface/BeamSpot.h"
0026 #include "DataFormats/VertexReco/interface/Vertex.h"
0027 #include "DataFormats/VertexReco/interface/VertexFwd.h"
0028 #include "DataFormats/TrackReco/interface/Track.h"
0029 #include "DataFormats/TrajectorySeed/interface/TrajectorySeedCollection.h"
0030
0031 class EfficiencyAnalyzer : public DQMEDAnalyzer {
0032 public:
0033
0034 EfficiencyAnalyzer(const edm::ParameterSet& pset);
0035
0036
0037 ~EfficiencyAnalyzer() override;
0038
0039
0040 void analyze(const edm::Event& event, const edm::EventSetup& eventSetup) override;
0041 void bookHistograms(DQMStore::IBooker&, edm::Run const&, edm::EventSetup const&) override;
0042
0043 private:
0044 edm::ParameterSet parameters;
0045
0046
0047 std::string metname;
0048
0049
0050 int etaBin_;
0051 int phiBin_;
0052 int ptBin_;
0053
0054 double ptMin_;
0055 double ptMax_;
0056
0057 double etaMin_;
0058 double etaMax_;
0059
0060 double phiMin_;
0061 double phiMax_;
0062
0063 int vtxBin_;
0064 double vtxMin_;
0065 double vtxMax_;
0066
0067 std::string ID_;
0068
0069 MonitorElement* h_passProbes_ID_pt;
0070 MonitorElement* h_passProbes_ID_inner_pt;
0071 MonitorElement* h_passProbes_ID_inner_eta;
0072 MonitorElement* h_passProbes_ID_inner_phi;
0073 MonitorElement* h_passProbes_ID_EB_pt;
0074 MonitorElement* h_passProbes_ID_EE_pt;
0075 MonitorElement* h_passProbes_ID_eta;
0076 MonitorElement* h_passProbes_ID_hp_eta;
0077 MonitorElement* h_passProbes_ID_phi;
0078 MonitorElement* h_passProbes_detIsoID_pt;
0079 MonitorElement* h_passProbes_EB_detIsoID_pt;
0080 MonitorElement* h_passProbes_EE_detIsoID_pt;
0081 MonitorElement* h_passProbes_pfIsoID_pt;
0082 MonitorElement* h_passProbes_EB_pfIsoID_pt;
0083 MonitorElement* h_passProbes_EE_pfIsoID_pt;
0084 MonitorElement* h_passProbes_detIsoID_nVtx;
0085 MonitorElement* h_passProbes_pfIsoID_nVtx;
0086 MonitorElement* h_passProbes_EB_detIsoID_nVtx;
0087 MonitorElement* h_passProbes_EE_detIsoID_nVtx;
0088 MonitorElement* h_passProbes_EB_pfIsoID_nVtx;
0089 MonitorElement* h_passProbes_EE_pfIsoID_nVtx;
0090
0091 MonitorElement* h_failProbes_ID_pt;
0092 MonitorElement* h_failProbes_ID_eta;
0093 MonitorElement* h_failProbes_ID_phi;
0094
0095 MonitorElement* h_allProbes_pt;
0096 MonitorElement* h_allProbes_EB_pt;
0097 MonitorElement* h_allProbes_EE_pt;
0098 MonitorElement* h_allProbes_eta;
0099 MonitorElement* h_allProbes_hp_eta;
0100 MonitorElement* h_allProbes_phi;
0101 MonitorElement* h_allProbes_ID_pt;
0102 MonitorElement* h_allProbes_inner_pt;
0103 MonitorElement* h_allProbes_inner_eta;
0104 MonitorElement* h_allProbes_inner_phi;
0105 MonitorElement* h_allProbes_EB_ID_pt;
0106 MonitorElement* h_allProbes_EE_ID_pt;
0107 MonitorElement* h_allProbes_ID_nVtx;
0108 MonitorElement* h_allProbes_EB_ID_nVtx;
0109 MonitorElement* h_allProbes_EE_ID_nVtx;
0110
0111
0112 MonitorElement* h_passProbes_pfIsodBID_pt;
0113 MonitorElement* h_passProbes_EB_pfIsodBID_pt;
0114 MonitorElement* h_passProbes_EE_pfIsodBID_pt;
0115 MonitorElement* h_passProbes_pfIsodBID_nVtx;
0116 MonitorElement* h_passProbes_EB_pfIsodBID_nVtx;
0117 MonitorElement* h_passProbes_EE_pfIsodBID_nVtx;
0118
0119 int _numPV;
0120
0121
0122 edm::EDGetTokenT<edm::View<reco::Muon> > theMuonCollectionLabel_;
0123 edm::EDGetTokenT<reco::TrackCollection> theTrackCollectionLabel_;
0124
0125
0126 bool doPVCheck_;
0127 edm::EDGetTokenT<reco::VertexCollection> theVertexLabel_;
0128 edm::EDGetTokenT<reco::BeamSpot> theBeamSpotLabel_;
0129
0130 std::string theFolder;
0131 };
0132 #endif