#include <CaloHitAnalyzer.h>
Public Member Functions | |
void | analyze (int detId, double recEnergy) |
to be called for each RecHit | |
CaloHitAnalyzer (const std::string &name, double hitEnergyThreshold, const CaloVSimParameterMap *parameterMap, const CaloVHitFilter *filter=0) | |
void | fillHits (MixCollection< PCaloHit > &hits) |
should be called each event | |
Public Attributes | |
std::map< int, double > | hitEnergySumMap_ |
double | hitEnergyThreshold_ |
const CaloVHitFilter * | hitFilter_ |
int | noiseHits_ |
const CaloVSimParameterMap * | simParameterMap_ |
CaloValidationStatistics | summary_ |
Definition at line 22 of file CaloHitAnalyzer.h.
CaloHitAnalyzer::CaloHitAnalyzer | ( | const std::string & | name, |
double | hitEnergyThreshold, | ||
const CaloVSimParameterMap * | parameterMap, | ||
const CaloVHitFilter * | filter = 0 |
||
) |
Definition at line 10 of file CaloHitAnalyzer.cc.
: hitEnergySumMap_(), hitEnergyThreshold_(hitEnergyThreshold), simParameterMap_(parameterMap), hitFilter_(filter), summary_(name, 1., 0.), noiseHits_(0) { }
void CaloHitAnalyzer::analyze | ( | int | detId, |
double | recEnergy | ||
) |
to be called for each RecHit
Definition at line 51 of file CaloHitAnalyzer.cc.
References CaloValidationStatistics::addEntry(), hitEnergySumMap_, hitEnergyThreshold_, noiseHits_, and summary_.
Referenced by HcalDigiStatistics::analyze(), CastorDigiStatistics::analyze(), CastorHitAnalyzerImpl::analyze(), and HcalHitAnalyzerImpl::analyze().
{ if(recEnergy > hitEnergyThreshold_) { std::map<int, double>::iterator mapItr = hitEnergySumMap_.find(id); if(mapItr == hitEnergySumMap_.end()) { ++noiseHits_; } else { // keep statistics of the rec energy / sim energy summary_.addEntry(recEnergy/mapItr->second); } } }
void CaloHitAnalyzer::fillHits | ( | MixCollection< PCaloHit > & | hits | ) |
should be called each event
Definition at line 25 of file CaloHitAnalyzer.cc.
References CaloVHitFilter::accepts(), MixCollection< T >::begin(), MixCollection< T >::end(), relval_parameters_module::energy, hitEnergySumMap_, hitFilter_, errorMatrix2Lands_multiChannel::id, prof2calltree::last, and noiseHits_.
Referenced by CastorDigiAnalyzer::analyze(), HcalDigiAnalyzer::analyze(), HcalHitAnalyzer::analyze(), and CastorHitAnalyzer::analyze().
{ hitEnergySumMap_.clear(); noiseHits_ = 0; // store the energy of each hit in a map MixCollection<PCaloHit>::MixItr hitItr = hits.begin(); MixCollection<PCaloHit>::MixItr last = hits.end(); for( ; hitItr != last; ++hitItr) { if(hitFilter_ == 0 || hitFilter_->accepts(*hitItr)) { int id = hitItr->id(); //double samplingFactor = simParameterMap_->simParameters(DetId(id)).samplingFactor(); double samplingFactor = 1.; double energy = hitItr->energy() * samplingFactor; // add it to the map std::map<int, double>::iterator mapItr = hitEnergySumMap_.find(id); if(mapItr == hitEnergySumMap_.end()) { hitEnergySumMap_[id] = energy; } else { mapItr->second += energy; } } } }
std::map<int, double> CaloHitAnalyzer::hitEnergySumMap_ |
Definition at line 37 of file CaloHitAnalyzer.h.
Referenced by analyze(), and fillHits().
Definition at line 38 of file CaloHitAnalyzer.h.
Referenced by analyze().
Definition at line 40 of file CaloHitAnalyzer.h.
Referenced by fillHits().
Definition at line 42 of file CaloHitAnalyzer.h.
Referenced by analyze(), and fillHits().
Definition at line 39 of file CaloHitAnalyzer.h.
Definition at line 41 of file CaloHitAnalyzer.h.
Referenced by analyze().