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 
17 #include "SeedingRegionByTracks.h"
18 #include "SeedingRegionGlobal.h"
19 
20 using namespace ticl;
21 
23 public:
26  static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
27 
28  void beginRun(edm::Run const& iEvent, edm::EventSetup const& es) override;
29 
30  void produce(edm::Event&, const edm::EventSetup&) override;
31 
32 private:
33  std::unique_ptr<SeedingRegionAlgoBase> myAlgo_;
34  int algoId_;
36 };
38 
40  : algoId_(ps.getParameter<int>("algoId")) {
41  auto sumes = consumesCollector();
42 
43  switch (algoId_) {
44  case 1:
45  myAlgo_ = std::make_unique<SeedingRegionByTracks>(ps, sumes);
46  break;
47  case 2:
48  myAlgo_ = std::make_unique<SeedingRegionGlobal>(ps, sumes);
49  break;
50  default:
51  break;
52  }
53  produces<std::vector<TICLSeedingRegion>>();
54 }
55 
58  desc.add<int>("algo_verbosity", 0);
59  desc.add<edm::InputTag>("tracks", edm::InputTag("generalTracks"));
60  desc.add<std::string>("cutTk",
61  "1.48 < abs(eta) < 3.0 && pt > 2. && quality(\"highPurity\") && "
62  "hitPattern().numberOfLostHits(\"MISSING_OUTER_HITS\") < 10");
63  desc.add<std::string>("propagator", "PropagatorWithMaterial");
64  desc.add<int>("algoId", 1);
65  descriptions.add("ticlSeedingRegionProducer", desc);
66 }
67 
68 void TICLSeedingRegionProducer::beginRun(edm::Run const& iEvent, edm::EventSetup const& es) { myAlgo_->initialize(es); }
69 
71  auto result = std::make_unique<std::vector<TICLSeedingRegion>>();
72  myAlgo_->makeRegions(evt, es, *result);
73 
74  evt.put(std::move(result));
75 }
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
Definition: Event.h:131
void beginRun(edm::Run const &iEvent, edm::EventSetup const &es) override
std::unique_ptr< SeedingRegionAlgoBase > myAlgo_
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
int iEvent
Definition: GenABIO.cc:224
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:16
TICLSeedingRegionProducer(const edm::ParameterSet &)
void produce(edm::Event &, const edm::EventSetup &) override
ParameterDescriptionBase * add(U const &iLabel, T const &value)
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
void add(std::string const &label, ParameterSetDescription const &psetDescription)
def move(src, dest)
Definition: eostools.py:511
Definition: Run.h:45