#include <SiStripRawToClusters.h>
Public Types | |
typedef edm::LazyGetter < SiStripCluster > | LazyGetter |
typedef RawToClustersLazyUnpacker | LazyUnpacker |
typedef edm::RefGetter < SiStripCluster > | RefGetter |
typedef SiStripRegionCabling::SubDet | SubDet |
Public Member Functions | |
virtual void | beginRun (const edm::Run &, const edm::EventSetup &) override |
virtual void | produce (edm::Event &, const edm::EventSetup &) override |
RawToClusters (const edm::ParameterSet &) | |
~RawToClusters () | |
Private Member Functions | |
void | updateCabling (const edm::EventSetup &setup) |
Private Attributes | |
const SiStripRegionCabling * | cabling_ |
uint32_t | cacheId_ |
std::auto_ptr < StripClusterizerAlgorithm > | clusterizer_ |
bool | doAPVEmulatorCheck_ |
edm::InputTag | productLabel_ |
std::auto_ptr < SiStripRawProcessingAlgorithms > | rawAlgos_ |
Definition at line 22 of file SiStripRawToClusters.h.
Definition at line 26 of file SiStripRawToClusters.h.
Definition at line 28 of file SiStripRawToClusters.h.
Definition at line 27 of file SiStripRawToClusters.h.
Definition at line 29 of file SiStripRawToClusters.h.
sistrip::RawToClusters::RawToClusters | ( | const edm::ParameterSet & | conf | ) |
Definition at line 17 of file SiStripRawToClusters.cc.
References edm::isDebugEnabled(), and LogTrace.
: productLabel_(conf.getParameter<edm::InputTag>("ProductLabel")), cabling_(0), cacheId_(0), clusterizer_(StripClusterizerAlgorithmFactory::create(conf.getParameter<edm::ParameterSet>("Clusterizer"))), rawAlgos_(SiStripRawProcessingFactory::create(conf.getParameter<edm::ParameterSet>("Algorithms"))), doAPVEmulatorCheck_(conf.existsAs<bool>("DoAPVEmulatorCheck") ? conf.getParameter<bool>("DoAPVEmulatorCheck") : true) { if ( edm::isDebugEnabled() ) { LogTrace("SiStripRawToCluster") << "[RawToClusters::" << __func__ << "]" << " Constructing object..."; } produces<LazyGetter>(); }
sistrip::RawToClusters::~RawToClusters | ( | ) |
Definition at line 34 of file SiStripRawToClusters.cc.
References edm::isDebugEnabled(), and LogTrace.
{ if ( edm::isDebugEnabled() ) { LogTrace("SiStripRawToCluster") << "[RawToClusters::" << __func__ << "]" << " Destructing object..."; } }
void sistrip::RawToClusters::beginRun | ( | const edm::Run & | , |
const edm::EventSetup & | setup | ||
) | [override, virtual] |
Reimplemented from edm::EDProducer.
Definition at line 42 of file SiStripRawToClusters.cc.
References clusterizer_, rawAlgos_, and updateCabling().
{ updateCabling( setup ); clusterizer_->initialize(setup); rawAlgos_->initialize(setup); }
void sistrip::RawToClusters::produce | ( | edm::Event & | event, |
const edm::EventSetup & | setup | ||
) | [override, virtual] |
Implements edm::EDProducer.
Definition at line 48 of file SiStripRawToClusters.cc.
References SiStripRegionCabling::ALLLAYERS, SiStripRegionCabling::ALLSUBDETS, cabling_, clusterizer_, runEdmFileComparison::collection, doAPVEmulatorCheck_, SiStripRegionCabling::getRegionCabling(), productLabel_, rawAlgos_, and updateCabling().
{ // update cabling updateCabling( setup ); clusterizer_->initialize( setup ); rawAlgos_->initialize( setup ); // get raw data edm::Handle<FEDRawDataCollection> buffers; event.getByLabel( productLabel_, buffers ); // create lazy unpacker boost::shared_ptr<LazyUnpacker> unpacker( new LazyUnpacker( *cabling_, *clusterizer_, *rawAlgos_, *buffers ) ); // propagate the parameter doAPVEmulatorCheck_ to the unpacker. unpacker->doAPVEmulatorCheck(doAPVEmulatorCheck_); // create lazy getter std::auto_ptr<LazyGetter> collection( new LazyGetter( cabling_->getRegionCabling().size() * SiStripRegionCabling::ALLSUBDETS * SiStripRegionCabling::ALLLAYERS, unpacker ) ); // add collection to the event event.put( collection ); }
void sistrip::RawToClusters::updateCabling | ( | const edm::EventSetup & | setup | ) | [private] |
Definition at line 73 of file SiStripRawToClusters.cc.
References trackerHits::c, cabling_, cacheId_, edm::EventSetup::get(), and edm::ESHandle< T >::product().
Referenced by beginRun(), and produce().
{ uint32_t cache_id = setup.get<SiStripRegionCablingRcd>().cacheIdentifier(); if ( cacheId_ != cache_id ) { edm::ESHandle<SiStripRegionCabling> c; setup.get<SiStripRegionCablingRcd>().get( c ); cabling_ = c.product(); cacheId_ = cache_id; } }
const SiStripRegionCabling* sistrip::RawToClusters::cabling_ [private] |
Definition at line 42 of file SiStripRawToClusters.h.
Referenced by produce(), and updateCabling().
uint32_t sistrip::RawToClusters::cacheId_ [private] |
Definition at line 43 of file SiStripRawToClusters.h.
Referenced by updateCabling().
std::auto_ptr<StripClusterizerAlgorithm> sistrip::RawToClusters::clusterizer_ [private] |
Definition at line 44 of file SiStripRawToClusters.h.
Referenced by beginRun(), and produce().
bool sistrip::RawToClusters::doAPVEmulatorCheck_ [private] |
Definition at line 48 of file SiStripRawToClusters.h.
Referenced by produce().
Definition at line 41 of file SiStripRawToClusters.h.
Referenced by produce().
std::auto_ptr<SiStripRawProcessingAlgorithms> sistrip::RawToClusters::rawAlgos_ [private] |
Definition at line 45 of file SiStripRawToClusters.h.
Referenced by beginRun(), and produce().