![]() |
![]() |
00001 #ifndef SiPixelRecHitsValid_h 00002 #define SiPixelRecHitsValid_h 00003 00010 #include "FWCore/Framework/interface/Frameworkfwd.h" 00011 #include "FWCore/Framework/interface/EDAnalyzer.h" 00012 #include "FWCore/Framework/interface/Event.h" 00013 #include "FWCore/Framework/interface/EventSetup.h" 00014 #include "FWCore/Framework/interface/ESHandle.h" 00015 00016 #include "DataFormats/Common/interface/Handle.h" 00017 #include "FWCore/Framework/interface/MakerMacros.h" 00018 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00019 #include "DataFormats/Common/interface/EDProduct.h" 00020 #include "FWCore/MessageLogger/interface/MessageLogger.h" 00021 00022 //DWM histogram services 00023 #include "DQMServices/Core/interface/DQMStore.h" 00024 00025 #include "FWCore/ServiceRegistry/interface/Service.h" 00026 00027 //Simhit stuff 00028 #include "SimDataFormats/TrackingHit/interface/PSimHit.h" 00029 #include "SimTracker/TrackerHitAssociation/interface/TrackerHitAssociator.h" 00030 00031 #include "DataFormats/SiPixelCluster/interface/SiPixelCluster.h" 00032 #include "DataFormats/TrackerRecHit2D/interface/SiPixelRecHitCollection.h" 00033 #include "DataFormats/DetId/interface/DetId.h" 00034 00035 #include "Geometry/CommonTopologies/interface/PixelTopology.h" 00036 #include "Geometry/TrackerGeometryBuilder/interface/PixelGeomDetUnit.h" 00037 #include "Geometry/TrackerGeometryBuilder/interface/PixelGeomDetType.h" 00038 #include "Geometry/CommonDetUnit/interface/GeomDetType.h" 00039 #include "Geometry/CommonDetUnit/interface/GeomDetUnit.h" 00040 #include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h" 00041 #include "Geometry/Records/interface/TrackerDigiGeometryRecord.h" 00042 #include "Geometry/TrackerNumberingBuilder/interface/GeometricDet.h" 00043 00044 #include "FWCore/ParameterSet/interface/InputTag.h" 00045 00046 #include <string> 00047 #include "DQMServices/Core/interface/MonitorElement.h" 00048 00049 00050 class SiPixelRecHitsValid : public edm::EDAnalyzer { 00051 00052 public: 00053 //Constructor 00054 SiPixelRecHitsValid(const edm::ParameterSet& conf); 00055 00056 //Destructor 00057 ~SiPixelRecHitsValid(); 00058 00059 protected: 00060 00061 virtual void analyze(const edm::Event& e, const edm::EventSetup& c); 00062 void beginJob(const edm::EventSetup& c); 00063 void endJob(); 00064 00065 private: 00066 DQMStore* dbe_; 00067 std::string outputFile_; 00068 00069 edm::ParameterSet conf_; 00070 00071 void fillBarrel(const SiPixelRecHit &,const PSimHit &, DetId, const PixelGeomDetUnit *); 00072 void fillForward(const SiPixelRecHit &, const PSimHit &, DetId, const PixelGeomDetUnit *); 00073 00074 //Clusters BPIX 00075 MonitorElement* clustYSizeModule[8]; 00076 MonitorElement* clustXSizeLayer[3]; 00077 MonitorElement* clustChargeLayer1Modules[8]; 00078 MonitorElement* clustChargeLayer2Modules[8]; 00079 MonitorElement* clustChargeLayer3Modules[8]; 00080 00081 //Cluster FPIX 00082 MonitorElement* clustXSizeDisk1Plaquettes[7]; 00083 MonitorElement* clustXSizeDisk2Plaquettes[7]; 00084 MonitorElement* clustYSizeDisk1Plaquettes[7]; 00085 MonitorElement* clustYSizeDisk2Plaquettes[7]; 00086 MonitorElement* clustChargeDisk1Plaquettes[7]; 00087 MonitorElement* clustChargeDisk2Plaquettes[7]; 00088 00089 //RecHits BPIX 00090 MonitorElement* recHitXResAllB; 00091 MonitorElement* recHitYResAllB; 00092 MonitorElement* recHitXFullModules; 00093 MonitorElement* recHitXHalfModules; 00094 MonitorElement* recHitYAllModules; 00095 MonitorElement* recHitXResFlippedLadderLayers[3]; 00096 MonitorElement* recHitXResNonFlippedLadderLayers[3]; 00097 MonitorElement* recHitYResLayer1Modules[8]; 00098 MonitorElement* recHitYResLayer2Modules[8]; 00099 MonitorElement* recHitYResLayer3Modules[8]; 00100 00101 //RecHits FPIX 00102 MonitorElement* recHitXResAllF; 00103 MonitorElement* recHitYResAllF; 00104 MonitorElement* recHitXPlaquetteSize1; 00105 MonitorElement* recHitXPlaquetteSize2; 00106 MonitorElement* recHitYPlaquetteSize2; 00107 MonitorElement* recHitYPlaquetteSize3; 00108 MonitorElement* recHitYPlaquetteSize4; 00109 MonitorElement* recHitYPlaquetteSize5; 00110 MonitorElement* recHitXResDisk1Plaquettes[7]; 00111 MonitorElement* recHitXResDisk2Plaquettes[7]; 00112 MonitorElement* recHitYResDisk1Plaquettes[7]; 00113 MonitorElement* recHitYResDisk2Plaquettes[7]; 00114 00115 // Pull distributions 00116 //RecHits BPIX 00117 MonitorElement* recHitXPullAllB; 00118 MonitorElement* recHitYPullAllB; 00119 00120 MonitorElement* recHitXPullFlippedLadderLayers[3]; 00121 MonitorElement* recHitXPullNonFlippedLadderLayers[3]; 00122 MonitorElement* recHitYPullLayer1Modules[8]; 00123 MonitorElement* recHitYPullLayer2Modules[8]; 00124 MonitorElement* recHitYPullLayer3Modules[8]; 00125 00126 //RecHits FPIX 00127 MonitorElement* recHitXPullAllF; 00128 MonitorElement* recHitYPullAllF; 00129 00130 MonitorElement* recHitXPullDisk1Plaquettes[7]; 00131 MonitorElement* recHitXPullDisk2Plaquettes[7]; 00132 MonitorElement* recHitYPullDisk1Plaquettes[7]; 00133 MonitorElement* recHitYPullDisk2Plaquettes[7]; 00134 00135 edm::InputTag src_; 00136 }; 00137 00138 #endif