Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:07:10

0001 #ifndef DTOccupancyEfficiency_H
0002 #define DTOccupancyEfficiency_H
0003 
0004 /** \class DTOccupancyEfficiency
0005  *  DQM Analysis of 4D DT segments, DTdigis and DTRecHits : <br>
0006  *   
0007  */
0008 
0009 #include "FWCore/Framework/interface/Frameworkfwd.h"
0010 #include "DataFormats/Common/interface/Handle.h"
0011 #include "FWCore/Framework/interface/ESHandle.h"
0012 #include "DataFormats/DTRecHit/interface/DTRecSegment4DCollection.h"
0013 #include "DataFormats/DTRecHit/interface/DTRecHitCollection.h"
0014 #include "DataFormats/DTDigi/interface/DTDigiCollection.h"
0015 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0016 
0017 #include "DQMServices/Core/interface/DQMStore.h"
0018 #include "FWCore/ServiceRegistry/interface/Service.h"
0019 #include "DQMServices/Core/interface/DQMEDAnalyzer.h"
0020 
0021 #include <string>
0022 #include <map>
0023 #include <vector>
0024 
0025 class DTOccupancyEfficiency : public DQMEDAnalyzer {
0026 public:
0027   /// Constructor
0028   DTOccupancyEfficiency(const edm::ParameterSet& pset);
0029 
0030   /// Destructor
0031   ~DTOccupancyEfficiency() override;
0032 
0033   // Operations
0034   void analyze(const edm::Event& event, const edm::EventSetup& setup) override;
0035 
0036 protected:
0037   // Book the histograms
0038   void bookHistograms(DQMStore::IBooker&, edm::Run const&, edm::EventSetup const&) override;
0039 
0040 private:
0041   // Switch for verbosity
0042   bool debug;
0043 
0044   // Label for Digis
0045   edm::EDGetTokenT<DTDigiCollection> dtDigiToken_;
0046 
0047   // Label of 4D segments in the event
0048   edm::EDGetTokenT<DTRecSegment4DCollection> recHits4DToken_;
0049 
0050   // Lable of 1D rechits in the event
0051   edm::EDGetTokenT<DTRecHitCollection> recHitToken_;
0052 
0053   edm::ParameterSet parameters;
0054 
0055   MonitorElement* timeBoxesPerEvent;
0056   MonitorElement* digisPerEvent;
0057   MonitorElement* segments4DPerEvent;
0058   MonitorElement* recHitsPerEvent;
0059   MonitorElement* recHitsPer4DSegment;
0060   MonitorElement* t0From4DPhiSegment;
0061   MonitorElement* t0From4DZSegment;
0062   // station, wheel for ints
0063   std::map<int, std::map<int, MonitorElement*> > timeBoxesPerRing;
0064   std::map<int, std::map<int, MonitorElement*> > digisPerRing;
0065 };
0066 #endif
0067 
0068 /* Local Variables: */
0069 /* show-trailing-whitespace: t */
0070 /* truncate-lines: t */
0071 /* End: */