CMS 3D CMS Logo

/data/git/CMSSW_5_3_11_patch5/src/DQM/SiPixelMonitorRecHit/interface/SiPixelRecHitSource.h

Go to the documentation of this file.
00001 #ifndef SiPixelMonitorRecHits_SiPixelRecHitSource_h
00002 #define SiPixelMonitorRecHits_SiPixelRecHitSource_h
00003 // -*- C++ -*-
00004 //
00005 // Package:     SiPixelMonitorRecHits
00006 // Class  :     SiPixelRecHitSource
00007 // 
00016 //
00017 // Original Author:  Vincenzo Chiochia
00018 //         Created:  
00019 // $Id: SiPixelRecHitSource.h,v 1.10 2011/05/20 17:17:24 wmtan Exp $
00020 //
00021 // Updated by: Keith Rose
00022 // for use in SiPixelMonitorRecHits
00023 // Updated by: Lukas Wehrli
00024 // for pixel offline DQM 
00025 
00026 
00027 #include <memory>
00028 
00029 // user include files
00030 #include "FWCore/Framework/interface/Frameworkfwd.h"
00031 #include "FWCore/Framework/interface/EDAnalyzer.h"
00032 #include "FWCore/Framework/interface/MakerMacros.h"
00033 
00034 #include "DQMServices/Core/interface/DQMStore.h"
00035 
00036 #include "DQM/SiPixelMonitorRecHit/interface/SiPixelRecHitModule.h"
00037 
00038 #include "DataFormats/Common/interface/DetSetVector.h"
00039 #include "DataFormats/TrackerRecHit2D/interface/SiPixelRecHit.h"
00040 #include "DataFormats/TrackerRecHit2D/interface/SiPixelRecHitCollection.h"
00041 #include "DataFormats/SiPixelCluster/interface/SiPixelCluster.h"
00042 
00043 
00044 #include "FWCore/Framework/interface/EDProducer.h"
00045 #include "FWCore/Framework/interface/Event.h"
00046 #include "FWCore/Framework/interface/EventSetup.h"
00047 #include "DataFormats/Common/interface/Handle.h"
00048 #include "FWCore/Framework/interface/ESHandle.h"
00049 
00050 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00051 
00052 #include <boost/cstdint.hpp>
00053 
00054  class SiPixelRecHitSource : public edm::EDAnalyzer {
00055     public:
00056        explicit SiPixelRecHitSource(const edm::ParameterSet& conf);
00057        ~SiPixelRecHitSource();
00058 
00059 //       typedef edm::DetSet<PixelRecHit>::const_iterator    RecHitIterator;
00060        
00061        virtual void analyze(const edm::Event&, const edm::EventSetup&);
00062        virtual void beginJob() ;
00063        virtual void endJob() ;
00064        virtual void beginRun(const edm::Run&, edm::EventSetup const&) ;
00065 
00066        virtual void buildStructure(edm::EventSetup const&);
00067        virtual void bookMEs();
00068 
00069     private:
00070        edm::ParameterSet conf_;
00071        edm::InputTag src_;
00072        bool saveFile;
00073        bool isPIB;
00074        bool slowDown;
00075        int eventNo;
00076        DQMStore* theDMBE;
00077        std::map<uint32_t,SiPixelRecHitModule*> thePixelStructure;
00078        std::map<uint32_t,int> rechit_count;
00079        bool modOn; 
00080        bool twoDimOn;
00081        bool reducedSet;
00082         //barrel:
00083        bool ladOn, layOn, phiOn;
00084        //forward:
00085        bool ringOn, bladeOn, diskOn; 
00086        
00087        bool firstRun;
00088 
00089  };
00090 
00091 #endif