CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_4_5_patch3/src/DQM/SiPixelMonitorRecHit/interface/SiPixelRecHitModule.h

Go to the documentation of this file.
00001 #ifndef SiPixelMonitorRecHits_SiPixelRecHitModule_h
00002 #define SiPixelMonitorRecHits_SiPixelRecHitModule_h
00003 // -*- C++ -*-
00004 //
00005 // Package:    SiPixelMonitorRecHits
00006 // Class:      SiPixelRecHitModule
00007 // 
00018 //
00019 // Original Author:  Vincenzo Chiochia
00020 //         Created:  
00021 // $Id: SiPixelRecHitModule.h,v 1.8 2009/06/19 09:30:00 merkelp Exp $
00022 //
00023 //  Adapted by: Keith Rose
00024 //  for use in SiPixelMonitorRecHit package
00025 //  Updated by: Lukas Wehrli
00026 //  for pixel offline DQM 
00027 
00028 #include "DQMServices/Core/interface/MonitorElement.h"
00029 #include "DataFormats/TrackerRecHit2D/interface/SiPixelRecHit.h"
00030 #include "DataFormats/Common/interface/DetSetVector.h"
00031 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00032 #include <boost/cstdint.hpp>
00033 
00034 class SiPixelRecHitModule {        
00035 
00036  public:
00037 
00039   SiPixelRecHitModule();
00041   SiPixelRecHitModule(const uint32_t& id);
00043   ~SiPixelRecHitModule();
00044 
00045   // typedef edm::DetSet<PixelRecHit>::const_iterator  RecHitsIterator;
00046 
00048   void book(const edm::ParameterSet& iConfig, int type=0, bool twoD=true, 
00049             bool reducedSet=false);
00051   void fill(const float& rechit_x, const float& rechit_y, const int& sizeX, 
00052             const int& sizeY, const float& lerr_x, const float& lerr_y, 
00053             bool modon=true, bool ladon=false, bool layon=false, 
00054             bool phion=false, bool bladeon=false, bool diskon=false, 
00055             bool ringon=false, bool twoD=true, bool reducedSet=false);
00056   void nfill(const int& nrec, bool modon=true, bool ladon=false, 
00057              bool layon=false, bool phion=false, bool bladeon=false, 
00058              bool diskon=false, bool ringon=false);  
00059 
00060  private:
00061 
00062   uint32_t id_;
00063   MonitorElement* meXYPos_;
00064   MonitorElement* meXYPos_px_;
00065   MonitorElement* meXYPos_py_;
00066   MonitorElement* meClustX_;
00067   MonitorElement* meClustY_;  
00068   MonitorElement* meErrorX_;
00069   MonitorElement* meErrorY_;  
00070   MonitorElement* menRecHits_;
00071   //barrel
00072   MonitorElement* meXYPosLad_;
00073   MonitorElement* meXYPosLad_px_;
00074   MonitorElement* meXYPosLad_py_;
00075   MonitorElement* meClustXLad_;
00076   MonitorElement* meClustYLad_;
00077   MonitorElement* meErrorXLad_;
00078   MonitorElement* meErrorYLad_; 
00079   MonitorElement* menRecHitsLad_;
00080 
00081   MonitorElement* meXYPosLay_;
00082   MonitorElement* meXYPosLay_px_;
00083   MonitorElement* meXYPosLay_py_;
00084   MonitorElement* meClustXLay_;
00085   MonitorElement* meClustYLay_;
00086   MonitorElement* meErrorXLay_;
00087   MonitorElement* meErrorYLay_; 
00088   MonitorElement* menRecHitsLay_;
00089 
00090   MonitorElement* meXYPosPhi_;
00091   MonitorElement* meXYPosPhi_px_;
00092   MonitorElement* meXYPosPhi_py_;
00093   MonitorElement* meClustXPhi_;
00094   MonitorElement* meClustYPhi_;
00095   MonitorElement* meErrorXPhi_;
00096   MonitorElement* meErrorYPhi_; 
00097   MonitorElement* menRecHitsPhi_;
00098 
00099   //forward
00100   MonitorElement* meClustXBlade_;
00101   MonitorElement* meClustYBlade_;  
00102   MonitorElement* meErrorXBlade_;
00103   MonitorElement* meErrorYBlade_; 
00104   MonitorElement* menRecHitsBlade_;
00105 
00106   MonitorElement* meClustXDisk_;
00107   MonitorElement* meClustYDisk_;  
00108   MonitorElement* meErrorXDisk_;
00109   MonitorElement* meErrorYDisk_; 
00110   MonitorElement* menRecHitsDisk_;
00111 
00112   MonitorElement* meXYPosRing_;
00113   MonitorElement* meXYPosRing_px_;
00114   MonitorElement* meXYPosRing_py_;
00115   MonitorElement* meClustXRing_;
00116   MonitorElement* meClustYRing_;
00117   MonitorElement* meErrorXRing_;
00118   MonitorElement* meErrorYRing_; 
00119   MonitorElement* menRecHitsRing_;
00120 };
00121 #endif