File indexing completed on 2023-03-17 11:19:54
0001 #ifndef RecoLuminosity_LumiProducer_DIPLumiSummary_h
0002 #define RecoLuminosity_LumiProducer_DIPLumiSummary_h
0003 #include <iosfwd>
0004 #include <string>
0005 #include "RecoLuminosity/LumiProducer/interface/DIPLuminosityRcd.h"
0006 #include "FWCore/Framework/interface/data_default_record_trait.h"
0007 class DIPLumiSummary {
0008 public:
0009
0010 DIPLumiSummary()
0011 : m_runnum(0), m_ls(0), m_instlumi(0.0), m_dellumi(0.0), m_reclumi(0.0), m_deadfrac(1.0), m_cmsalive(false) {}
0012
0013
0014 DIPLumiSummary(float instlumi, float dellumi, float reclumi, unsigned short cmsalive)
0015 : m_instlumi(instlumi), m_dellumi(dellumi), m_reclumi(reclumi), m_deadfrac(1.0), m_cmsalive(cmsalive) {
0016 if (m_reclumi > 0.0) {
0017 m_deadfrac = 1.0 - (m_reclumi / m_dellumi);
0018 }
0019 }
0020
0021
0022 ~DIPLumiSummary() {}
0023 bool isNull() const;
0024
0025
0026
0027
0028 float instDelLumi() const;
0029
0030
0031
0032
0033 float intgDelLumiByLS() const;
0034
0035
0036
0037
0038 float intgRecLumiByLS() const;
0039
0040
0041
0042
0043 float deadtimefraction() const;
0044
0045
0046
0047 int cmsalive() const;
0048
0049
0050
0051
0052
0053
0054 unsigned int fromRun() const;
0055
0056
0057
0058 unsigned int fromLS() const;
0059 void setOrigin(unsigned int runnumber, unsigned int ls);
0060
0061 private:
0062 unsigned int m_runnum;
0063 unsigned int m_ls;
0064 const float m_instlumi;
0065 const float m_dellumi;
0066 const float m_reclumi;
0067 float m_deadfrac;
0068 const unsigned short m_cmsalive;
0069 };
0070
0071 std::ostream& operator<<(std::ostream& s, const DIPLumiSummary& diplumiSummary);
0072
0073 EVENTSETUP_DATA_DEFAULT_RECORD(DIPLumiSummary, DIPLuminosityRcd)
0074
0075 #endif