1 #ifndef UserCode_ICHiggsTauTau_Concatenate_h
2 #define UserCode_ICHiggsTauTau_Concatenate_h
7 #include "FWCore/Framework/interface/EDProducer.h"
8 #include "FWCore/Framework/interface/Event.h"
9 #include "FWCore/Framework/interface/EventSetup.h"
10 #include "FWCore/ParameterSet/interface/ParameterSet.h"
11 #include "FWCore/Utilities/interface/InputTag.h"
12 #include "DataFormats/Common/interface/Handle.h"
24 virtual void beginJob();
25 virtual void produce(edm::Event &,
const edm::EventSetup &);
26 virtual void endJob();
28 typedef std::vector<T> Vec;
29 typedef std::vector<edm::InputTag> VInputTag;
31 std::vector<edm::InputTag> inputs_;
39 : inputs_(config.getParameter<VInputTag>(
"concatenate")) {
40 for(
unsigned i = 0; i < inputs_.size(); ++i) {
41 consumes<Vec>(inputs_[i]);
53 void Concatenate<T>::endJob() {}
56 void Concatenate<T>::produce(edm::Event &event,
57 const edm::EventSetup &setup) {
58 std::auto_ptr<Vec> product(
new Vec());
59 for (
unsigned i = 0; i < inputs_.size(); ++i) {
61 event.getByLabel(inputs_[i], vec);
62 for (
unsigned j = 0; j < vec->size(); ++j) {
63 product->push_back(vec->at(j));
Concatenate(const edm::ParameterSet &)