13 const std::string&
name,
14 const IInterface*
parent) :
22 return StatusCode::SUCCESS;
26 return StatusCode::SUCCESS;
31 for (
unsigned int trackCounter = 0; trackCounter < thisEFlowCaloObject.
nTracks();trackCounter++){
42 if (!truthLink.
isValid())
continue;
45 const int barcode = (*truthLink)->barcode();
48 if (!tileActiveCaloCalibrationHitReadHandle.
isValid()){
54 if (!lArActiveCaloCalibrationHitReadHandle.
isValid()){
59 std::map<Identifier,double> identifierToTruthEnergyMap;
61 for (
auto thisCalibHit : *tileActiveCaloCalibrationHitReadHandle) this->
fillMap(identifierToTruthEnergyMap,
barcode,*thisCalibHit);
62 for (
auto thisCalibHit : *lArActiveCaloCalibrationHitReadHandle) this->
fillMap(identifierToTruthEnergyMap,
barcode,*thisCalibHit);
65 std::vector<eflowRecCluster*> matchedClusters;
66 for (
auto thisLink : thisTrack->
getClusterMatches()) matchedClusters.push_back(thisLink->getCluster());
69 for (
auto thisCell : *(thisLink->getCluster()->getCluster()->getOwnCellLinks())){
71 if (identifierToTruthEnergyMap.count(thisCell->ID()) == 0)
continue;
72 double truthEnergy = identifierToTruthEnergyMap[thisCell->ID()];
82 unsigned int count = identifierToTruthEnergyMap.count(thisIdentifier);
84 else identifierToTruthEnergyMap[thisIdentifier] += (thisCalibHit.
energyEM() + thisCalibHit.
energyNonEM());