CMS 3D CMS Logo

HcalPedestalClient.h

Go to the documentation of this file.
00001 #ifndef HcalPedestalClient_H
00002 #define HcalPedestalClient_H
00003 
00004 #include "DQM/HcalMonitorClient/interface/HcalBaseClient.h"
00005 #include "CalibFormats/HcalObjects/interface/HcalDbService.h"
00006 #include "CalibFormats/HcalObjects/interface/HcalDbRecord.h"
00007 #include "CondFormats/HcalObjects/interface/HcalPedestal.h"
00008 #include "CondFormats/HcalObjects/interface/HcalPedestalWidth.h"
00009 #include "CondFormats/HcalObjects/interface/HcalElectronicsMap.h"
00010 #include <CalibCalorimetry/HcalAlgos/interface/HcalAlgoUtils.h>
00011 #include "DataFormats/HcalDetId/interface/HcalDetId.h"
00012 #include "DataFormats/HcalDetId/interface/HcalElectronicsId.h"
00013 #include "FWCore/Framework/interface/ESHandle.h"
00014 #include "DQMServices/Core/interface/DQMStore.h"
00015 
00016 #include "DQM/HcalMonitorClient/interface/HcalClientUtils.h"
00017 #include "DQM/HcalMonitorClient/interface/HcalHistoUtils.h"
00018 
00019 
00020 class HcalPedestalClient : public HcalBaseClient {
00021   
00022  public:
00023   
00025   HcalPedestalClient();
00027   ~HcalPedestalClient();
00028 
00029   void init(const edm::ParameterSet& ps, DQMStore* dbe, string clientName);
00030 
00032   void analyze(void);
00033   
00035   void beginJob(const EventSetup& c);
00036   
00038   void endJob(void);
00039   
00041   void beginRun(void);
00042   
00044   void endRun(void);
00045   
00047   void setup(void);
00048   
00050   void cleanup(void);
00051   
00053   void htmlOutput(int run, string htmlDir, string htmlName);
00054   void htmlExpertOutput(int run, string htmlDir, string htmlName);
00055   void getHistograms();
00056   void loadHistograms(TFile* f);
00057   
00059   void report();
00060   
00061   void resetAllME();
00062   void createTests();
00063 
00064 private:
00065   
00066   //void generateBadChanList(string dir);
00067   vector<int> badChan_;
00068   vector<double> badMean_;
00069   vector<double> badRMS_;
00070   
00071   vector <std::string> subdets_;
00072 
00073   bool doFCpeds_; // pedestal units in fC (if false, assume ADC)
00074   // specify time slices over which to calculate pedestals -- are these needed in client?
00075   bool startingTimeSlice_;
00076   bool endingTimeSlice_;
00077 
00078   // Specify maximum allowed difference between ADC pedestal and nominal value
00079   double nominalPedMeanInADC_;
00080   double nominalPedWidthInADC_;
00081   double maxPedMeanDiffADC_;
00082   double maxPedWidthDiffADC_; // specify maximum width of pedestal (in ADC)
00083   double minErrorFlag_;  // minimum error rate which causes problem cells to be dumped in client
00084   TH2F* MeanMapByDepth[6];
00085   TH2F* RMSMapByDepth[6];
00086 
00087  // Problem Pedestal Plots
00088   TH2F* ProblemPedestals;
00089   TH2F* ProblemPedestalsByDepth[6];
00090 
00091   // Pedestals from Database
00092   TH2F* ADC_PedestalFromDBByDepth[6];
00093   TH2F* ADC_WidthFromDBByDepth[6];
00094   TH2F* fC_PedestalFromDBByDepth[6];
00095   TH2F* fC_WidthFromDBByDepth[6];
00096 
00097   // Raw pedestals in ADC
00098   TH2F* rawADCPedestalMean[6];
00099   TH2F* rawADCPedestalRMS[6];
00100   TH1F* rawADCPedestalMean_1D[6];
00101   TH1F* rawADCPedestalRMS_1D[6];
00102   
00103   // subtracted pedestals in ADC
00104   TH2F* subADCPedestalMean[6];
00105   TH2F* subADCPedestalRMS[6];
00106   TH1F* subADCPedestalMean_1D[6];
00107   TH1F* subADCPedestalRMS_1D[6];
00108   
00109   // Raw pedestals in FC
00110   TH2F* rawFCPedestalMean[6];
00111   TH2F* rawFCPedestalRMS[6];
00112   TH1F* rawFCPedestalMean_1D[6];
00113   TH1F* rawFCPedestalRMS_1D[6];
00114   
00115   // subtracted pedestals in FC
00116   TH2F* subFCPedestalMean[6];
00117   TH2F* subFCPedestalRMS[6];
00118   TH1F* subFCPedestalMean_1D[6];
00119   TH1F* subFCPedestalRMS_1D[6];
00120   
00121 
00122 
00123 };
00124 
00125 #endif

Generated on Tue Jun 9 17:32:55 2009 for CMSSW by  doxygen 1.5.4