Skip to content

Commit

Permalink
Move stringstream outside loop and reserve vector
Browse files Browse the repository at this point in the history
  • Loading branch information
jbsauvan committed Jun 25, 2016
1 parent 7951e28 commit 9506526
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 2 deletions.
5 changes: 4 additions & 1 deletion L1Trigger/L1THGCal/plugins/HGCalTriggerDigiFEReproducer.cc
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,8 @@ void HGCalTriggerDigiFEReproducer::produce(edm::Event& e, const edm::EventSetup&

const l1t::HGCFETriggerDigiCollection& digis = *digis_h;

fe_output->reserve(digis.size());
std::stringstream output;
for( const auto& digi_in : digis )
{
const auto& module = triggerGeometry_->modules().at(digi_in.id());
Expand All @@ -99,11 +101,12 @@ void HGCalTriggerDigiFEReproducer::produce(edm::Event& e, const edm::EventSetup&
codec_->setDataPayload(*module, digi_in);
codec_->encode(digi_out);
digi_out.setDetId( digi_in.getDetId<HGCalDetId>() );
std::stringstream output;
codec_->print(digi_out,output);
edm::LogInfo("HGCalTriggerDigiFEReproducer")
<< output.str();
codec_->unSetDataPayload();
output.str(std::string());
output.clear();
}

// get the orphan handle and fe digi collection
Expand Down
5 changes: 4 additions & 1 deletion L1Trigger/L1THGCal/plugins/HGCalTriggerDigiProducer.cc
Original file line number Diff line number Diff line change
Expand Up @@ -100,17 +100,20 @@ void HGCalTriggerDigiProducer::produce(edm::Event& e, const edm::EventSetup& es)

//we produce one output trigger digi per module in the FE
//so we use the geometry to tell us what to loop over
fe_output->reserve(triggerGeometry_->modules().size());
std::stringstream output;
for( const auto& module : triggerGeometry_->modules() ) {
fe_output->push_back(l1t::HGCFETriggerDigi());
l1t::HGCFETriggerDigi& digi = fe_output->back();
codec_->setDataPayload(*(module.second),ee_digis,fh_digis,bh_digis);
codec_->encode(digi);
digi.setDetId( HGCalDetId(module.first) );
std::stringstream output;
codec_->print(digi,output);
edm::LogInfo("HGCalTriggerDigiProducer")
<< output.str();
codec_->unSetDataPayload();
output.str(std::string());
output.clear();
}

// get the orphan handle and fe digi collection
Expand Down

0 comments on commit 9506526

Please sign in to comment.