diff --git a/EventFilter/GEMRawToDigi/plugins/GEMDigiToRawModule.cc b/EventFilter/GEMRawToDigi/plugins/GEMDigiToRawModule.cc index 83f3f33299d62..f9160ca142dcf 100644 --- a/EventFilter/GEMRawToDigi/plugins/GEMDigiToRawModule.cc +++ b/EventFilter/GEMRawToDigi/plugins/GEMDigiToRawModule.cc @@ -24,6 +24,7 @@ #include "FWCore/ParameterSet/interface/ParameterSetDescription.h" #include "FWCore/Utilities/interface/ESGetToken.h" #include "FWCore/Utilities/interface/InputTag.h" +#include "FWCore/MessageLogger/interface/MessageLogger.h" class GEMDigiToRawModule : public edm::global::EDProducer> { public: @@ -122,8 +123,8 @@ void GEMDigiToRawModule::produce(edm::StreamID iID, edm::Event& iEvent, edm::Eve } } - uint32_t amc13EvtLength = 0; for (unsigned int fedId = FEDNumbering::MINGEMFEDID; fedId <= FEDNumbering::MAXGEMFEDID; ++fedId) { + uint32_t amc13EvtLength = 0; std::unique_ptr amc13Event = std::make_unique(); for (auto const& gemBx : gemBxMap) { @@ -222,6 +223,8 @@ void GEMDigiToRawModule::produce(edm::StreamID iID, edm::Event& iEvent, edm::Eve amc13Event->setAMC13Trailer(BX_id, LV1_id, BX_id); //CDF trailer uint32_t EvtLength = amc13EvtLength + 4; // 2 header and 2 trailer + LogDebug("GEMDigiToRawModule") << " EvtLength: " << int(EvtLength); + amc13Event->setCDFTrailer(EvtLength); amc13Events.emplace_back(std::move(amc13Event)); } // finished making amc13Event data @@ -266,9 +269,10 @@ void GEMDigiToRawModule::produce(edm::StreamID iID, edm::Event& iEvent, edm::Eve fedRawData.resize(dataSize); uint64_t* w = reinterpret_cast(fedRawData.data()); - for (const auto& word : words) + for (const auto& word : words) { + LogDebug("GEMDigiToRawModule") << std::bitset<64>(word); *(w++) = word; - + } LogDebug("GEMDigiToRawModule") << " words " << words.size(); } diff --git a/EventFilter/GEMRawToDigi/plugins/GEMRawToDigiModule.cc b/EventFilter/GEMRawToDigi/plugins/GEMRawToDigiModule.cc index 9f54323149ce1..1b5cedabe0e3a 100644 --- a/EventFilter/GEMRawToDigi/plugins/GEMRawToDigiModule.cc +++ b/EventFilter/GEMRawToDigi/plugins/GEMRawToDigiModule.cc @@ -28,6 +28,7 @@ #include "FWCore/Utilities/interface/ESGetToken.h" #include "FWCore/Utilities/interface/InputTag.h" #include "FWCore/Utilities/interface/Transition.h" +#include "FWCore/MessageLogger/interface/MessageLogger.h" class GEMRawToDigiModule : public edm::global::EDProducer > { public: @@ -113,13 +114,14 @@ void GEMRawToDigiModule::produce(edm::StreamID iID, edm::Event& iEvent, edm::Eve const FEDRawData& fedData = fed_buffers->FEDData(fedId); int nWords = fedData.size() / sizeof(uint64_t); - LogDebug("GEMRawToDigiModule") << " words " << nWords; + LogDebug("GEMRawToDigiModule") << "fedId:" << fedId << " words: " << nWords; if (nWords < 5) continue; const unsigned char* data = fedData.data(); const uint64_t* word = reinterpret_cast(data); + auto amc13Event = gemRawToDigi_->convertWordToAMC13Event(word); if (amc13Event == nullptr) @@ -133,7 +135,6 @@ void GEMRawToDigiModule::produce(edm::StreamID iID, edm::Event& iEvent, edm::Eve for (auto gebData : *amcData.gebs()) { uint8_t gebId = gebData.inputID(); GEMROMapping::chamEC geb_ec = {fedId, amcNum, gebId}; - LogDebug("GEMRawToDigiModule") << " fed: " << fedId << " amc:" << int(amcNum) << " geb:" << int(gebId); GEMROMapping::chamDC geb_dc = gemROMap->chamberPos(geb_ec); GEMDetId gemChId = geb_dc.detId; @@ -142,7 +143,6 @@ void GEMRawToDigiModule::produce(edm::StreamID iID, edm::Event& iEvent, edm::Eve vfatData.setVersion(geb_dc.vfatVer); uint16_t vfatId = vfatData.vfatId(); GEMROMapping::vfatEC vfat_ec = {vfatId, gemChId}; - LogDebug("GEMRawToDigiModule") << " vfatId: " << vfatId << " gemChId:" << gemChId; // check if ChipID exists. if (!gemROMap->isValidChipID(vfat_ec)) { @@ -167,7 +167,6 @@ void GEMRawToDigiModule::produce(edm::StreamID iID, edm::Event& iEvent, edm::Eve vfatData.setPhi(vfat_dc.localPhi); GEMDetId gemId = vfat_dc.detId; int bx(vfatData.bc()); - LogDebug("GEMRawToDigiModule") << " gemId: " << gemId << " bx:" << bx; for (int chan = 0; chan < VFATdata::nChannels; ++chan) { uint8_t chan0xf = 0; @@ -187,7 +186,10 @@ void GEMRawToDigiModule::produce(edm::StreamID iID, edm::Event& iEvent, edm::Eve GEMDigi digi(stripId, bx); - LogDebug("GEMRawToDigiModule") << stripId << " "; + LogDebug("GEMRawToDigiModule") + << " fed: " << fedId << " amc:" << int(amcNum) << " geb:" << int(gebId) << " vfat:" << vfat_dc.localPhi + << ",type: " << vfat_dc.vfatType << " id:" << gemId << " ch:" << chMap.chNum << " st:" << digi.strip() + << " bx:" << digi.bx(); outGEMDigis.get()->insertDigi(gemId, digi);