CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_3/src/DQM/SiPixelMonitorTrack/interface/SiPixelTrackResidualModule.h

Go to the documentation of this file.
00001 // Package:    SiPixelMonitorTrack
00002 // Class:      SiPixelTrackResidualModule
00003 // 
00004 // class SiPixelTrackResidualModule SiPixelTrackResidualModule.h 
00005 //       DQM/SiPixelMonitorTrack/src/SiPixelTrackResidualModule.h
00006 //
00007 // Description: SiPixel hit-to-track residual data quality monitoring modules
00008 // Implementation: prototype -> improved -> never final - end of the 1st step 
00009 //
00010 // Original Author: Shan-Huei Chuang
00011 //         Created: Fri Mar 23 18:41:42 CET 2007
00012 //         Updated by Lukas Wehrli (plots for clusters on/off track added)
00013 // $Id: SiPixelTrackResidualModule.h,v 1.4 2010/06/09 01:16:03 merkelp Exp $
00014 
00015 
00016 #ifndef SiPixelMonitorTrack_SiPixelTrackResidualModule_h
00017 #define SiPixelMonitorTrack_SiPixelTrackResidualModule_h
00018 
00019 
00020 #include <boost/cstdint.hpp>
00021 
00022 #include "DataFormats/GeometryCommonDetAlgo/interface/MeasurementVector.h"
00023 #include "DQMServices/Core/interface/MonitorElement.h"
00024 #include "DataFormats/TrackerRecHit2D/interface/SiPixelRecHitCollection.h"
00025 
00026 
00027 class SiPixelTrackResidualModule { 
00028   public:
00029     SiPixelTrackResidualModule();
00030     SiPixelTrackResidualModule(const uint32_t);
00031    ~SiPixelTrackResidualModule();
00032 
00033    void book(const edm::ParameterSet&, bool reducedSet=true, int type=0);
00034    void fill(const Measurement2DVector&, bool reducedSet=true, bool modon=true, bool ladon=true, bool layon=true, bool phion = true, bool bladeon=true, bool diskon=true, bool ringon=true);
00035    void fill(const SiPixelCluster &clust, bool onTrack, double corrCharge, bool reducedSet,  bool modon, bool ladon, bool layon, bool phion, bool bladeon, bool diskon, bool ringon); 
00036    void nfill(int onTrack, int offTrack, bool reducedSet,  bool modon, bool ladon, bool layon, bool phion, bool bladeon, bool diskon, bool ringon);
00037   
00038   private:
00039     uint32_t id_; 
00040     bool bBookTracks;
00041 
00042 
00043     MonitorElement* meResidualX_;
00044     MonitorElement* meResidualY_;
00045     MonitorElement* meNClusters_onTrack_;
00046     MonitorElement* meCharge_onTrack_;
00047     MonitorElement* meSize_onTrack_;
00048     MonitorElement* meSizeX_onTrack_;
00049     MonitorElement* meSizeY_onTrack_;
00050     MonitorElement* meNClusters_offTrack_;
00051     MonitorElement* meCharge_offTrack_;
00052     MonitorElement* meSize_offTrack_;
00053     MonitorElement* meSizeX_offTrack_;
00054     MonitorElement* meSizeY_offTrack_;
00055 
00056     //barrel
00057     MonitorElement* meResidualXLad_;
00058     MonitorElement* meResidualYLad_;
00059     MonitorElement* meNClusters_onTrackLad_;
00060     MonitorElement* meCharge_onTrackLad_;
00061     MonitorElement* meSize_onTrackLad_;
00062     MonitorElement* meSizeX_onTrackLad_;
00063     MonitorElement* meSizeY_onTrackLad_;
00064     MonitorElement* meNClusters_offTrackLad_;
00065     MonitorElement* meCharge_offTrackLad_;
00066     MonitorElement* meSize_offTrackLad_;
00067     MonitorElement* meSizeX_offTrackLad_;
00068     MonitorElement* meSizeY_offTrackLad_;
00069 
00070     MonitorElement* meResidualXLay_;
00071     MonitorElement* meResidualYLay_;
00072     MonitorElement* meNClusters_onTrackLay_;
00073     MonitorElement* meCharge_onTrackLay_;
00074     MonitorElement* meSize_onTrackLay_;
00075     MonitorElement* meSizeX_onTrackLay_;
00076     MonitorElement* meSizeY_onTrackLay_;
00077     MonitorElement* meNClusters_offTrackLay_;
00078     MonitorElement* meCharge_offTrackLay_;
00079     MonitorElement* meSize_offTrackLay_;
00080     MonitorElement* meSizeX_offTrackLay_;
00081     MonitorElement* meSizeY_offTrackLay_;
00082 
00083     MonitorElement* meResidualXPhi_;
00084     MonitorElement* meResidualYPhi_;
00085     MonitorElement* meNClusters_onTrackPhi_;
00086     MonitorElement* meCharge_onTrackPhi_;
00087     MonitorElement* meSize_onTrackPhi_;
00088     MonitorElement* meSizeX_onTrackPhi_;
00089     MonitorElement* meSizeY_onTrackPhi_;
00090     MonitorElement* meNClusters_offTrackPhi_;
00091     MonitorElement* meCharge_offTrackPhi_;
00092     MonitorElement* meSize_offTrackPhi_;
00093     MonitorElement* meSizeX_offTrackPhi_;
00094     MonitorElement* meSizeY_offTrackPhi_;
00095 
00096     //forward
00097     MonitorElement* meResidualXBlade_;
00098     MonitorElement* meResidualYBlade_;
00099     MonitorElement* meNClusters_onTrackBlade_;
00100     MonitorElement* meCharge_onTrackBlade_;
00101     MonitorElement* meSize_onTrackBlade_;
00102     MonitorElement* meSizeX_onTrackBlade_;
00103     MonitorElement* meSizeY_onTrackBlade_;
00104     MonitorElement* meNClusters_offTrackBlade_;
00105     MonitorElement* meCharge_offTrackBlade_;
00106     MonitorElement* meSize_offTrackBlade_;
00107     MonitorElement* meSizeX_offTrackBlade_;
00108     MonitorElement* meSizeY_offTrackBlade_;
00109 
00110     MonitorElement* meResidualXDisk_;
00111     MonitorElement* meResidualYDisk_;
00112     MonitorElement* meNClusters_onTrackDisk_;
00113     MonitorElement* meCharge_onTrackDisk_;
00114     MonitorElement* meSize_onTrackDisk_;
00115     MonitorElement* meSizeX_onTrackDisk_;
00116     MonitorElement* meSizeY_onTrackDisk_;
00117     MonitorElement* meNClusters_offTrackDisk_;
00118     MonitorElement* meCharge_offTrackDisk_;
00119     MonitorElement* meSize_offTrackDisk_;
00120     MonitorElement* meSizeX_offTrackDisk_;
00121     MonitorElement* meSizeY_offTrackDisk_;
00122 
00123     MonitorElement* meResidualXRing_;
00124     MonitorElement* meResidualYRing_;
00125     MonitorElement* meNClusters_onTrackRing_;
00126     MonitorElement* meCharge_onTrackRing_;
00127     MonitorElement* meSize_onTrackRing_;
00128     MonitorElement* meSizeX_onTrackRing_;
00129     MonitorElement* meSizeY_onTrackRing_;
00130     MonitorElement* meNClusters_offTrackRing_;
00131     MonitorElement* meCharge_offTrackRing_;
00132     MonitorElement* meSize_offTrackRing_;
00133     MonitorElement* meSizeX_offTrackRing_;
00134     MonitorElement* meSizeY_offTrackRing_;
00135 };
00136 
00137 #endif