CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch9/src/DQMServices/Components/plugins/MEtoMEComparitor.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 //
00003 // Package:    MEtoMEComparitor
00004 // Class:      MEtoMEComparitor
00005 // 
00013 //
00014 // Original Author:  jean-roch Vlimant,40 3-A28,+41227671209,
00015 //         Created:  Tue Nov 30 18:55:50 CET 2010
00016 // $Id: MEtoMEComparitor.h,v 1.4 2010/12/13 16:56:42 vlimant Exp $
00017 //
00018 //
00019 
00020 
00021 // system include files
00022 #include <memory>
00023 
00024 // user include files
00025 #include "FWCore/Framework/interface/Frameworkfwd.h"
00026 #include "FWCore/Framework/interface/EDAnalyzer.h"
00027 
00028 #include "FWCore/Framework/interface/Event.h"
00029 #include "FWCore/Framework/interface/Run.h"
00030 #include "FWCore/Framework/interface/LuminosityBlock.h"
00031 
00032 #include "FWCore/Framework/interface/MakerMacros.h"
00033 
00034 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00035 
00036 #include "DataFormats/Common/interface/Handle.h"
00037 #include "DataFormats/Histograms/interface/MEtoEDMFormat.h"
00038 
00039 #include "FWCore/ServiceRegistry/interface/Service.h"
00040 #include "DQMServices/Core/interface/DQMStore.h"
00041 
00042 #include "FWCore/MessageLogger/interface/MessageLogger.h"
00043 
00044 
00045 #include <TH1F.h>
00046 #include <TH1D.h>
00047 
00048 //
00049 // class declaration
00050 //
00051 
00052 class MEtoMEComparitor : public edm::EDAnalyzer {
00053    public:
00054       explicit MEtoMEComparitor(const edm::ParameterSet&);
00055       ~MEtoMEComparitor();
00056 
00057 
00058    private:
00059       virtual void beginJob() ;
00060       virtual void analyze(const edm::Event&, const edm::EventSetup&){}
00061       virtual void endRun(const edm::Run& iRun, const edm::EventSetup& iSetup);
00062       virtual void endLuminosityBlock(const edm::LuminosityBlock&, const edm::EventSetup&);
00063       virtual void endJob() ;
00064 
00065   template <class W,class T> void compare(const W& where,const std::string & instance);
00066   template <class T> void book(const std::string & directory,const std::string & type, const T * h);
00067   template <class T> void keepBadHistograms(const std::string & directory, const T * h_new, const T * h_ref);
00068   template <class T,class where> void product();
00069 
00070   DQMStore * _dbe;
00071   std::string _moduleLabel;
00072   
00073   std::string _lumiInstance;
00074   std::string _runInstance;
00075 
00076   std::string _process_ref;
00077   std::string _process_new;
00078   double _KSgoodness;
00079   double _diffgoodness;
00080   unsigned int _dirDepth;
00081   double _overallgoodness;
00082       // ----------member data ---------------------------
00083 };