00001 #ifndef CSCStripDigiValidation_H 00002 #define CSCStripDigiValidation_H 00003 00004 #include "DataFormats/CSCDigi/interface/CSCStripDigi.h" 00005 #include "Validation/MuonCSCDigis/interface/CSCBaseValidation.h" 00006 #include "DQMServices/Core/interface/DQMStore.h" 00007 #include "DQMServices/Core/interface/MonitorElement.h" 00008 00009 class CSCStripDigiValidation : public CSCBaseValidation 00010 { 00011 public: 00012 CSCStripDigiValidation(DQMStore* dbe, 00013 const edm::InputTag & inputTag, bool doSim); 00014 ~CSCStripDigiValidation(); 00015 void analyze(const edm::Event& e, const edm::EventSetup&); 00016 00017 void setGeometry(const CSCGeometry * geom) {theCSCGeometry = geom;} 00018 00019 void plotResolution(const PSimHit & hit, int strip, 00020 const CSCLayer * layer, int chamberType); 00021 00022 private: 00023 void fillPedestalPlots(const CSCStripDigi & digi); 00024 void fillSignalPlots(const CSCStripDigi & digi); 00025 00026 float thePedestalSum; 00027 float thePedestalCovarianceSum; 00028 int thePedestalCount; 00029 bool theDoSimFlag; 00030 MonitorElement* thePedestalPlot; 00031 MonitorElement* thePedestalTimeCorrelationPlot; 00032 MonitorElement* thePedestalNeighborCorrelationPlot; 00033 MonitorElement* theAmplitudePlot; 00034 MonitorElement* theRatio4to5Plot; 00035 MonitorElement* theRatio6to5Plot; 00036 MonitorElement* theNDigisPerLayerPlot; 00037 MonitorElement* theNDigisPerChamberPlot; 00038 MonitorElement* theNDigisPerEventPlot; 00039 MonitorElement* theResolutionPlots[10]; 00040 }; 00041 00042 #endif 00043