Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-17 10:54:08

0001 #ifndef DTChamberEfficiencyTest_H
0002 #define DTChamberEfficiencyTest_H
0003 
0004 /** \class DTChamberEfficiencyTest
0005  * *
0006  *  DQM Test Client
0007  *
0008  *  \author  G. Mila - INFN Torino
0009  *
0010  *  threadsafe version (//-) oct/nov 2014 - WATWanAbdullah ncpp-um-my
0011  *
0012  *   
0013  */
0014 
0015 #include "FWCore/Framework/interface/Frameworkfwd.h"
0016 #include "DataFormats/Common/interface/Handle.h"
0017 #include "FWCore/Framework/interface/ESHandle.h"
0018 #include "FWCore/Framework/interface/Event.h"
0019 #include "FWCore/Framework/interface/MakerMacros.h"
0020 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0021 #include "FWCore/Framework/interface/LuminosityBlock.h"
0022 
0023 #include "DQMServices/Core/interface/DQMStore.h"
0024 #include "FWCore/ServiceRegistry/interface/Service.h"
0025 
0026 #include "Geometry/Records/interface/MuonGeometryRecord.h"
0027 
0028 #include "DQMServices/Core/interface/DQMEDHarvester.h"
0029 
0030 #include <memory>
0031 #include <iostream>
0032 #include <fstream>
0033 #include <string>
0034 #include <vector>
0035 #include <map>
0036 
0037 class DTGeometry;
0038 class DTChamberId;
0039 class DTSuperLayerId;
0040 class DTLayerId;
0041 
0042 class DTChamberEfficiencyTest : public DQMEDHarvester {
0043 public:
0044   /// Constructor
0045   DTChamberEfficiencyTest(const edm::ParameterSet &ps);
0046 
0047   /// Destructor
0048   ~DTChamberEfficiencyTest() override;
0049 
0050 protected:
0051   void dqmEndJob(DQMStore::IBooker &, DQMStore::IGetter &) override;
0052 
0053   /// book the new ME
0054   void bookHistos(DQMStore::IBooker &, const DTChamberId &ch);
0055 
0056   /// book the report summary
0057   void bookHistos(DQMStore::IBooker &);
0058 
0059   /// Get the ME name
0060   std::string getMEName(std::string histoTag, const DTChamberId &chID);
0061 
0062   /// DQM Client Diagnostic
0063   void dqmEndLuminosityBlock(DQMStore::IBooker &,
0064                              DQMStore::IGetter &,
0065                              edm::LuminosityBlock const &,
0066                              edm::EventSetup const &) override;
0067 
0068 private:
0069   int nevents;
0070   unsigned int nLumiSegs;
0071   int prescaleFactor;
0072   int run;
0073 
0074   bool bookingdone;
0075 
0076   edm::ParameterSet parameters;
0077 
0078   edm::ESGetToken<DTGeometry, MuonGeometryRecord> muonGeomToken_;
0079   const DTGeometry *muonGeom;
0080 
0081   std::map<std::string, MonitorElement *> xEfficiencyHistos;
0082   std::map<std::string, MonitorElement *> yEfficiencyHistos;
0083   std::map<std::string, MonitorElement *> xVSyEffHistos;
0084   std::map<int, MonitorElement *> summaryHistos;
0085 };
0086 
0087 #endif