Go to the documentation of this file.00001 #ifndef ROC__Analyzer_h
00002 #define ROC__Analyzer_h
00003
00004
00005
00006
00007
00008
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #include <memory>
00026
00027
00028 #include "FWCore/Framework/interface/Frameworkfwd.h"
00029 #include "FWCore/Framework/interface/EDAnalyzer.h"
00030
00031 #include "FWCore/Framework/interface/Event.h"
00032 #include "FWCore/Framework/interface/MakerMacros.h"
00033
00034 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00035 #include "DQMServices/Core/interface/DQMStore.h"
00036 #include "DQMServices/Core/interface/MonitorElement.h"
00037 #include "FWCore/ServiceRegistry/interface/Service.h"
00038 #include "CommonTools/UtilAlgos/interface/TFileService.h"
00039 #include <string>
00040 #include "TH1D.h"
00041 #include "TFile.h"
00042 #include "math.h"
00043
00044
00045
00046
00047 class SiPixelDQMRocLevelAnalyzer : public edm::EDAnalyzer {
00048 public:
00049 explicit SiPixelDQMRocLevelAnalyzer(const edm::ParameterSet&);
00050 ~SiPixelDQMRocLevelAnalyzer();
00051
00052
00053 private:
00054 virtual void beginJob();
00055 virtual void analyze(const edm::Event&, const edm::EventSetup&);
00056 virtual void endJob() ;
00057
00058
00059 void RocSummary(std::string tagname);
00060 void RocSumOneModule(int maxr, int maxc, MonitorElement* const &me, std::vector<double> &vecCN, std::vector<double> &vecMean, std::vector<double> &vecSD, int &chipNumber);
00061 void FillRocLevelHistos(TH1F *hrocdep, TH1F *hdist, std::vector<double> &vecx, std::vector<double> &vecy);
00062
00063
00064
00065
00066 edm::ParameterSet conf_;
00067 DQMStore * dbe;
00068 edm::Service<TFileService> fs_;
00069
00070 std::vector<MonitorElement*> mes;
00071 bool bRS, fRS, bPixelAlive;
00072
00073 std::vector<double> vbpixCN;
00074 std::vector<double> vbpixM;
00075 std::vector<double> vbpixSD;
00076 std::vector<double> vfpixCN;
00077 std::vector<double> vfpixM;
00078 std::vector<double> vfpixSD;
00079
00080
00081 TH1F * bhPixelAlive;
00082 TH1F * bhPixelAlive_dist;
00083 TH1F * bhThresholdMean;
00084 TH1F * bhThresholdMean_dist;
00085 TH1F * bhThresholdRMS;
00086 TH1F * bhThresholdRMS_dist;
00087 TH1F * bhNoiseMean;
00088 TH1F * bhNoiseMean_dist;
00089 TH1F * bhNoiseRMS;
00090 TH1F * bhNoiseRMS_dist;
00091 TH1F * bhGainMean;
00092 TH1F * bhGainMean_dist;
00093 TH1F * bhGainRMS;
00094 TH1F * bhGainRMS_dist;
00095 TH1F * bhPedestalMean;
00096 TH1F * bhPedestalMean_dist;
00097 TH1F * bhPedestalRMS;
00098 TH1F * bhPedestalRMS_dist;
00099
00100 TH1F * ehPixelAlive;
00101 TH1F * ehPixelAlive_dist;
00102 TH1F * ehThresholdMean;
00103 TH1F * ehThresholdMean_dist;
00104 TH1F * ehThresholdRMS;
00105 TH1F * ehThresholdRMS_dist;
00106 TH1F * ehNoiseMean;
00107 TH1F * ehNoiseMean_dist;
00108 TH1F * ehNoiseRMS;
00109 TH1F * ehNoiseRMS_dist;
00110 TH1F * ehGainMean;
00111 TH1F * ehGainMean_dist;
00112 TH1F * ehGainRMS;
00113 TH1F * ehGainRMS_dist;
00114 TH1F * ehPedestalMean;
00115 TH1F * ehPedestalMean_dist;
00116 TH1F * ehPedestalRMS;
00117 TH1F * ehPedestalRMS_dist;
00118
00119 };
00120
00121
00122 #endif