Produce digis out of raw data.
34 LogDebug(
"EcalTBHodo") <<
"total # caloHits: " << caloHits->size();
36 edm::LogError(
"EcalTBHodo") <<
"Error! can't get the caloHitContainer ";
43 std::map<unsigned int, double> energyMap;
45 for (
auto &&aHit : *caloHits) {
46 double thisHitEne = aHit.energy();
48 std::map<unsigned int, double>::iterator itmap = energyMap.find(aHit.id());
49 if (itmap == energyMap.end())
50 energyMap.insert(pair<unsigned int, double>(aHit.id(), thisHitEne));
52 (*itmap).second += thisHitEne;
59 product->setPlanes(nPlanes);
61 bool firedChannels[4][64];
62 for (
int iPlane = 0; iPlane < nPlanes; ++iPlane) {
63 for (
int iFiber = 0; iFiber < nFibers; ++iFiber) {
64 firedChannels[iPlane][iFiber] = 0.;
67 for (std::map<unsigned int, double>::const_iterator itmap = energyMap.begin(); itmap != energyMap.end(); ++itmap) {
70 firedChannels[myHodoDetId.
planeId()][myHodoDetId.
fibrId()] =
true;
73 for (
int iPlane = 0; iPlane < nPlanes; ++iPlane) {
76 for (
int iFiber = 0; iFiber < nFibers; ++iFiber) {
77 planeHit.setHit(iFiber, firedChannels[iPlane][iFiber]);
79 product->setPlane((
unsigned int)iPlane, planeHit);
82 LogDebug(
"EcalTBHodo") << (*product);
std::vector< PCaloHit > PCaloHitContainer
T const * product() const
EcalTBHodoscopeGeometry * theTBHodoGeom_
edm::EDGetTokenT< edm::PCaloHitContainer > m_EcalToken