CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups 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 public:
24 
25  static const unsigned int NUM_BX = 3564;
26  static constexpr double FREQ_ORBIT = 11246.; // Hz
27  static constexpr double SECONDS_PER_LS = double(0x40000) / double(FREQ_ORBIT);
28 
29  static constexpr double INELASTIC_XSEC_7TeV = 68.0; // mb
30  static constexpr double INELASTIC_XSEC_8TeV = 69.3; // mb
31  // mb from http://inspirehep.net/record/1447965/files/FSQ-15-005-pas.pdf
32  static constexpr double INELASTIC_XSEC_13TeV = 71.3;
33 
34  // from http://cmslxr.fnal.gov/source/DQM/PixelLumi/plugins/PixelLumiDQM.h
35  // Using all pixel clusters:
36  static constexpr double XSEC_PIXEL_CLUSTER = 10.08e-24; //in cm^2
37  static constexpr double XSEC_PIXEL_CLUSTER_UNC = 0.17e-24;
38 
39  // Excluding the inner barrel layer.
40  static constexpr double rXSEC_PIXEL_CLUSTER = 9.4e-24; //in cm^2
41  static constexpr double rXSEC_PIXEL_CLUSTER_UNC = 0.119e-24;
42  static constexpr double CM2_TO_NANOBARN = 1.0 / 1.e-33;
43  static const unsigned int lastBunchCrossing = 3564;
44 
45  GetLumi(const edm::ParameterSet&);
46  GetLumi(const edm::InputTag&, double);
48  GetLumi(const edm::InputTag&, double, edm::ConsumesCollector& iC);
49  virtual ~GetLumi();
50  static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
51 
52  double getRawValue(const edm::Event&);
53  double getValue(const edm::Event&);
54 
55  double getRawValue(edm::LuminosityBlock const&, edm::EventSetup const&);
56  double getValue(edm::LuminosityBlock const&, edm::EventSetup const&);
57 
58  double convert2PU(double, double);
59  double convert2PU(double, int);
60 
61  // ----------member data ---------------------------
63  double lumiScale_;
64 
67 };
68 #endif
static constexpr double rXSEC_PIXEL_CLUSTER_UNC
Definition: GetLumi.h:41
static constexpr double INELASTIC_XSEC_13TeV
Definition: GetLumi.h:32
static constexpr double XSEC_PIXEL_CLUSTER_UNC
Definition: GetLumi.h:37
static constexpr double FREQ_ORBIT
Definition: GetLumi.h:26
edm::EDGetTokenT< LumiDetails > lumiDetailsToken_
Definition: GetLumi.h:65
virtual ~GetLumi()
Definition: GetLumi.cc:31
double getValue(const edm::Event &)
Definition: GetLumi.cc:48
static const unsigned int lastBunchCrossing
Definition: GetLumi.h:43
SQRT_S
Definition: GetLumi.h:23
static constexpr double SECONDS_PER_LS
Definition: GetLumi.h:27
edm::EDGetTokenT< LumiSummary > lumiSummaryToken_
Definition: GetLumi.h:66
static constexpr double INELASTIC_XSEC_7TeV
Definition: GetLumi.h:29
double getRawValue(const edm::Event &)
Definition: GetLumi.cc:33
static constexpr double INELASTIC_XSEC_8TeV
Definition: GetLumi.h:30
static const unsigned int NUM_BX
Definition: GetLumi.h:25
GetLumi(const edm::ParameterSet &)
Definition: GetLumi.cc:13
double convert2PU(double, double)
Definition: GetLumi.cc:77
static constexpr double rXSEC_PIXEL_CLUSTER
Definition: GetLumi.h:40
static constexpr double CM2_TO_NANOBARN
Definition: GetLumi.h:42
edm::InputTag lumiInputTag_
Definition: GetLumi.h:62
static constexpr double XSEC_PIXEL_CLUSTER
Definition: GetLumi.h:36
double lumiScale_
Definition: GetLumi.h:63
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)