File indexing completed on 2024-04-06 12:31:40
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020 #include <memory>
0021
0022
0023 #include "FWCore/Framework/interface/Frameworkfwd.h"
0024 #include "FWCore/Framework/interface/one/EDAnalyzer.h"
0025
0026 #include "FWCore/Framework/interface/Event.h"
0027 #include "FWCore/Framework/interface/MakerMacros.h"
0028 #include "FWCore/Framework/interface/ConsumesCollector.h"
0029
0030 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0031
0032 #include "TrackingTools/TrajectoryFiltering/interface/TrajectoryFilter.h"
0033 #include "TrackingTools/TrajectoryFiltering/interface/TrajectoryFilterFactory.h"
0034
0035 class TrajectoryFilterAnalyzer : public edm::one::EDAnalyzer<> {
0036 public:
0037 explicit TrajectoryFilterAnalyzer(const edm::ParameterSet&);
0038 ~TrajectoryFilterAnalyzer();
0039
0040 private:
0041 virtual void analyze(const edm::Event&, const edm::EventSetup&);
0042 std::vector<std::unique_ptr<TrajectoryFilter>> filters;
0043 };
0044
0045 TrajectoryFilterAnalyzer::TrajectoryFilterAnalyzer(const edm::ParameterSet& iConfig) {
0046 using VPSet = std::vector<edm::ParameterSet>;
0047 VPSet filterPSets = iConfig.getParameter<std::vector<edm::ParameterSet>>("filters");
0048 edm::LogInfo("TrajectoryFilterAnalyzer")
0049 << " I am happy to try and get: " << filterPSets.size() << " TrajectoryFilter from TrajectoryFilterFactory";
0050 for (const auto& pset : filterPSets) {
0051 const std::string& type = pset.getParameter<std::string>("ComponentType");
0052 edm::ConsumesCollector&& iC = consumesCollector();
0053 filters.emplace_back(TrajectoryFilterFactory::get()->create(type, pset, iC));
0054 edm::LogInfo("TrajectoryFilterAnalyzer")
0055 << "I was able to create: " << type << "\nof type: " << filters.back()->name();
0056 }
0057 }
0058
0059 TrajectoryFilterAnalyzer::~TrajectoryFilterAnalyzer() = default;
0060
0061 void TrajectoryFilterAnalyzer::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup) {}
0062
0063
0064 DEFINE_FWK_MODULE(TrajectoryFilterAnalyzer);