CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes
LumiDetails Class Reference

#include <LumiDetails.h>

Public Types

enum  Algos {
  kOCC1, kOCC2, kET, kPLT,
  kMaxNumAlgos
}
 
typedef unsigned int AlgoType
 
typedef std::pair< std::vector
< float >::const_iterator,
std::vector< float >
::const_iterator > 
ErrorRange
 
typedef std::pair< std::vector
< short >::const_iterator,
std::vector< short >
::const_iterator > 
QualityRange
 
typedef std::pair< std::vector
< float >::const_iterator,
std::vector< float >
::const_iterator > 
ValueRange
 

Public Member Functions

void fill (AlgoType algo, std::vector< float > const &values, std::vector< float > const &errors, std::vector< short > const &qualities)
 
void fillBeamIntensities (std::vector< float > const &beam1Intensities, std::vector< float > const &beam2Intensities)
 
bool isProductEqual (LumiDetails const &lumiDetails) const
 
bool isValid () const
 
std::vector< float > const & lumiBeam1Intensities () const
 
float lumiBeam1Intensity (unsigned int bx) const
 
std::vector< float > const & lumiBeam2Intensities () const
 
float lumiBeam2Intensity (unsigned int bx) const
 
 LumiDetails ()
 
 LumiDetails (std::string const &lumiVersion)
 
float lumiError (AlgoType algo, unsigned int bx) const
 
ErrorRange lumiErrorsForAlgo (AlgoType algo) const
 
QualityRange lumiQualitiesForAlgo (AlgoType algo) const
 
short lumiQuality (AlgoType algo, unsigned int bx) const
 
float lumiValue (AlgoType algo, unsigned int bx) const
 
ValueRange lumiValuesForAlgo (AlgoType algo) const
 
std::string const & lumiVersion () const
 
void setLumiVersion (std::string const &lumiVersion)
 
 ~LumiDetails ()
 

Static Public Member Functions

static std::vector
< std::string > const & 
algoNames ()
 
static std::vector
< std::string > const & 
dipalgoNames ()
 

Private Member Functions

void checkAlgo (AlgoType algo) const
 
void checkAlgoAndBX (AlgoType algo, unsigned int bx) const
 

Private Attributes

std::vector< unsigned int > m_algoToFirstIndex
 
std::vector< float > m_allErrors
 
std::vector< short > m_allQualities
 
std::vector< float > m_allValues
 
std::vector< float > m_beam1Intensities
 
std::vector< float > m_beam2Intensities
 
std::string m_lumiVersion
 

Static Private Attributes

static std::vector
< std::string > const 
m_algoNames
 

Detailed Description

LumiDetails holds Details information: the lumi value, the error on this value, its quality, and 2 beam intensities for each bunch crossing (BX) in a given luminosity section (LS)

Author
Valerie Halyo, David Dagenhart, created June 7, 2007>

Definition at line 20 of file LumiDetails.h.

Member Typedef Documentation

typedef unsigned int LumiDetails::AlgoType

Definition at line 34 of file LumiDetails.h.

typedef std::pair<std::vector<float>::const_iterator, std::vector<float>::const_iterator> LumiDetails::ErrorRange

Definition at line 36 of file LumiDetails.h.

typedef std::pair<std::vector<short>::const_iterator, std::vector<short>::const_iterator> LumiDetails::QualityRange

Definition at line 37 of file LumiDetails.h.

typedef std::pair<std::vector<float>::const_iterator, std::vector<float>::const_iterator> LumiDetails::ValueRange

Definition at line 35 of file LumiDetails.h.

Member Enumeration Documentation

Enumerator
kOCC1 
kOCC2 
kET 
kPLT 
kMaxNumAlgos 

Definition at line 27 of file LumiDetails.h.

Constructor & Destructor Documentation

LumiDetails::LumiDetails ( )

Definition at line 21 of file LumiDetails.cc.

LumiDetails::LumiDetails ( std::string const &  lumiVersion)
explicit

Definition at line 32 of file LumiDetails.cc.

LumiDetails::~LumiDetails ( )

Definition at line 43 of file LumiDetails.cc.

Member Function Documentation

std::vector< std::string > const & LumiDetails::algoNames ( )
static

Definition at line 151 of file LumiDetails.cc.

void LumiDetails::checkAlgo ( AlgoType  algo) const
private

Definition at line 176 of file LumiDetails.cc.

void LumiDetails::checkAlgoAndBX ( AlgoType  algo,
unsigned int  bx 
) const
private

Definition at line 184 of file LumiDetails.cc.

std::vector< std::string > const & LumiDetails::dipalgoNames ( )
static

Definition at line 157 of file LumiDetails.cc.

void LumiDetails::fill ( AlgoType  algo,
std::vector< float > const &  values,
std::vector< float > const &  errors,
std::vector< short > const &  qualities 
)

Definition at line 62 of file LumiDetails.cc.

void LumiDetails::fillBeamIntensities ( std::vector< float > const &  beam1Intensities,
std::vector< float > const &  beam2Intensities 
)

Definition at line 85 of file LumiDetails.cc.

bool LumiDetails::isProductEqual ( LumiDetails const &  lumiDetails) const

Definition at line 161 of file LumiDetails.cc.

bool LumiDetails::isValid ( void  ) const

Definition at line 57 of file LumiDetails.cc.

Referenced by core.AutoHandle.AutoHandle::ReallyLoad().

std::vector< float > const & LumiDetails::lumiBeam1Intensities ( ) const

Definition at line 141 of file LumiDetails.cc.

float LumiDetails::lumiBeam1Intensity ( unsigned int  bx) const

Definition at line 110 of file LumiDetails.cc.

std::vector< float > const & LumiDetails::lumiBeam2Intensities ( ) const

Definition at line 146 of file LumiDetails.cc.

float LumiDetails::lumiBeam2Intensity ( unsigned int  bx) const

Definition at line 115 of file LumiDetails.cc.

float LumiDetails::lumiError ( AlgoType  algo,
unsigned int  bx 
) const

Definition at line 98 of file LumiDetails.cc.

LumiDetails::ErrorRange LumiDetails::lumiErrorsForAlgo ( AlgoType  algo) const

Definition at line 127 of file LumiDetails.cc.

LumiDetails::QualityRange LumiDetails::lumiQualitiesForAlgo ( AlgoType  algo) const

Definition at line 134 of file LumiDetails.cc.

short LumiDetails::lumiQuality ( AlgoType  algo,
unsigned int  bx 
) const

Definition at line 104 of file LumiDetails.cc.

float LumiDetails::lumiValue ( AlgoType  algo,
unsigned int  bx 
) const

Definition at line 92 of file LumiDetails.cc.

LumiDetails::ValueRange LumiDetails::lumiValuesForAlgo ( AlgoType  algo) const

Definition at line 120 of file LumiDetails.cc.

std::string const & LumiDetails::lumiVersion ( ) const

Definition at line 52 of file LumiDetails.cc.

void LumiDetails::setLumiVersion ( std::string const &  lumiVersion)

Definition at line 47 of file LumiDetails.cc.

Member Data Documentation

std::vector< std::string > const LumiDetails::m_algoNames
staticprivate
Initial value:
= {
{"OCC1"},
{"OCC2"},
{"ET"},
{"PLT"}
}

Definition at line 81 of file LumiDetails.h.

std::vector<unsigned int> LumiDetails::m_algoToFirstIndex
private

Definition at line 92 of file LumiDetails.h.

std::vector<float> LumiDetails::m_allErrors
private

Definition at line 94 of file LumiDetails.h.

std::vector<short> LumiDetails::m_allQualities
private

Definition at line 95 of file LumiDetails.h.

std::vector<float> LumiDetails::m_allValues
private

Definition at line 93 of file LumiDetails.h.

std::vector<float> LumiDetails::m_beam1Intensities
private

Definition at line 96 of file LumiDetails.h.

std::vector<float> LumiDetails::m_beam2Intensities
private

Definition at line 97 of file LumiDetails.h.

std::string LumiDetails::m_lumiVersion
private

Definition at line 83 of file LumiDetails.h.