File indexing completed on 2025-01-09 23:33:55
0001 #include "RecoMuon/MuonSeedGenerator/plugins/MuonSeedMerger.h"
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013 #include "FWCore/Framework/interface/Event.h"
0014 #include "FWCore/Framework/interface/EventSetup.h"
0015 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0016 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0017
0018 using namespace std;
0019 using namespace edm;
0020
0021 MuonSeedMerger::MuonSeedMerger(const ParameterSet& parameterSet) {
0022 const string metname = "Muon|RecoMuon|MuonSeedMerger";
0023
0024 theSeedCollectionLabels = parameterSet.getParameter<vector<InputTag> >("SeedCollections");
0025
0026 LogTrace(metname) << "MuonSeedMerger will Merge the following seed collections:";
0027 for (vector<InputTag>::const_iterator label = theSeedCollectionLabels.begin(); label != theSeedCollectionLabels.end();
0028 ++label)
0029 LogTrace(metname) << *label;
0030
0031 for (vector<InputTag>::const_iterator label = theSeedCollectionLabels.begin(); label != theSeedCollectionLabels.end();
0032 ++label) {
0033 seedTokens.push_back(consumes<edm::View<TrajectorySeed> >(*label));
0034 }
0035
0036 produces<TrajectorySeedCollection>();
0037 }
0038
0039 MuonSeedMerger::~MuonSeedMerger() {}
0040
0041 void MuonSeedMerger::produce(Event& event, const EventSetup& eventSetup) {
0042 const string metname = "Muon|RecoMuon|MuonSeedMerger";
0043
0044 auto output = std::make_unique<TrajectorySeedCollection>();
0045
0046 Handle<View<TrajectorySeed> > seeds;
0047
0048 for (unsigned int i = 0; i < theSeedCollectionLabels.size(); ++i) {
0049 event.getByToken(seedTokens.at(i), seeds);
0050
0051 LogTrace(metname) << theSeedCollectionLabels.at(i) << " has " << seeds->size() << " seeds";
0052 for (View<TrajectorySeed>::const_iterator seed = seeds->begin(); seed != seeds->end(); ++seed)
0053 output->push_back(*seed);
0054 }
0055
0056 event.put(std::move(output));
0057 }
0058
0059 #include "FWCore/Framework/interface/MakerMacros.h"
0060 DEFINE_FWK_MODULE(MuonSeedMerger);