Go to the documentation of this file.00001 #ifndef SiPixelMonitorCluster_SiPixelClusterModule_h
00002 #define SiPixelMonitorCluster_SiPixelClusterModule_h
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #include "DQMServices/Core/interface/MonitorElement.h"
00024 #include "DataFormats/SiPixelCluster/interface/SiPixelCluster.h"
00025 #include "DataFormats/Common/interface/DetSetVectorNew.h"
00026 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00027 #include <boost/cstdint.hpp>
00028
00029 #include "FWCore/Framework/interface/ESHandle.h"
00030 #include "Geometry/CommonTopologies/interface/PixelTopology.h"
00031 #include "Geometry/TrackerGeometryBuilder/interface/PixelGeomDetUnit.h"
00032 #include "Geometry/CommonDetUnit/interface/GeomDetType.h"
00033 #include "Geometry/CommonDetUnit/interface/GeomDetUnit.h"
00034 #include "Geometry/TrackerGeometryBuilder/interface/GluedGeomDet.h"
00035 #include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h"
00036 #include "Geometry/Records/interface/TrackerDigiGeometryRecord.h"
00037 #include "Geometry/TrackerNumberingBuilder/interface/GeometricDet.h"
00038 #include "Geometry/TrackerGeometryBuilder/interface/PixelGeomDetType.h"
00039 class SiPixelClusterModule {
00040
00041 public:
00042
00044 SiPixelClusterModule();
00046 SiPixelClusterModule(const uint32_t& id);
00048 SiPixelClusterModule(const uint32_t& id, const int& ncols, const int& nrows);
00050 ~SiPixelClusterModule();
00051
00052 typedef edmNew::DetSet<SiPixelCluster>::const_iterator ClusterIterator;
00053
00055 void book(const edm::ParameterSet& iConfig, int type=0, bool twoD=true, bool reducedSet=false);
00057 int fill(const edmNew::DetSetVector<SiPixelCluster> & input,
00058 const TrackerGeometry* tracker,
00059 bool modon=true,
00060 bool ladon=false,
00061 bool layon=false,
00062 bool phion=false,
00063 bool bladeon=false,
00064 bool diskon=false,
00065 bool ringon=false,
00066 bool twoD=true,
00067 bool reducedSet=false,
00068 bool smileyon=false);
00069
00070 private:
00071
00072 uint32_t id_;
00073 int ncols_;
00074 int nrows_;
00075 MonitorElement* meNClusters_;
00076 MonitorElement* meY_;
00077 MonitorElement* meX_;
00078 MonitorElement* meCharge_;
00079 MonitorElement* meSize_;
00080 MonitorElement* meSizeX_;
00081 MonitorElement* meSizeY_;
00082 MonitorElement* meMinRow_;
00083 MonitorElement* meMaxRow_;
00084 MonitorElement* meMinCol_;
00085 MonitorElement* meMaxCol_;
00086 MonitorElement* mePixClusters_;
00087 MonitorElement* mePixClusters_px_;
00088 MonitorElement* mePixClusters_py_;
00089
00090
00091 MonitorElement* meClPosLayer1;
00092 MonitorElement* meClPosLayer2;
00093 MonitorElement* meClPosLayer3;
00094 MonitorElement* meClPosDisk1pz;
00095 MonitorElement* meClPosDisk2pz;
00096 MonitorElement* meClPosDisk1mz;
00097 MonitorElement* meClPosDisk2mz;
00098
00099
00100 MonitorElement* meNClustersLad_;
00101 MonitorElement* meYLad_;
00102 MonitorElement* meXLad_;
00103 MonitorElement* meChargeLad_;
00104 MonitorElement* meSizeLad_;
00105 MonitorElement* meSizeXLad_;
00106 MonitorElement* meSizeYLad_;
00107 MonitorElement* meMinRowLad_;
00108 MonitorElement* meMaxRowLad_;
00109 MonitorElement* meMinColLad_;
00110 MonitorElement* meMaxColLad_;
00111 MonitorElement* mePixClustersLad_;
00112 MonitorElement* mePixClustersLad_px_;
00113 MonitorElement* mePixClustersLad_py_;
00114
00115 MonitorElement* meSizeYvsEtaBarrel_;
00116
00117 MonitorElement* meNClustersLay_;
00118 MonitorElement* meYLay_;
00119 MonitorElement* meXLay_;
00120 MonitorElement* meChargeLay_;
00121 MonitorElement* meSizeLay_;
00122 MonitorElement* meSizeXLay_;
00123 MonitorElement* meSizeYLay_;
00124 MonitorElement* meMinRowLay_;
00125 MonitorElement* meMaxRowLay_;
00126 MonitorElement* meMinColLay_;
00127 MonitorElement* meMaxColLay_;
00128 MonitorElement* mePixClustersLay_;
00129 MonitorElement* mePixClustersLay_px_;
00130 MonitorElement* mePixClustersLay_py_;
00131
00132 MonitorElement* meNClustersPhi_;
00133 MonitorElement* meYPhi_;
00134 MonitorElement* meXPhi_;
00135 MonitorElement* meChargePhi_;
00136 MonitorElement* meSizePhi_;
00137 MonitorElement* meSizeXPhi_;
00138 MonitorElement* meSizeYPhi_;
00139 MonitorElement* meMinRowPhi_;
00140 MonitorElement* meMaxRowPhi_;
00141 MonitorElement* meMinColPhi_;
00142 MonitorElement* meMaxColPhi_;
00143 MonitorElement* mePixClustersPhi_;
00144 MonitorElement* mePixClustersPhi_px_;
00145 MonitorElement* mePixClustersPhi_py_;
00146
00147
00148 MonitorElement* meNClustersBlade_;
00149 MonitorElement* meYBlade_;
00150 MonitorElement* meXBlade_;
00151 MonitorElement* meChargeBlade_;
00152 MonitorElement* meSizeBlade_;
00153 MonitorElement* meSizeXBlade_;
00154 MonitorElement* meSizeYBlade_;
00155 MonitorElement* meMinRowBlade_;
00156 MonitorElement* meMaxRowBlade_;
00157 MonitorElement* meMinColBlade_;
00158 MonitorElement* meMaxColBlade_;
00159
00160
00161 MonitorElement* meNClustersDisk_;
00162 MonitorElement* meYDisk_;
00163 MonitorElement* meXDisk_;
00164 MonitorElement* meChargeDisk_;
00165 MonitorElement* meSizeDisk_;
00166 MonitorElement* meSizeXDisk_;
00167 MonitorElement* meSizeYDisk_;
00168 MonitorElement* meMinRowDisk_;
00169 MonitorElement* meMaxRowDisk_;
00170 MonitorElement* meMinColDisk_;
00171 MonitorElement* meMaxColDisk_;
00172
00173
00174 MonitorElement* meNClustersRing_;
00175 MonitorElement* meYRing_;
00176 MonitorElement* meXRing_;
00177 MonitorElement* meChargeRing_;
00178 MonitorElement* meSizeRing_;
00179 MonitorElement* meSizeXRing_;
00180 MonitorElement* meSizeYRing_;
00181 MonitorElement* meMinRowRing_;
00182 MonitorElement* meMaxRowRing_;
00183 MonitorElement* meMinColRing_;
00184 MonitorElement* meMaxColRing_;
00185 MonitorElement* mePixClustersRing_;
00186 MonitorElement* mePixClustersRing_px_;
00187 MonitorElement* mePixClustersRing_py_;
00188
00189 };
00190 #endif