CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
LumiCorrectionParam.cc
Go to the documentation of this file.
4 #include <iomanip>
5 #include <ostream>
6 #include <memory>
7 LumiCorrectionParam::LumiCorrectionParam():m_lumitype(LumiCorrectionParam::HF),m_ncollidingbx(0),m_normtag(""),m_corrfunc(""),m_amodetag("PROTPHYS"),m_beamegev(0.),m_intglumi(0.){}
8 LumiCorrectionParam::LumiCorrectionParam(LumiCorrectionParam::LumiType lumitype):m_lumitype(lumitype),m_ncollidingbx(0),m_normtag(""),m_corrfunc(""),m_amodetag("PROTPHYS"),m_beamegev(0.),m_intglumi(0.){}
9 
10 float
12  std::auto_ptr<lumi::NormFunctor> ptr(lumi::NormFunctorPluginFactory::get()->create(m_corrfunc));
13  (*ptr).initialize(m_coeffmap,m_afterglows);
14  float result=(*ptr).getCorrection(luminonorm,m_intglumi,m_ncollidingbx);
15  return result;
16 }
17 unsigned int
19  return m_ncollidingbx;
20 }
23  return m_normtag;
24 }
27  return m_corrfunc;
28 }
29 const std::map< std::string,float >&
31  return m_coeffmap;
32 }
33 const std::map< unsigned int,float >&
35  return m_afterglows;
36 }
39  return m_amodetag;
40 }
41 unsigned int
43  return m_beamegev;
44 }
45 float
47  return m_intglumi;
48 }
49 void
50 LumiCorrectionParam::setNBX(unsigned int nbx){
51  m_ncollidingbx=nbx;
52 }
53 void
56 }
57 void
59  m_corrfunc=corrfunc;
60 }
61 void
62 LumiCorrectionParam::setnonlinearCoeff(std::map<std::string,float>& coeffmap){
63  m_coeffmap=coeffmap;
64 }
65 void
66 LumiCorrectionParam::setafterglows(std::map< unsigned int,float >& afterglows){
68 }
69 void
73 }
74 void
77 }
78 
79 std::ostream& operator<<(std::ostream& s, LumiCorrectionParam const& lumiparam){
80  s<<"\n LumiCorrectionParam\n";
81  s<< " normtag " << lumiparam.normtag() << "\n";
82  s<< " corrfunc " << lumiparam.corrFunc() << "\n";
83  s<< " ncollidingbx " << lumiparam.ncollidingbunches() << "\n";
84  s<< " amodetag " << lumiparam.amodetag() << "\n";
85  s<< " beamegev " << lumiparam.beamegev() << "\n";
86  s<< " intglumi " << lumiparam.intglumi() << "\n";
87  std::map< std::string,float >::const_iterator it;
88  std::map< std::string,float >::const_iterator itBeg=lumiparam.nonlinearCoeff().begin();
89  std::map< std::string,float >::const_iterator itEnd=lumiparam.nonlinearCoeff().end();
90  for(it=itBeg;it!=itEnd;++it){
91  s<< " params "<<it->first<<" "<<it->second<<"\n";
92  }
93  std::map< unsigned int,float >::const_iterator ait;
94  std::map< unsigned int,float >::const_iterator aitBeg=lumiparam.afterglows().begin();
95  std::map< unsigned int,float >::const_iterator aitEnd=lumiparam.afterglows().end();
96  for(ait=aitBeg;ait!=aitEnd;++ait){
97  s<< " afterglows "<<ait->first<<" "<<ait->second<<"\n";
98  }
99  return s;
100 }
string lumitype
Definition: lumiNorm.py:96
void setNBX(unsigned int nbx)
set ncollidingbunches
void setdescription(const std::string &amodetag, unsigned int beamegev)
set description
std::string amodetag() const
void setNormtag(const std::string &normtag)
set current normtag
void setnonlinearCoeff(std::map< std::string, float > &coeffmap)
set nonlinear constants
std::ostream & operator<<(std::ostream &out, const ALILine &li)
Definition: ALILine.cc:187
void setafterglows(std::map< unsigned int, float > &afterglows)
set afterglow thresholds
unsigned int beamegev() const
float intglumi() const
lumi integrated up to that run. Needed for 2011B correction, otherwise 0.
tuple result
Definition: query.py:137
float intglumi
Definition: normFunctors.py:63
void setcorrFunc(const std::string &corrfunc)
set correction function
unsigned int ncollidingbunches() const
get ncollidingbunches
const std::map< unsigned int, float > & afterglows() const
get afterglow threshold/value
void setintglumi(float intglumi)
set intglumi
const std::map< std::string, float > & nonlinearCoeff() const
get correction coefficients
std::map< std::string, float > m_coeffmap
float getCorrection(float luminonorm) const
get the final correction factor
std::map< unsigned int, float > m_afterglows
LumiCorrectionParam()
default constructor
std::string corrFunc() const
get correction function name
std::string normtag() const
get current normtag
SurfaceDeformation * create(int type, const std::vector< double > &params)
T get(const Candidate &c)
Definition: component.h:55
float luminonorm
Definition: normFunctors.py:62