![]() |
![]() |
#include <HcalCovarianceMatrices.h>
Public Member Functions | |
bool | addValues (const HcalCovarianceMatrix &myHcalCovarianceMatrix) |
const bool | exists (DetId fId) const |
std::vector< DetId > | getAllChannels () const |
const HcalCovarianceMatrix * | getValues (DetId fId, bool throwOnFail=true) const |
HcalCovarianceMatrices (const HcalTopology *topo) | |
HcalCovarianceMatrices () | |
std::string | myname () const |
~HcalCovarianceMatrices () | |
Private Member Functions | |
void | initContainer (DetId container) |
Private Attributes | |
std::vector< HcalCovarianceMatrix > | HBcontainer |
std::vector< HcalCovarianceMatrix > | HEcontainer |
std::vector< HcalCovarianceMatrix > | HFcontainer |
std::vector< HcalCovarianceMatrix > | HOcontainer |
Definition at line 15 of file HcalCovarianceMatrices.h.
HcalCovarianceMatrices::HcalCovarianceMatrices | ( | ) | [inline] |
Definition at line 19 of file HcalCovarianceMatrices.h.
: HcalCondObjectContainerBase(0) { }
HcalCovarianceMatrices::HcalCovarianceMatrices | ( | const HcalTopology * | topo | ) |
Definition at line 5 of file HcalCovarianceMatrices.cc.
: HcalCondObjectContainerBase(topo) { }
HcalCovarianceMatrices::~HcalCovarianceMatrices | ( | ) |
Definition at line 9 of file HcalCovarianceMatrices.cc.
{ }
bool HcalCovarianceMatrices::addValues | ( | const HcalCovarianceMatrix & | myHcalCovarianceMatrix | ) |
Definition at line 79 of file HcalCovarianceMatrices.cc.
References Exception, HBcontainer, DetId::Hcal, HcalBarrel, HcalEndcap, HcalForward, HcalOuter, HEcontainer, HFcontainer, HOcontainer, getHLTprescales::index, initContainer(), myname(), HcalCovarianceMatrix::rawId(), and summarizeEdmComparisonLogfiles::success.
Referenced by HcalPedestalMCWidths::~HcalPedestalMCWidths().
{ unsigned int index=0; bool success = false; HcalCovarianceMatrix* cell=0; DetId fId(myHcalCovarianceMatrix.rawId()); if (index<0xFFFFFFFu) { if (fId.det()==DetId::Hcal) { switch (HcalSubdetector(fId.subdetId())) { case(HcalBarrel) : if (!HBcontainer.size() ) initContainer(fId); if (index < HBcontainer.size()) cell = &(HBcontainer.at(index) ); break; case(HcalEndcap) : if (!HEcontainer.size() ) initContainer(fId); if (index < HEcontainer.size()) cell = &(HEcontainer.at(index) ); break; case(HcalForward) : if (!HFcontainer.size() ) initContainer(fId); if (index < HFcontainer.size()) cell = &(HFcontainer.at(index) ); break; case(HcalOuter) : if (!HOcontainer.size() ) initContainer(fId); if (index < HOcontainer.size()) cell = &(HOcontainer.at(index) ); break; default: break; } } } if (cell) { *cell=myHcalCovarianceMatrix; success = true; } if (!success) throw cms::Exception ("Filling of conditions failed") << " no valid filling possible for Conditions of type " << myname() << " for DetId " << fId.rawId(); return success; }
const bool HcalCovarianceMatrices::exists | ( | DetId | fId | ) | const |
Definition at line 65 of file HcalCovarianceMatrices.cc.
References getValues(), and HcalCovarianceMatrix::rawId().
{ const HcalCovarianceMatrix* cell = getValues(fId,false); // HcalCovarianceMatrix emptyHcalCovarianceMatrix; if (cell) // if (cell->rawId() != emptyHcalCovarianceMatrix.rawId() ) if (cell->rawId() == fId ) return true; return false; }
std::vector< DetId > HcalCovarianceMatrices::getAllChannels | ( | ) | const |
Definition at line 114 of file HcalCovarianceMatrices.cc.
References HBcontainer, HEcontainer, HFcontainer, HOcontainer, i, and HcalCovarianceMatrix::rawId().
{ std::vector<DetId> channels; HcalCovarianceMatrix emptyHcalCovarianceMatrix; for (unsigned int i=0; i<HBcontainer.size(); i++) { if (emptyHcalCovarianceMatrix.rawId() != HBcontainer.at(i).rawId() ) channels.push_back( DetId(HBcontainer.at(i).rawId()) ); } for (unsigned int i=0; i<HEcontainer.size(); i++) { if (emptyHcalCovarianceMatrix.rawId() != HEcontainer.at(i).rawId() ) channels.push_back( DetId(HEcontainer.at(i).rawId()) ); } for (unsigned int i=0; i<HOcontainer.size(); i++) { if (emptyHcalCovarianceMatrix.rawId() != HOcontainer.at(i).rawId() ) channels.push_back( DetId(HOcontainer.at(i).rawId()) ); } for (unsigned int i=0; i<HFcontainer.size(); i++) { if (emptyHcalCovarianceMatrix.rawId() != HFcontainer.at(i).rawId() ) channels.push_back( DetId(HFcontainer.at(i).rawId()) ); } return channels; }
const HcalCovarianceMatrix * HcalCovarianceMatrices::getValues | ( | DetId | fId, |
bool | throwOnFail = true |
||
) | const |
Definition at line 33 of file HcalCovarianceMatrices.cc.
References DetId::det(), Exception, HBcontainer, DetId::Hcal, HcalBarrel, HcalEndcap, HcalForward, HcalOuter, HEcontainer, HFcontainer, HOcontainer, getHLTprescales::index, HcalCondObjectContainerBase::indexFor(), myname(), NULL, HcalCovarianceMatrix::rawId(), DetId::rawId(), and DetId::subdetId().
Referenced by exists().
{ unsigned int index=indexFor(fId); const HcalCovarianceMatrix* cell = NULL; if (index<0xFFFFFFFFu) { if (fId.det()==DetId::Hcal) { switch (HcalSubdetector(fId.subdetId())) { case(HcalBarrel) : if (index < HBcontainer.size()) cell = &(HBcontainer.at(index) ); case(HcalEndcap) : if (index < HEcontainer.size()) cell = &(HEcontainer.at(index) ); case(HcalForward) : if (index < HFcontainer.size()) cell = &(HFcontainer.at(index) ); case(HcalOuter) : if (index < HOcontainer.size()) cell = &(HOcontainer.at(index) ); default: break; } } } // HcalCovarianceMatrix emptyHcalCovarianceMatrix; // if (cell->rawId() == emptyHcalCovarianceMatrix.rawId() ) if ((!cell) || (cell->rawId() != fId ) ) { if (throwOnFail) { throw cms::Exception ("Conditions not found") << "Unavailable Conditions of type " << myname() << " for cell " << fId.rawId(); } else { cell=0; } } return cell; }
void HcalCovarianceMatrices::initContainer | ( | DetId | container | ) | [private] |
Definition at line 14 of file HcalCovarianceMatrices.cc.
References DetId::det(), HBcontainer, DetId::Hcal, HcalBarrel, HcalEndcap, HcalForward, HcalOuter, HEcontainer, HFcontainer, HOcontainer, i, HcalCondObjectContainerBase::sizeFor(), and DetId::subdetId().
Referenced by addValues().
{ HcalCovarianceMatrix emptyItem; if (fId.det()==DetId::Hcal) { switch (HcalSubdetector(fId.subdetId())) { case(HcalBarrel) : for (unsigned int i=0; i<sizeFor(fId); i++) HBcontainer.push_back(emptyItem); break; case(HcalEndcap) : for (unsigned int i=0; i<sizeFor(fId); i++) HEcontainer.push_back(emptyItem); break; case(HcalOuter) : for (unsigned int i=0; i<sizeFor(fId); i++) HOcontainer.push_back(emptyItem); break; case(HcalForward) : for (unsigned int i=0; i<sizeFor(fId); i++) HFcontainer.push_back(emptyItem); break; default: break; } } }
std::string HcalCovarianceMatrices::myname | ( | ) | const [inline] |
Definition at line 23 of file HcalCovarianceMatrices.h.
References AlCaHLTBitMon_QueryRunRegistry::string.
Referenced by addValues(), and getValues().
{return (std::string)"HcalCovarianceMatrices";}
std::vector<HcalCovarianceMatrix> HcalCovarianceMatrices::HBcontainer [private] |
Definition at line 31 of file HcalCovarianceMatrices.h.
Referenced by addValues(), getAllChannels(), getValues(), and initContainer().
std::vector<HcalCovarianceMatrix> HcalCovarianceMatrices::HEcontainer [private] |
Definition at line 32 of file HcalCovarianceMatrices.h.
Referenced by addValues(), getAllChannels(), getValues(), and initContainer().
std::vector<HcalCovarianceMatrix> HcalCovarianceMatrices::HFcontainer [private] |
Definition at line 34 of file HcalCovarianceMatrices.h.
Referenced by addValues(), getAllChannels(), getValues(), and initContainer().
std::vector<HcalCovarianceMatrix> HcalCovarianceMatrices::HOcontainer [private] |
Definition at line 33 of file HcalCovarianceMatrices.h.
Referenced by addValues(), getAllChannels(), getValues(), and initContainer().