Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:02:24

0001 #ifndef CondFormats_Luminosity_LumiCorrections_h
0002 #define CondFormats_Luminosity_LumiCorrections_h
0003 
0004 /** 
0005  * \class LumiCorrections
0006  * 
0007  * \author Sam Higginbotham, Chris Palmer
0008  *  
0009  *  This class should contain scale factors for correcting
0010  *  out-of-time pile-up per bunch crossing on rates intended
0011  *  for luminosity estimates.  There is the option of saving 
0012  *  the total scale factor on the total luminosity in
0013  *  m_overallCorrection as well.  
0014  */
0015 
0016 #include <sstream>
0017 #include <cstring>
0018 #include <vector>
0019 #include <boost/serialization/vector.hpp>
0020 #include "CondFormats/Serialization/interface/Serializable.h"
0021 
0022 class LumiCorrections {
0023 public:
0024   void setOverallCorrection(float overallCorrection) { m_overallCorrection = overallCorrection; }
0025   void setType1Fraction(float type1frac) { m_type1Fraction = type1frac; }
0026   void setType1Residual(float type1res) { m_type1Residual = type1res; }
0027   void setType2Residual(float type2res) { m_type2Residual = type2res; }
0028   void setCorrectionsBX(std::vector<float>& correctBX) { m_correctionsBX.assign(correctBX.begin(), correctBX.end()); }
0029   float getOverallCorrection() { return m_overallCorrection; }
0030   float getCorrectionAtBX(float bx) { return m_correctionsBX[bx]; }
0031   float getType1Fraction() { return m_type1Fraction; }
0032   float getType1Residual() { return m_type1Residual; }
0033   float getType2Residual() { return m_type2Residual; }
0034   const std::vector<float>& getCorrectionsBX() const { return m_correctionsBX; }
0035 
0036 private:
0037   float m_overallCorrection;
0038   float m_type1Fraction;
0039   float m_type1Residual;
0040   float m_type2Residual;
0041   std::vector<float> m_correctionsBX;
0042   COND_SERIALIZABLE;
0043 };
0044 #endif