File indexing completed on 2024-04-06 12:08:02
0001 #ifndef BPhysicsOniaDQM_H
0002 #define BPhysicsOniaDQM_H
0003
0004
0005
0006
0007
0008
0009
0010
0011 #include "FWCore/Framework/interface/Frameworkfwd.h"
0012 #include "FWCore/Utilities/interface/InputTag.h"
0013 #include "FWCore/Framework/interface/LuminosityBlock.h"
0014 #include "DataFormats/MuonReco/interface/MuonFwd.h"
0015 #include "DataFormats/Luminosity/interface/LumiSummary.h"
0016 #include "DataFormats/VertexReco/interface/VertexFwd.h"
0017 #include "DataFormats/VertexReco/interface/Vertex.h"
0018 #include "DQMServices/Core/interface/DQMEDAnalyzer.h"
0019 #include "DQMServices/Core/interface/DQMStore.h"
0020
0021 #include <string>
0022 #include <cmath>
0023 #include <map>
0024
0025 class BPhysicsOniaDQM : public DQMEDAnalyzer {
0026 public:
0027
0028 BPhysicsOniaDQM(const edm::ParameterSet&);
0029
0030
0031 ~BPhysicsOniaDQM() override;
0032
0033 void bookHistograms(DQMStore::IBooker&, edm::Run const&, edm::EventSetup const&) override;
0034
0035 void analyze(const edm::Event&, const edm::EventSetup&) override;
0036
0037 private:
0038 float computeMass(const math::XYZVector& vec1, const math::XYZVector& vec2);
0039 bool isMuonInAccept(const reco::Muon& recoMu);
0040 bool selGlobalMuon(const reco::Muon& recoMu);
0041 bool selTrackerMuon(const reco::Muon& recoMu);
0042
0043
0044 edm::EDGetTokenT<reco::VertexCollection> vertex_;
0045
0046 edm::EDGetTokenT<reco::MuonCollection> theMuonCollectionLabel_;
0047 edm::EDGetTokenT<LumiSummary> lumiSummaryToken_;
0048
0049
0050 std::string metname;
0051
0052
0053 MonitorElement* diMuonMass_global;
0054 MonitorElement* diMuonMass_tracker;
0055 MonitorElement* diMuonMass_standalone;
0056 MonitorElement* global_background;
0057 MonitorElement* tracker_background;
0058 MonitorElement* standalone_background;
0059
0060 MonitorElement* glbSigCut;
0061 MonitorElement* glbSigNoCut;
0062 MonitorElement* glbBkgNoCut;
0063 MonitorElement* staSigCut;
0064 MonitorElement* staSigNoCut;
0065 MonitorElement* staBkgNoCut;
0066 MonitorElement* trkSigCut;
0067 MonitorElement* trkSigNoCut;
0068 MonitorElement* trkBkgNoCut;
0069
0070 math::XYZPoint RefVtx;
0071 };
0072 #endif