5 const std::vector< std::pair<DetId, float> > & hits1 = sc1.
hitsAndFractions();
6 const std::vector< std::pair<DetId, float> > & hits2 = sc2.
hitsAndFractions();
7 unsigned nhits1=hits1.size();
8 unsigned nhits2=hits2.size();
10 for(
unsigned i1=0;i1<nhits1;++i1)
13 if(hits1[i1].
second<minfrac) {
14 if(debug)
std::cout <<
" Discarding " << hits1[i1].first <<
" with " << hits1[i1].second << std::endl;
17 for(
unsigned i2=0;i2<nhits2;++i2)
20 if(hits2[i2].
second<minfrac ) {
21 if(debug)
std::cout <<
" Discarding " << hits2[i2].first <<
" with " << hits2[i2].second << std::endl;
28 std::cout <<
" Matching hits " << hits1[i1].first <<
" with " << hits1[i1].second <<
" and " << hits2[i2].first;
29 std::cout <<
" with " << hits2[i2].second << std::endl;
43 if (pfclus.
id()==pfclustest.
id() && pfclus.
key()==pfclustest.
key())
return true;
50 unsigned nsc=sc.size();
52 for(
unsigned isc=0;isc<nsc;++isc) {
53 if(
overlap(pfc,*(sc[isc]),minfrac,debug))
61 unsigned nsc=sc.size();
63 for(
unsigned isc=0;isc<nsc;++isc) {
64 if(
overlap(pfc,*sc[isc],minfrac,debug))
72 unsigned nsc=sc.size();
74 for(
unsigned isc=0;isc<nsc;++isc) {
75 if(
overlap(pfc,*sc[isc],pfclusassoc))
static bool overlap(const reco::CaloCluster &sc1, const reco::CaloCluster &sc, float minfrac=0.01, bool debug=false)
Particle flow cluster, see clustering algorithm in PFClusterAlgo.
const std::vector< std::pair< DetId, float > > & hitsAndFractions() const
U second(std::pair< T, U > const &p)
ProductID id() const
Accessor for product ID.
key_type key() const
Accessor for product key.
static int checkOverlap(const reco::PFCluster &pfc, const std::vector< const reco::SuperCluster * > &sc, float minfrac=0.01, bool debug=false)
CaloCluster_iterator clustersBegin() const
fist iterator over BasicCluster constituents
ProductID id() const
Accessor for product ID.
CaloCluster_iterator clustersEnd() const
last iterator over BasicCluster constituents