|
|
Go to the documentation of this file.
21 : m_lumiVersion(
"-1"),
22 m_algoToFirstIndex(kMaxNumAlgos + 1, 0),
27 m_beam2Intensities() {}
30 : m_lumiVersion(lumiVersion),
31 m_algoToFirstIndex(kMaxNumAlgos + 1, 0),
36 m_beam2Intensities() {}
47 std::vector<float>
const&
values,
48 std::vector<float>
const&
errors,
49 std::vector<short>
const& qualities) {
54 <<
"The current implementation of LumiDetails only allows filling\n"
55 <<
"vectors for each algorithm once and the input vectors must\n"
56 <<
"all be the same size.\n";
67 std::vector<float>
const& beam2Intensities) {
132 <<
"Algorithm type argument out of range in a call to a function in LumiDetails\n";
140 <<
"Branch crossing argument out of range in call to a function in LumiDetails\n";
145 s <<
"\nDumping LumiDetails\n";
146 s << std::setw(12) <<
"lumi version " << lumiDetails.
lumiVersion() <<
"\n";
147 std::vector<std::string>::const_iterator
algo;
148 std::vector<std::string>::const_iterator algoEnd;
160 std::vector<float>::const_iterator valueEnd = lumiDetails.
lumiValuesForAlgo(
i).second;
164 s <<
"algorithm: " << *
algo <<
"\n";
165 s << std::setw(12) <<
"value" << std::setw(12) <<
"error" << std::setw(12) <<
"quality"
169 s << std::setw(12) << *
value << std::setw(12) << *
error << std::setw(12) << *
quality <<
"\n";
173 s <<
"beam 1 intensities:\n";
175 for (std::vector<float>::const_iterator intensity = beam1Intensities.begin(), iEnd = beam1Intensities.end();
178 s << *intensity <<
"\n";
180 s <<
"\nbeam 2 intensities:\n";
182 for (std::vector<float>::const_iterator intensity = beam2Intensities.begin(), iEnd = beam2Intensities.end();
185 s << *intensity <<
"\n";
void checkAlgo(AlgoType algo) const
std::vector< float > m_allErrors
static const std::vector< std::string > s_dipalgoNames
std::pair< std::vector< short >::const_iterator, std::vector< short >::const_iterator > QualityRange
std::string m_lumiVersion
static std::vector< std::string > const & algoNames()
void setLumiVersion(std::string const &lumiVersion)
static const std::vector< std::string > m_algoNames
void fill(AlgoType algo, std::vector< float > const &values, std::vector< float > const &errors, std::vector< short > const &qualities)
std::pair< std::vector< float >::const_iterator, std::vector< float >::const_iterator > ValueRange
std::ostream & operator<<(std::ostream &s, LumiDetails const &lumiDetails)
std::vector< float > m_allValues
float lumiError(AlgoType algo, unsigned int bx) const
ValueRange lumiValuesForAlgo(AlgoType algo) const
float lumiValue(AlgoType algo, unsigned int bx) const
void checkAlgoAndBX(AlgoType algo, unsigned int bx) const
std::vector< unsigned int > m_algoToFirstIndex
std::pair< std::vector< float >::const_iterator, std::vector< float >::const_iterator > ErrorRange
std::vector< float > m_beam2Intensities
static std::vector< std::string > const & dipalgoNames()
float lumiBeam1Intensity(unsigned int bx) const
std::vector< float > const & lumiBeam2Intensities() const
short lumiQuality(AlgoType algo, unsigned int bx) const
std::vector< short > m_allQualities
std::vector< float > m_beam1Intensities
std::string const & lumiVersion() const
ErrorRange lumiErrorsForAlgo(AlgoType algo) const
std::vector< float > const & lumiBeam1Intensities() const
QualityRange lumiQualitiesForAlgo(AlgoType algo) const
float lumiBeam2Intensity(unsigned int bx) const
void fillBeamIntensities(std::vector< float > const &beam1Intensities, std::vector< float > const &beam2Intensities)
bool isProductEqual(LumiDetails const &lumiDetails) const