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
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
GetLumi::GetLumi
GetLumi(const edm::ParameterSet &)
Definition: GetLumi.cc:13
GetLumi::INELASTIC_XSEC_7TeV
static constexpr double INELASTIC_XSEC_7TeV
Definition: GetLumi.h:29
GetLumi::fillDescriptions
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
GetLumi::getRawValue
double getRawValue(const edm::Event &)
Definition: GetLumi.cc:33
edm::LuminosityBlock
Definition: LuminosityBlock.h:50
edm::EDGetTokenT< LumiDetails >
GetLumi::CM2_TO_NANOBARN
static constexpr double CM2_TO_NANOBARN
Definition: GetLumi.h:42
GetLumi::NUM_BX
static const unsigned int NUM_BX
Definition: GetLumi.h:25
LumiDetails
Definition: LumiDetails.h:20
GetLumi::XSEC_PIXEL_CLUSTER
static constexpr double XSEC_PIXEL_CLUSTER
Definition: GetLumi.h:36
EDAnalyzer.h
GetLumi::convert2PU
double convert2PU(double, double)
Definition: GetLumi.cc:77
GetLumi::INELASTIC_XSEC_8TeV
static constexpr double INELASTIC_XSEC_8TeV
Definition: GetLumi.h:30
MakerMacros.h
GetLumi
Definition: GetLumi.h:21
LumiSummary
Definition: LumiSummary.h:20
GetLumi::FREQ_ORBIT
static constexpr double FREQ_ORBIT
Definition: GetLumi.h:26
GetLumi::lumiScale_
double lumiScale_
Definition: GetLumi.h:63
EDGetToken.h
edm::ConfigurationDescriptions
Definition: ConfigurationDescriptions.h:28
GetLumi::lastBunchCrossing
static const unsigned int lastBunchCrossing
Definition: GetLumi.h:43
GetLumi::SQRT_S_8TeV
Definition: GetLumi.h:23
edm::ParameterSet
Definition: ParameterSet.h:47
GetLumi::INELASTIC_XSEC_13TeV
static constexpr double INELASTIC_XSEC_13TeV
Definition: GetLumi.h:32
Event.h
GetLumi::lumiInputTag_
edm::InputTag lumiInputTag_
Definition: GetLumi.h:62
GetLumi::lumiDetailsToken_
edm::EDGetTokenT< LumiDetails > lumiDetailsToken_
Definition: GetLumi.h:65
GetLumi::SQRT_S_13TeV
Definition: GetLumi.h:23
edm::EventSetup
Definition: EventSetup.h:58
GetLumi::rXSEC_PIXEL_CLUSTER
static constexpr double rXSEC_PIXEL_CLUSTER
Definition: GetLumi.h:40
GetLumi::getValue
double getValue(const edm::Event &)
Definition: GetLumi.cc:48
GetLumi::XSEC_PIXEL_CLUSTER_UNC
static constexpr double XSEC_PIXEL_CLUSTER_UNC
Definition: GetLumi.h:37
GetLumi::SECONDS_PER_LS
static constexpr double SECONDS_PER_LS
Definition: GetLumi.h:27
Frameworkfwd.h
GetLumi::SQRT_S_7TeV
Definition: GetLumi.h:23
GetLumi::lumiSummaryToken_
edm::EDGetTokenT< LumiSummary > lumiSummaryToken_
Definition: GetLumi.h:66
GetLumi::~GetLumi
virtual ~GetLumi()
Definition: GetLumi.cc:31
GetLumi::rXSEC_PIXEL_CLUSTER_UNC
static constexpr double rXSEC_PIXEL_CLUSTER_UNC
Definition: GetLumi.h:41
ConsumesCollector.h
ParameterSet.h
GetLumi::SQRT_S
SQRT_S
Definition: GetLumi.h:23
edm::Event
Definition: Event.h:73
edm::InputTag
Definition: InputTag.h:15
edm::ConsumesCollector
Definition: ConsumesCollector.h:45