45 std::string verbosityString = ps.
getParameter<std::string>(
"VerbosityLevel");
66 double barrelSeedThreshold = ps.
getParameter<
double>(
"IslandBarrelSeedThr");
67 double endcapSeedThreshold = ps.
getParameter<
double>(
"IslandEndcapSeedThr");
112 std::vector<EcalEtaPhiRegion> barrelRegions;
113 std::vector<EcalEtaPhiRegion> endcapRegions;
116 for( l1extra::L1EmParticleCollection::const_iterator emItr = emIsolColl->begin(); emItr != emIsolColl->end() ;++emItr ){
121 int etaIndex = emItr->gctEmCand()->etaIndex() ;
124 int phiIndex = emItr->gctEmCand()->phiIndex() ;
126 double etaLow = l1CaloGeom->etaBinLowEdge( etaIndex ) ;
127 double etaHigh = l1CaloGeom->etaBinHighEdge( etaIndex ) ;
128 double phiLow = l1CaloGeom->emJetPhiBinLowEdge( phiIndex ) ;
129 double phiHigh = l1CaloGeom->emJetPhiBinHighEdge( phiIndex ) ;
134 if((
float)(etaHigh)>1.479 || (
float)(etaLow)<-1.479) isforw=1;
135 if(((
float)(etaLow)>-1.479 && (
float)(etaLow)<1.479) ||
136 ((
float)(etaHigh)>-1.479 && (
float)(etaHigh)<1.479)) isbarl=1;
147 if (etaHigh>-1.479 && etaHigh<1.479) etaHigh=-1.479;
148 if ( etaLow>-1.479 && etaLow<1.479) etaLow=1.479;
150 endcapRegions.push_back(region);
153 if (etaHigh>1.479) etaHigh=1.479;
154 if (etaLow<-1.479) etaLow=-1.479;
156 barrelRegions.push_back(region);
166 for( l1extra::L1EmParticleCollection::const_iterator emItr = emNonIsolColl->begin(); emItr != emNonIsolColl->end() ;++emItr ){
173 int etaIndex = emItr->gctEmCand()->etaIndex() ;
176 int phiIndex = emItr->gctEmCand()->phiIndex() ;
178 double etaLow = l1CaloGeom->etaBinLowEdge( etaIndex ) ;
179 double etaHigh = l1CaloGeom->etaBinHighEdge( etaIndex ) ;
180 double phiLow = l1CaloGeom->emJetPhiBinLowEdge( phiIndex ) ;
181 double phiHigh = l1CaloGeom->emJetPhiBinHighEdge( phiIndex ) ;
186 if((
float)(etaHigh)>1.479 || (
float)(etaLow)<-1.479) isforw=1;
187 if(((
float)(etaLow)>-1.479 && (
float)(etaLow)<1.479) ||
188 ((
float)(etaHigh)>-1.479 && (
float)(etaHigh)<1.479)) isbarl=1;
199 if (etaHigh>-1.479 && etaHigh<1.479) etaHigh=-1.479;
200 if ( etaLow>-1.479 && etaLow<1.479) etaLow=1.479;
202 endcapRegions.push_back(region);
205 if (etaHigh>1.479) etaHigh=1.479;
206 if (etaLow<-1.479) etaLow=-1.479;
208 barrelRegions.push_back(region);
231 const std::string& hitProducer_,
232 const std::string& hitCollection_)
236 evt.
getByLabel(hitProducer_, hitCollection_, rhcHandle);
239 std::cout <<
"could not get a handle on the EcalRecHitCollection!" << std::endl;
240 edm::LogError(
"EgammaHLTIslandClusterProducerError") <<
"Error! can't get the product " << hitCollection_.c_str() ;
250 const std::string& clusterCollection,
251 const std::vector<EcalEtaPhiRegion>& regions,
280 clusters =
island_p->
makeClusters(hitCollection_p, geometry_p, topology_p, geometryES_p, ecalPart,
true, regions);
284 clusters_p->assign(clusters.begin(), clusters.end());
T getParameter(std::string const &) const
edm::InputTag l1TagNonIsolated_
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 IslandClusterAlgo::EcalPart &ecalPart)
std::string endcapHitCollection_
edm::InputTag endcapHitProducer_
double l1LowerThrIgnoreIsolation_
IslandClusterAlgo::VerbosityLevel verbosity
std::string endcapClusterCollection_
IslandClusterAlgo * island_p
std::string barrelClusterCollection_
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
EgammaHLTIslandClusterProducer(const edm::ParameterSet &ps)
std::vector< reco::BasicCluster > makeClusters(const EcalRecHitCollection *hits, const CaloSubdetectorGeometry *geometry, const CaloSubdetectorTopology *topology_p, const CaloSubdetectorGeometry *geometryES_p, EcalPart ecalPart, bool regional=false, const std::vector< EcalEtaPhiRegion > ®ions=std::vector< EcalEtaPhiRegion >())
std::string barrelHitCollection_
const EcalRecHitCollection * getCollection(edm::Event &evt, const std::string &hitProducer_, const std::string &hitCollection_)
PositionCalc posCalculator_
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
std::vector< BasicCluster > BasicClusterCollection
collection of BasicCluster objects
T const * product() const
~EgammaHLTIslandClusterProducer()
edm::InputTag l1TagIsolated_
edm::InputTag barrelHitProducer_
virtual void produce(edm::Event &, const edm::EventSetup &)