53 std::string debugString = ps.
getParameter<std::string>(
"debugLevel");
87 ps.
getParameter<std::vector<int> >(
"RecHitFlagToBeExcluded"),
93 ps.
getParameter<std::vector<int> >(
"RecHitSeverityToBeExcluded"),
100 bool dynamicPhiRoad = ps.
getParameter<
bool>(
"dynamicPhiRoad");
101 if (dynamicPhiRoad) {
128 std::cout <<
"could not get a handle on the EcalRecHitCollection!" << std::endl;
138 std::auto_ptr<const CaloSubdetectorTopology> topology;
159 }
else throw(std::runtime_error(
"\n\nHybrid Cluster Producer encountered invalied ecalhitcollection type.\n\n"));
174 std::vector<EcalEtaPhiRegion> regions;
177 for( l1extra::L1EmParticleCollection::const_iterator emItr = emIsolColl->begin(); emItr != emIsolColl->end() ;++emItr ){
188 int etaIndex = emItr->gctEmCand()->etaIndex() ;
189 int phiIndex = emItr->gctEmCand()->phiIndex() ;
191 double etaLow = l1CaloGeom->etaBinLowEdge( etaIndex ) ;
192 double etaHigh = l1CaloGeom->etaBinHighEdge( etaIndex ) ;
193 double phiLow = l1CaloGeom->emJetPhiBinLowEdge( phiIndex ) ;
194 double phiHigh = l1CaloGeom->emJetPhiBinHighEdge( phiIndex ) ;
199 if(((
float)(etaLow)>-1.479 && (
float)(etaLow)<1.479) ||
200 ((
float)(etaHigh)>-1.479 && (
float)(etaHigh)<1.479)) isbarl=1;
209 if (etaHigh>1.479) etaHigh=1.479;
210 if (etaLow<-1.479) etaLow=-1.479;
212 if(isbarl) regions.push_back(
EcalEtaPhiRegion(etaLow,etaHigh,phiLow,phiHigh));
219 for( l1extra::L1EmParticleCollection::const_iterator emItr = emNonIsolColl->begin(); emItr != emNonIsolColl->end() ;++emItr ){
232 int etaIndex = emItr->gctEmCand()->etaIndex() ;
233 int phiIndex = emItr->gctEmCand()->phiIndex() ;
235 double etaLow = l1CaloGeom->etaBinLowEdge( etaIndex ) ;
236 double etaHigh = l1CaloGeom->etaBinHighEdge( etaIndex ) ;
237 double phiLow = l1CaloGeom->emJetPhiBinLowEdge( phiIndex ) ;
238 double phiHigh = l1CaloGeom->emJetPhiBinHighEdge( phiIndex ) ;
243 if(((
float)(etaLow)>-1.479 && (
float)(etaLow)<1.479) ||
244 ((
float)(etaHigh)>-1.479 && (
float)(etaHigh)<1.479)) isbarl=1;
253 if (etaHigh>1.479) etaHigh=1.479;
254 if (etaLow<-1.479) etaLow=-1.479;
256 if(isbarl) regions.push_back(
EcalEtaPhiRegion(etaLow,etaHigh,phiLow,phiHigh));
270 basicclusters_p->assign(basicClusters.begin(), basicClusters.end());
291 for (
unsigned int i = 0;
i < clusterCollection.size();
i++){
300 superclusters_p->assign(superClusters.begin(), superClusters.end());
T getParameter(std::string const &) const
const CaloSubdetectorGeometry * getSubdetectorGeometry(const DetId &id) const
access the subdetector geometry for the given subdetector directly
std::string basicclusterCollection_
void push_back(Ptr< T > const &iPtr)
virtual void produce(edm::Event &, const edm::EventSetup &)
PositionCalc posCalculator_
std::string superclusterCollection_
~EgammaHLTHybridClusterProducer()
double l1LowerThrIgnoreIsolation_
std::vector< SuperCluster > SuperClusterCollection
collection of SuperCluser objectr
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
reco::SuperClusterCollection makeSuperClusters(const reco::CaloClusterPtrVector &)
std::string hitcollection_
void setDynamicPhiRoad(const edm::ParameterSet &bremRecoveryPset)
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
edm::InputTag l1TagNonIsolated_
edm::InputTag l1TagIsolated_
T const * product() const
std::vector< BasicCluster > BasicClusterCollection
collection of BasicCluster objects
T const * product() const
HybridClusterAlgo::DebugLevel debugL
ESHandle< TrackerGeometry > geometry
edm::InputTag hitproducer_
HybridClusterAlgo * hybrid_p
EgammaHLTHybridClusterProducer(const edm::ParameterSet &ps)
void makeClusters(const EcalRecHitCollection *, const CaloSubdetectorGeometry *geometry, reco::BasicClusterCollection &basicClusters, const EcalSeverityLevelAlgo *sevLv, bool regional=false, const std::vector< EcalEtaPhiRegion > ®ions=std::vector< EcalEtaPhiRegion >())