61 CorrectDeadCells_ = ps.
getParameter<
bool>(
"CorrectDeadCells");
62 CorrectionMethod_ = ps.
getParameter<std::string>(
"CorrectionMethod");
63 hitProducer_ = ps.
getParameter<std::string>(
"hitProducer");
64 hitCollection_ = ps.
getParameter<std::string>(
"hitCollection");
65 reducedHitCollection_ = ps.
getParameter<std::string>(
"reducedHitCollection");
66 DeadChannelFileName_ = ps.
getParameter<std::string>(
"DeadChannelsFile");
67 Sum8GeVThreshold_= ps.
getParameter<
double>(
"Sum8GeVThreshold");
69 produces< EcalRecHitCollection >(reducedHitCollection_);
97 evt.
getByLabel(hitProducer_, hitCollection_, rhcHandle);
98 if (!(rhcHandle.isValid()))
100 std::cout <<
"could not get a handle on the EcalRecHitCollection!" << std::endl;
111 std::vector<EBDetId>::const_iterator DeadCell;
117 std::vector<EBDetId>::const_iterator CheckDead = ChannelsDeadID.begin();
118 bool OverADeadRecHit=
false;
119 while(CheckDead<ChannelsDeadID.end()){
120 if(it->detid()==*CheckDead){OverADeadRecHit=
true;
break;}
123 if(!OverADeadRecHit)redCollection->push_back( *it );
125 for(DeadCell=ChannelsDeadID.begin();DeadCell<ChannelsDeadID.end();DeadCell++){
126 EcalRecHit NewRecHit = DeadChannelCorrector->Correct(*DeadCell,hit_collection,CorrectionMethod_,Sum8GeVThreshold_);
127 redCollection->push_back( NewRecHit );
133 delete DeadChannelCorrector ;
135 evt.
put(redCollection, reducedHitCollection_);
146 printf(
"Dead Channels FILE: %s\n",DeadChannelFileName_.c_str());
147 DeadCha = fopen(DeadChannelFileName_.c_str(),
"r");
152 while(fileStatus != EOF) {
153 fileStatus = fscanf(DeadCha,
"%d %d\n",&ieta,&iphi);
155 if(ieta==-10000||iphi==-10000){
std::cout <<
"Problem reading Dead Channels file "<<std::endl;
break;}
157 ChannelsDeadID.push_back(cell);
T getParameter(std::string const &) const
#define DEFINE_FWK_MODULE(type)
std::vector< T >::const_iterator const_iterator
~EcalDeadChannelRecoveryProducers()
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
EcalDeadChannelRecoveryProducers(const edm::ParameterSet &)
virtual void produce(edm::Event &, const edm::EventSetup &)