CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch9/src/DQM/SiPixelMonitorDigi/interface/SiPixelDigiSource.h

Go to the documentation of this file.
00001 #ifndef SiPixelMonitorDigi_SiPixelDigiSource_h
00002 #define SiPixelMonitorDigi_SiPixelDigiSource_h
00003 // -*- C++ -*-
00004 //
00005 // Package:     SiPixelMonitorDigi
00006 // Class  :     SiPixelDigiSource
00007 // 
00016 //
00017 // Original Author:  Vincenzo Chiochia
00018 //         Created:  
00019 // $Id: SiPixelDigiSource.h,v 1.23 2010/11/03 21:38:38 merkelp Exp $
00020 //
00021 
00022 #include <memory>
00023 
00024 // user include files
00025 #include "FWCore/Framework/interface/Frameworkfwd.h"
00026 #include "FWCore/Framework/interface/EDAnalyzer.h"
00027 #include "FWCore/Framework/interface/MakerMacros.h"
00028 
00029 #include "DQMServices/Core/interface/DQMStore.h"
00030 
00031 #include "DQM/SiPixelMonitorDigi/interface/SiPixelDigiModule.h"
00032 
00033 #include "DataFormats/Common/interface/DetSetVector.h"
00034 #include "DataFormats/SiPixelDigi/interface/PixelDigi.h"
00035 #include "DataFormats/SiPixelCluster/interface/SiPixelCluster.h"
00036 #include "DataFormats/Common/interface/EDProduct.h"
00037 
00038 
00039 #include "FWCore/Framework/interface/EDProducer.h"
00040 #include "FWCore/Framework/interface/Event.h"
00041 #include "FWCore/Framework/interface/EventSetup.h"
00042 #include "DataFormats/Common/interface/Handle.h"
00043 #include "FWCore/Framework/interface/ESHandle.h"
00044 
00045 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00046 
00047 #include <boost/cstdint.hpp>
00048 
00049  class SiPixelDigiSource : public edm::EDAnalyzer {
00050     public:
00051        explicit SiPixelDigiSource(const edm::ParameterSet& conf);
00052        ~SiPixelDigiSource();
00053 
00054        typedef edm::DetSet<PixelDigi>::const_iterator    DigiIterator;
00055        
00056        virtual void analyze(const edm::Event&, const edm::EventSetup&);
00057        virtual void beginJob() ;
00058        virtual void endJob() ;
00059        virtual void beginRun(const edm::Run&, edm::EventSetup const&) ;
00060 
00061        virtual void buildStructure(edm::EventSetup const&);
00062        virtual void bookMEs();
00063 
00064     private:
00065        edm::ParameterSet conf_;
00066        edm::InputTag src_;
00067        bool saveFile;
00068        bool isPIB;
00069        bool slowDown;
00070        bool modOn; 
00071        bool twoDimOn;
00072        bool twoDimModOn; 
00073        bool twoDimOnlyLayDisk;
00074        bool hiRes;
00075        bool reducedSet;
00076        //barrel:
00077        bool ladOn, layOn, phiOn;
00078        //forward:
00079        bool ringOn, bladeOn, diskOn; 
00080        int eventNo;
00081        int lumSec;
00082        int nLumiSecs;
00083        DQMStore* theDMBE;
00084        std::map<uint32_t,SiPixelDigiModule*> thePixelStructure;
00085 
00086        int nBigEvents;
00087        int nBPIXDigis;
00088        int nFPIXDigis;
00089        MonitorElement* bigEventRate;
00090        MonitorElement* pixEvtsPerBX;
00091        MonitorElement* pixEventRate;
00092        MonitorElement* averageDigiOccupancy;
00093        MonitorElement* avgfedDigiOccvsLumi;
00094        MonitorElement* meNDigisCOMBBarrel_;
00095        MonitorElement* meNDigisCOMBEndcap_;
00096        MonitorElement* meNDigisCHANBarrel_;
00097        MonitorElement* meNDigisCHANBarrelL1_;
00098        MonitorElement* meNDigisCHANBarrelL2_;
00099        MonitorElement* meNDigisCHANBarrelL3_;
00100        MonitorElement* meNDigisCHANBarrelCh1_;
00101        MonitorElement* meNDigisCHANBarrelCh2_;
00102        MonitorElement* meNDigisCHANBarrelCh3_;
00103        MonitorElement* meNDigisCHANBarrelCh4_;
00104        MonitorElement* meNDigisCHANBarrelCh5_;
00105        MonitorElement* meNDigisCHANBarrelCh6_;
00106        MonitorElement* meNDigisCHANBarrelCh7_;
00107        MonitorElement* meNDigisCHANBarrelCh8_;
00108        MonitorElement* meNDigisCHANBarrelCh9_;
00109        MonitorElement* meNDigisCHANBarrelCh10_;
00110        MonitorElement* meNDigisCHANBarrelCh11_;
00111        MonitorElement* meNDigisCHANBarrelCh12_;
00112        MonitorElement* meNDigisCHANBarrelCh13_;
00113        MonitorElement* meNDigisCHANBarrelCh14_;
00114        MonitorElement* meNDigisCHANBarrelCh15_;
00115        MonitorElement* meNDigisCHANBarrelCh16_;
00116        MonitorElement* meNDigisCHANBarrelCh17_;
00117        MonitorElement* meNDigisCHANBarrelCh18_;
00118        MonitorElement* meNDigisCHANBarrelCh19_;
00119        MonitorElement* meNDigisCHANBarrelCh20_;
00120        MonitorElement* meNDigisCHANBarrelCh21_;
00121        MonitorElement* meNDigisCHANBarrelCh22_;
00122        MonitorElement* meNDigisCHANBarrelCh23_;
00123        MonitorElement* meNDigisCHANBarrelCh24_;
00124        MonitorElement* meNDigisCHANBarrelCh25_;
00125        MonitorElement* meNDigisCHANBarrelCh26_;
00126        MonitorElement* meNDigisCHANBarrelCh27_;
00127        MonitorElement* meNDigisCHANBarrelCh28_;
00128        MonitorElement* meNDigisCHANBarrelCh29_;
00129        MonitorElement* meNDigisCHANBarrelCh30_;
00130        MonitorElement* meNDigisCHANBarrelCh31_;
00131        MonitorElement* meNDigisCHANBarrelCh32_;
00132        MonitorElement* meNDigisCHANBarrelCh33_;
00133        MonitorElement* meNDigisCHANBarrelCh34_;
00134        MonitorElement* meNDigisCHANBarrelCh35_;
00135        MonitorElement* meNDigisCHANBarrelCh36_;
00136        MonitorElement* meNDigisCHANEndcap_;
00137        MonitorElement* meNDigisCHANEndcapDp1_;
00138        MonitorElement* meNDigisCHANEndcapDp2_;
00139        MonitorElement* meNDigisCHANEndcapDm1_;
00140        MonitorElement* meNDigisCHANEndcapDm2_;
00141        
00142        int bigEventSize;
00143        
00144        bool firstRun;
00145        
00146        std::string I_name[1440];
00147        unsigned int I_detId[1440];
00148        int I_fedId[1440];
00149        int I_linkId1[1440];
00150        int I_linkId2[1440];
00151        int nDigisPerFed[40];
00152        int nDigisPerChan[1152];
00153        int nDigisPerDisk[4];
00154        int numberOfDigis[192];
00155        int nDigisA;
00156        int nDigisB;
00157  };
00158 
00159 #endif