Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:08:02

0001 #ifndef BPhysicsOniaDQM_H
0002 #define BPhysicsOniaDQM_H
0003 
0004 /** \class BPhysicsOniaDQM
0005  *
0006  *  DQM offline for quarkonia
0007  *
0008  *  \author S. Bolognesi, Eric - CERN
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   /// Constructor
0028   BPhysicsOniaDQM(const edm::ParameterSet&);
0029 
0030   /// Destructor
0031   ~BPhysicsOniaDQM() override;
0032 
0033   void bookHistograms(DQMStore::IBooker&, edm::Run const&, edm::EventSetup const&) override;
0034   /// Get the analysis
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   // ----------member data ---------------------------
0044   edm::EDGetTokenT<reco::VertexCollection> vertex_;
0045   // Muon Label
0046   edm::EDGetTokenT<reco::MuonCollection> theMuonCollectionLabel_;
0047   edm::EDGetTokenT<LumiSummary> lumiSummaryToken_;
0048 
0049   // Switch for verbosity
0050   std::string metname;
0051 
0052   // The histos
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