In implementation:
+      float deta = 
+       std::abs( ecal->first->clusterRef()->positionREP().eta() -
+                 bremflagged.first->positionAtECALEntrance().eta() );
+      if( deta < 0.015 ) { 

- about 0.015: this looks like a magic number (looks like ~size of a xtal)
This is one of very few in this algo (it's used later in another function [unlinkRefinableObjectKFandECALWithBadEoverP?]
Should these be made into constants? 
- about ecal->first->clusterRef()->positionREP().eta(): this is a pretty long chain. It would make sense to cache the position inside the ecal type (std::pair<const PFClusterElement*,bool> here .. the const suggests the caching can be done)