#include <FWCore/Modules/src/EventAuxiliaryHistoryProducer.h>
Public Member Functions | |
void | endJob () |
EventAuxiliaryHistoryProducer (edm::ParameterSet const &) | |
virtual void | produce (edm::Event &e, edm::EventSetup const &c) |
virtual | ~EventAuxiliaryHistoryProducer () |
Private Attributes | |
unsigned int | depth_ |
std::deque< edm::EventAuxiliary > | history_ |
Definition at line 10 of file EventAuxiliaryHistoryProducer.h.
edm::EventAuxiliaryHistoryProducer::EventAuxiliaryHistoryProducer | ( | edm::ParameterSet const & | ps | ) | [explicit] |
Definition at line 7 of file EventAuxiliaryHistoryProducer.cc.
00007 : 00008 depth_(ps.getParameter<unsigned int>("historyDepth")), 00009 history_() 00010 { 00011 produces<std::vector<EventAuxiliary> > (); 00012 }
edm::EventAuxiliaryHistoryProducer::~EventAuxiliaryHistoryProducer | ( | ) | [virtual] |
void edm::EventAuxiliaryHistoryProducer::produce | ( | edm::Event & | e, | |
edm::EventSetup const & | c | |||
) | [virtual] |
Implements edm::EDProducer.
Definition at line 18 of file EventAuxiliaryHistoryProducer.cc.
References edm::aux, edm::Event::bunchCrossing(), depth_, edm::Event::experimentType(), history_, edm::Event::id(), edm::EventAuxiliary::invalidStoreNumber, edm::Event::isRealData(), j, edm::Event::luminosityBlock(), edm::Event::orbitNumber(), out, edm::Event::put(), HLT_VtxMuL3::result, and edm::Event::time().
00019 { 00020 EventAuxiliary aux( e.id(), "", e.time(), e.luminosityBlock(), e.isRealData(), e.experimentType(), 00021 e.bunchCrossing(), EventAuxiliary::invalidStoreNumber, e.orbitNumber()); 00022 //const EventAuxiliary & aux = e.auxiliary(); // when available 00023 if(history_.size() > 0) 00024 { 00025 if(history_.back().id().next() != aux.id()) history_.clear(); 00026 if(history_.size() >= depth_) history_.pop_front(); 00027 } 00028 00029 history_.push_back(aux); 00030 00031 //Serialize into std::vector 00032 std::vector<EventAuxiliary> * out = new std::vector<EventAuxiliary>; 00033 std::auto_ptr<std::vector<EventAuxiliary > > result(out); 00034 for(size_t j = 0 ; j < history_.size(); j++) 00035 { 00036 out->push_back(history_[j]); 00037 } 00038 e.put(result); 00039 00040 }
unsigned int edm::EventAuxiliaryHistoryProducer::depth_ [private] |
std::deque<edm::EventAuxiliary> edm::EventAuxiliaryHistoryProducer::history_ [private] |