CMS 3D CMS Logo

ESRecHitProducer.cc
Go to the documentation of this file.
2 
4 
10 
14 
16  : digiToken_(consumes<ESDigiCollection>(ps.getParameter<edm::InputTag>("ESdigiCollection"))),
17  rechitCollection_(ps.getParameter<std::string>("ESrechitCollection")),
18  worker_{ESRecHitWorkerFactory::get()->create(ps.getParameter<std::string>("algo"), ps)} {
19  produces<ESRecHitCollection>(rechitCollection_);
20 }
21 
23 
26  const ESDigiCollection* digi = nullptr;
27  e.getByToken(digiToken_, digiHandle);
28 
29  digi = digiHandle.product();
30  LogDebug("ESRecHitInfo") << "total # ESdigis: " << digi->size();
31 
32  // Create empty output
33  auto rec = std::make_unique<ESRecHitCollection>();
34 
35  if (digi) {
36  rec->reserve(digi->size());
37 
38  worker_->set(es);
39 
40  // run the algorithm
41  for (ESDigiCollection::const_iterator i(digi->begin()); i != digi->end(); i++) {
42  worker_->run(i, *rec);
43  }
44  }
45 
46  e.put(std::move(rec), rechitCollection_);
47 }
48 
Handle.h
mps_fire.i
i
Definition: mps_fire.py:355
MessageLogger.h
edm::Handle::product
T const * product() const
Definition: Handle.h:70
ESHandle.h
edm::DataFrameContainer::const_iterator
boost::transform_iterator< IterHelp, boost::counting_iterator< int > > const_iterator
Definition: DataFrameContainer.h:61
ESRecHitProducer::produce
void produce(edm::Event &e, const edm::EventSetup &es) override
Definition: ESRecHitProducer.cc:24
edm
HLT enums.
Definition: AlignableModifier.h:19
edm::Handle
Definition: AssociativeIterator.h:50
EcalRecHitCollections.h
MakerMacros.h
DEFINE_FWK_MODULE
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:16
EcalDigiCollections.h
ESDigiCollection
Definition: EcalDigiCollections.h:58
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
ESRecHitProducer::ESRecHitProducer
ESRecHitProducer(const edm::ParameterSet &ps)
Definition: ESRecHitProducer.cc:15
HLT_2018_cff.InputTag
InputTag
Definition: HLT_2018_cff.py:79016
LogDebug
#define LogDebug(id)
Definition: MessageLogger.h:670
edm::ParameterSet
Definition: ParameterSet.h:36
ESRecHitProducer.h
ESRecHitProducer::~ESRecHitProducer
~ESRecHitProducer() override
ESRecHitProducer
Definition: ESRecHitProducer.h:17
edm::DataFrameContainer::begin
const_iterator begin() const
The iterator returned can not safely be used across threads.
Definition: DataFrameContainer.h:149
edm::EventSetup
Definition: EventSetup.h:57
get
#define get
EcalRecHit.h
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
ESRecHitProducer::worker_
std::unique_ptr< ESRecHitWorkerBaseClass > worker_
Definition: ESRecHitProducer.h:27
ESRecHitProducer::rechitCollection_
const std::string rechitCollection_
Definition: ESRecHitProducer.h:25
eostools.move
def move(src, dest)
Definition: eostools.py:511
std
Definition: JetResolutionObject.h:76
EventSetup.h
edm::Event
Definition: Event.h:73
EDCollection.h
edm::DataFrameContainer::end
const_iterator end() const
Definition: DataFrameContainer.h:152
ESRecHitWorkerFactory.h
ESRecHitProducer::digiToken_
const edm::EDGetTokenT< ESDigiCollection > digiToken_
Definition: ESRecHitProducer.h:24
edm::DataFrameContainer::size
size_type size() const
Definition: DataFrameContainer.h:162
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37