File indexing completed on 2024-04-06 12:09:38
0001 #ifndef MuonKinVsEtaAnalyzer_H
0002 #define MuonKinVsEtaAnalyzer_H
0003
0004
0005
0006
0007
0008
0009
0010
0011 #include <memory>
0012 #include <fstream>
0013 #include "FWCore/Framework/interface/Frameworkfwd.h"
0014 #include "FWCore/Framework/interface/Event.h"
0015 #include "FWCore/Framework/interface/MakerMacros.h"
0016 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0017 #include "FWCore/ServiceRegistry/interface/Service.h"
0018 #include "DQMServices/Core/interface/DQMStore.h"
0019 #include "DQMServices/Core/interface/DQMEDAnalyzer.h"
0020
0021 #include "DataFormats/Common/interface/Handle.h"
0022 #include "DataFormats/MuonReco/interface/Muon.h"
0023 #include "DataFormats/MuonReco/interface/MuonFwd.h"
0024 #include "DataFormats/MuonReco/interface/MuonEnergy.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/TrackReco/interface/TrackFwd.h"
0030 #include "DataFormats/MuonReco/interface/MuonSelectors.h"
0031
0032 class MuonKinVsEtaAnalyzer : public DQMEDAnalyzer {
0033 public:
0034
0035 MuonKinVsEtaAnalyzer(const edm::ParameterSet &pSet);
0036
0037
0038 ~MuonKinVsEtaAnalyzer() override;
0039
0040 void analyze(const edm::Event &, const edm::EventSetup &) override;
0041 void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override;
0042
0043 private:
0044
0045 edm::ParameterSet parameters;
0046
0047
0048 std::string metname;
0049
0050
0051 edm::EDGetTokenT<edm::View<reco::Muon> > theMuonCollectionLabel_;
0052 edm::EDGetTokenT<reco::VertexCollection> theVertexLabel_;
0053 edm::EDGetTokenT<reco::BeamSpot> theBeamSpotLabel_;
0054
0055
0056 int pBin;
0057 double pMin;
0058 double pMax;
0059
0060 int ptBin;
0061 double ptMin;
0062 double ptMax;
0063
0064 int etaBin;
0065 double etaMin;
0066 double etaMax;
0067
0068 int phiBin;
0069 double phiMin;
0070 double phiMax;
0071
0072 int chiBin;
0073 double chiMin;
0074 double chiMax;
0075
0076 double chiprobMin;
0077 double chiprobMax;
0078
0079
0080 double EtaCutMin;
0081 double EtaCutMax;
0082 double etaBMin;
0083 double etaBMax;
0084 double etaECMin;
0085 double etaECMax;
0086 double etaOvlpMin;
0087 double etaOvlpMax;
0088
0089
0090
0091 std::vector<MonitorElement *> etaGlbTrack;
0092 std::vector<MonitorElement *> phiGlbTrack;
0093 std::vector<MonitorElement *> pGlbTrack;
0094 std::vector<MonitorElement *> ptGlbTrack;
0095 std::vector<MonitorElement *> chi2GlbTrack;
0096 std::vector<MonitorElement *> chi2probGlbTrack;
0097
0098
0099 std::vector<MonitorElement *> etaTrack;
0100 std::vector<MonitorElement *> phiTrack;
0101 std::vector<MonitorElement *> pTrack;
0102 std::vector<MonitorElement *> ptTrack;
0103 std::vector<MonitorElement *> chi2Track;
0104 std::vector<MonitorElement *> chi2probTrack;
0105
0106
0107 std::vector<MonitorElement *> etaStaTrack;
0108 std::vector<MonitorElement *> phiStaTrack;
0109 std::vector<MonitorElement *> pStaTrack;
0110 std::vector<MonitorElement *> ptStaTrack;
0111 std::vector<MonitorElement *> chi2StaTrack;
0112 std::vector<MonitorElement *> chi2probStaTrack;
0113
0114
0115 std::vector<MonitorElement *> etaTightTrack;
0116 std::vector<MonitorElement *> phiTightTrack;
0117 std::vector<MonitorElement *> pTightTrack;
0118 std::vector<MonitorElement *> ptTightTrack;
0119 std::vector<MonitorElement *> chi2TightTrack;
0120 std::vector<MonitorElement *> chi2probTightTrack;
0121
0122
0123 std::vector<MonitorElement *> etaLooseTrack;
0124 std::vector<MonitorElement *> phiLooseTrack;
0125 std::vector<MonitorElement *> pLooseTrack;
0126 std::vector<MonitorElement *> ptLooseTrack;
0127 std::vector<MonitorElement *> chi2LooseTrack;
0128 std::vector<MonitorElement *> chi2probLooseTrack;
0129
0130
0131 std::vector<MonitorElement *> etaMediumTrack;
0132 std::vector<MonitorElement *> phiMediumTrack;
0133 std::vector<MonitorElement *> pMediumTrack;
0134 std::vector<MonitorElement *> ptMediumTrack;
0135 std::vector<MonitorElement *> chi2MediumTrack;
0136 std::vector<MonitorElement *> chi2probMediumTrack;
0137
0138
0139 std::vector<MonitorElement *> etaSoftTrack;
0140 std::vector<MonitorElement *> phiSoftTrack;
0141 std::vector<MonitorElement *> pSoftTrack;
0142 std::vector<MonitorElement *> ptSoftTrack;
0143 std::vector<MonitorElement *> chi2SoftTrack;
0144 std::vector<MonitorElement *> chi2probSoftTrack;
0145
0146
0147 std::vector<MonitorElement *> etaHighPtTrack;
0148 std::vector<MonitorElement *> phiHighPtTrack;
0149 std::vector<MonitorElement *> pHighPtTrack;
0150 std::vector<MonitorElement *> ptHighPtTrack;
0151 std::vector<MonitorElement *> chi2HighPtTrack;
0152 std::vector<MonitorElement *> chi2probHighPtTrack;
0153
0154 std::string theFolder;
0155 };
0156 #endif