CMS 3D CMS Logo

CMSSW_4_4_3_patch1/src/Validation/TrackerRecHits/interface/SiPixelRecHitsValid.h

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