diff --git a/SimCalorimetry/EcalElectronicsEmulation/interface/EcalSimRawData.h b/SimCalorimetry/EcalElectronicsEmulation/interface/EcalSimRawData.h index f9d0bf83acb49..6d90856a56444 100644 --- a/SimCalorimetry/EcalElectronicsEmulation/interface/EcalSimRawData.h +++ b/SimCalorimetry/EcalElectronicsEmulation/interface/EcalSimRawData.h @@ -48,7 +48,7 @@ class EcalSimRawData : public edm::one::EDAnalyzer<> { /** Destructor */ - ~EcalSimRawData() override{}; + ~EcalSimRawData() override = default; /** Main method. Called back for each event. This method produced the * raw data and write them to disk. @@ -56,6 +56,8 @@ class EcalSimRawData : public edm::one::EDAnalyzer<> { void analyze(const edm::Event &, const edm::EventSetup &) override; private: + enum tokenType { tcp = 0, tp = 1 }; + int iEvent; /** Number of crystals in ECAL barrel along eta @@ -275,7 +277,7 @@ class EcalSimRawData : public edm::one::EDAnalyzer<> { * @param iEvent event index * @param adcCount the payload, the ADC count of the channels. */ - void genFeData(std::string basename, int iEvent, const std::vector adcCount[nEbEta][nEbPhi]) const; + void genFeData(std::string &basename, int iEvent, const std::vector adcCount[nEbEta][nEbPhi]) const; /** Generates FE trigger primitives data * @param basename base for the output file name. DCC number is appended to @@ -283,7 +285,7 @@ class EcalSimRawData : public edm::one::EDAnalyzer<> { * @param iEvent event index * @param tps the payload, the trigger primitives */ - void genTccIn(std::string basename, int iEvent, const int tps[nTtEta][nTtPhi]) const; + void genTccIn(std::string &basename, int iEvent, const int tps[nTtEta][nTtPhi]) const; /** Generates TCC->DCC data * @param basename base for the output file name. DCC number is appended to @@ -291,7 +293,7 @@ class EcalSimRawData : public edm::one::EDAnalyzer<> { * @param iEvent event index * @param tps the payload, the trigger primitives */ - void genTccOut(std::string basename, int iEvent, const int tps[nTtEta][nTtPhi]) const; + void genTccOut(std::string &basename, int iEvent, const int tps[nTtEta][nTtPhi]) const; /** Retrieves barrel digis (APD ADC count). * @param event CMS event @@ -307,7 +309,7 @@ class EcalSimRawData : public edm::one::EDAnalyzer<> { * @param collName label of the EDM collection containing the TP. * @param tp [out] the trigger primitives */ - void getTp(const edm::Event &event, const std::string &collName, int tp[nTtEta][nTtPhi]) const; + void getTp(const edm::Event &event, tokenType type, int tp[nTtEta][nTtPhi]) const; /** Help function to get the file extension which depends on the output * formats. @@ -338,7 +340,7 @@ class EcalSimRawData : public edm::one::EDAnalyzer<> { * @param iEvent event index * @param the trigger tower flags */ - void genSrData(std::string basename, int iEvent, int ttf[nEbTtEta][nTtPhi]) const; + void genSrData(std::string &basename, int iEvent, int ttf[nEbTtEta][nTtPhi]) const; private: /** Name of module/plugin/producer making digis @@ -440,4 +442,9 @@ class EcalSimRawData : public edm::one::EDAnalyzer<> { /** basename for output files */ std::string basename_; + + edm::EDGetTokenT eeSrFlagToken_; + edm::EDGetTokenT ebSrFlagToken_; + edm::EDGetTokenT ebDigisToken_; + edm::EDGetTokenT trigPrimDigisToken_[2]; }; diff --git a/SimCalorimetry/EcalElectronicsEmulation/src/EcalSimRawData.cc b/SimCalorimetry/EcalElectronicsEmulation/src/EcalSimRawData.cc index aeaa8bf37d931..f24bf2cb53827 100644 --- a/SimCalorimetry/EcalElectronicsEmulation/src/EcalSimRawData.cc +++ b/SimCalorimetry/EcalElectronicsEmulation/src/EcalSimRawData.cc @@ -1,22 +1,16 @@ -#include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/EventSetup.h" #include "FWCore/MessageLogger/interface/MessageLogger.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "Geometry/Records/interface/IdealGeometryRecord.h" #include "SimCalorimetry/EcalElectronicsEmulation/interface/EcalSimRawData.h" - -#include - #include "DataFormats/EcalDigi/interface/EcalMGPASample.h" #include "FWCore/Utilities/interface/Exception.h" + #include #include //used for debugging #include #include - -using namespace std; -using namespace edm; +#include const int EcalSimRawData::ttType[nEbTtEta] = { 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, // EE- @@ -41,15 +35,15 @@ const int EcalSimRawData::strip2Eta[nTtTypes][ttEdge] = { EcalSimRawData::EcalSimRawData(const edm::ParameterSet ¶ms) { // sets up parameters: - digiProducer_ = params.getParameter("unsuppressedDigiProducer"); + digiProducer_ = params.getParameter("unsuppressedDigiProducer"); ebDigiCollection_ = params.getParameter("EBdigiCollection"); eeDigiCollection_ = params.getParameter("EEdigiCollection"); - srDigiProducer_ = params.getParameter("srProducer"); + srDigiProducer_ = params.getParameter("srProducer"); ebSrFlagCollection_ = params.getParameter("EBSrFlagCollection"); eeSrFlagCollection_ = params.getParameter("EESrFlagCollection"); tpDigiCollection_ = params.getParameter("trigPrimDigiCollection"); tcpDigiCollection_ = params.getParameter("tcpDigiCollection"); - tpProducer_ = params.getParameter("trigPrimProducer"); + tpProducer_ = params.getParameter("trigPrimProducer"); xtalVerbose_ = params.getUntrackedParameter("xtalVerbose", false); tpVerbose_ = params.getUntrackedParameter("tpVerbose", false); tcc2dcc_ = params.getUntrackedParameter("tcc2dccData", true); @@ -63,15 +57,23 @@ EcalSimRawData::EcalSimRawData(const edm::ParameterSet ¶ms) { iEvent = 0; - string writeMode = params.getParameter("writeMode"); + std::string writeMode = params.getParameter("writeMode"); - if (writeMode == string("littleEndian")) { + if (writeMode == std::string("littleEndian")) { writeMode_ = littleEndian; - } else if (writeMode == string("bigEndian")) { + } else if (writeMode == std::string("bigEndian")) { writeMode_ = bigEndian; } else { writeMode_ = ascii; } + + eeSrFlagToken_ = consumes(edm::InputTag(srDigiProducer_, eeSrFlagCollection_)); + ebSrFlagToken_ = consumes(edm::InputTag(srDigiProducer_, ebSrFlagCollection_)); + ebDigisToken_ = consumes(edm::InputTag(digiProducer_, ebDigiCollection_)); + trigPrimDigisToken_[EcalSimRawData::tcp] = + consumes(edm::InputTag(tpProducer_, tcpDigiCollection_)); + trigPrimDigisToken_[EcalSimRawData::tp] = + consumes(edm::InputTag(tpProducer_, tpDigiCollection_)); } void EcalSimRawData::analyze(const edm::Event &event, const edm::EventSetup &es) { @@ -79,28 +81,28 @@ void EcalSimRawData::analyze(const edm::Event &event, const edm::EventSetup &es) ++iEvent; if (xtalVerbose_ | tpVerbose_) { - cout << "==================================================================" - "====\n" - << " Event " << iEvent << "\n" - << "------------------------------------------------------------------" - "----\n"; + std::cout << "==================================================================" + "====\n" + << " Event " << iEvent << "\n" + << "------------------------------------------------------------------" + << "----\n"; } if (fe2dcc_) { - vector adc[nEbEta][nEbPhi]; + std::vector adc[nEbEta][nEbPhi]; getEbDigi(event, adc); genFeData(basename_, iEvent, adc); } if (fe2tcc_) { int tcp[nTtEta][nTtPhi] = {{0}}; - getTp(event, tcpDigiCollection_, tcp); + getTp(event, EcalSimRawData::tcp, tcp); genTccIn(basename_, iEvent, tcp); } if (tcc2dcc_) { int tp[nTtEta][nTtPhi] = {{0}}; - getTp(event, tpDigiCollection_, tp); + getTp(event, EcalSimRawData::tp, tp); genTccOut(basename_, iEvent, tp); } @@ -126,7 +128,7 @@ void EcalSimRawData::elec2GeomNum(int ittEta0, int ittPhi0, int strip1, int ch1, assert(0 <= iPhi0 && iPhi0 < nEbPhi); } -void EcalSimRawData::fwrite(ofstream &f, uint16_t data, int &iWord, bool hpar) const { +void EcalSimRawData::fwrite(std::ofstream &f, uint16_t data, int &iWord, bool hpar) const { if (hpar) { // set horizontal odd parity bit: setHParity(data); @@ -146,14 +148,14 @@ void EcalSimRawData::fwrite(ofstream &f, uint16_t data, int &iWord, bool hpar) c f.write(&c, sizeof(c)); } break; case ascii: - f << ((iWord % 8 == 0 && iWord != 0) ? "\n" : "") << "0x" << setfill('0') << setw(4) << hex << data << "\t" << dec - << setfill(' '); + f << ((iWord % 8 == 0 && iWord != 0) ? "\n" : "") << "0x" << std::setfill('0') << std::setw(4) << std::hex << data + << "\t" << std::dec << std::setfill(' '); break; } ++iWord; } -string EcalSimRawData::getExt() const { +std::string EcalSimRawData::getExt() const { switch (writeMode_) { case littleEndian: return ".le"; @@ -166,7 +168,9 @@ string EcalSimRawData::getExt() const { } } -void EcalSimRawData::genFeData(string basename, int iEvent, const vector adcCount[nEbEta][nEbPhi]) const { +void EcalSimRawData::genFeData(std::string &basename, + int iEvent, + const std::vector adcCount[nEbEta][nEbPhi]) const { int smf = 0; int gmf = 0; int nPendingEvt = 0; @@ -182,11 +186,11 @@ void EcalSimRawData::genFeData(string basename, int iEvent, const vector &adc = adcCount[iEta0][iPhi0]; + const std::vector &adc = adcCount[iEta0][iPhi0]; for (unsigned iSample = 0; iSample < adc.size(); ++iSample) { uint16_t data = adc[iSample] & 0x3FFF; // data |= parity(data); @@ -241,19 +245,19 @@ void EcalSimRawData::genFeData(string basename, int iEvent, const vector #" << - // oct << (srf[iTtEta0][iTtPhi0] << (field*3)) << "o\n" << dec; + // std::cout << "TtEta0: " << iTtEta0 << "\tTtPhi0: " << iTtPhi0 << "\n"; + // std::cout << "#" << oct << (int)srf[iTtEta0][iTtPhi0] << "o ****> #" << + // oct << (srf[iTtEta0][iTtPhi0] << (field*3)) << "o\n" << std::dec; data |= srf[iTtEta0][iTtPhi0] << (field * 3); if (field == 3) { - // cout << srf[iTtEta0][iTtPhi0] << "----> 0x" << hex << data << + // std::cout << srf[iTtEta0][iTtPhi0] << "----> 0x" << std::hex << data << // "\n"; fwrite(f, data, iWord, true); data = 0; @@ -304,7 +308,7 @@ void EcalSimRawData::genSrData(string basename, int iEvent, int srf[nEbTtEta][nT } // next half-barrel } -void EcalSimRawData::genTccIn(string basename, int iEvent, const int tcp[nTtEta][nTtPhi]) const { +void EcalSimRawData::genTccIn(std::string &basename, int iEvent, const int tcp[nTtEta][nTtPhi]) const { for (int iZ0 = 0; iZ0 < 2; ++iZ0) { for (int iTccPhi0 = 0; iTccPhi0 < nTccInPhi; ++iTccPhi0) { int iTcc1 = iTccPhi0 + iZ0 * nTccInPhi + nTccEndcap + 1; @@ -312,15 +316,15 @@ void EcalSimRawData::genTccIn(string basename, int iEvent, const int tcp[nTtEta] if (tccNum_ != -1 && tccNum_ != iTcc1) continue; - stringstream s; + std::stringstream s; s.str(""); const char *ext = ".txt"; // only ascii mode supported for TCP - s << basename << "_tcc" << setfill('0') << setw(2) << iTcc1 << setfill(' ') << ext; - ofstream fe2tcc(s.str().c_str(), (iEvent == 1 ? ios::ate : ios::app)); + s << basename << "_tcc" << std::setfill('0') << std::setw(2) << iTcc1 << std::setfill(' ') << ext; + std::ofstream fe2tcc(s.str().c_str(), (iEvent == 1 ? std::ios::ate : std::ios::app)); if (fe2tcc.fail()) - throw cms::Exception(string("Failed to create file ") + s.str() + "."); + throw cms::Exception(std::string("Failed to create file ") + s.str() + "."); int memPos = iEvent - 1; int iCh1 = 1; @@ -335,15 +339,17 @@ void EcalSimRawData::genTccIn(string basename, int iEvent, const int tcp[nTtEta] uint16_t tp_fe2tcc = (tcp[iTtEta0][iTtPhi0] & 0x7ff); // keep only Et (9:0) and FineGrain (10) if (tpVerbose_ && tp_fe2tcc != 0) { - cout << dec << "iTcc1 = " << iTcc1 << "\t" - << "iTtEta0 = " << iTtEta0 << "\t" - << "iTtPhi0 = " << iTtPhi0 << "\t" - << "iCh1 = " << iCh1 << "\t" - << "memPos = " << memPos << "\t" - << "tp = 0x" << setfill('0') << hex << setw(3) << tp_fe2tcc << dec << setfill(' ') << "\n"; + std::cout << std::dec << "iTcc1 = " << iTcc1 << "\t" + << "iTtEta0 = " << iTtEta0 << "\t" + << "iTtPhi0 = " << iTtPhi0 << "\t" + << "iCh1 = " << iCh1 << "\t" + << "memPos = " << memPos << "\t" + << "tp = 0x" << std::setfill('0') << std::hex << std::setw(3) << tp_fe2tcc << std::dec + << std::setfill(' ') << "\n"; } - fe2tcc << iCh1 << "\t" << memPos << "\t" << setfill('0') << hex << "0x" << setw(4) << tp_fe2tcc << "\t" - << "0" << dec << setfill(' ') << "\n"; + fe2tcc << iCh1 << "\t" << memPos << "\t" << std::setfill('0') << std::hex << "0x" << std::setw(4) << tp_fe2tcc + << "\t" + << "0" << std::dec << std::setfill(' ') << "\n"; ++iCh1; } // next TT along phi } // next TT along eta @@ -353,7 +359,7 @@ void EcalSimRawData::genTccIn(string basename, int iEvent, const int tcp[nTtEta] } // next half-barrel } -void EcalSimRawData::genTccOut(string basename, int iEvent, const int tps[nTtEta][nTtPhi]) const { +void EcalSimRawData::genTccOut(std::string &basename, int iEvent, const int tps[nTtEta][nTtPhi]) const { int iDccWord = 0; for (int iZ0 = 0; iZ0 < 2; ++iZ0) { @@ -363,18 +369,18 @@ void EcalSimRawData::genTccOut(string basename, int iEvent, const int tps[nTtEta if (tccNum_ != -1 && tccNum_ != iTcc1) continue; - stringstream s; + std::stringstream s; s.str(""); const char *ext = ".txt"; // only ascii mode supported for TCP - s << basename << "_tcc" << setfill('0') << setw(2) << iTcc1 << setfill(' ') << ext; + s << basename << "_tcc" << std::setfill('0') << std::setw(2) << iTcc1 << std::setfill(' ') << ext; s.str(""); - s << basename << "_tcc2dcc" << setfill('0') << setw(2) << iTcc1 << setfill(' ') << getExt(); - ofstream dccF(s.str().c_str(), (iEvent == 1 ? ios::ate : ios::app)); + s << basename << "_tcc2dcc" << std::setfill('0') << std::setw(2) << iTcc1 << std::setfill(' ') << getExt(); + std::ofstream dccF(s.str().c_str(), (iEvent == 1 ? std::ios::ate : std::ios::app)); if (dccF.fail()) { - cout << "Warning: failed to create or open file " << s.str() << ".\n"; + std::cout << "Warning: failed to create or open file " << s.str() << ".\n"; return; } @@ -399,12 +405,12 @@ void EcalSimRawData::genTccOut(string basename, int iEvent, const int tps[nTtEta iTtPhi0 += nTtPhi; if (tpVerbose_) { - cout << dec << "iTcc1 = " << iTcc1 << "\t" - << "iTtEta0 = " << iTtEta0 << "\t" - << "iTtPhi0 = " << iTtPhi0 << "\t" - << "iCh1 = " << iCh1 << "\t" - << "memPos = " << memPos << "\t" - << "tp = 0x" << hex << tps[iTtEta0][iTtPhi0] << dec << "\n"; + std::cout << std::dec << "iTcc1 = " << iTcc1 << "\t" + << "iTtEta0 = " << iTtEta0 << "\t" + << "iTtPhi0 = " << iTtPhi0 << "\t" + << "iCh1 = " << iCh1 << "\t" + << "memPos = " << memPos << "\t" + << "tp = 0x" << std::hex << tps[iTtEta0][iTtPhi0] << std::dec << "\n"; } fwrite(dccF, tps[iTtEta0][iTtPhi0], iDccWord, false); ++iCh1; @@ -429,8 +435,7 @@ void EcalSimRawData::getSrfs(const edm::Event &event, int ebSrf[nTtEta][nTtPhi], int eeSrf[nEndcaps][nScX][nScY]) const { // EE - edm::Handle hEeSrFlags; - event.getByLabel(srDigiProducer_, eeSrFlagCollection_, hEeSrFlags); + const auto &hEeSrFlags = event.getHandle(eeSrFlagToken_); for (size_t i = 0; i < (nEndcaps * nScX * nScY); ((int *)eeSrf)[i++] = -1) { }; if (hEeSrFlags.isValid()) { @@ -445,14 +450,12 @@ void EcalSimRawData::getSrfs(const edm::Event &event, eeSrf[iZ0][iX0][iY0] = flag.value(); } } else { - LogWarning("EcalSimRawData") << "EE SR flag not found (" - << "Product label: " << srDigiProducer_ << "Producet instance: " << eeSrFlagCollection_ - << ")"; + edm::LogWarning("EcalSimRawData") << "EE SR flag not found (Product label: " << srDigiProducer_ + << "Producet instance: " << eeSrFlagCollection_ << ")"; } // EB - edm::Handle hEbSrFlags; - event.getByLabel(srDigiProducer_, ebSrFlagCollection_, hEbSrFlags); + const auto &hEbSrFlags = event.getHandle(ebSrFlagToken_); for (size_t i = 0; i < (nTtEta * nTtPhi); ((int *)ebSrf)[i++] = -1) { }; if (hEbSrFlags.isValid()) { @@ -469,15 +472,13 @@ void EcalSimRawData::getSrfs(const edm::Event &event, ebSrf[iEbEta0][iPhi0] = flag.value(); } } else { - LogWarning("EcalSimRawData") << "EB SR flag not found (" - << "Product label: " << srDigiProducer_ << "Producet instance: " << ebSrFlagCollection_ - << ")"; + edm::LogWarning("EcalSimRawData") << "EB SR flag not found (Product label: " << srDigiProducer_ + << "Producet instance: " << ebSrFlagCollection_ << ")"; } } -void EcalSimRawData::getEbDigi(const edm::Event &event, vector adc[nEbEta][nEbPhi]) const { - edm::Handle hEbDigis; - event.getByLabel(digiProducer_, ebDigiCollection_, hEbDigis); +void EcalSimRawData::getEbDigi(const edm::Event &event, std::vector adc[nEbEta][nEbPhi]) const { + const auto &hEbDigis = event.getHandle(ebDigisToken_); int nSamples = 0; if (hEbDigis.isValid() && !hEbDigis->empty()) { // there is at least one digi @@ -486,7 +487,7 @@ void EcalSimRawData::getEbDigi(const edm::Event &event, vector adc[nEb const uint16_t suppressed = 0xFFFF; - adc[0][0] = vector(nSamples, suppressed); + adc[0][0] = std::vector(nSamples, suppressed); for (int iEbEta = 0; iEbEta < nEbEta; ++iEbEta) { for (int iEbPhi = 0; iEbPhi < nEbPhi; ++iEbPhi) { @@ -495,29 +496,29 @@ void EcalSimRawData::getEbDigi(const edm::Event &event, vector adc[nEb } if (hEbDigis.isValid()) { if (xtalVerbose_) - cout << setfill('0'); + std::cout << std::setfill('0'); for (EBDigiCollection::const_iterator it = hEbDigis->begin(); it != hEbDigis->end(); ++it) { const EBDataFrame &frame = *it; int iEta0 = iEta2cIndex((frame.id()).ieta()); int iPhi0 = iPhi2cIndex((frame.id()).iphi()); - // cout << "xtl indices conv: (" << frame.id().ieta() << "," + // std::cout << "xtl indices conv: (" << frame.id().ieta() << "," // << frame.id().iphi() << ") -> (" // << iEta0 << "," << iPhi0 << ")\n"; if (iEta0 < 0 || iEta0 >= nEbEta) { - cout << "iEta0 (= " << iEta0 << ") is out of range (" - << "[0," << nEbEta - 1 << "])\n"; + std::cout << "iEta0 (= " << iEta0 << ") is out of range (" + << "[0," << nEbEta - 1 << "])\n"; } if (iPhi0 < 0 || iPhi0 >= nEbPhi) { - cout << "iPhi0 (= " << iPhi0 << ") is out of range (" - << "[0," << nEbPhi - 1 << "])\n"; + std::cout << "iPhi0 (= " << iPhi0 << ") is out of range (" + << "[0," << nEbPhi - 1 << "])\n"; } if (xtalVerbose_) { - cout << iEta0 << "\t" << iPhi0 << ":\t"; - cout << hex; + std::cout << iEta0 << "\t" << iPhi0 << ":\t"; + std::cout << std::hex; } if (nSamples != frame.size()) { @@ -531,20 +532,19 @@ void EcalSimRawData::getEbDigi(const edm::Event &event, vector adc[nEb uint16_t encodedAdc = sample.raw(); adc[iEta0][iPhi0][iSample] = encodedAdc; if (xtalVerbose_) { - cout << (iSample > 0 ? " " : "") << "0x" << setw(4) << encodedAdc; + std::cout << (iSample > 0 ? " " : "") << "0x" << std::setw(4) << encodedAdc; } } if (xtalVerbose_) - cout << "\n" << dec; + std::cout << "\n" << std::dec; } if (xtalVerbose_) - cout << setfill(' '); + std::cout << std::setfill(' '); } } -void EcalSimRawData::getTp(const edm::Event &event, const std::string &collName, int tcp[nTtEta][nTtPhi]) const { - edm::Handle hTpDigis; - event.getByLabel(tpProducer_, collName, hTpDigis); +void EcalSimRawData::getTp(const edm::Event &event, EcalSimRawData::tokenType type, int tcp[nTtEta][nTtPhi]) const { + const auto &hTpDigis = event.getHandle(trigPrimDigisToken_[type]); if (hTpDigis.isValid() && !hTpDigis->empty()) { const EcalTrigPrimDigiCollection &tpDigis = *hTpDigis.product(); @@ -555,31 +555,34 @@ void EcalSimRawData::getTp(const edm::Event &event, const std::string &collName, } } if (tpVerbose_) { - cout << setfill('0'); + std::cout << std::setfill('0'); } for (EcalTrigPrimDigiCollection::const_iterator it = tpDigis.begin(); it != tpDigis.end(); ++it) { const EcalTriggerPrimitiveDigi &tp = *it; int iTtEta0 = iTtEta2cIndex(tp.id().ieta()); int iTtPhi0 = iTtPhi2cIndex(tp.id().iphi()); if (iTtEta0 < 0 || iTtEta0 >= nTtEta) { - cout << "iTtEta0 (= " << iTtEta0 << ") is out of range (" - << "[0," << nEbTtEta - 1 << "])\n"; + std::cout << "iTtEta0 (= " << iTtEta0 << ") is out of range (" + << "[0," << nEbTtEta - 1 << "])\n"; } if (iTtPhi0 < 0 || iTtPhi0 >= nTtPhi) { - cout << "iTtPhi0 (= " << iTtPhi0 << ") is out of range (" - << "[0," << nTtPhi - 1 << "])\n"; + std::cout << "iTtPhi0 (= " << iTtPhi0 << ") is out of range (" + << "[0," << nTtPhi - 1 << "])\n"; } tcp[iTtEta0][iTtPhi0] = tp[tp.sampleOfInterest()].raw(); if (tpVerbose_) { - if (tcp[iTtEta0][iTtPhi0] != 0) // print non-zero values only - cout << collName << (collName.empty() ? "" : " ") << "TP(" << setw(2) << iTtEta0 << "," << iTtPhi0 << ") = " - << "0x" << setw(4) << tcp[iTtEta0][iTtPhi0] << "\tcmssw indices: " << tp.id().ieta() << " " - << tp.id().iphi() << "\n"; + if (tcp[iTtEta0][iTtPhi0] != 0) { // print non-zero values only + std::string collName = (type == 0) ? tcpDigiCollection_ : tpDigiCollection_; + std::cout << collName << (collName.empty() ? "" : " ") << "TP(" << std::setw(2) << iTtEta0 << "," << iTtPhi0 + << ") = " + << "0x" << std::setw(4) << tcp[iTtEta0][iTtPhi0] << "\tcmssw indices: " << tp.id().ieta() << " " + << tp.id().iphi() << "\n"; + } } } // next TP if (tpVerbose_) - cout << setfill(' '); + std::cout << std::setfill(' '); } }