7#include "Identifier/Identifier.h"
26 size_t size = transCont->
size();
27 if (log.level() <= MSG::DEBUG) log << MSG::DEBUG <<
" *** Writing CaloCalibrationHitContainer_p4 of size:"<<size<<
endmsg;
30 std::vector<float> tempE;
31 tempE.reserve(size*4);
32 std::vector<unsigned int> tempPID; tempPID.reserve(size);
36 std::multimap <unsigned int, unsigned int> map_hashPositions;
38 for (
unsigned int w=0;w<size;++w) {
40 unsigned int id = (*it)->cellID().get_identifier32().get_compact();
41 map_hashPositions.insert(std::pair<unsigned int, int>(
id, w));
45 std::multimap<unsigned int, unsigned int>::const_iterator iter;
47 for (iter=map_hashPositions.begin(); iter != map_hashPositions.end(); ++iter) {
48 unsigned int pHash=(iter->first)-old;
50 unsigned int pos=iter->second;
53 tempE.push_back(
static_cast<float>(hit.
energyEM()) );
54 tempE.push_back(
static_cast<float>(hit.
energyNonEM()) );
57 tempPID.push_back(
static_cast<unsigned int>(hit.
particleUID()) );
72 if (log.level() <= MSG::DEBUG) log << MSG::DEBUG <<
" *** Reading CaloCalibrationHitContainer of size: "<<cells<<
endmsg;
78 std::vector<float> tempE;
79 tempE.reserve(cells*4);
80 A.expandToFloat(persCont->
m_energy,tempE);
83 for (
unsigned int i=0;i<cells;++i) {
boost::transform_iterator< make_const, typename CONT::const_iterator > const_iterator
void reserve(size_type n)
void setName(const std::string &name)
const T * At(unsigned int pos) const
const_iterator begin() const
const std::string & Name() const
virtual void persToTrans(const CaloCalibrationHitContainer_p4 *persColl, CaloCalibrationHitContainer *transColl, MsgStream &log)
virtual void transToPers(const CaloCalibrationHitContainer *transColl, CaloCalibrationHitContainer_p4 *persColl, MsgStream &log)
Persistent represenation of a CaloCalibrationContainer,.
std::vector< unsigned int > m_energy
std::vector< unsigned int > m_channelHash
const std::string & name() const
std::vector< unsigned int > m_particleUID
Class to store calorimeter calibration hit.
double energyNonEM() const
double energyEscaped() const
double energyInvisible() const
constexpr int INVALID_PARTICLE_ID
hold the test vectors and ease the comparison