00001 #ifndef BeamSpotProducer_BeamSpotAnalyzer_h 00002 #define BeamSpotProducer_BeamSpotAnalyzer_h 00003 00017 // C++ standard 00018 #include <string> 00019 // CMS 00020 #include "FWCore/Framework/interface/Frameworkfwd.h" 00021 #include "FWCore/Framework/interface/EDAnalyzer.h" 00022 #include "FWCore/Framework/interface/Event.h" 00023 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00024 #include "RecoVertex/BeamSpotProducer/interface/BeamFitter.h" 00025 00026 00027 class BeamSpotAnalyzer : public edm::EDAnalyzer { 00028 public: 00029 explicit BeamSpotAnalyzer(const edm::ParameterSet&); 00030 ~BeamSpotAnalyzer(); 00031 00032 private: 00033 virtual void beginJob() ; 00034 virtual void analyze(const edm::Event&, const edm::EventSetup&); 00035 virtual void endJob() ; 00036 virtual void beginLuminosityBlock(const edm::LuminosityBlock& lumiSeg, 00037 const edm::EventSetup& context) ; 00038 virtual void endLuminosityBlock(const edm::LuminosityBlock& lumiSeg, 00039 const edm::EventSetup& c); 00040 00041 int ftotalevents; 00042 int fitNLumi_; 00043 int resetFitNLumi_; 00044 int countEvt_; //counter 00045 int countLumi_; //counter 00046 int Org_resetFitNLumi_; 00047 int previousLumi_; 00048 int previousRun_; 00049 int ftmprun0, ftmprun; 00050 int beginLumiOfBSFit_; 00051 int endLumiOfBSFit_; 00052 std::time_t refBStime[2]; 00053 00054 bool write2DB_; 00055 bool runbeamwidthfit_; 00056 bool runallfitters_; 00057 double inputBeamWidth_; 00058 00059 BeamFitter * theBeamFitter; 00060 }; 00061 00062 #endif