Go to the documentation of this file.00001 #ifndef DQM_L1TMONITOR_L1TRATE_H
00002 #define DQM_L1TMONITOR_L1TRATE_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #include <memory>
00015 #include <unistd.h>
00016
00017
00018 #include "FWCore/Framework/interface/Frameworkfwd.h"
00019 #include "FWCore/Framework/interface/EDAnalyzer.h"
00020 #include "FWCore/Framework/interface/ESHandle.h"
00021 #include "FWCore/Framework/interface/Event.h"
00022 #include "FWCore/Framework/interface/LuminosityBlock.h"
00023 #include "FWCore/Framework/interface/MakerMacros.h"
00024
00025 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00026
00027 #include "DQMServices/Core/interface/DQMStore.h"
00028 #include "DQMServices/Core/interface/MonitorElement.h"
00029 #include "FWCore/ServiceRegistry/interface/Service.h"
00030 #include "FWCore/MessageLogger/interface/MessageLogger.h"
00031
00032 #include <TString.h>
00033
00034 #include <iostream>
00035 #include <fstream>
00036 #include <vector>
00037
00038
00039
00040
00041
00042 class L1TRate : public edm::EDAnalyzer {
00043
00044 public:
00045
00046 L1TRate(const edm::ParameterSet& ps);
00047 virtual ~L1TRate();
00048
00049 protected:
00050
00051 void analyze (const edm::Event& e, const edm::EventSetup& c);
00052 void beginJob();
00053 void endJob ();
00054 void beginRun(const edm::Run& run, const edm::EventSetup& iSetup);
00055 void endRun (const edm::Run& run, const edm::EventSetup& iSetup);
00056
00057 virtual void beginLuminosityBlock(edm::LuminosityBlock const& lumiBlock, edm::EventSetup const& c);
00058 virtual void endLuminosityBlock (edm::LuminosityBlock const& lumiBlock, edm::EventSetup const& c);
00059
00060
00061 private:
00062
00063 bool getXSexFitsOMDS (const edm::ParameterSet& ps);
00064 bool getXSexFitsPython(const edm::ParameterSet& ps);
00065
00066
00067 private:
00068
00069
00070 bool m_verbose;
00071
00072
00073 int m_refPrescaleSet;
00074 int m_maxNbins;
00075 int m_lsShiftGTRates;
00076
00077
00078 std::string m_outputFile;
00079
00080
00081 const std::vector< std::vector<int> >* m_listsPrescaleFactors;
00082
00083
00084 std::map<int,int> m_lsPrescaleIndex;
00085 std::map<int,double> m_lsLuminosity;
00086 std::map<int,std::map<TString,double> > m_lsRates;
00087 std::map<TString,int> m_algoBit;
00088 std::map<std::string,bool> m_inputCategories;
00089 std::map<std::string,std::string> m_selectedTriggers;
00090 std::map<TString,MonitorElement*> m_xSecObservedToExpected;
00091 std::map<TString,MonitorElement*> m_xSecVsInstLumi;
00092 std::map<TString,TF1*> m_templateFunctions;
00093
00094
00095 edm::InputTag m_scalersSource;
00096 edm::InputTag m_l1GtDataDaqInputTag;
00097
00098
00099 edm::ParameterSet m_parameters;
00100
00101
00102 MonitorElement* m_ErrorMonitor;
00103
00104
00105 DQMStore* dbe;
00106
00107 };
00108
00109 #endif