45 std::string verbosityString = ps.
getParameter<std::string>(
"VerbosityLevel");
66 double barrelSeedThreshold = ps.
getParameter<
double>(
"Multi5x5BarrelSeedThr");
67 double endcapSeedThreshold = ps.
getParameter<
double>(
"Multi5x5EndcapSeedThr");
83 std::vector<int> v_chstatus = ps.
getParameter<std::vector<int> >(
"RecHitFlagToBeExcluded");
137 std::vector<EcalEtaPhiRegion> barrelRegions;
138 std::vector<EcalEtaPhiRegion> endcapRegions;
141 for( l1extra::L1EmParticleCollection::const_iterator emItr = emIsolColl->begin(); emItr != emIsolColl->end() ;++emItr ){
146 int etaIndex = emItr->gctEmCand()->etaIndex() ;
149 int phiIndex = emItr->gctEmCand()->phiIndex() ;
151 double etaLow = l1CaloGeom->etaBinLowEdge( etaIndex ) ;
152 double etaHigh = l1CaloGeom->etaBinHighEdge( etaIndex ) ;
153 double phiLow = l1CaloGeom->emJetPhiBinLowEdge( phiIndex ) ;
154 double phiHigh = l1CaloGeom->emJetPhiBinHighEdge( phiIndex ) ;
159 if((
float)(etaHigh)>1.479 || (
float)(etaLow)<-1.479) isforw=1;
160 if(((
float)(etaLow)>-1.479 && (
float)(etaLow)<1.479) ||
161 ((
float)(etaHigh)>-1.479 && (
float)(etaHigh)<1.479)) isbarl=1;
172 if (etaHigh>-1.479 && etaHigh<1.479) etaHigh=-1.479;
173 if ( etaLow>-1.479 && etaLow<1.479) etaLow=1.479;
175 endcapRegions.push_back(region);
178 if (etaHigh>1.479) etaHigh=1.479;
179 if (etaLow<-1.479) etaLow=-1.479;
181 barrelRegions.push_back(region);
191 for( l1extra::L1EmParticleCollection::const_iterator emItr = emNonIsolColl->begin(); emItr != emNonIsolColl->end() ;++emItr ){
198 int etaIndex = emItr->gctEmCand()->etaIndex() ;
201 int phiIndex = emItr->gctEmCand()->phiIndex() ;
203 double etaLow = l1CaloGeom->etaBinLowEdge( etaIndex ) ;
204 double etaHigh = l1CaloGeom->etaBinHighEdge( etaIndex ) ;
205 double phiLow = l1CaloGeom->emJetPhiBinLowEdge( phiIndex ) ;
206 double phiHigh = l1CaloGeom->emJetPhiBinHighEdge( phiIndex ) ;
211 if((
float)(etaHigh)>1.479 || (
float)(etaLow)<-1.479) isforw=1;
212 if(((
float)(etaLow)>-1.479 && (
float)(etaLow)<1.479) ||
213 ((
float)(etaHigh)>-1.479 && (
float)(etaHigh)<1.479)) isbarl=1;
224 if (etaHigh>-1.479 && etaHigh<1.479) etaHigh=-1.479;
225 if ( etaLow>-1.479 && etaLow<1.479) etaLow=1.479;
227 endcapRegions.push_back(region);
230 if (etaHigh>1.479) etaHigh=1.479;
231 if (etaLow<-1.479) etaLow=-1.479;
233 barrelRegions.push_back(region);
258 const std::string& hitProducer_,
259 const std::string& hitCollection_)
263 evt.
getByLabel(hitProducer_, hitCollection_, rhcHandle);
266 std::cout <<
"could not get a handle on the EcalRecHitCollection!" << std::endl;
267 edm::LogError(
"EgammaHLTMulti5x5ClusterProducerError") <<
"Error! can't get the product " << hitCollection_.c_str() ;
277 const std::string& clusterCollection,
278 const std::vector<EcalEtaPhiRegion>& regions,
309 clusters =
Multi5x5_p->
makeClusters(hitCollection_p, geometry_p, topology_p, geometryES_p, detector,
true, regions);
313 clusters_p->assign(clusters.begin(), clusters.end());
T getParameter(std::string const &) const
Multi5x5ClusterAlgo * Multi5x5_p
std::vector< reco::BasicCluster > makeClusters(const EcalRecHitCollection *hits, const CaloSubdetectorGeometry *geometry, const CaloSubdetectorTopology *topology_p, const CaloSubdetectorGeometry *geometryES_p, reco::CaloID::Detectors detector, bool regional=false, const std::vector< EcalEtaPhiRegion > ®ions=std::vector< EcalEtaPhiRegion >())
~EgammaHLTMulti5x5ClusterProducer()
double l1LowerThrIgnoreIsolation_
std::string barrelClusterCollection_
edm::InputTag l1TagNonIsolated_
const EcalRecHitCollection * getCollection(edm::Event &evt, const std::string &hitProducer_, const std::string &hitCollection_)
std::string endcapClusterCollection_
edm::InputTag l1TagIsolated_
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
virtual void produce(edm::Event &, const edm::EventSetup &)
std::string endcapHitCollection_
void clusterizeECALPart(edm::Event &evt, const edm::EventSetup &es, const std::string &hitProducer, const std::string &hitCollection, const std::string &clusterCollection, const std::vector< EcalEtaPhiRegion > ®ions, const reco::CaloID::Detectors detector)
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
PositionCalc posCalculator_
edm::InputTag barrelHitProducer_
edm::InputTag endcapHitProducer_
std::vector< BasicCluster > BasicClusterCollection
collection of BasicCluster objects
T const * product() const
std::string barrelHitCollection_
Multi5x5ClusterAlgo::VerbosityLevel verbosity
EgammaHLTMulti5x5ClusterProducer(const edm::ParameterSet &ps)