Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef DTPreCalibrationTask_H
0002 #define DTPreCalibrationTask_H
0003 
0004 /** \class DTPreCalibrationTask
0005  *  Analysis on DT digis (TB + occupancy) before the calibration step
0006  *
0007  *
0008  *  \author G. Mila - INFN Torino
0009  */
0010 
0011 #include "DQMServices/Core/interface/DQMEDAnalyzer.h"
0012 #include "DQMServices/Core/interface/DQMStore.h"
0013 #include "FWCore/Framework/interface/Frameworkfwd.h"
0014 #include "FWCore/Framework/interface/MakerMacros.h"
0015 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0016 #include "FWCore/ServiceRegistry/interface/Service.h"
0017 #include "RecoMuon/TrackingTools/interface/MuonServiceProxy.h"
0018 #include <FWCore/Framework/interface/ESHandle.h>
0019 
0020 #include "DataFormats/DTDigi/interface/DTDigiCollection.h"
0021 #include <DataFormats/DTDigi/interface/DTDigi.h>
0022 
0023 #include <map>
0024 #include <string>
0025 #include <vector>
0026 
0027 class DTPreCalibrationTask : public DQMEDAnalyzer {
0028 public:
0029   /// Constructor
0030   DTPreCalibrationTask(const edm::ParameterSet &ps);
0031 
0032   /// Destructor
0033   ~DTPreCalibrationTask() override;
0034 
0035   void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override;
0036   void analyze(const edm::Event &, const edm::EventSetup &) override;
0037 
0038   /// Book histos
0039   void bookTimeBoxes(DQMStore::IBooker &, int wheel, int sector);
0040   void bookOccupancyPlot(DQMStore::IBooker &, int wheel, int sector);
0041 
0042 private:
0043   edm::EDGetTokenT<DTDigiCollection> digiLabel;
0044   int minTriggerWidth;
0045   int maxTriggerWidth;
0046   std::string folderName;
0047 
0048   // Time boxes map
0049   std::map<std::pair<int, int>, MonitorElement *> TimeBoxes;
0050 
0051   // Occupancy plot map
0052   std::map<std::pair<int, int>, MonitorElement *> OccupancyHistos;
0053 };
0054 #endif