Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:26:34

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   /// default constructor
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   /// set default constructor
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   /// destructor
0022   ~DIPLumiSummary() {}
0023   bool isNull() const;
0024   /** 
0025       average inst lumi,delivered HF, 
0026       unit Hz/ub, 
0027   **/
0028   float instDelLumi() const;
0029   /**
0030      delivered luminosity integrated over this LS , 
0031      unit /ub,  
0032   **/
0033   float intgDelLumiByLS() const;
0034   /**
0035      recorded luminosity integrated over this LS,this is deduced
0036      unit /ub,  
0037   **/
0038   float intgRecLumiByLS() const;
0039   /** 
0040       trigger Deadtime fraction, this is deduced 
0041       1.0-m_reclumi/m_dellumi
0042   **/
0043   float deadtimefraction() const;
0044   /**
0045      if cms central daq alive
0046    **/
0047   int cmsalive() const;
0048   //
0049   //setters
0050   //
0051   /**
0052      from which run data come from
0053   **/
0054   unsigned int fromRun() const;
0055   /**
0056      from which ls data come from
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;  //avg inst lumi in LS
0065   const float m_dellumi;   //integrated luminosity of this ls
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  // RecoLuminosity_LuminosityProducer_DIPLumiSummary_h