CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_7/src/DQM/TrackingMonitor/interface/GetLumi.h

Go to the documentation of this file.
00001 #ifndef GetLumi_H
00002 #define GetLumi_H
00003 
00004 // system include files
00005 #include <memory> 
00006 
00007 // user include files
00008 #include "FWCore/Framework/interface/Frameworkfwd.h"
00009 #include "FWCore/Framework/interface/EDAnalyzer.h"
00010 
00011 #include "FWCore/Framework/interface/Event.h"
00012 #include "FWCore/Framework/interface/MakerMacros.h"
00013 
00014 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00015 
00016 class GetLumi
00017 {
00018  public:
00019 
00020   enum SQRT_S{
00021     SQRT_S_7TeV,
00022     SQRT_S_8TeV
00023   };
00024 
00025   static const unsigned int NUM_BX = 3564;
00026   static constexpr double FREQ_ORBIT = 11246.; // Hz
00027   static constexpr double SECONDS_PER_LS = double(0x40000)/double(FREQ_ORBIT);
00028 
00029   static constexpr double INELASTIC_XSEC_7TeV = 68.0; // mb
00030   static constexpr double INELASTIC_XSEC_8TeV = 69.3; // mb
00031 
00032   GetLumi(const edm::ParameterSet&);
00033   GetLumi(const edm::InputTag&, double);
00034   virtual ~GetLumi();
00035   static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
00036 
00037   double getRawValue(const edm::Event&);
00038   double getValue   (const edm::Event&);
00039 
00040   double getRawValue(edm::LuminosityBlock const&,edm::EventSetup const&);
00041   double getValue   (edm::LuminosityBlock const&,edm::EventSetup const&);
00042 
00043   double convert2PU(double,double);
00044   double convert2PU(double,int);
00045 
00046   // ----------member data ---------------------------
00047   edm::InputTag     lumiInputTag_;
00048   double            lumiScale_;
00049 
00050 
00051 };
00052 #endif