CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Types | Protected Attributes
hcaldqm::ContainerXXX< STDTYPE > Class Template Reference

#include <ContainerXXX.h>

Public Member Functions

virtual CompactMap::const_iterator begin ()
 
virtual void book (HcalElectronicsMap const *)
 
virtual void book (HcalElectronicsMap const *, filter::HashFilter const &)
 
 ContainerXXX ()
 
 ContainerXXX (hashfunctions::HashType ht)
 
 ContainerXXX (ContainerXXX const &x)
 
virtual void dump (Container1D *)
 
virtual void dump (std::vector< Container1D * > const &)
 
virtual CompactMap::const_iterator end ()
 
virtual bool exists (HcalDetId const &)
 
virtual bool exists (HcalElectronicsId const &)
 
virtual bool exists (HcalTrigTowerDetId const &)
 
virtual STDTYPE & get (HcalDetId const &)
 
virtual STDTYPE & get (HcalElectronicsId const &)
 
virtual STDTYPE & get (HcalTrigTowerDetId const &)
 
virtual void initialize (hashfunctions::HashType, int debug=0)
 
virtual void load (Container1D *)
 
virtual void print ()
 
virtual void push (HcalDetId const &, STDTYPE)
 
virtual void push (HcalElectronicsId const &, STDTYPE)
 
virtual void push (HcalTrigTowerDetId const &, STDTYPE)
 
virtual void reset ()
 
virtual void set (HcalDetId const &, STDTYPE)
 
virtual void set (HcalElectronicsId const &, STDTYPE)
 
virtual void set (HcalTrigTowerDetId const &, STDTYPE)
 
virtual uint32_t size ()
 
virtual ~ContainerXXX ()
 

Protected Types

typedef boost::unordered_map< uint32_t, STDTYPE > CompactMap
 

Protected Attributes

CompactMap _cmap
 
mapper::HashMapper _hashmap
 
Logger _logger
 

Detailed Description

template<typename STDTYPE>
class hcaldqm::ContainerXXX< STDTYPE >

Definition at line 20 of file ContainerXXX.h.

Member Typedef Documentation

template<typename STDTYPE>
typedef boost::unordered_map<uint32_t, STDTYPE> hcaldqm::ContainerXXX< STDTYPE >::CompactMap
protected

Definition at line 63 of file ContainerXXX.h.

Constructor & Destructor Documentation

template<typename STDTYPE>
hcaldqm::ContainerXXX< STDTYPE >::ContainerXXX ( )
inline

Definition at line 22 of file ContainerXXX.h.

Referenced by hcaldqm::ContainerXXX< int >::ContainerXXX().

22 {}
template<typename STDTYPE>
hcaldqm::ContainerXXX< STDTYPE >::ContainerXXX ( hashfunctions::HashType  ht)
inline

Definition at line 23 of file ContainerXXX.h.

23 : _hashmap(ht) {}
mapper::HashMapper _hashmap
Definition: ContainerXXX.h:65
template<typename STDTYPE >
hcaldqm::ContainerXXX< STDTYPE >::ContainerXXX ( ContainerXXX< STDTYPE > const &  x)

Definition at line 74 of file ContainerXXX.h.

References hcaldqm::ContainerXXX< STDTYPE >::_cmap, and AlCaHLTBitMon_ParallelJobs::p.

74  {
75  for (auto &p : _cmap) {
76  _cmap.insert(std::make_pair(p.first, p.second));
77  }
78  }
template<typename STDTYPE>
virtual hcaldqm::ContainerXXX< STDTYPE >::~ContainerXXX ( )
inlinevirtual

Definition at line 25 of file ContainerXXX.h.

25 { _cmap.clear(); }

Member Function Documentation

template<typename STDTYPE>
virtual CompactMap::const_iterator hcaldqm::ContainerXXX< STDTYPE >::begin ( void  )
inlinevirtual
template<typename STDTYPE >
void hcaldqm::ContainerXXX< STDTYPE >::book ( HcalElectronicsMap const *  emap)
virtual

Definition at line 87 of file ContainerXXX.h.

References hcaldqm::ContainerXXX< STDTYPE >::_cmap, hcaldqm::ContainerXXX< STDTYPE >::_hashmap, hcaldqm::ContainerXXX< STDTYPE >::_logger, HcalElectronicsMap::allElectronicsIdPrecision(), HcalElectronicsMap::allPrecisionId(), HcalElectronicsMap::allTriggerId(), Logger::debug(), runTauDisplay::eid, hcaldqm::mapper::HashMapper::getHash(), hcaldqm::mapper::HashMapper::getName(), cond::hash, hcaldqm::mapper::HashMapper::isDHash(), hcaldqm::mapper::HashMapper::isEHash(), and hcaldqm::mapper::HashMapper::isTHash().

Referenced by hcaldqm::RawRunSummary::beginRun(), hcaldqm::DigiRunSummary::beginRun(), PedestalTask::bookHistograms(), LEDTask::bookHistograms(), TPTask::bookHistograms(), LaserTask::bookHistograms(), RawTask::bookHistograms(), RecHitTask::bookHistograms(), DigiTask::bookHistograms(), hcaldqm::RecoRunSummary::endJob(), hcaldqm::TPRunSummary::endJob(), and hcaldqm::ContainerXXX< int >::~ContainerXXX().

87  {
88  if (_hashmap.isDHash()) {
89  std::vector<HcalGenericDetId> dids = emap->allPrecisionId();
90  for (std::vector<HcalGenericDetId>::const_iterator it = dids.begin(); it != dids.end(); ++it) {
91  if (!it->isHcalDetId())
92  continue;
93 
94  HcalDetId did = HcalDetId(it->rawId());
95  uint32_t hash = _hashmap.getHash(did);
97  typename CompactMap::iterator mit = _cmap.find(hash);
98  if (mit != _cmap.end())
99  continue;
100 
101  _cmap.insert(std::make_pair(hash, STDTYPE(0)));
102  }
103  } else if (_hashmap.isEHash()) {
104  std::vector<HcalElectronicsId> eids = emap->allElectronicsIdPrecision();
105  for (std::vector<HcalElectronicsId>::const_iterator it = eids.begin(); it != eids.end(); ++it) {
106  HcalElectronicsId eid = HcalElectronicsId(it->rawId());
107  uint32_t hash = _hashmap.getHash(eid);
109  typename CompactMap::iterator mit = _cmap.find(hash);
110  if (mit != _cmap.end())
111  continue;
112 
113  _cmap.insert(std::make_pair(hash, STDTYPE(0)));
114  }
115  } else if (_hashmap.isTHash()) {
116  std::vector<HcalTrigTowerDetId> tids = emap->allTriggerId();
117  for (std::vector<HcalTrigTowerDetId>::const_iterator it = tids.begin(); it != tids.end(); ++it) {
118  HcalTrigTowerDetId tid = HcalTrigTowerDetId(it->rawId());
119  uint32_t hash = _hashmap.getHash(tid);
121  typename CompactMap::iterator mit = _cmap.find(hash);
122  if (mit != _cmap.end())
123  continue;
124 
125  _cmap.insert(std::make_pair(hash, STDTYPE(0)));
126  }
127  }
128  }
virtual bool isTHash() const
Definition: HashMapper.h:56
void debug(STDTYPE const &msg) const
Definition: Logger.h:20
mapper::HashMapper _hashmap
Definition: ContainerXXX.h:65
uint32_t getHash(HcalDetId const &did) const override
Definition: HashMapper.h:29
virtual bool isDHash() const
Definition: HashMapper.h:52
virtual bool isEHash() const
Definition: HashMapper.h:53
Readout chain identification for Hcal.
std::string getName(HcalDetId const &did) const override
Definition: HashMapper.h:39
template<typename STDTYPE >
void hcaldqm::ContainerXXX< STDTYPE >::book ( HcalElectronicsMap const *  emap,
filter::HashFilter const &  filter 
)
virtual

Definition at line 131 of file ContainerXXX.h.

References hcaldqm::ContainerXXX< STDTYPE >::_cmap, hcaldqm::ContainerXXX< STDTYPE >::_hashmap, hcaldqm::ContainerXXX< STDTYPE >::_logger, HcalElectronicsMap::allElectronicsIdPrecision(), HcalElectronicsMap::allPrecisionId(), HcalElectronicsMap::allTriggerId(), Logger::debug(), runTauDisplay::eid, hcaldqm::filter::HashFilter::filter(), hcaldqm::mapper::HashMapper::getHash(), hcaldqm::mapper::HashMapper::getName(), cond::hash, hcaldqm::mapper::HashMapper::isDHash(), hcaldqm::mapper::HashMapper::isEHash(), and hcaldqm::mapper::HashMapper::isTHash().

131  {
132  if (_hashmap.isDHash()) {
133  std::vector<HcalGenericDetId> dids = emap->allPrecisionId();
134  for (std::vector<HcalGenericDetId>::const_iterator it = dids.begin(); it != dids.end(); ++it) {
135  if (!it->isHcalDetId())
136  continue;
137 
138  HcalDetId did = HcalDetId(it->rawId());
139  uint32_t hash = _hashmap.getHash(did);
140  typename CompactMap::iterator mit = _cmap.find(hash);
141  if (mit != _cmap.end())
142  continue;
143  if (filter.filter(did))
144  continue;
145 
147 
148  _cmap.insert(std::make_pair(hash, STDTYPE(0)));
149  }
150  } else if (_hashmap.isEHash()) {
151  std::vector<HcalElectronicsId> eids = emap->allElectronicsIdPrecision();
152  for (std::vector<HcalElectronicsId>::const_iterator it = eids.begin(); it != eids.end(); ++it) {
153  HcalElectronicsId eid = HcalElectronicsId(it->rawId());
154  uint32_t hash = _hashmap.getHash(eid);
155  typename CompactMap::iterator mit = _cmap.find(hash);
156  if (filter.filter(eid))
157  continue;
158  if (mit != _cmap.end())
159  continue;
160  _logger.debug(eid);
161 
162  _cmap.insert(std::make_pair(hash, STDTYPE(0)));
163  }
164  } else if (_hashmap.isTHash()) {
165  std::vector<HcalTrigTowerDetId> tids = emap->allTriggerId();
166  for (std::vector<HcalTrigTowerDetId>::const_iterator it = tids.begin(); it != tids.end(); ++it) {
167  HcalTrigTowerDetId tid = HcalTrigTowerDetId(it->rawId());
168  uint32_t hash = _hashmap.getHash(tid);
169  typename CompactMap::iterator mit = _cmap.find(hash);
170  if (mit != _cmap.end())
171  continue;
172  if (filter.filter(tid))
173  continue;
175 
176  _cmap.insert(std::make_pair(hash, STDTYPE(0)));
177  }
178  }
179  }
virtual bool isTHash() const
Definition: HashMapper.h:56
void debug(STDTYPE const &msg) const
Definition: Logger.h:20
mapper::HashMapper _hashmap
Definition: ContainerXXX.h:65
uint32_t getHash(HcalDetId const &did) const override
Definition: HashMapper.h:29
virtual bool isDHash() const
Definition: HashMapper.h:52
virtual bool isEHash() const
Definition: HashMapper.h:53
Readout chain identification for Hcal.
std::string getName(HcalDetId const &did) const override
Definition: HashMapper.h:39
template<typename STDTYPE >
void hcaldqm::ContainerXXX< STDTYPE >::dump ( Container1D c)
virtual

Definition at line 259 of file ContainerXXX.h.

References hcaldqm::ContainerXXX< STDTYPE >::_cmap, hcaldqm::Container1D::fill(), cond::hash, and AlCaHLTBitMon_ParallelJobs::p.

Referenced by hcaldqm::ContainerXXX< int >::~ContainerXXX().

259  {
260  for (auto &p : _cmap) {
261  STDTYPE &x = p.second;
262  uint32_t hash = p.first;
263  c->fill(hash, (double)x);
264  }
265  }
template<typename STDTYPE >
void hcaldqm::ContainerXXX< STDTYPE >::dump ( std::vector< Container1D * > const &  vc)
virtual

Definition at line 268 of file ContainerXXX.h.

References hcaldqm::ContainerXXX< STDTYPE >::_cmap, cond::hash, and AlCaHLTBitMon_ParallelJobs::p.

268  {
269  for (auto &p : _cmap) {
270  STDTYPE &x = p.second;
271  uint32_t hash = p.first;
272 
273  for (std::vector<Container1D *>::const_iterator it = vc.begin(); it != vc.end(); ++it)
274  (*it)->fill(hash, (double)x);
275  }
276  }
template<typename STDTYPE>
virtual CompactMap::const_iterator hcaldqm::ContainerXXX< STDTYPE >::end ( void  )
inlinevirtual
template<typename STDTYPE >
bool hcaldqm::ContainerXXX< STDTYPE >::exists ( HcalDetId const &  id)
virtual
template<typename STDTYPE >
bool hcaldqm::ContainerXXX< STDTYPE >::exists ( HcalElectronicsId const &  id)
virtual

Definition at line 217 of file ContainerXXX.h.

References hcaldqm::ContainerXXX< STDTYPE >::_cmap.

217  {
218  return _cmap.find(id.rawId()) != _cmap.end();
219  }
template<typename STDTYPE >
bool hcaldqm::ContainerXXX< STDTYPE >::exists ( HcalTrigTowerDetId const &  id)
virtual

Definition at line 222 of file ContainerXXX.h.

References hcaldqm::ContainerXXX< STDTYPE >::_cmap.

222  {
223  return _cmap.find(id.rawId()) != _cmap.end();
224  }
template<typename STDTYPE >
STDTYPE & hcaldqm::ContainerXXX< STDTYPE >::get ( HcalDetId const &  did)
virtual

Definition at line 197 of file ContainerXXX.h.

References hcaldqm::ContainerXXX< STDTYPE >::_cmap, hcaldqm::ContainerXXX< STDTYPE >::_hashmap, and hcaldqm::mapper::HashMapper::getHash().

Referenced by Options.Options::__getitem__(), betterConfigParser.BetterConfigParser::__updateDict(), PedestalTask::_dump(), LEDTask::_dump(), LaserTask::_dump(), TPTask::_process(), PedestalTask::_process(), RawTask::_process(), RecHitTask::_process(), LEDTask::_process(), DigiPhase1Task::_process(), DigiTask::_process(), LaserTask::_process(), hcaldqm::DigiRunSummary::beginRun(), DigiTask::bookHistograms(), rrapi.RRApi::columns(), util.rrapi.RRApi::columns(), util.rrapi.RRApi::count(), rrapi.RRApi::count(), util.rrapi.RRApi::data(), rrapi.RRApi::data(), hcaldqm::RecoRunSummary::endJob(), hcaldqm::TPRunSummary::endJob(), hcaldqm::DigiRunSummary::endJob(), hcaldqm::RawRunSummary::endLuminosityBlock(), hcaldqm::DigiRunSummary::endLuminosityBlock(), TPTask::endLuminosityBlock(), RawTask::endLuminosityBlock(), RecHitTask::endLuminosityBlock(), DigiTask::endLuminosityBlock(), betterConfigParser.BetterConfigParser::getCompares(), betterConfigParser.BetterConfigParser::getGeneral(), betterConfigParser.BetterConfigParser::getResultingSection(), rrapi.RRApi::report(), util.rrapi.RRApi::report(), rrapi.RRApi::reports(), util.rrapi.RRApi::reports(), rrapi.RRApi::tables(), util.rrapi.RRApi::tables(), util.rrapi.RRApi::tags(), rrapi.RRApi::tags(), rrapi.RRApi::templates(), util.rrapi.RRApi::templates(), util.rrapi.RRApi::workspaces(), and rrapi.RRApi::workspaces().

197  {
198  return _cmap[_hashmap.getHash(did)];
199  }
mapper::HashMapper _hashmap
Definition: ContainerXXX.h:65
uint32_t getHash(HcalDetId const &did) const override
Definition: HashMapper.h:29
template<typename STDTYPE >
STDTYPE & hcaldqm::ContainerXXX< STDTYPE >::get ( HcalElectronicsId const &  eid)
virtual
template<typename STDTYPE >
STDTYPE & hcaldqm::ContainerXXX< STDTYPE >::get ( HcalTrigTowerDetId const &  tid)
virtual
template<typename STDTYPE >
void hcaldqm::ContainerXXX< STDTYPE >::initialize ( hashfunctions::HashType  ht,
int  debug = 0 
)
virtual
template<typename STDTYPE >
void hcaldqm::ContainerXXX< STDTYPE >::load ( Container1D cont)
virtual

Definition at line 299 of file ContainerXXX.h.

References hcaldqm::ContainerXXX< STDTYPE >::_cmap, hcaldqm::ContainerXXX< STDTYPE >::_hashmap, hcaldqm::Container1D::getBinContent(), cond::hash, hcaldqm::mapper::HashMapper::isDHash(), hcaldqm::mapper::HashMapper::isEHash(), hcaldqm::mapper::HashMapper::isTHash(), and AlCaHLTBitMon_ParallelJobs::p.

Referenced by hcaldqm::ContainerXXX< int >::~ContainerXXX().

299  {
300  for (auto &p : _cmap) {
301  STDTYPE &x = p.second;
302  uint32_t hash = p.first;
303 
304  if (_hashmap.isDHash())
305  x = cont->getBinContent(HcalDetId(hash));
306  else if (_hashmap.isEHash())
307  x = cont->getBinContent(HcalElectronicsId(hash));
308  else if (_hashmap.isTHash())
309  x = cont->getBinContent(HcalTrigTowerDetId(hash));
310  }
311  }
virtual bool isTHash() const
Definition: HashMapper.h:56
mapper::HashMapper _hashmap
Definition: ContainerXXX.h:65
virtual bool isDHash() const
Definition: HashMapper.h:52
virtual bool isEHash() const
Definition: HashMapper.h:53
Readout chain identification for Hcal.
template<typename STDTYPE >
void hcaldqm::ContainerXXX< STDTYPE >::print ( void  )
virtual

Definition at line 279 of file ContainerXXX.h.

References hcaldqm::ContainerXXX< STDTYPE >::_cmap, hcaldqm::ContainerXXX< STDTYPE >::_hashmap, gather_cfg::cout, hcaldqm::mapper::HashMapper::getHashTypeName(), hcaldqm::mapper::HashMapper::isDHash(), hcaldqm::mapper::HashMapper::isEHash(), hcaldqm::mapper::HashMapper::isTHash(), and AlCaHLTBitMon_ParallelJobs::p.

Referenced by hcaldqm::ContainerXXX< int >::~ContainerXXX().

279  {
280  std::cout << "Container by " << _hashmap.getHashTypeName() << std::endl;
281  for (auto &p : _cmap) {
282  if (_hashmap.isDHash())
283  std::cout << HcalDetId(p.first) << p.second << std::endl;
284  else if (_hashmap.isEHash())
285  std::cout << HcalElectronicsId(p.first) << p.second << std::endl;
286  else if (_hashmap.isTHash())
287  std::cout << HcalTrigTowerDetId(p.first) << p.second << std::endl;
288  }
289  }
virtual bool isTHash() const
Definition: HashMapper.h:56
mapper::HashMapper _hashmap
Definition: ContainerXXX.h:65
virtual std::string getHashTypeName() const
Definition: HashMapper.h:48
virtual bool isDHash() const
Definition: HashMapper.h:52
virtual bool isEHash() const
Definition: HashMapper.h:53
Readout chain identification for Hcal.
template<typename STDTYPE>
void hcaldqm::ContainerXXX< STDTYPE >::push ( HcalDetId const &  did,
STDTYPE  x 
)
virtual

Definition at line 227 of file ContainerXXX.h.

References hcaldqm::ContainerXXX< STDTYPE >::_cmap, cond::hash, and DetId::rawId().

Referenced by hcaldqm::DQTask::beginLuminosityBlock(), hcaldqm::DQClient::beginLuminosityBlock(), hcaldqm::DQHarvester::dqmBeginLuminosityBlock(), esMonitoring.LineHistoryEnd::write(), esMonitoring.LineHistoryStart::write(), and hcaldqm::ContainerXXX< int >::~ContainerXXX().

227  {
228  uint32_t hash = did.rawId();
229  typename CompactMap::iterator mit = _cmap.find(hash);
230  if (mit != _cmap.end())
231  return;
232  _cmap.insert(std::make_pair(hash, x));
233  }
template<typename STDTYPE>
void hcaldqm::ContainerXXX< STDTYPE >::push ( HcalElectronicsId const &  eid,
STDTYPE  x 
)
virtual

Definition at line 236 of file ContainerXXX.h.

References hcaldqm::ContainerXXX< STDTYPE >::_cmap, cond::hash, and HcalElectronicsId::rawId().

Referenced by esMonitoring.LineHistoryEnd::write(), and esMonitoring.LineHistoryStart::write().

236  {
237  uint32_t hash = eid.rawId();
238  typename CompactMap::iterator mit = _cmap.find(hash);
239  if (mit != _cmap.end())
240  return;
241  _cmap.insert(std::make_pair(hash, x));
242  }
template<typename STDTYPE>
void hcaldqm::ContainerXXX< STDTYPE >::push ( HcalTrigTowerDetId const &  tid,
STDTYPE  x 
)
virtual

Definition at line 245 of file ContainerXXX.h.

References hcaldqm::ContainerXXX< STDTYPE >::_cmap, cond::hash, and DetId::rawId().

Referenced by esMonitoring.LineHistoryEnd::write(), and esMonitoring.LineHistoryStart::write().

245  {
246  uint32_t hash = tid.rawId();
247  typename CompactMap::iterator mit = _cmap.find(hash);
248  if (mit != _cmap.end())
249  return;
250  _cmap.insert(std::make_pair(hash, x));
251  }
template<typename STDTYPE >
void hcaldqm::ContainerXXX< STDTYPE >::reset ( void  )
virtual
template<typename STDTYPE>
void hcaldqm::ContainerXXX< STDTYPE >::set ( HcalDetId const &  did,
STDTYPE  x 
)
virtual

Definition at line 182 of file ContainerXXX.h.

References hcaldqm::ContainerXXX< STDTYPE >::_cmap, hcaldqm::ContainerXXX< STDTYPE >::_hashmap, and hcaldqm::mapper::HashMapper::getHash().

Referenced by PedestalTask::bookHistograms().

182  {
183  _cmap[_hashmap.getHash(did)] = x;
184  }
mapper::HashMapper _hashmap
Definition: ContainerXXX.h:65
uint32_t getHash(HcalDetId const &did) const override
Definition: HashMapper.h:29
template<typename STDTYPE>
void hcaldqm::ContainerXXX< STDTYPE >::set ( HcalElectronicsId const &  did,
STDTYPE  x 
)
virtual

Definition at line 187 of file ContainerXXX.h.

References hcaldqm::ContainerXXX< STDTYPE >::_cmap, hcaldqm::ContainerXXX< STDTYPE >::_hashmap, and hcaldqm::mapper::HashMapper::getHash().

187  {
188  _cmap[_hashmap.getHash(did)] = x;
189  }
mapper::HashMapper _hashmap
Definition: ContainerXXX.h:65
uint32_t getHash(HcalDetId const &did) const override
Definition: HashMapper.h:29
template<typename STDTYPE>
void hcaldqm::ContainerXXX< STDTYPE >::set ( HcalTrigTowerDetId const &  did,
STDTYPE  x 
)
virtual

Definition at line 192 of file ContainerXXX.h.

References hcaldqm::ContainerXXX< STDTYPE >::_cmap, hcaldqm::ContainerXXX< STDTYPE >::_hashmap, and hcaldqm::mapper::HashMapper::getHash().

192  {
193  _cmap[_hashmap.getHash(did)] = x;
194  }
mapper::HashMapper _hashmap
Definition: ContainerXXX.h:65
uint32_t getHash(HcalDetId const &did) const override
Definition: HashMapper.h:29
template<typename STDTYPE >
uint32_t hcaldqm::ContainerXXX< STDTYPE >::size ( void  )
virtual

Member Data Documentation

template<typename STDTYPE>
CompactMap hcaldqm::ContainerXXX< STDTYPE >::_cmap
protected
template<typename STDTYPE>
mapper::HashMapper hcaldqm::ContainerXXX< STDTYPE >::_hashmap
protected
template<typename STDTYPE>
Logger hcaldqm::ContainerXXX< STDTYPE >::_logger
protected