00001 00002 #ifndef _LAST0PRODUCERDQM_H 00003 #define _LAST0PRODUCERDQM_H 00004 00005 // -*- C++ -*- 00006 // 00007 // Package: Alignment/LaserAlignment 00008 // Class: LaserAlignmentT0ProducerDQM 00009 // 00010 00011 // 00012 // DQM module for the 00013 // Laser Alignment AlCaReco producer 00014 // (LaserAlignmentT0Producer from Alignment/LaserAlignment) 00015 // 00016 00017 #include <string> 00018 #include <vector> 00019 #include <iostream> 00020 #include <sstream> 00021 00022 #include "FWCore/Framework/interface/EDAnalyzer.h" 00023 #include "FWCore/Framework/interface/Event.h" 00024 #include "FWCore/MessageLogger/interface/MessageLogger.h" 00025 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00026 #include "FWCore/ServiceRegistry/interface/Service.h" 00027 #include "FWCore/Framework/interface/Frameworkfwd.h" 00028 #include "FWCore/Framework/interface/MakerMacros.h" 00029 00030 #include "DQMServices/Core/interface/MonitorElement.h" 00031 #include "DQMServices/Core/interface/DQMStore.h" 00032 00033 #include "DataFormats/Common/interface/DetSetVector.h" 00034 #include "DataFormats/SiStripDigi/interface/SiStripDigi.h" 00035 #include "DataFormats/SiStripDigi/interface/SiStripRawDigi.h" 00036 00037 #include "Alignment/LaserAlignment/interface/LASGlobalData.h" 00038 #include "Alignment/LaserAlignment/interface/LASGlobalLoop.h" 00039 00040 00041 00042 class LaserAlignmentT0ProducerDQM : public edm::EDAnalyzer { 00043 00044 public: 00045 00046 explicit LaserAlignmentT0ProducerDQM( const edm::ParameterSet& ); 00047 ~LaserAlignmentT0ProducerDQM(); 00048 virtual void beginJob(); 00049 virtual void endJob( void ); 00050 virtual void analyze( const edm::Event&, const edm::EventSetup& ); 00051 00052 private: 00053 00054 void FillFromRawDigis( const edm::DetSetVector<SiStripRawDigi>& ); 00055 void FillFromProcessedDigis( const edm::DetSetVector<SiStripDigi>& ); 00056 void FillDetectorId( void ); 00057 00058 DQMStore* theDqmStore; 00059 edm::ParameterSet theConfiguration; 00060 std::vector<edm::ParameterSet> theDigiProducerList; 00061 00062 std::vector<int> tecDoubleHitDetId; 00063 LASGlobalData<int> detectorId; 00064 00065 unsigned int theLowerAdcThreshold; 00066 unsigned int theUpperAdcThreshold; 00067 00068 //2D 00069 MonitorElement* nSignalsAT; 00070 MonitorElement* nSignalsTECPlusR4; 00071 MonitorElement* nSignalsTECPlusR6; 00072 MonitorElement* nSignalsTECMinusR4; 00073 MonitorElement* nSignalsTECMinusR6; 00074 00075 }; 00076 00077 #endif