54 std::string componentType = ps.
getParameter<std::string>(
"algo");
58 componentType = ps.
getParameter<std::string>(
"algoRecover");
87 if ( pEBUncalibRecHits.isValid() ) {
88 ebUncalibRecHits = pEBUncalibRecHits.product();
89 LogDebug(
"EcalRecHitDebug") <<
"total # EB uncalibrated rechits: " << ebUncalibRecHits->size();
97 if ( pEEUncalibRecHits.isValid() ) {
98 eeUncalibRecHits = pEEUncalibRecHits.product();
99 LogDebug(
"EcalRecHitDebug") <<
"total # EE uncalibrated rechits: " << eeUncalibRecHits->size();
118 if (ebUncalibRecHits)
126 if (eeUncalibRecHits)
141 const std::set<EBDetId> * detIds = 0;
153 for( std::set<EBDetId>::const_iterator it = detIds->begin(); it != detIds->end(); ++it ) {
157 if ( chit != chStatus->end() ) {
158 chStatusCode = *chit;
160 edm::LogError(
"EcalRecHitProducerError") <<
"No channel status found for xtal "
162 <<
"! something wrong with EcalChannelStatus in your DB? ";
182 const std::set<EEDetId> * detIds = 0;
194 for( std::set<EEDetId>::const_iterator it = detIds->begin(); it != detIds->end(); ++it ) {
198 if ( chit != chStatus->end() ) {
199 chStatusCode = *chit;
201 edm::LogError(
"EcalRecHitProducerError") <<
"No channel status found for xtal "
203 <<
"! something wrong with EcalChannelStatus in your DB? ";
222 const std::set<EcalTrigTowerDetId> * ttIds = 0;
232 for( std::set<EcalTrigTowerDetId>::const_iterator it = ttIds->begin(); it != ttIds->end(); ++it ) {
234 int ieta = (((*it).ietaAbs()-1)*5+1)*(*it).zside();
235 int iphi = ((*it).iphi()-1)*5+11;
236 if( iphi <= 0 ) iphi += 360;
246 const std::set<EcalScDetId> * scIds = 0;
256 for( std::set<EcalScDetId>::const_iterator it = scIds->begin(); it != scIds->end(); ++it ) {
279 LogInfo(
"EcalRecHitInfo") <<
"total # EB calibrated rechits: " << ebRecHits->size();
280 LogInfo(
"EcalRecHitInfo") <<
"total # EE calibrated rechits: " << eeRecHits->size();
std::string eeRechitCollection_
T getParameter(std::string const &) const
edm::InputTag ebFEToBeRecovered_
#define DEFINE_FWK_MODULE(type)
std::vector< T >::const_iterator const_iterator
edm::InputTag ebDetIdToBeRecovered_
bool recoverEEIsolatedChannels_
edm::InputTag eeFEToBeRecovered_
EcalRecHitWorkerBaseClass * worker_
static bool validDetId(int crystal_ix, int crystal_iy, int iz)
EcalRecHitProducer(const edm::ParameterSet &ps)
virtual void produce(edm::Event &evt, const edm::EventSetup &es)
uint16_t getStatusCode() const
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
EcalCleaningAlgo * cleaningAlgo_
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
static const int ETAPHIMODE
EcalRecHitWorkerBaseClass * workerRecover_
virtual bool run(const edm::Event &evt, const EcalUncalibratedRecHit &uncalibRH, EcalRecHitCollection &result)=0
edm::InputTag eeDetIdToBeRecovered_
std::string ebRechitCollection_
std::vector< Item >::const_iterator const_iterator
T const * product() const
edm::InputTag ebUncalibRecHitCollection_
virtual void set(const edm::EventSetup &es)=0
void setFlags(EcalRecHitCollection &rhs)
T get(const Candidate &c)
edm::InputTag eeUncalibRecHitCollection_
bool recoverEBIsolatedChannels_