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 | Private Member Functions | Private Attributes | Friends
HcalCondObjectContainer< Item > Class Template Reference

#include <HcalCondObjectContainer.h>

Inheritance diagram for HcalCondObjectContainer< Item >:
HcalCondObjectContainerBase

Public Types

typedef std::vector< tHcalConttAllContWithNames
 
typedef std::pair< std::string,
std::vector< Item > > 
tHcalCont
 

Public Member Functions

bool addValues (const Item &myItem)
 
const bool exists (DetId fId) const
 
std::vector< DetIdgetAllChannels () const
 
const tAllContWithNames getAllContainers () const
 
const ItemgetValues (DetId fId, bool throwOnFail=true) const
 
 HcalCondObjectContainer (const HcalTopology *topo)
 
virtual std::string myname () const
 
virtual ~HcalCondObjectContainer ()
 
- Public Member Functions inherited from HcalCondObjectContainerBase
int getCreatorPackedIndexVersion () const
 
void setTopo (const HcalTopology *topo)
 
const HcalTopologytopo () const
 

Private Member Functions

void initContainer (DetId container)
 
template<class Archive >
void serialize (Archive &ar, const unsigned int version)
 

Private Attributes

std::vector< ItemCALIBcontainer
 
std::vector< ItemCASTORcontainer
 
std::vector< ItemHBcontainer
 
std::vector< ItemHEcontainer
 
std::vector< ItemHFcontainer
 
std::vector< ItemHOcontainer
 
std::vector< ItemHTcontainer
 
std::vector< ItemZDCcontainer
 

Friends

class boost::serialization::access
 
template<typename CondSerializationT , typename Enabled >
struct cond::serialization::access
 

Additional Inherited Members

- Protected Member Functions inherited from HcalCondObjectContainerBase
HcalOtherSubdetector extractOther (const DetId &id) const
 
 HcalCondObjectContainerBase (HcalCondObjectContainerBase const &o)
 
 HcalCondObjectContainerBase (HcalCondObjectContainerBase &&)=default
 
 HcalCondObjectContainerBase (const HcalTopology *)
 
unsigned int indexFor (DetId) const
 
HcalCondObjectContainerBaseoperator= (HcalCondObjectContainerBase const &o)
 
HcalCondObjectContainerBaseoperator= (HcalCondObjectContainerBase &&)=default
 
unsigned int sizeFor (DetId) const
 
std::string textForId (const DetId &id) const
 
- Protected Attributes inherited from HcalCondObjectContainerBase
int packedIndexVersion_
 

Detailed Description

template<class Item>
class HcalCondObjectContainer< Item >

Definition at line 43 of file HcalCondObjectContainer.h.

Member Typedef Documentation

template<class Item>
typedef std::vector< tHcalCont > HcalCondObjectContainer< Item >::tAllContWithNames

Definition at line 67 of file HcalCondObjectContainer.h.

template<class Item>
typedef std::pair< std::string, std::vector<Item> > HcalCondObjectContainer< Item >::tHcalCont

Definition at line 66 of file HcalCondObjectContainer.h.

Constructor & Destructor Documentation

template<class Item>
HcalCondObjectContainer< Item >::HcalCondObjectContainer ( const HcalTopology topo)
inline

Definition at line 46 of file HcalCondObjectContainer.h.

HcalCondObjectContainerBase(HcalCondObjectContainerBase const &o)
template<class Item >
HcalCondObjectContainer< Item >::~HcalCondObjectContainer ( )
virtual

Definition at line 100 of file HcalCondObjectContainer.h.

101 {
102 }

Member Function Documentation

template<class Item>
bool HcalCondObjectContainer< Item >::addValues ( const Item myItem)

Definition at line 191 of file HcalCondObjectContainer.h.

References DetId::Calo, Exception, DetId::Hcal, HcalBarrel, HcalCalibration, HcalEndcap, HcalForward, HcalOther, HcalOuter, HcalTriggerTower, cmsHarvester::index, NULL, HcalZDCDetId::SubdetectorId, HcalCastorDetId::SubdetectorId, and summarizeEdmComparisonLogfiles::success.

Referenced by HcalPedestalsCheck::analyze(), cms::HcalConstantsASCIIWriter::analyze(), HcalGainsCheck::analyze(), HcalDbOnline::getObject(), HcalPedestalAnalysis::GetPedConst(), HcalPedestalAnalysis::HcalPedVal(), main(), and HcalMonitorClient::writeChannelStatus().

192 {
193  bool success = false;
194  DetId fId(myItem.rawId());
195  unsigned int index=indexFor(fId);
196 
197  Item* cell = NULL;
198 
199  if (index<0xFFFFFFFu) {
200  if (fId.det()==DetId::Hcal) {
201  switch (HcalSubdetector(fId.subdetId())) {
202  case(HcalBarrel) : if (!HBcontainer.size() ) initContainer(fId);
203  if (index < HBcontainer.size()) cell = &(HBcontainer.at(index) ); break;
204  case(HcalEndcap) : if (!HEcontainer.size() ) initContainer(fId);
205  if (index < HEcontainer.size()) cell = &(HEcontainer.at(index) ); break;
206  case(HcalForward) : if (!HFcontainer.size() ) initContainer(fId);
207  if (index < HFcontainer.size()) cell = &(HFcontainer.at(index) ); break;
208  case(HcalOuter) : if (!HOcontainer.size() ) initContainer(fId);
209  if (index < HOcontainer.size()) cell = &(HOcontainer.at(index) ); break;
210  case(HcalTriggerTower) : if (!HTcontainer.size() ) initContainer(fId);
211  if (index < HTcontainer.size()) cell = &(HTcontainer.at(index) ); break;
212  case(HcalOther) : if (extractOther(fId)==HcalCalibration) {
213  if (!CALIBcontainer.size() ) initContainer(fId);
214  if (index < CALIBcontainer.size()) cell = &(CALIBcontainer.at(index) );
215  }
216  break;
217  default: break;
218  }
219  } else if (fId.det()==DetId::Calo) {
220  if (fId.subdetId()==HcalCastorDetId::SubdetectorId) {
221  if (!CASTORcontainer.size() ) initContainer(fId);
222  if (index < CASTORcontainer.size()) cell = &(CASTORcontainer.at(index) );
223  } else if (fId.subdetId()==HcalZDCDetId::SubdetectorId) {
224  if (!ZDCcontainer.size() ) initContainer(fId);
225  if (index < ZDCcontainer.size()) cell = &(ZDCcontainer.at(index) );
226  }
227  }
228  }
229 
230  if (cell!=0) {
231  (*cell)=myItem;
232  success=true;
233  }
234 
235  if (!success)
236  throw cms::Exception ("Filling of conditions failed")
237  << " no valid filling possible for Conditions of type " << myname() << " for DetId " << textForId(fId);
238  return success;
239 }
unsigned int indexFor(DetId) const
std::vector< Item > HEcontainer
std::vector< Item > HBcontainer
#define NULL
Definition: scimark2.h:8
std::vector< Item > CASTORcontainer
HcalOtherSubdetector extractOther(const DetId &id) const
HcalSubdetector
Definition: HcalAssistant.h:31
std::vector< Item > ZDCcontainer
static const int SubdetectorId
Definition: DetId.h:18
static const int SubdetectorId
Definition: HcalZDCDetId.h:20
virtual std::string myname() const
std::string textForId(const DetId &id) const
std::vector< Item > HTcontainer
std::vector< Item > HOcontainer
std::vector< Item > CALIBcontainer
void initContainer(DetId container)
std::vector< Item > HFcontainer
template<class Item >
const bool HcalCondObjectContainer< Item >::exists ( DetId  fId) const

Definition at line 179 of file HcalCondObjectContainer.h.

Referenced by HcalDbOnline::getObject(), main(), and cms::HitReCalibrator::produce().

180 {
181  const Item* cell = getValues(fId,false);
182 
183  if (cell)
184  if (cell->rawId() == fId )
185  return true;
186 
187  return false;
188 }
const Item * getValues(DetId fId, bool throwOnFail=true) const
template<class Item >
std::vector< DetId > HcalCondObjectContainer< Item >::getAllChannels ( ) const

Definition at line 242 of file HcalCondObjectContainer.h.

References i.

Referenced by HcalQIEDataCheck::analyze(), HcalAutoPedestalValidator::analyze(), HcalPedestalWidthsCheck::analyze(), HcalPedestalsCheck::analyze(), HcalGainsCheck::analyze(), HcalMonitorClient::beginRun(), HcalBeamMonitor::bookHistograms(), HcalDeadCellMonitor::bookHistograms(), HcalDigiMonitor::bookHistograms(), HcalDetDiagLEDMonitor::bookHistograms(), HcalDetDiagPedestalMonitor::bookHistograms(), HcalDetDiagLaserMonitor::bookHistograms(), HcalDbService::buildCalibrations(), HcalDbService::buildCalibWidths(), HcalDbXml::dumpObject(), HcalPedestalAnalysis::HcalPedVal(), main(), CaloTowersCreationAlgo::makeHcalDropChMap(), and HcalMonitorClient::writeChannelStatus().

243 {
244  std::vector<DetId> channels;
245  Item emptyItem;
246  for (unsigned int i=0; i<HBcontainer.size(); i++)
247  {
248  if (emptyItem.rawId() != HBcontainer.at(i).rawId() )
249  channels.push_back( DetId(HBcontainer.at(i).rawId()) );
250  }
251  for (unsigned int i=0; i<HEcontainer.size(); i++)
252  {
253  if (emptyItem.rawId() != HEcontainer.at(i).rawId() )
254  channels.push_back( DetId(HEcontainer.at(i).rawId()) );
255  }
256  for (unsigned int i=0; i<HOcontainer.size(); i++)
257  {
258  if (emptyItem.rawId() != HOcontainer.at(i).rawId() )
259  channels.push_back( DetId(HOcontainer.at(i).rawId()) );
260  }
261  for (unsigned int i=0; i<HFcontainer.size(); i++)
262  {
263  if (emptyItem.rawId() != HFcontainer.at(i).rawId() )
264  channels.push_back( DetId(HFcontainer.at(i).rawId()) );
265  }
266  for (unsigned int i=0; i<HTcontainer.size(); i++)
267  {
268  if (emptyItem.rawId() != HTcontainer.at(i).rawId() )
269  channels.push_back( DetId(HTcontainer.at(i).rawId()) );
270  }
271  for (unsigned int i=0; i<ZDCcontainer.size(); i++)
272  {
273  if (emptyItem.rawId() != ZDCcontainer.at(i).rawId() )
274  channels.push_back( DetId(ZDCcontainer.at(i).rawId()) );
275  }
276  for (unsigned int i=0; i<CALIBcontainer.size(); i++)
277  {
278  if (emptyItem.rawId() != CALIBcontainer.at(i).rawId() )
279  channels.push_back( DetId(CALIBcontainer.at(i).rawId()) );
280  }
281  for (unsigned int i=0; i<CASTORcontainer.size(); i++)
282  {
283  if (emptyItem.rawId() != CASTORcontainer.at(i).rawId() )
284  channels.push_back( DetId(CASTORcontainer.at(i).rawId()) );
285  }
286 
287  return channels;
288 }
int i
Definition: DBlmapReader.cc:9
std::vector< Item > HEcontainer
std::vector< Item > HBcontainer
std::vector< Item > CASTORcontainer
std::vector< Item > ZDCcontainer
Definition: DetId.h:18
std::vector< Item > HTcontainer
std::vector< Item > HOcontainer
std::vector< Item > CALIBcontainer
std::vector< Item > HFcontainer
template<class Item>
const tAllContWithNames HcalCondObjectContainer< Item >::getAllContainers ( ) const
inline

Definition at line 69 of file HcalCondObjectContainer.h.

69  {
70  tAllContWithNames allContainers;
71  allContainers.push_back(tHcalCont("HB",HBcontainer));
72  allContainers.push_back(tHcalCont("HE",HEcontainer));
73  allContainers.push_back(tHcalCont("HO",HOcontainer));
74  allContainers.push_back(tHcalCont("HF",HFcontainer));
75  allContainers.push_back(tHcalCont("HT",HTcontainer));
76  allContainers.push_back(tHcalCont("ZDC",ZDCcontainer));
77  allContainers.push_back(tHcalCont("CALIB",CALIBcontainer));
78  allContainers.push_back(tHcalCont("CASTOR",CASTORcontainer));
79  return allContainers;
80  }
std::vector< Item > HEcontainer
std::vector< Item > HBcontainer
std::vector< Item > CASTORcontainer
std::vector< Item > ZDCcontainer
std::vector< Item > HTcontainer
std::vector< Item > HOcontainer
std::vector< Item > CALIBcontainer
std::vector< Item > HFcontainer
std::pair< std::string, std::vector< Item > > tHcalCont
std::vector< tHcalCont > tAllContWithNames
template<class Item >
const Item * HcalCondObjectContainer< Item >::getValues ( DetId  fId,
bool  throwOnFail = true 
) const

Definition at line 132 of file HcalCondObjectContainer.h.

References DetId::Calo, DetId::det(), Exception, DetId::Hcal, HcalBarrel, HcalCalibration, HcalEndcap, HcalForward, HcalOther, HcalOuter, HcalTriggerTower, cmsHarvester::index, NULL, HcalZDCDetId::SubdetectorId, HcalCastorDetId::SubdetectorId, and DetId::subdetId().

Referenced by HcalAmplifier::addPedestals(), cms::HcalConstantsASCIIWriter::analyze(), cms::Analyzer_minbias::analyze(), HcalMonitorClient::beginRun(), HcalBeamMonitor::bookHistograms(), HcalDeadCellMonitor::bookHistograms(), HcalDigiMonitor::bookHistograms(), HcalDetDiagLEDMonitor::bookHistograms(), HcalDetDiagPedestalMonitor::bookHistograms(), HcalDetDiagLaserMonitor::bookHistograms(), HcalDbXml::dumpObject(), reco::HcalNoiseInfoProducer::filldigis(), reco::HcalNoiseInfoProducer::fillrechits(), HcalDbService::getGain(), HcalDbService::getGainWidth(), HcalDbService::getHcalChannelStatus(), HcalDbService::getHcalL1TriggerObject(), HcalDbService::getHcalLUTCorr(), HcalDbService::getHcalPFCorr(), HcalDbService::getHcalRespCorr(), HcalDbService::getHcalTimeCorr(), HcalDbService::getHcalZSThreshold(), HcalDbService::getPedestal(), HcalDbService::getPedestalWidth(), CaloTowersCreationAlgo::hcalChanStatusForCaloTower(), HcalPedestalAnalysis::HcalPedVal(), HcalRecHitsAnalyzer::hcalSevLvl(), HcalRecHitsValidation::hcalSevLvl(), HcalHF_PETalgorithm::HFSetFlagFromPET(), HcalHFStatusBitFromRecHits::hfSetFlagFromRecHits(), HcalHF_S9S1algorithm::HFSetFlagFromS9S1(), MuonHOAcceptance::initIds(), CaloTPGTranscoderULUT::loadHCALCompress(), HcalRecHitsMaker::loadHcalRecHits(), CaloTPGTranscoderULUT::loadHCALUncompress(), main(), CaloTowersCreationAlgo::makeHcalDropChMap(), EgammaHLTHcalIsolation::passCleaning_(), HcalSimpleReconstructor::process(), HcalSimpleReconstructor::processUpgrade(), ZdcSimpleReconstructor::produce(), ZdcHitReconstructor::produce(), cms::HitReCalibrator::produce(), HcalHitReconstructor::produce(), HcalShapes::shape(), HcalPulseShapes::shape(), HcalPulseShapes::shapeForReco(), PFRecHitQTestHCALChannel::test(), HcaluLUTTPGCoder::update(), ObjectValidator::validHit(), and HcalMonitorClient::writeChannelStatus().

133 {
134  unsigned int index=indexFor(fId);
135 
136  const Item* cell = NULL;
137 
138  if (index<0xFFFFFFFu) {
139  if (fId.det()==DetId::Hcal) {
140  switch (HcalSubdetector(fId.subdetId())) {
141  case(HcalBarrel) : if (index < HBcontainer.size()) cell = &(HBcontainer.at(index) ); break;
142  case(HcalEndcap) : if (index < HEcontainer.size()) cell = &(HEcontainer.at(index) ); break;
143  case(HcalForward) : if (index < HFcontainer.size()) cell = &(HFcontainer.at(index) ); break;
144  case(HcalOuter) : if (index < HOcontainer.size()) cell = &(HOcontainer.at(index) ); break;
145  case(HcalTriggerTower) : if (index < HTcontainer.size()) cell = &(HTcontainer.at(index) ); break;
146  case(HcalOther) : if (extractOther(fId)==HcalCalibration)
147  if (index < CALIBcontainer.size()) cell = &(CALIBcontainer.at(index) );
148  break;
149  default: break;
150  }
151  } else if (fId.det()==DetId::Calo) {
153  if (index < CASTORcontainer.size()) cell = &(CASTORcontainer.at(index) );
154  } else if (fId.subdetId()==HcalZDCDetId::SubdetectorId) {
155  if (index < ZDCcontainer.size()) cell = &(ZDCcontainer.at(index) );
156  }
157  }
158  }
159 
160  // Item emptyItem;
161  // if (cell->rawId() == emptyItem.rawId() )
162  if ((!cell)) {
163  if (throwOnFail) {
164  throw cms::Exception ("Conditions not found")
165  << "Unavailable Conditions of type " << myname() << " for cell " << textForId(fId);
166  }
167  } else if (cell->rawId() != fId) {
168  if (throwOnFail) {
169  throw cms::Exception ("Conditions mismatch")
170  << "Requested conditions of type " << myname() << " for cell " << textForId(fId) << " got conditions for cell " << textForId(DetId(cell->rawId()));
171  }
172  cell=0;
173  }
174 
175  return cell;
176 }
unsigned int indexFor(DetId) const
std::vector< Item > HEcontainer
std::vector< Item > HBcontainer
#define NULL
Definition: scimark2.h:8
std::vector< Item > CASTORcontainer
HcalOtherSubdetector extractOther(const DetId &id) const
HcalSubdetector
Definition: HcalAssistant.h:31
std::vector< Item > ZDCcontainer
int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:37
static const int SubdetectorId
Definition: DetId.h:18
static const int SubdetectorId
Definition: HcalZDCDetId.h:20
virtual std::string myname() const
std::string textForId(const DetId &id) const
std::vector< Item > HTcontainer
std::vector< Item > HOcontainer
std::vector< Item > CALIBcontainer
Detector det() const
get the detector field from this detid
Definition: DetId.h:35
std::vector< Item > HFcontainer
template<class Item >
void HcalCondObjectContainer< Item >::initContainer ( DetId  container)
private

Definition at line 105 of file HcalCondObjectContainer.h.

References DetId::Calo, DetId::det(), DetId::Hcal, HcalBarrel, HcalCalibration, HcalEndcap, HcalForward, HcalOther, HcalOuter, HcalTriggerTower, i, HcalZDCDetId::SubdetectorId, HcalCastorDetId::SubdetectorId, and DetId::subdetId().

106 {
107  Item emptyItem;
108 
109  if (fId.det()==DetId::Hcal) {
110  switch (HcalSubdetector(fId.subdetId())) {
111  case(HcalBarrel) : for (unsigned int i=0; i<sizeFor(fId); i++) HBcontainer.push_back(emptyItem); break;
112  case(HcalEndcap) : for (unsigned int i=0; i<sizeFor(fId); i++) HEcontainer.push_back(emptyItem); break;
113  case(HcalOuter) : for (unsigned int i=0; i<sizeFor(fId); i++) HOcontainer.push_back(emptyItem); break;
114  case(HcalForward) : for (unsigned int i=0; i<sizeFor(fId); i++) HFcontainer.push_back(emptyItem); break;
115  case(HcalTriggerTower) : for (unsigned int i=0; i<sizeFor(fId); i++) HTcontainer.push_back(emptyItem); break;
116  case(HcalOther) : if (extractOther(fId)==HcalCalibration)
117  for (unsigned int i=0; i<sizeFor(fId); i++) CALIBcontainer.push_back(emptyItem); break;
118  break;
119  default: break;
120  }
121  } else if (fId.det()==DetId::Calo) {
122  if (fId.subdetId()==HcalCastorDetId::SubdetectorId) {
123  for (unsigned int i=0; i<sizeFor(fId); i++) CASTORcontainer.push_back(emptyItem);
124  } else if (fId.subdetId()==HcalZDCDetId::SubdetectorId) {
125  for (unsigned int i=0; i<sizeFor(fId); i++) ZDCcontainer.push_back(emptyItem);
126  }
127  }
128 }
int i
Definition: DBlmapReader.cc:9
std::vector< Item > HEcontainer
std::vector< Item > HBcontainer
std::vector< Item > CASTORcontainer
HcalOtherSubdetector extractOther(const DetId &id) const
unsigned int sizeFor(DetId) const
HcalSubdetector
Definition: HcalAssistant.h:31
std::vector< Item > ZDCcontainer
static const int SubdetectorId
static const int SubdetectorId
Definition: HcalZDCDetId.h:20
std::vector< Item > HTcontainer
std::vector< Item > HOcontainer
std::vector< Item > CALIBcontainer
std::vector< Item > HFcontainer
template<class Item>
virtual std::string HcalCondObjectContainer< Item >::myname ( ) const
inlinevirtual
template<class Item>
template<class Archive >
void HcalCondObjectContainer< Item >::serialize ( Archive &  ar,
const unsigned int  version 
)
private

Friends And Related Function Documentation

template<class Item>
friend class boost::serialization::access
friend

Definition at line 95 of file HcalCondObjectContainer.h.

template<class Item>
template<typename CondSerializationT , typename Enabled >
friend struct cond::serialization::access
friend

Definition at line 95 of file HcalCondObjectContainer.h.

Member Data Documentation

template<class Item>
std::vector<Item> HcalCondObjectContainer< Item >::CALIBcontainer
private
template<class Item>
std::vector<Item> HcalCondObjectContainer< Item >::CASTORcontainer
private
template<class Item>
std::vector<Item> HcalCondObjectContainer< Item >::HBcontainer
private
template<class Item>
std::vector<Item> HcalCondObjectContainer< Item >::HEcontainer
private
template<class Item>
std::vector<Item> HcalCondObjectContainer< Item >::HFcontainer
private
template<class Item>
std::vector<Item> HcalCondObjectContainer< Item >::HOcontainer
private
template<class Item>
std::vector<Item> HcalCondObjectContainer< Item >::HTcontainer
private
template<class Item>
std::vector<Item> HcalCondObjectContainer< Item >::ZDCcontainer
private