CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
GetLumi.h
Go to the documentation of this file.
1 #ifndef GetLumi_H
2 #define GetLumi_H
3 
4 // system include files
5 #include <memory>
6 
7 // user include files
12 
15 
17 
18 class LumiDetails;
19 class LumiSummary;
20 
21 class GetLumi
22 {
23  public:
24 
25  enum SQRT_S{
29  };
30 
31  static const unsigned int NUM_BX = 3564;
32  static constexpr double FREQ_ORBIT = 11246.; // Hz
33  static constexpr double SECONDS_PER_LS = double(0x40000)/double(FREQ_ORBIT);
34 
35  static constexpr double INELASTIC_XSEC_7TeV = 68.0; // mb
36  static constexpr double INELASTIC_XSEC_8TeV = 69.3; // mb
37  static constexpr double INELASTIC_XSEC_13TeV = 71.3; // mb from http://inspirehep.net/record/1447965/files/FSQ-15-005-pas.pdf
38 
39  // from http://cmslxr.fnal.gov/source/DQM/PixelLumi/plugins/PixelLumiDQM.h
40  // Using all pixel clusters:
41  static constexpr double XSEC_PIXEL_CLUSTER = 10.08e-24; //in cm^2
42  static constexpr double XSEC_PIXEL_CLUSTER_UNC = 0.17e-24;
43 
44  // Excluding the inner barrel layer.
45  static constexpr double rXSEC_PIXEL_CLUSTER = 9.4e-24; //in cm^2
46  static constexpr double rXSEC_PIXEL_CLUSTER_UNC = 0.119e-24;
47  static constexpr double CM2_TO_NANOBARN = 1.0/1.e-33;
48  static const unsigned int lastBunchCrossing = 3564;
49 
50  GetLumi(const edm::ParameterSet&);
51  GetLumi(const edm::InputTag&, double);
53  GetLumi(const edm::InputTag&, double,edm::ConsumesCollector& iC);
54  virtual ~GetLumi();
55  static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
56 
57  double getRawValue(const edm::Event&);
58  double getValue (const edm::Event&);
59 
60  double getRawValue(edm::LuminosityBlock const&,edm::EventSetup const&);
61  double getValue (edm::LuminosityBlock const&,edm::EventSetup const&);
62 
63  double convert2PU(double,double);
64  double convert2PU(double,int);
65 
66  // ----------member data ---------------------------
68  double lumiScale_;
69 
72 
73 };
74 #endif
static double INELASTIC_XSEC_8TeV
Definition: GetLumi.h:36
static double INELASTIC_XSEC_7TeV
Definition: GetLumi.h:35
edm::EDGetTokenT< LumiDetails > lumiDetailsToken_
Definition: GetLumi.h:70
#define constexpr
virtual ~GetLumi()
Definition: GetLumi.cc:38
static double XSEC_PIXEL_CLUSTER
Definition: GetLumi.h:41
double getValue(const edm::Event &)
Definition: GetLumi.cc:64
static const unsigned int lastBunchCrossing
Definition: GetLumi.h:48
SQRT_S
Definition: GetLumi.h:25
edm::EDGetTokenT< LumiSummary > lumiSummaryToken_
Definition: GetLumi.h:71
static double CM2_TO_NANOBARN
Definition: GetLumi.h:47
double getRawValue(const edm::Event &)
Definition: GetLumi.cc:43
static double rXSEC_PIXEL_CLUSTER_UNC
Definition: GetLumi.h:46
static double XSEC_PIXEL_CLUSTER_UNC
Definition: GetLumi.h:42
static const unsigned int NUM_BX
Definition: GetLumi.h:31
GetLumi(const edm::ParameterSet &)
Definition: GetLumi.cc:14
static double rXSEC_PIXEL_CLUSTER
Definition: GetLumi.h:45
double convert2PU(double, double)
Definition: GetLumi.cc:106
edm::InputTag lumiInputTag_
Definition: GetLumi.h:67
static double FREQ_ORBIT
Definition: GetLumi.h:32
double lumiScale_
Definition: GetLumi.h:68
static double INELASTIC_XSEC_13TeV
Definition: GetLumi.h:37
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
static double SECONDS_PER_LS
Definition: GetLumi.h:33