CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_6/src/DQM/SiStripMonitorPedestals/interface/SiStripMonitorPedestals.h

Go to the documentation of this file.
00001 #ifndef SiStripMonitorPedestals_SiStripMonitorPedestals_h
00002 #define SiStripMonitorPedestals_SiStripMonitorPedestals_h
00003 // -*- C++ -*-
00004 //
00005 // Package:     SiStripMonitorPedestals
00006 // Class  :     SiStripMonitorPedestals
00007 // 
00016 //
00017 // Original Author:  gennai, dutta
00018 //         Created:  Sat Feb  4 20:49:51 CET 2006
00019 // $Id: SiStripMonitorPedestals.h,v 1.16 2009/11/05 21:08:28 dutta Exp $
00020 //
00021 
00022 // system include files
00023 #include <memory>
00024 
00025 // user include files
00026 #include "FWCore/Framework/interface/Frameworkfwd.h"
00027 #include "FWCore/Framework/interface/EDAnalyzer.h"
00028 #include "FWCore/Framework/interface/ESHandle.h"
00029 #include "FWCore/Framework/interface/Event.h"
00030 #include "FWCore/Framework/interface/MakerMacros.h"
00031 
00032 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00033 
00034 
00035 // data formats
00036 #include "DataFormats/FEDRawData/interface/FEDRawDataCollection.h"
00037 #include "DataFormats/Common/interface/DetSetVector.h"
00038 #include "DataFormats/SiStripDigi/interface/SiStripDigi.h"
00039 #include "DataFormats/SiStripDigi/interface/SiStripRawDigi.h"
00040 
00041 // cabling
00042 #include "CalibTracker/Records/interface/SiStripDetCablingRcd.h"
00043 #include "CalibFormats/SiStripObjects/interface/SiStripDetCabling.h"
00044 
00045 
00046 #include "boost/cstdint.hpp"
00047 #include <iomanip>
00048 #include <string>
00049 
00050 class ApvAnalysisFactory;
00051 class MonitorElement;
00052 class DQMStore;
00053 class SiStripDetCabling;
00054 
00055 class SiStripMonitorPedestals : public edm::EDAnalyzer {
00056  public:
00057   explicit SiStripMonitorPedestals(const edm::ParameterSet&);
00058   ~SiStripMonitorPedestals();
00059   
00060   virtual void beginJob() ;
00061   virtual void beginRun(edm::Run const& run, edm::EventSetup const& eSetup);
00062   virtual void analyze(const edm::Event&, const edm::EventSetup&);
00063   virtual void endRun(edm::Run const& run, edm::EventSetup const& eSetup);
00064   virtual void endJob() ;
00065 
00066    
00067  private:
00068 
00069   void resetMEs(uint32_t idet);
00070   void createMEs();
00071   void fillCondDBMEs(edm::EventSetup const& eSetup);
00072 
00073   struct ModMEs{
00074     MonitorElement* PedsPerStrip;
00075     MonitorElement* PedsDistribution;
00076     MonitorElement* PedsEvolution;
00077     
00078     MonitorElement* CMSubNoisePerStrip;
00079     MonitorElement* RawNoisePerStrip;
00080     MonitorElement* CMSubNoiseProfile;
00081     MonitorElement* RawNoiseProfile;
00082     MonitorElement* NoisyStrips;
00083     MonitorElement* NoisyStripDistribution;
00084     
00085     MonitorElement* CMDistribution;
00086     MonitorElement* CMSlopeDistribution;
00087     
00088     
00089     //MonitorElements for CondDB data display
00090     MonitorElement* PedsPerStripDB;
00091     MonitorElement* CMSubNoisePerStripDB;
00092     MonitorElement* BadStripsDB;
00093   };
00094   
00095   DQMStore* dqmStore_;
00096   edm::ParameterSet conf_;
00097   std::map<uint32_t, ModMEs> PedMEs;
00098   edm::ESHandle<SiStripDetCabling> detcabling;
00099   edm::ParameterSet pedsPSet_;
00100   bool analyzed;
00101   bool firstEvent;
00102   
00103   //The following to be put inside the parametersets
00104   int16_t nEvUpdate_;
00105   int16_t signalCutPeds_;
00106   int16_t nEvTot_;
00107   int16_t nEvInit_;
00108   int nIteration_;
00109   ApvAnalysisFactory* apvFactory_;
00110   int  theEventInitNumber_; 
00111   int theEventIterNumber_;
00112   int NumCMstripsInGroup_;
00113   std::string  runTypeFlag_;
00114   std::string outPutFileName;
00115   unsigned long long m_cacheID_;
00116 
00117   static const std::string RunMode1;
00118   static const std::string RunMode2;
00119   static const std::string RunMode3;
00120 
00121 };
00122 
00123 #endif