Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:09:38

0001 #ifndef MuonMiniAOD_H
0002 #define MuonMiniAOD_H
0003 
0004 #include <memory>
0005 #include <fstream>
0006 #include "FWCore/Framework/interface/Frameworkfwd.h"
0007 #include "FWCore/Utilities/interface/InputTag.h"
0008 #include "FWCore/Framework/interface/stream/EDAnalyzer.h"  //
0009 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0010 #include "FWCore/Framework/interface/Event.h"
0011 #include "FWCore/Framework/interface/MakerMacros.h"
0012 #include "FWCore/ServiceRegistry/interface/Service.h"
0013 
0014 #include "DQMServices/Core/interface/DQMStore.h"
0015 #include "DQMServices/Core/interface/DQMEDAnalyzer.h"
0016 
0017 #include "DataFormats/PatCandidates/interface/Muon.h"
0018 #include "DataFormats/Common/interface/ValueMap.h"
0019 #include "DataFormats/Common/interface/View.h"
0020 #include "DataFormats/MuonReco/interface/MuonSelectors.h"
0021 #include "DataFormats/PatCandidates/interface/Flags.h"
0022 #include "DataFormats/VertexReco/interface/Vertex.h"
0023 #include "DataFormats/VertexReco/interface/VertexFwd.h"
0024 
0025 class MuonMiniAOD : public DQMEDAnalyzer {
0026 public:
0027   /// Constructor
0028   MuonMiniAOD(const edm::ParameterSet &);
0029 
0030   /// Destructor
0031   ~MuonMiniAOD() override;
0032 
0033   /// Inizialize parameters for histo binning
0034   void analyze(const edm::Event &, const edm::EventSetup &) override;
0035   void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override;
0036 
0037 private:
0038   // ----------member data ---------------------------
0039 
0040   edm::ParameterSet parameters;
0041 
0042   edm::EDGetTokenT<edm::View<pat::Muon> > theMuonCollectionLabel_;
0043   // Switch for verbosity
0044   std::string metname;
0045 
0046   // Monitors:
0047   std::vector<MonitorElement *> workingPoints;
0048   /* MonitorElement* mediumMuons; */
0049   /* MonitorElement* looseMuons; */
0050   /* MonitorElement* softMuons; */
0051   /* MonitorElement* highPtMuons; */
0052 
0053   //Vertex requirements
0054   bool doPVCheck_;
0055   edm::EDGetTokenT<reco::VertexCollection> theVertexLabel_;
0056   edm::EDGetTokenT<reco::BeamSpot> theBeamSpotLabel_;
0057 
0058   bool PassesCut_A(edm::View<pat::Muon>::const_iterator, reco::Vertex, TString);
0059   bool PassesCut_B(edm::View<pat::Muon>::const_iterator, reco::Vertex, TString);
0060 };
0061 #endif