File indexing completed on 2024-04-06 12:30:52
0001 #include "SimPPS/PPSPixelDigiProducer/interface/RPixPileUpSignals.h"
0002 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0003
0004 RPixPileUpSignals::RPixPileUpSignals(const edm::ParameterSet ¶ms, uint32_t det_id) : det_id_(det_id) {
0005 links_persistence_ = params.getParameter<bool>("CTPPSPixelDigiSimHitRelationsPersistence");
0006 verbosity_ = params.getParameter<int>("RPixVerbosity");
0007 }
0008
0009 void RPixPileUpSignals::reset() {
0010 the_pixel_charge_piled_up_map_.clear();
0011 the_pixel_charge_piled_up_map_links_.clear();
0012 }
0013
0014 void RPixPileUpSignals::add(const std::map<unsigned short, double> &charge_induced, int PSimHitIndex) {
0015 for (std::map<unsigned short, double>::const_iterator i = charge_induced.begin(); i != charge_induced.end(); ++i) {
0016 the_pixel_charge_piled_up_map_[i->first] += i->second;
0017 if (links_persistence_ && i->second > 0) {
0018 the_pixel_charge_piled_up_map_links_[i->first].push_back(std::pair<int, double>(PSimHitIndex, i->second));
0019 if (verbosity_) {
0020 edm::LogInfo("RPixPileUpSignals") << "Det id=" << det_id_ << " pixel=" << i->first << " charge=" << i->second;
0021 }
0022 }
0023 }
0024 }