![]() |
![]() |
00001 #ifndef SiPixelMonitorCluster_SiPixelClusterSource_h 00002 #define SiPixelMonitorCluster_SiPixelClusterSource_h 00003 // -*- C++ -*- 00004 // 00005 // Package: SiPixelMonitorCluster 00006 // Class : SiPixelClusterSource 00007 // 00008 /* 00009 00010 Description: <one line class summary> 00011 00012 Usage: 00013 <usage> 00014 00015 */ 00016 // 00017 // Original Author: Vincenzo Chiochia & Andrew York 00018 // 00019 // Updated by: Lukas Wehrli 00020 // for pixel offline DQM 00021 // Created: 00022 // $Id: SiPixelClusterSource.h,v 1.19 2010/12/13 14:18:23 merkelp Exp $ 00023 00024 #include <memory> 00025 00026 // user include files 00027 #include "FWCore/Framework/interface/Frameworkfwd.h" 00028 #include "FWCore/Framework/interface/EDAnalyzer.h" 00029 #include "FWCore/Framework/interface/MakerMacros.h" 00030 00031 #include "DQMServices/Core/interface/DQMStore.h" 00032 00033 #include "DQM/SiPixelMonitorCluster/interface/SiPixelClusterModule.h" 00034 00035 #include "DataFormats/Common/interface/DetSetVectorNew.h" 00036 #include "DataFormats/SiPixelDigi/interface/PixelDigi.h" 00037 #include "DataFormats/SiPixelCluster/interface/SiPixelCluster.h" 00038 #include "DataFormats/Common/interface/EDProduct.h" 00039 00040 00041 #include "FWCore/Framework/interface/EDProducer.h" 00042 #include "FWCore/Framework/interface/Event.h" 00043 #include "FWCore/Framework/interface/EventSetup.h" 00044 #include "DataFormats/Common/interface/Handle.h" 00045 #include "FWCore/Framework/interface/ESHandle.h" 00046 00047 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00048 00049 #include <boost/cstdint.hpp> 00050 00051 #include "Geometry/CommonTopologies/interface/PixelTopology.h" 00052 #include "Geometry/TrackerGeometryBuilder/interface/PixelGeomDetUnit.h" 00053 #include "Geometry/CommonDetUnit/interface/GeomDetType.h" 00054 #include "Geometry/CommonDetUnit/interface/GeomDetUnit.h" 00055 #include "Geometry/TrackerGeometryBuilder/interface/GluedGeomDet.h" 00056 #include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h" 00057 #include "Geometry/Records/interface/TrackerDigiGeometryRecord.h" 00058 #include "Geometry/TrackerNumberingBuilder/interface/GeometricDet.h" 00059 #include "Geometry/TrackerGeometryBuilder/interface/PixelGeomDetType.h" 00060 00061 class SiPixelClusterSource : public edm::EDAnalyzer { 00062 public: 00063 explicit SiPixelClusterSource(const edm::ParameterSet& conf); 00064 ~SiPixelClusterSource(); 00065 00066 typedef edmNew::DetSet<SiPixelCluster>::const_iterator ClusterIterator; 00067 00068 virtual void analyze(const edm::Event&, const edm::EventSetup&); 00069 virtual void beginJob() ; 00070 virtual void endJob() ; 00071 virtual void beginRun(const edm::Run&, edm::EventSetup const&) ; 00072 00073 virtual void buildStructure(edm::EventSetup const&); 00074 virtual void bookMEs(); 00075 00076 private: 00077 edm::ParameterSet conf_; 00078 edm::InputTag src_; 00079 bool saveFile; 00080 bool isPIB; 00081 bool slowDown; 00082 int eventNo; 00083 DQMStore* theDMBE; 00084 std::map<uint32_t,SiPixelClusterModule*> thePixelStructure; 00085 bool modOn; 00086 bool twoDimOn; 00087 bool reducedSet; 00088 //barrel: 00089 bool ladOn, layOn, phiOn; 00090 //forward: 00091 bool ringOn, bladeOn, diskOn; 00092 bool smileyOn; //cluster sizeY vs Cluster eta plot 00093 bool firstRun; 00094 int lumSec; 00095 int nLumiSecs; 00096 int nBigEvents; 00097 MonitorElement* bigFpixClusterEventRate; 00098 int bigEventSize; 00099 00100 MonitorElement* meClPosLayer1; 00101 MonitorElement* meClPosLayer2; 00102 MonitorElement* meClPosLayer3; 00103 MonitorElement* meClPosDisk1pz; 00104 MonitorElement* meClPosDisk2pz; 00105 MonitorElement* meClPosDisk1mz; 00106 MonitorElement* meClPosDisk2mz; 00107 00108 00109 }; 00110 00111 #endif