26 switch (elem1->
type()) {
55 throw cms::Exception(
"BadClusterRefs") <<
"PFBlockElementCluster's refs are null!";
65 reco::PFMultilinksType::const_iterator mlit = multilinks.begin();
66 for (; mlit != multilinks.end(); ++mlit)
67 if (mlit->clusterRef == ecalref)
71 if (mlit != multilinks.end()) {
73 ecalxyzpos.X() / 1000., ecalxyzpos.Y() / 1000., psxyzpos.X() / 1000., psxyzpos.Y() / 1000.,
false);
Abstract base class for a PFBlock element (track, cluster...)
static double computeDist(double eta1, double phi1, double eta2, double phi2, bool etaPhi=true)
computes a chisquare
static double testECALAndPSByRecHit(const reco::PFCluster &clusterECAL, const reco::PFCluster &clusterPS, bool debug=false)
const PFMultilinksType & getMultilinks(Type type) const
bool linkPrefilter(const reco::PFBlockElement *, const reco::PFBlockElement *) const override
std::vector< PFMultilink > PFMultilinksType
collection of PFSuperCluster objects
bool isNull() const
Checks for null.
bool isMultilinksValide(Type type) const
const PFClusterRef & clusterRef() const override
PreshowerAndECALLinker(const edm::ParameterSet &conf)
double testLink(const reco::PFBlockElement *, const reco::PFBlockElement *) const override
XYZPointD XYZPoint
point in space with cartesian internal representation
#define DEFINE_EDM_PLUGIN(factory, type, name)