CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_2_9_HLT1_bphpatch4/src/CalibTracker/SiPixelTools/interface/SiPixelDQMRocLevelAnalyzer.h

Go to the documentation of this file.
00001 #ifndef ROC__Analyzer_h
00002 #define ROC__Analyzer_h
00003 
00004 // -*- C++ -*-
00005 //
00006 // Package:    SiPixelDQMRocLevelAnalyzer
00007 // Class:      SiPixelDQMRocLevelAnalyzer
00008 // 
00016 //
00017 // Original Author:  Lukas Wehrli
00018 //         Created:  Thu Sep 30 14:03:02 CEST 2008
00019 // $Id: SiPixelDQMRocLevelAnalyzer.h,v 1.3 2010/01/13 09:35:58 ursl Exp $
00020 //
00021 //
00022 
00023 
00024 // system include files
00025 #include <memory>
00026 
00027 // user include files
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 // class decleration
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       // ----------member data ---------------------------
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       //barrel
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       //endcap
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