Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef TrackingMonitor_TrackEfficiencyClient_h
0002 #define TrackingMonitor_TrackEfficiencyClient_h
0003 // -*- C++ -*-
0004 //
0005 // Package:    TrackingMonitor
0006 // Class  :    TrackEfficiencyClient
0007 //
0008 /**\class TrackEfficiencyClient TrackEfficiencyClient.h DQM/TrackingMonitor/interface/TrackEfficiencyClient.h
0009 DQM class to compute the tracking efficiency 
0010 */
0011 // Original Author:  A.-C. Le Bihan
0012 //         Created:  Fri Dec  5 12:14:22 CET 2008
0013 
0014 #include <string>
0015 
0016 #include "DQMServices/Core/interface/DQMEDHarvester.h"
0017 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0018 #include "FWCore/Framework/interface/ESHandle.h"
0019 #include "FWCore/Framework/interface/LuminosityBlock.h"
0020 #include "FWCore/Framework/interface/Run.h"
0021 #include "FWCore/Framework/interface/EventSetup.h"
0022 #include "FWCore/Framework/interface/MakerMacros.h"
0023 
0024 #include "DQMServices/Core/interface/DQMStore.h"
0025 
0026 #include <string>
0027 
0028 class TrackEfficiencyClient : public DQMEDHarvester {
0029 public:
0030   /// Constructor
0031   TrackEfficiencyClient(const edm::ParameterSet& ps);
0032 
0033   /// Destructor
0034   ~TrackEfficiencyClient() override;
0035 
0036 protected:
0037   /// BeginJob
0038   void beginJob(void) override;
0039 
0040   /// BeginRun
0041   void beginRun(edm::Run const& run, edm::EventSetup const& eSetup) override;
0042 
0043   /// EndJob
0044   void dqmEndJob(DQMStore::IBooker& ibooker_, DQMStore::IGetter& igetter_) override;
0045 
0046 private:
0047   /// book MEs
0048   void bookMEs(DQMStore::IBooker& ibooker_);
0049 
0050   edm::ParameterSet conf_;
0051 
0052   bool trackEfficiency_;  //1 if one wants to measure the tracking efficiency
0053                           //0 if one wants to measure the muon reco efficiency
0054 
0055   std::string histName;
0056   std::string algoName_;
0057   std::string FolderName_;
0058 
0059   MonitorElement* effX;
0060   MonitorElement* effY;
0061   MonitorElement* effZ;
0062   MonitorElement* effEta;
0063   MonitorElement* effPhi;
0064   MonitorElement* effD0;
0065   MonitorElement* effCompatibleLayers;
0066   MonitorElement *effPtPhiLowPt, *effPtPhiHighPt;
0067 };
0068 #endif