Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:31:40

0001 // -*- C++ -*-
0002 //
0003 // Package:    TrajectoryCleanerAnalyzer
0004 // Class:      TrajectoryCleanerAnalyzer
0005 //
0006 /**\class TrajectoryCleanerAnalyzer TrajectoryCleanerAnalyzer.cc TrackingTools/TrajectoryCleanerAnalyzer/src/TrajectoryCleanerAnalyzer.cc
0007 
0008  Description: <one line class summary>
0009 
0010  Implementation:
0011      <Notes on implementation>
0012 */
0013 //
0014 // Original Author:  Jean-Roch Vlimant
0015 //         Created:  Fri Oct 12 03:46:09 CEST 2007
0016 //
0017 //
0018 
0019 // system include files
0020 #include <memory>
0021 
0022 // user include files
0023 #include "FWCore/Framework/interface/ESHandle.h"
0024 #include "FWCore/Framework/interface/Event.h"
0025 #include "FWCore/Framework/interface/Frameworkfwd.h"
0026 #include "FWCore/Framework/interface/MakerMacros.h"
0027 #include "FWCore/Framework/interface/one/EDAnalyzer.h"
0028 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0029 #include "TrackingTools/Records/interface/TrackingComponentsRecord.h"
0030 #include "TrackingTools/TrajectoryCleaning/interface/TrajectoryCleaner.h"
0031 
0032 class TrajectoryCleanerAnalyzer : public edm::one::EDAnalyzer<> {
0033 public:
0034   explicit TrajectoryCleanerAnalyzer(const edm::ParameterSet&);
0035   ~TrajectoryCleanerAnalyzer();
0036 
0037 private:
0038   virtual void analyze(const edm::Event&, const edm::EventSetup&);
0039   std::vector<edm::ESGetToken<TrajectoryCleaner, TrajectoryCleaner::Record>> cleanerTokens;
0040   std::vector<std::string> cleanerNames;
0041 };
0042 
0043 TrajectoryCleanerAnalyzer::TrajectoryCleanerAnalyzer(const edm::ParameterSet& iConfig) {
0044   cleanerNames = iConfig.getParameter<std::vector<std::string>>("cleanerNames");
0045   for (unsigned int i = 0; i != cleanerNames.size(); i++) {
0046     cleanerTokens[i] = esConsumes(edm::ESInputTag{"", cleanerNames[i]});
0047   }
0048 }
0049 
0050 TrajectoryCleanerAnalyzer::~TrajectoryCleanerAnalyzer() = default;
0051 
0052 void TrajectoryCleanerAnalyzer::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup) {
0053   using namespace edm;
0054 
0055   edm::LogInfo("TrajectoryCleanerAnalyzer")
0056       << " I am happy to try and get: " << cleanerNames.size() << " TrajectoryFilter from TrajectoryCleaner::Record";
0057   for (unsigned int i = 0; i != cleanerNames.size(); i++) {
0058     const TrajectoryCleaner* pTC = &iSetup.getData(cleanerTokens[i]);
0059     edm::LogInfo("TrajectoryCleanerAnalyzer") << "I was able to create: " << cleanerNames[i] << " pointer: " << pTC;
0060   }
0061 }
0062 
0063 //define this as a plug-in
0064 DEFINE_FWK_MODULE(TrajectoryCleanerAnalyzer);