CMS 3D CMS Logo

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