CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_5/src/DQM/SiPixelMonitorDigi/interface/SiPixelDigiModule.h

Go to the documentation of this file.
00001 #ifndef SiPixelMonitorDigi_SiPixelDigiModule_h
00002 #define SiPixelMonitorDigi_SiPixelDigiModule_h
00003 // -*- C++ -*-
00004 //
00005 // Package:    SiPixelMonitorDigi
00006 // Class:      SiPixelDigiModule
00007 // 
00015 //
00016 // Original Author:  Vincenzo Chiochia
00017 //         Created:  
00018 // $Id: SiPixelDigiModule.h,v 1.20 2012/07/29 13:53:40 duggan Exp $
00019 //
00020 //
00021 //  Updated by: Lukas Wehrli
00022 //  for pixel offline DQM 
00023 
00024 #include "DQMServices/Core/interface/MonitorElement.h"
00025 #include "DataFormats/SiPixelDigi/interface/PixelDigi.h"
00026 #include "DataFormats/Common/interface/DetSetVector.h"
00027 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00028 #include "CondFormats/SiPixelObjects/interface/SiPixelFedCablingMap.h"
00029 #include "CondFormats/DataRecord/interface/SiPixelFedCablingMapRcd.h"
00030 #include "CondFormats/SiPixelObjects/interface/SiPixelFrameReverter.h"
00031 #include "CondFormats/SiPixelObjects/interface/GlobalPixel.h"
00032 #include <boost/cstdint.hpp>
00033 
00034 class SiPixelDigiModule {        
00035 
00036  public:
00037 
00039   SiPixelDigiModule();
00041   SiPixelDigiModule(const uint32_t& id);
00043   SiPixelDigiModule(const uint32_t& id, const int& ncols, const int& nrows);
00045   ~SiPixelDigiModule();
00046 
00047   typedef edm::DetSet<PixelDigi>::const_iterator    DigiIterator;
00048 
00050   void book(const edm::ParameterSet& iConfig, int type=0, bool twoD=true, bool hiRes=false, bool reducedSet=false, bool additInfo=false);
00052 //  int fill(const edm::DetSetVector<PixelDigi> & input, bool modon=true, 
00053 //                                               bool ladon=false, bool layon=false, bool phion=false, 
00054 //                                               bool bladeon=false, bool diskon=false, bool ringon=false, 
00055 //                                               bool twoD=true, bool reducedSet=false, bool twoDimModOn = true, bool twoDimOnlyLayDisk = false,
00056 //                                               int &nDigisA, int &nDigisB);
00057   int fill(const edm::DetSetVector<PixelDigi> & input, const bool modon, 
00058                                                  const bool ladon, const bool layon, const bool phion, 
00059                                                  const bool bladeon, const bool diskon, const bool ringon, 
00060                                                  const bool twoD, const bool reducedSet, const bool twoDimModOn, const bool twoDimOnlyLayDisk,
00061                                                  int &nDigisA, int &nDigisB);
00062   
00063  private:
00064 
00065   uint32_t id_;
00066   int ncols_;
00067   int nrows_;
00068   MonitorElement* meNDigis_;
00069   MonitorElement* meADC_;
00070   MonitorElement* mePixDigis_;
00071   MonitorElement* mePixDigis_px_;
00072   MonitorElement* mePixDigis_py_;
00073 
00074   //barrel:
00075   MonitorElement* meNDigisLad_;
00076   MonitorElement* meADCLad_;
00077   MonitorElement* mePixDigisLad_;
00078   MonitorElement* mePixDigisLad_px_;
00079   MonitorElement* mePixDigisLad_py_;
00080 
00081   MonitorElement* meNDigisLay_;
00082   MonitorElement* meADCLay_;
00083   MonitorElement* mePixDigisLay_;
00084   MonitorElement* mePixRocsLay_;
00085   MonitorElement* meZeroOccRocsLay_;
00086   MonitorElement* mePixDigisLay_px_;
00087   MonitorElement* mePixDigisLay_py_;
00088 
00089   MonitorElement* meNDigisPhi_;
00090   MonitorElement* meADCPhi_;
00091   MonitorElement* mePixDigisPhi_;
00092   MonitorElement* mePixDigisPhi_px_;
00093   MonitorElement* mePixDigisPhi_py_;
00094 
00095   //forward:
00096   MonitorElement* meNDigisBlade_;
00097   MonitorElement* meADCBlade_;
00098 
00099   MonitorElement* meNDigisDisk_;
00100   MonitorElement* meADCDisk_;
00101   MonitorElement* mePixDigisDisk_;
00102   MonitorElement* mePixRocsDisk_;
00103   MonitorElement* meZeroOccRocsDisk_;
00104 
00105   MonitorElement* meNDigisRing_;
00106   MonitorElement* meADCRing_;
00107   MonitorElement* mePixDigisRing_;
00108   MonitorElement* mePixDigisRing_px_;
00109   MonitorElement* mePixDigisRing_py_;
00110   
00111   //int nEventDigis_;
00112 
00113 };
00114 #endif