Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 
0002 #ifndef _LAST0PRODUCERDQM_H
0003 #define _LAST0PRODUCERDQM_H
0004 
0005 // -*- C++ -*-
0006 //
0007 // Package:    Alignment/LaserAlignment
0008 // Class:      LaserAlignmentT0ProducerDQM
0009 //
0010 
0011 //
0012 // DQM module for the
0013 // Laser Alignment AlCaReco producer
0014 // (LaserAlignmentT0Producer from Alignment/LaserAlignment)
0015 //
0016 
0017 #include <iostream>
0018 #include <sstream>
0019 #include <string>
0020 #include <vector>
0021 
0022 #include "FWCore/Framework/interface/Event.h"
0023 #include "FWCore/Framework/interface/Frameworkfwd.h"
0024 #include "FWCore/Framework/interface/MakerMacros.h"
0025 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0026 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0027 #include "FWCore/ServiceRegistry/interface/Service.h"
0028 
0029 #include "DQMServices/Core/interface/DQMEDAnalyzer.h"
0030 #include "DQMServices/Core/interface/DQMStore.h"
0031 
0032 #include "DataFormats/Common/interface/DetSetVector.h"
0033 #include "DataFormats/SiStripDigi/interface/SiStripDigi.h"
0034 #include "DataFormats/SiStripDigi/interface/SiStripRawDigi.h"
0035 
0036 #include "Alignment/LaserAlignment/interface/LASGlobalData.h"
0037 #include "Alignment/LaserAlignment/interface/LASGlobalLoop.h"
0038 
0039 class LaserAlignmentT0ProducerDQM : public DQMEDAnalyzer {
0040 public:
0041   explicit LaserAlignmentT0ProducerDQM(const edm::ParameterSet &);
0042   ~LaserAlignmentT0ProducerDQM() override;
0043 
0044   void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override;
0045   void analyze(const edm::Event &, const edm::EventSetup &) override;
0046 
0047 private:
0048   void FillFromRawDigis(const edm::DetSetVector<SiStripRawDigi> &);
0049   void FillFromProcessedDigis(const edm::DetSetVector<SiStripDigi> &);
0050   void FillDetectorId(void);
0051 
0052   edm::ParameterSet theConfiguration;
0053   std::vector<edm::ParameterSet> theDigiProducerList;
0054 
0055   std::vector<int> tecDoubleHitDetId;
0056   LASGlobalData<int> detectorId;
0057 
0058   unsigned int theLowerAdcThreshold;
0059   unsigned int theUpperAdcThreshold;
0060 
0061   // 2D
0062   MonitorElement *nSignalsAT;
0063   MonitorElement *nSignalsTECPlusR4;
0064   MonitorElement *nSignalsTECPlusR6;
0065   MonitorElement *nSignalsTECMinusR4;
0066   MonitorElement *nSignalsTECMinusR6;
0067 };
0068 
0069 #endif