CMS 3D CMS Logo

/data/doxygen/doxygen-1.7.3/gen/CMSSW_4_2_8/src/DQM/SiPixelMonitorCluster/interface/SiPixelClusterSource.h

Go to the documentation of this file.
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