CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_2_9/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.26 2012/06/26 14:06:43 duggan 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 
00037 
00038 #include "FWCore/Framework/interface/EDProducer.h"
00039 #include "FWCore/Framework/interface/Event.h"
00040 #include "FWCore/Framework/interface/EventSetup.h"
00041 #include "DataFormats/Common/interface/Handle.h"
00042 #include "FWCore/Framework/interface/ESHandle.h"
00043 
00044 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00045 
00046 #include <boost/cstdint.hpp>
00047 
00048  class SiPixelDigiSource : public edm::EDAnalyzer {
00049     public:
00050        explicit SiPixelDigiSource(const edm::ParameterSet& conf);
00051        ~SiPixelDigiSource();
00052 
00053        typedef edm::DetSet<PixelDigi>::const_iterator    DigiIterator;
00054        
00055        virtual void analyze(const edm::Event&, const edm::EventSetup&);
00056        virtual void beginJob() ;
00057        virtual void endJob() ;
00058        virtual void beginRun(const edm::Run&, edm::EventSetup const&) ;
00059 
00060        virtual void buildStructure(edm::EventSetup const&);
00061        virtual void bookMEs();
00062 
00063     private:
00064        edm::ParameterSet conf_;
00065        edm::InputTag src_;
00066        bool saveFile;
00067        bool isPIB;
00068        bool slowDown;
00069        bool modOn; 
00070        bool twoDimOn;
00071        bool twoDimModOn; 
00072        bool twoDimOnlyLayDisk;
00073        bool hiRes;
00074        bool reducedSet;
00075        //barrel:
00076        bool ladOn, layOn, phiOn;
00077        //forward:
00078        bool ringOn, bladeOn, diskOn; 
00079        int eventNo;
00080        int lumSec;
00081        int nLumiSecs;
00082        DQMStore* theDMBE;
00083        std::map<uint32_t,SiPixelDigiModule*> thePixelStructure;
00084 
00085        int nDP1P1M1;
00086        int nDP1P1M2;
00087        int nDP1P1M3;
00088        int nDP1P1M4;
00089        int nDP1P2M1;
00090        int nDP1P2M2;
00091        int nDP1P2M3;
00092        int nDP2P1M1;
00093        int nDP2P1M2;
00094        int nDP2P1M3;
00095        int nDP2P1M4;
00096        int nDP2P2M1;
00097        int nDP2P2M2;
00098        int nDP2P2M3;
00099        int nDM1P1M1;
00100        int nDM1P1M2;
00101        int nDM1P1M3;
00102        int nDM1P1M4;
00103        int nDM1P2M1;
00104        int nDM1P2M2;
00105        int nDM1P2M3;
00106        int nDM2P1M1;
00107        int nDM2P1M2;
00108        int nDM2P1M3;
00109        int nDM2P1M4;
00110        int nDM2P2M1;
00111        int nDM2P2M2;
00112        int nDM2P2M3;
00113        int nL1M1;
00114        int nL1M2;
00115        int nL1M3;
00116        int nL1M4;
00117        int nL2M1;
00118        int nL2M2;
00119        int nL2M3;
00120        int nL2M4;
00121        int nL3M1;
00122        int nL3M2;
00123        int nL3M3;
00124        int nL3M4;
00125        int nBigEvents;
00126        int nBPIXDigis;
00127        int nFPIXDigis;
00128        MonitorElement* bigEventRate;
00129        MonitorElement* pixEvtsPerBX;
00130        MonitorElement* pixEventRate;
00131        MonitorElement* noOccROCsBarrel;
00132        MonitorElement* loOccROCsBarrel;
00133        MonitorElement* noOccROCsEndcap;
00134        MonitorElement* loOccROCsEndcap;
00135        MonitorElement* averageDigiOccupancy;
00136        MonitorElement* avgfedDigiOccvsLumi;
00137        MonitorElement* meNDigisCOMBBarrel_;
00138        MonitorElement* meNDigisCOMBEndcap_;
00139        MonitorElement* meNDigisCHANBarrel_;
00140        MonitorElement* meNDigisCHANBarrelL1_;
00141        MonitorElement* meNDigisCHANBarrelL2_;
00142        MonitorElement* meNDigisCHANBarrelL3_;
00143        MonitorElement* meNDigisCHANBarrelCh1_;
00144        MonitorElement* meNDigisCHANBarrelCh2_;
00145        MonitorElement* meNDigisCHANBarrelCh3_;
00146        MonitorElement* meNDigisCHANBarrelCh4_;
00147        MonitorElement* meNDigisCHANBarrelCh5_;
00148        MonitorElement* meNDigisCHANBarrelCh6_;
00149        MonitorElement* meNDigisCHANBarrelCh7_;
00150        MonitorElement* meNDigisCHANBarrelCh8_;
00151        MonitorElement* meNDigisCHANBarrelCh9_;
00152        MonitorElement* meNDigisCHANBarrelCh10_;
00153        MonitorElement* meNDigisCHANBarrelCh11_;
00154        MonitorElement* meNDigisCHANBarrelCh12_;
00155        MonitorElement* meNDigisCHANBarrelCh13_;
00156        MonitorElement* meNDigisCHANBarrelCh14_;
00157        MonitorElement* meNDigisCHANBarrelCh15_;
00158        MonitorElement* meNDigisCHANBarrelCh16_;
00159        MonitorElement* meNDigisCHANBarrelCh17_;
00160        MonitorElement* meNDigisCHANBarrelCh18_;
00161        MonitorElement* meNDigisCHANBarrelCh19_;
00162        MonitorElement* meNDigisCHANBarrelCh20_;
00163        MonitorElement* meNDigisCHANBarrelCh21_;
00164        MonitorElement* meNDigisCHANBarrelCh22_;
00165        MonitorElement* meNDigisCHANBarrelCh23_;
00166        MonitorElement* meNDigisCHANBarrelCh24_;
00167        MonitorElement* meNDigisCHANBarrelCh25_;
00168        MonitorElement* meNDigisCHANBarrelCh26_;
00169        MonitorElement* meNDigisCHANBarrelCh27_;
00170        MonitorElement* meNDigisCHANBarrelCh28_;
00171        MonitorElement* meNDigisCHANBarrelCh29_;
00172        MonitorElement* meNDigisCHANBarrelCh30_;
00173        MonitorElement* meNDigisCHANBarrelCh31_;
00174        MonitorElement* meNDigisCHANBarrelCh32_;
00175        MonitorElement* meNDigisCHANBarrelCh33_;
00176        MonitorElement* meNDigisCHANBarrelCh34_;
00177        MonitorElement* meNDigisCHANBarrelCh35_;
00178        MonitorElement* meNDigisCHANBarrelCh36_;
00179        MonitorElement* meNDigisCHANEndcap_;
00180        MonitorElement* meNDigisCHANEndcapDp1_;
00181        MonitorElement* meNDigisCHANEndcapDp2_;
00182        MonitorElement* meNDigisCHANEndcapDm1_;
00183        MonitorElement* meNDigisCHANEndcapDm2_;
00184        
00185        int bigEventSize;
00186        
00187        bool firstRun;
00188        
00189        std::string I_name[1440];
00190        unsigned int I_detId[1440];
00191        int I_fedId[1440];
00192        int I_linkId1[1440];
00193        int I_linkId2[1440];
00194        int nDigisPerFed[40];
00195        int nDigisPerChan[1152];
00196        int nDigisPerDisk[4];
00197        int numberOfDigis[192];
00198        int nDigisA;
00199        int nDigisB;
00200  };
00201 
00202 #endif