1 #ifndef RecoEcal_EgammaClusterAlgos_PFECALSuperClusterAlgo_h
2 #define RecoEcal_EgammaClusterAlgos_PFECALSuperClusterAlgo_h
23 #include <unordered_map>
40 template <>
struct hash<edm::Ptr<reco::PFCluster> > {
42 return hash<ptrdiff_t>()((ptrdiff_t)x.
get());
59 double eta()
const {
return cluptr->positionREP().eta(); }
60 double phi()
const {
return cluptr->positionREP().phi(); }
106 std::auto_ptr<reco::SuperClusterCollection>
108 std::auto_ptr<reco::SuperClusterCollection>
120 std::unordered_map<edm::Ptr<reco::PFCluster>,
std::auto_ptr< reco::SuperClusterCollection > superClustersEB_
double etawidthSuperClusterBarrel_
PFECALSuperClusterAlgo()
constructor
double phiwidthSuperClusterEndcap_
void setMajorityFraction(const double f)
void setSatelliteMerging(const bool doit)
void setThreshPFClusterSeedEndcap(double thresh)
double threshPFClusterSeedBarrel_
bool applyCrackCorrections_
std::auto_ptr< reco::SuperClusterCollection > getEEOutputSCCollection()
std::unordered_map< edm::Ptr< reco::PFCluster >, edm::PtrVector< reco::PFCluster > > _psclustersforee
void setCrackCorrections(bool applyCrackCorrections)
void setThreshPFClusterBarrel(double thresh)
double etawidthSuperClusterEndcap_
double threshPFClusterSeedEndcap_
edm::Ptr< reco::PFCluster > the_ptr() const
void setEtawidthSuperClusterBarrel(double etawidth)
void setClusteringType(clustering_type thetype)
void setEtawidthSuperClusterEndcap(double etawidth)
void setPhiwidthSuperClusterBarrel(double phiwidth)
void setVerbosityLevel(bool verbose)
std::vector< CalibratedClusterPtr > CalibratedClusterPtrVector
std::shared_ptr< CalibratedPFCluster > CalibratedClusterPtr
void buildAllSuperClusters(CalibratedClusterPtrVector &, double seedthresh)
std::shared_ptr< PFEnergyCalibration > _pfEnergyCalibration
void setThreshPFClusterEndcap(double thresh)
T const * get() const
Returns C++ pointer to the item.
size_t operator()(const edm::Ptr< reco::PFCluster > &x) const
bool doSatelliteClusterMerge_
CalibratedClusterPtrVector _clustersEE
double satelliteThreshold_
double fractionForMajority_
double threshPFClusterBarrel_
double phiwidthSuperClusterBarrel_
void loadAndSortPFClusters(const edm::View< reco::PFCluster > &ecalclusters, const edm::View< reco::PFCluster > &psclusters)
void setUsePS(bool useit)
void setThreshPFClusterSeedBarrel(double thresh)
double etawidthSuperCluster_
std::auto_ptr< reco::SuperClusterCollection > superClustersEE_
clustering_type _clustype
double threshPFClusterEndcap_
void buildSuperCluster(CalibratedClusterPtr &, CalibratedClusterPtrVector &)
edm::Ptr< reco::PFCluster > cluptr
double phiwidthSuperCluster_
void setUseDynamicDPhi(bool useit)
CalibratedPFCluster(const edm::Ptr< reco::PFCluster > &p, const double ce)
double threshPFClusterSeed_
void setPhiwidthSuperClusterEndcap(double phiwidth)
std::auto_ptr< reco::SuperClusterCollection > getEBOutputSCCollection()
void setThreshPFClusterES(double thresh)
double energy_nocalib() const
void resetCalibratedEnergy(const double ce)
void setSatelliteThreshold(const double t)
void setPFClusterCalibration(const std::shared_ptr< PFEnergyCalibration > &)
CalibratedClusterPtrVector _clustersEB
double threshPFClusterES_