CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/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.20 2011/05/20 17:17:24 wmtan 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 
00039 
00040 #include "FWCore/Framework/interface/EDProducer.h"
00041 #include "FWCore/Framework/interface/Event.h"
00042 #include "FWCore/Framework/interface/EventSetup.h"
00043 #include "DataFormats/Common/interface/Handle.h"
00044 #include "FWCore/Framework/interface/ESHandle.h"
00045 
00046 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00047 
00048 #include <boost/cstdint.hpp>
00049 
00050 #include "Geometry/CommonTopologies/interface/PixelTopology.h"
00051 #include "Geometry/TrackerGeometryBuilder/interface/PixelGeomDetUnit.h"
00052 #include "Geometry/CommonDetUnit/interface/GeomDetType.h" 
00053 #include "Geometry/CommonDetUnit/interface/GeomDetUnit.h" 
00054 #include "Geometry/TrackerGeometryBuilder/interface/GluedGeomDet.h"
00055 #include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h"
00056 #include "Geometry/Records/interface/TrackerDigiGeometryRecord.h"
00057 #include "Geometry/TrackerNumberingBuilder/interface/GeometricDet.h"
00058 #include "Geometry/TrackerGeometryBuilder/interface/PixelGeomDetType.h"
00059 
00060  class SiPixelClusterSource : public edm::EDAnalyzer {
00061     public:
00062        explicit SiPixelClusterSource(const edm::ParameterSet& conf);
00063        ~SiPixelClusterSource();
00064 
00065        typedef edmNew::DetSet<SiPixelCluster>::const_iterator    ClusterIterator;
00066        
00067        virtual void analyze(const edm::Event&, const edm::EventSetup&);
00068        virtual void beginJob() ;
00069        virtual void endJob() ;
00070        virtual void beginRun(const edm::Run&, edm::EventSetup const&) ;
00071 
00072        virtual void buildStructure(edm::EventSetup const&);
00073        virtual void bookMEs();
00074 
00075     private:
00076        edm::ParameterSet conf_;
00077        edm::InputTag src_;
00078        bool saveFile;
00079        bool isPIB;
00080        bool slowDown;
00081        int eventNo;
00082        DQMStore* theDMBE;
00083        std::map<uint32_t,SiPixelClusterModule*> thePixelStructure;
00084        bool modOn; 
00085        bool twoDimOn;
00086        bool reducedSet;
00087        //barrel:
00088        bool ladOn, layOn, phiOn;
00089        //forward:
00090        bool ringOn, bladeOn, diskOn; 
00091        bool smileyOn; //cluster sizeY vs Cluster eta plot 
00092        bool firstRun;
00093        int lumSec;
00094        int nLumiSecs;
00095        int nBigEvents;
00096        MonitorElement* bigFpixClusterEventRate;
00097        int bigEventSize;
00098 
00099   MonitorElement* meClPosLayer1;
00100   MonitorElement* meClPosLayer2;
00101   MonitorElement* meClPosLayer3;
00102   MonitorElement* meClPosDisk1pz;
00103   MonitorElement* meClPosDisk2pz;
00104   MonitorElement* meClPosDisk1mz;
00105   MonitorElement* meClPosDisk2mz;
00106 
00107 
00108 };
00109 
00110 #endif