CMS 3D CMS Logo

TICLSeedingRegionProducer.cc
Go to the documentation of this file.
1 // Authors: Felice Pantaleo, Marco Rovere
2 // Emails: felice.pantaleo@cern.ch, marco.rovere@cern.ch
3 // Date: 06/2019
4 
5 #include <vector>
6 
18 #include "SeedingRegionByL1.h"
19 #include "SeedingRegionByTracks.h"
20 #include "SeedingRegionGlobal.h"
22 
23 using namespace ticl;
24 
26 public:
29  static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
30 
31  void beginRun(edm::Run const& iEvent, edm::EventSetup const& es) override;
32 
33  void produce(edm::Event&, const edm::EventSetup&) override;
34 
35 private:
36  std::unique_ptr<SeedingRegionAlgoBase> myAlgo_;
37 };
38 
40 
42  auto sumes = consumesCollector();
43  auto seedingPSet = ps.getParameter<edm::ParameterSet>("seedingPSet");
44  auto algoType = seedingPSet.getParameter<std::string>("type");
45  myAlgo_ = SeedingRegionAlgoFactory::get()->create(algoType, seedingPSet, sumes);
46  produces<std::vector<TICLSeedingRegion>>();
47 }
48 
51 
52  edm::ParameterSetDescription seedingDesc;
53  seedingDesc.addNode(edm::PluginDescription<SeedingRegionAlgoFactory>("type", "SeedingRegionGlobal", true));
54  desc.add<edm::ParameterSetDescription>("seedingPSet", seedingDesc);
55  descriptions.add("ticlSeedingRegionProducer", desc);
56 }
57 
58 void TICLSeedingRegionProducer::beginRun(edm::Run const& iEvent, edm::EventSetup const& es) { myAlgo_->initialize(es); }
59 
61  auto result = std::make_unique<std::vector<TICLSeedingRegion>>();
62  myAlgo_->makeRegions(evt, es, *result);
63 
64  evt.put(std::move(result));
65 }
ConfigurationDescriptions.h
edm::ParameterSetDescription::add
ParameterDescriptionBase * add(U const &iLabel, T const &value)
Definition: ParameterSetDescription.h:95
MessageLogger.h
SeedingRegionByTracks.h
ESHandle.h
edm::Run
Definition: Run.h:45
SeedingRegionAlgoFactory.h
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
edm::PluginDescription
Definition: PluginDescription.h:98
TICLSeedingRegionProducer::beginRun
void beginRun(edm::Run const &iEvent, edm::EventSetup const &es) override
Definition: TICLSeedingRegionProducer.cc:58
EDProducer.h
ticl
Definition: Common.h:8
TICLSeedingRegionProducer::TICLSeedingRegionProducer
TICLSeedingRegionProducer(const edm::ParameterSet &)
Definition: TICLSeedingRegionProducer.cc:41
MakerMacros.h
DEFINE_FWK_MODULE
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:16
edm::ConfigurationDescriptions::add
void add(std::string const &label, ParameterSetDescription const &psetDescription)
Definition: ConfigurationDescriptions.cc:57
fillDescriptions
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
ticlSeedingGlobal_cfi.seedingPSet
seedingPSet
Definition: ticlSeedingGlobal_cfi.py:5
TICLSeedingRegionProducer::myAlgo_
std::unique_ptr< SeedingRegionAlgoBase > myAlgo_
Definition: TICLSeedingRegionProducer.cc:36
TICLSeedingRegionProducer::fillDescriptions
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
Definition: TICLSeedingRegionProducer.cc:49
ParameterSetDescription.h
edm::ConfigurationDescriptions
Definition: ConfigurationDescriptions.h:28
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
PluginDescription.h
edm::ParameterSet
Definition: ParameterSet.h:36
Event.h
TICLSeedingRegionProducer::produce
void produce(edm::Event &, const edm::EventSetup &) override
Definition: TICLSeedingRegionProducer.cc:60
TICLSeedingRegionProducer::~TICLSeedingRegionProducer
~TICLSeedingRegionProducer() override
Definition: TICLSeedingRegionProducer.cc:28
iEvent
int iEvent
Definition: GenABIO.cc:224
edm::Event::put
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
Definition: Event.h:132
edm::stream::EDProducer
Definition: EDProducer.h:38
edm::EventSetup
Definition: EventSetup.h:57
edm::ParameterSetDescription::addNode
ParameterDescriptionNode * addNode(ParameterDescriptionNode const &node)
Definition: ParameterSetDescription.cc:41
get
#define get
SeedingRegionGlobal.h
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
eostools.move
def move(src, dest)
Definition: eostools.py:511
Frameworkfwd.h
SeedingRegionByL1.h
SeedingRegionAlgoBase.h
mps_fire.result
result
Definition: mps_fire.py:303
ConsumesCollector.h
TICLSeedingRegionProducer
Definition: TICLSeedingRegionProducer.cc:25
edm::Event
Definition: Event.h:73