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