/
githubmirror
/
cmssw
Обзор
Документация
Войти
/
githubmirror
/
cmssw
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
RecoParticleFlow/PFProducer/interface/BlockElementImporterBase.h
39 строк
1 KB
Mark Saunders
Migrate PF modules to esConsumes
14 май 2021, 22:28
14 май 2021, 22:28
5bde66b
Код
Авторство
О чём код?
#ifndef __BlockElementImporterBase_H__ #define __BlockElementImporterBase_H__ #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/EventSetup.h" #include "FWCore/Framework/interface/ConsumesCollector.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" #include "DataFormats/Common/interface/Handle.h" #include "DataFormats/ParticleFlowReco/interface/PFBlockElement.h" #include <string> #include <memory> class BlockElementImporterBase { public: typedef std::vector<std::unique_ptr<reco::PFBlockElement> > ElementList; BlockElementImporterBase(const edm::ParameterSet& conf, edm::ConsumesCollector& cc) : _importerName(conf.getParameter<std::string>("importerName")) {} BlockElementImporterBase(const BlockElementImporterBase&) = delete; virtual ~BlockElementImporterBase() = default; BlockElementImporterBase& operator=(const BlockElementImporterBase&) = delete; virtual void updateEventSetup(const edm::EventSetup&) {} virtual void importToBlock(const edm::Event&, ElementList&) const = 0; const std::string& name() const { return _importerName; } enum VetoMode { pfRecTrackCollection = 0, ticlSeedingRegion = 1, pfCandidateCollection = 2 }; private: const std::string _importerName; }; #include "FWCore/PluginManager/interface/PluginFactory.h" typedef edmplugin::PluginFactory<BlockElementImporterBase*(const edm::ParameterSet&, edm::ConsumesCollector&)> BlockElementImporterFactory; #endif